twinnyXD
15.04.2021 05:39

Доктор физико-математических наук, профессор Леонид Соколинский вывел формулу, которая еще на начальной стадии разработки проекта позволит оценить «рабочий ресурс» моделирования событий у так называемых параллельных алгоритмов. Это итог четырехлетних исследований ученого в лаборатории суперкомпьютерного моделирования ЮУрГУ. По словам профессора, такие программы на основе сложных численных алгоритмов могут совершить переворот во многих сферах. К примеру, с их можно отслеживать изменения котировок акций компаний на крупнейших фондовых биржах, делать прогноз и покупать те, что скоро взлетят в цене. Программы решать многофакторные логистические задачи при построении маршрутов доставки и хранения грузов, для составления наилучшего расписания авиаперелетов. Для этого применяют мощные суперкомпьютеры, создаются параллельные алгоритмы одновременно работать на множестве процессоров.

«Современная наука, экономика и промышленность требуют решения оптимизационных задач огромной вычислительной сложности, — говорит Леонид Соколинский. — К примеру, как выстроить работу всех светофоров в городе, чтобы избежать пробок, скопления транспорта. Для этого сегодня приходится писать сложный алгоритм, разбивать его на параллельные части, которые запускают на разных процессорах. Если же при создании параллельного алгоритма допущена ошибка, не даже суперкомпьютер».

По мнению экспертов, параллельные алгоритмы могут сделать прорыв и в фундаментальной науке. Например, в физике, для решения сложнейших задач, связанных с теоремой Белла: как влияют «скрытые факторы» на поведение квантовой частицы.

По словам профессора, для оценки нового алгоритма сегодня приходится проводить множество экспериментов, запустив готовую параллельную программу на компьютере. Но зачастую оказывается, что алгоритм неэффективен, в него нужно вносить изменения или разрабатывать новый. Поэтому ученый предложил новую модель параллельных вычислений, проверяющую алгоритм еще до начала программирования. Это намного сокращает время на разработку программ, позволяет внести коррективы еще до написания программы.

«Мы поставили амбициозную цель создать такую модель параллельных вычислений, которая позволила бы на самой ранней стадии разработки алгоритма, без запуска на суперкомпьютере, не тратя на это время и деньги, сделать вывод, есть ли смысл подключать «электронный мозг», — подытожил Леонид Соколинский. — Наша формула позволяет, имея всего лишь карандаш, лист бумаги и калькулятор, понять, окажется ли эффективным тот или иной алгоритм, дать точную оценку его прогнозируемой масштабируемости, применения в самых разных сферах».

Как добавил ученый, у разработки будет продолжение. Он планирует на основе этой модели создать некий «программный каркас» — единый шаблон, при которого можно будет в разы ускорить создание параллельных алгоритмов для решения сложнейших задач прогнозного программирования.​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
FedorAche
31.01.2022 21:09
А)
var    s:string;    mas:array ['a'..'z'] of longint;{индексы элементов соответствуют латинице}    c:char;    i:longint; begin      read(s);      for c:='a' to 'z' do{заполнение нулями элементов массива, для запоминания количества элементов в латинице}          mas[c]:=0;      for i:=1 to ord(s[0]) do{пробегаем по всей строке ord(s[0]) это количесвто элементов в строке (только паскаль)}          mas[s[i]]:=mas[s[i]]+1;      for c:='a' to 'z' do{пробегаем по массиву значений и выводим только неповторяющиеся}          if(mas[c]=1) then                       writeln(c); end.
0,0(0 оценок)
Ответ:
igubaevak
27.05.2020 07:33

Рассмотрим решение

код:

построчно пройдемся по коду, чтобы разобрать, как построить графики функций:

1. импортируем необходимые для построения графика библиотеки: numpy и matplot.pyplot

import matplotlib.pyplot as plt

import numpy as np

2. обработаем ось X

x = np.linspace(0, 10, 10)

numpi.linspace позволяет задать одномерный массив из указанного количества элементов внутри заданного интервала. Краткий общий синтаксис такой: (start, stop, num), аргументы start и stop соответственно служат для определения начала и конца, параметр num является необязательным (он определяет количество точек в последовательности, обычно ставят 50)

3. Поставим в соответствие нашим иксам заданные игреки:

y1 = [i**2 for i in x]

y2 = 2*x + 9

y1 задаем с list comprehension как квадратичную зависимость, y2 зададим просто как 2*x + 9

4. Наполним наш график информацией

plt.title("Функции: y1 = x ^ 2, y2 = 2*x + 9")  

plt.xlabel("x")          

plt.ylabel("y1, y2")  

5. Включим сетку для удобства восприятия:

plt.grid()  

6. Непосредственно построим графики:

plt.plot(x, y1, x, y2)  

Результат на втором скриншотеВажно: для работы данной программы нужно через pip установить numpy и matplot, если вы работаете не в среде облачного интерпретатора.
Построить график функций y1=x² и y2=2*x+9
Построить график функций y1=x² и y2=2*x+9
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота