Научная статья на тему 'Метод эвристико-комбинированного решения трудоемких задач в параллельных вычислительных системах реального времени'

Метод эвристико-комбинированного решения трудоемких задач в параллельных вычислительных системах реального времени Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
109
19
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЭВРИСТИЧЕСКИЙ АЛГОРИТМ / КОМБИНИРОВАННОЕ РЕШЕНИЕ / ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Басыров Александр Геннадьевич, Легков Константин Евгеньевич

Для решения NP-полных задач в режиме реального времени часто применяют эвристические алгоритмы, дающие результат, близкий к оптимальному, за приемлемое время. Известно, что любой эвристический алгоритм обеспечивает решение задачи с некоторым показателем качества, как правило близким или совпадающим с оптимальным решением при существенно меньшим по сравнению с оптимальными алгоритмами временем на решение задачи. В работе описан метод решения трудоемких задач на параллельных вычислительных системах на основе комбинирования эвристических алгоритмов. Предполагается, что в условиях заданных ограничений на время решения задачи проводятся расчеты несколькими различными эвристическими алгоритмами с последующим выбором наилучшего решения. Проблема такого подхода заключается в оперативном выборе той или иной комбинации применяемых алгоритмов, обеспечивающей наибольшую вероятность получения лучшего результата за допустимое время вычислений. Сформулирована математическая задача комбинаторной оптимизации, заключающаяся в максимизации вероятности получения наилучшего (из возможных для заданного набора эвристических алгоритмов) результата при ограничениях на время работы комбирированного алгоритма. Предложен и исследован алгоритм полиномиальной сложности, который в режиме реального времени определяет рациональную комбинацию эвристических алгоритмов решения задачи и порядок назначения этих алгоритмов на элементы параллельной вычислительной системы. Дана оценка сложности и точности предложенного алгоритма. Учитывается возможность параллельного выполнения эвристических алгоритмов на нескольких независимых вычислителях для повышения оперативности расчетов. Анализ применения метода для решения различных трудоемких прикладных задач показал его достоинства, заключавшиеся в повышении результативности расчетов.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Басыров Александр Геннадьевич, Легков Константин Евгеньевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The method of a eurisistic-combined solution of labor-conductive tasks in parallel computational systems of real time

In real time often apply the heuristic algorithms yielding result, near optimal for acceptable time to a solution of NP full tasks. It is known that any heuristic algorithm provides a task solution with some figure of merit usually close or matching an optimal solution at significantly time for a task solution, smaller in comparison with optimum algorithms. In work the method of a solution of labor-consuming tasks on parallel computing systems on the basis of combination of heuristic algorithms is described. It is supposed that in the conditions of the set restrictions for time decisions of a task are passed calculations by several different heuristic algorithms with the subsequent choice of the best solution. The problem of such approach consists in the operational choice of this or that combination of the applied algorithms providing the largest probability of obtaining the best result for an allowed time of calculations. The mathematical problem of combinatory optimization consisting in maximizing probability of receiving the best (from possible for the set of heuristic algorithms) result is formulated at restrictions for operating time of a combination algorithm. The algorithm of polynomial complexity which in real time defines a rational of heuristic algorithms of a solution of a task and an order of purpose of these algorithms to elements of a parallel computing system is offered and investigated. An assessment of complexity and accuracy of the offered algorithm is given. The possibility of side-by-side execution of heuristic algorithms on several independent calculators for increase in efficiency of calculations is considered. The analysis of application of a method for a solution of different labor-consuming applied tasks showed its advantages consisting in increase in effectiveness of calculations.

Текст научной работы на тему «Метод эвристико-комбинированного решения трудоемких задач в параллельных вычислительных системах реального времени»

МЕТОД ЭВРИСТИКО-КОМБИНИРОВАННОГО РЕШЕНИЯ

ТРУДОЕМКИХ ЗАДАЧ В ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ РЕАЛЬНОГО ВРЕМЕНИ

Басыров Александр Геннадьевич,

Военно-космическая академия имени А.Ф.Можайского, г. Санкт-Петербург, Россия, alexanderbas@mail.ru

DOI 10.24411/2072-8735-2018-10249

Легков Константин Евгеньевич,

Военно-космическая академия имени А.Ф.Можайского, г. Санкт-Петербург, Россия, constl@mail.ru

Ключевые слова: эвристический алгоритм, комбинированное решение, параллельные

вычисления.

Для решения NP-полных задач в режиме реального времени часто применяют эвристические алгоритмы, дающие результат, близкий к оптимальному, за приемлемое время. Известно, что любой эвристический алгоритм обеспечивает решение задачи с некоторым показателем качества, как правило близким или совпадающим с оптимальным решением при существенно меньшим по сравнению с оптимальными алгоритмами временем на решение задачи. В работе описан метод решения трудоемких задач на параллельных вычислительных системах на основе комбинирования эвристических алгоритмов. Предполагается, что в условиях заданных ограничений на время решения задачи проводятся расчеты несколькими различными эвристическими алгоритмами с последующим выбором наилучшего решения. Проблема такого подхода заключается в оперативном выборе той или иной комбинации применяемых алгоритмов, обеспечивающей наибольшую вероятность получения лучшего результата за допустимое время вычислений. Сформулирована математическая задача комбинаторной оптимизации, заключающаяся в максимизации вероятности получения наилучшего (из возможных для заданного набора эвристических алгоритмов) результата при ограничениях на время работы комбирированного алгоритма. Предложен и исследован алгоритм полиномиальной сложности, который в режиме реального времени определяет рациональную комбинацию эвристических алгоритмов решения задачи и порядок назначения этих алгоритмов на элементы параллельной вычислительной системы. Дана оценка сложности и точности предложенного алгоритма. Учитывается возможность параллельного выполнения эвристических алгоритмов на нескольких независимых вычислителях для повышения оперативности расчетов. Анализ применения метода для решения различных трудоемких прикладных задач показал его достоинства, заключавшиеся в повышении результативности расчетов.

Информация об авторах:

Басыров Александр Геннадьевич, д.т.н., профессор, начальник кафедры, Военно-космическая академия имени А.Ф.Можайского, г. Санкт-Петербург, Россия

Легков Константин Евгеньевич, к.т.н., доцент, начальник кафедры, Военно-космическая академия имени А.Ф.Можайского, г. Санкт-Петербург, Россия

Для цитирования:

Басыров А.Г., Легков К.Е. Метод эвристико-комбинированного решения трудоемких задач в параллельных вычислительных системах реального времени // T-Comm: Телекоммуникации и транспорт. 2019. Том 13. №3. С. 52-56.

For citation:

Basyrov A.G., Legkov K.E. (2019). The method of a eurisistic-combined solution of labor-conductive tasks in parallel computational systems of real time. T-Comm, vol. 13, no.3, pр. 52-56. (in Russian)

Введение

Для решения широкого круга практических задач, относящихся к классу NP-полных JI, 4, 8. 10], в режиме реального времени, как правило, применяют так называемые эвристические алгоритмы, дающие результат, близкий к оптимальному, за приемлемое время.

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

Часто известен не один, а несколько возможных алгоритмов приближенного решения задачи. В этом случае для повышения вероятности получения приближенного результата, совпадающего с оптимальным или отличающегося от него на приемлемую величину, возможно применение сразу нескольких эвристических алгоритмов или одного и toro же алгоритма, но с разными параметрами [2].

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

Кратно сократить время на получение результата позволяет параллельная обработка информации. В этом случае множество выбранных алгоритмов решении задачи распределяется по элементам (процессорам, компьютерам) параллельной вычислительной системы.

Кои йен им и решения вычислительно сложных задач на основе комбинирования эвристических алгоритмов

Принцип эвристико-комбинирован н ого решения Трудоемких задач заключается в следующем. Используются поочередно иди одновременно (при параллельных вычислениях) несколько эвристических алгоритмов решения задачи. Полученные каждым алгоритмом результаты сравниваются и из них выбирается наилучший (рис. t).

Чем больше различных алгоритмов будет выбрано для решения задачи, тем выше вероятность улучшить результат по сравнению с использованием единственного алгоритма (выше вероятность достижения оптимального результата). С другой стороны, вырастают временные затраты па решение задачи, что является критичным для систем реального времени.

Ллоршч I

J результат I ! i !"

A.í íipll: м 2

J |4' :yi:.:;][ |

L__2__J

Ллеормiч р

J результат I ( u !

нк:Гн:[1 мlíH.п чIII141| результата

Рис. I. Общая схема решения вычислительно сложных задач на основе комбинирования эвристических алгоритмов

Алгоритмы можно выполнять последовательно на одном компьютере (процессоре) и параллельно на нескольких компьютерах (процессорах) вычислительной системы.

В нервом случае временные затраты на решение задачи суммируются из времени работы каждого алгоритма. Во втором случае эти затраты определяются планом параллельного выполнения алгоритмов, зависящим от распределения (назначения) алгоритмов на процессоры.

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

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

Для решения поставленной выше задачи необходимо получить частоту выборки события, заключающегося н генерации результата, совпадающего с наилучшим результатом, полученным не отдельным алгоритмом, а комбинациями (сочетаниями) алгоритмов.

Эту статистику удобно отобазить в треугольной таблице (табл. )), каждый элемент = 1 / = которой есть частота совпадения результатов решения задачи алгоритмами 5; и 6/. Так, например, если при иммитационном моделировании наилучшие решения задачи с некоторой частотой были получены следующими комбинациями из 10 алгоритмов (табл. 2), то таблица 1 примет вид, представленный в табл. 3,

Таблица 1

Общий вид таблицы исходной статистики

S] ¿2 Зъ S4 <V

Si Чп 9\2 Ч\А Ч\р

5г 422 Ч2Ъ 424 Ч2М

¿3 Чзз Ьм

т </44 сЦр

s,t ь<><

Таблица 2

Пример частоты комбинаций алгоритмов

Комбинация ал го ритмов Частота

1 2 3 4 5 6 7 8 9 10

X X X 0,20

X X 0.10

X X X 0.15

X X X 0,12

X X X X 0,05

X X X X 0,25

X X X X 0,05

X X 0,02

X X X 0,06

J.

i.

Таблица 3

Пример результирующей таблицы исходной статистики

А Si А ¿4 А А А б8 А £>10

с>| 0,63 0,25 0 0 0,31 0 0,2 0,18 0,12 0.45

д2 0.45 0.05 0 0 0,2 0.05 0 0 0.25

Щ о,: 0.05 0 0,1 0,05 0 0.05 0,1

б4 0,07 0 0,05 0 0 0,05 0,02

А 0,40 0.15 0 0,0« 0 0,25

А 0,25 0,05 0 0,05 0

б7 0.25 0 0 0,2

А 0.1S 0,12 0

So 0.17 0

б 10 0,57

/л л

ч

вероятность получения эвристическими алгоритмами ¿г; и §. решения, совпадающего с наилучшим из решений,

полученных веем и алгоритмами множества 0; т - количество вычислительных устройств; 1П - директивное время завершения расчетов. Найти:

множество значений

А = {аис},а,к е {0,1},* = 1,А = , таких, что

i=i

2 Ча'^ал- ¿L^flL0^

■ max

Таким образом собирается исходная статистика частоты «удачных» комбинаций эвристических алгоритмов дня последующего их комбинирования в реальном масштабе времени для решения трудоемких задач.

Постановка задачи эвристико-комбинированного решения трудоемких задач на параллельных вычислительных системах

Вербальная постановка задачи заключается в следующем.

Требуется определить подмножество заданного множества приближенных алгоритмов решения вычислительно сложной задачи, обеспечивающее максимальную вероятность наилучшего из всех решений, которые можно получить заданными алгоритмами за директивное время.

Математическую постановку задачи можно форм ал изовать с л е дующим образом. Дано:

множество 0 = (¿>|,(5'т,...,('>[() эвристических алгоритмов

решения задачи;

множество Т = (^,..,7,,) затрат времени каждым

алгоритмом на получение приближенного решения;

матрица о = |1«.-.И » где - статистическая

при ограничениях

(=1 in

' .....>p-

!

Решение заключается в выборе одного или нескольких алгоритмов из множества 0, получения каждым из выбранных алгоритмов плана параллельных вычислений и использовании из полученных планов наилучшего. В зависимости от выбранных показателей качества планирования параллельных вычислительных процессов под «наилучшим» может Пониматься план обеспечивающий минимальное время завершения вычислений, максимальную вероятность выполнения задач к заданным директивным срокам и т.д. При выборе алгоритмов планирования должны учитываться ограничения на суммарные временные затраты, связанные с реализацией выбранных алгоритмов, и требование обеспечить максимальную вероятность того, что алгоритмы, выбранные из 0, обеспечат получение наилучшего результата.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Алгоритм эвриетнко-комби и про ванного решения

трудоемких задач на параллельных системах

Рассмотрим полиномиальный алгоритм решения поставленной выше задаче на параллельной вычислительной структуре [7].

Расширим исходную матрицу (табл. I) искомыми бинарными коэффициентами, определяющими для каждого алгоритма процессор параллельной вычислительной системы, на котором алгоритм будет выполняться, а также время выполнения алгоритма (табл. 4).

Таблица 4

Расширенная матрица статистических оценок результативности приближенных алгоритмов е коэффициентами их назначения на процессоры и временем работы

Si бг А ш S, А ti

Si Яи Яч 4» Яи Ц а\\ а 12 Ct\ m Г|

бг Я22 Яц Я2, &г\ an aim ti

Si Ящ Яъ 4 Щм ат,\ an a 3,„ Гз

А Ям Я «41 «42 (Xlm Та

б„ 'яА а,, 1 ацг а ¡¡/и

Алгоритм основав на известной эвристической процедуре РРП («первый пригодный с упорядочением») ГЗ]. [3 нашем случае упорядочение приближенных алгоритмов («работ») производится но невозрастанию функционала

т ^ т

1 /=¡'+1 *=1

Пошаговое описание алгоритма параллельного эвриетико-комбинировапного решения трудоемких задач с комментариями каждого шага представлено в табл. 5.

Таблица 5

Алгоритм параллельного эвристико-комбиннроваиного решения трудоемких задач

Jft шага Действия Комментарии

Шаг 1. 11ачало

Шаг 2. Инициализаций массивов it переменных.

„ :=0; ti := 0; ....,/„,:= 0; текущее иремя работы процессоров считать нулевым

S:= 0 положил, множество назначенных алгоритмов на про] юссоры пустым

обнулить искомые коэффициенты

начать отсчет циклов выбора алгоритмов

Шаг 3. /:=/+]. Если i > и , то переход на шаг 7, иначе - на шаг 4. перейти к следующему циклу или завершить алгоритм

Ulat 4. z:=\ ьыоор первого процессора

Шаг 5. Найти х = arg max jqa - £ ^ qxj ■ £ a^jj x = ; ö x g S найти очередной не назначенный на процессоры алгоритм, с максимальным значением функ! то нал а

Шаг 6. ЕСЛИ l. + Tj^lO' то := 1 ; S:=S\JSX ; t:'~t: + tx • Переход на mai 4, иначе ; + 1. Если 2 > m. переход на шаг 4, иначе - на шаг 6 назначить алгоритма ¿¡^ для выполнения на процессор г

Шаг 7. Конец

Предложенный алгоритм сочетает в себе решение двух задач: задачи выбора набора эвристических алгоритмов и задачи о назначении программ решения этих алгоритмов на процессоры параллельной вычислительной системы.

Заключение

Сложность представленного алгоритма составляет 0(тр2). Точность P{tD,m) предложенного алгоритма, оцениваемая вероятностью получения лучшего из возможных приближенных решений за время, не превышающее ¡д на m процессорах вычислительной системы, изменяется в диапазоне от 0 до 1 и зависит от количества к алгоритмов, к = 1, ^ которые выбраны для приближенного решения задачи.

Отметим, что точность P(tD'm) [1РИ составит

ma.\{gj7),j = 1.....fi, а при A=|i точность равна единице.

Анализ результатов иммитационного моделирования процессов решения трудоемких задач показал, что предложенный подход дает существенный выигрыш в результативности расчетов. Так решение вычислительно сложной задачи планирования параллельной обработки информации [5, 6, 91 с учетом работы антивирусных программ на основе комбинирования эвристических алгоритмов показало, что применение предложенного способа организации вычислений позволяет увеличить вероятность получения оптимальных решений на 12-18%.

Предложенный подход с успехом может быть применен и для решения других NP-полных задач па основе множества эвристических алгоритмов.

Литература

1. Гэри М.. Джонсон Д. Вычислительные машины и трудно-решаемые задачи: пер. с англ. М.: Мир, 1982. 416 с.

2. Косы ров А. Г, Комбинированное планирование параллельных вычислений И Информация и космос. 2010. №4. С. 60-62,

Ъ.Дасгупта С. и др. Алгоритмы. Пер. с англ. под ред. А. Шепя. М.: МЦНМб, 2014, 320 с.

4. Brucker. P. Schetlnling Algorithms. Springer. 2007. 37! p.

5. Кустов В Н. Основы теории ограниченного структурного параллелизма, МОРФ, 1992, 246 с.

6. Барский А.Б. Параллельные информационные технологии. М.: Интернет-Университет информационных технологий; БИНОМ. Лаборатория знаний, 2007. 303 с,

7. Басыров А.Г., Молчанов О.Е. Алгоритм звристико-комбинированиого решения трудоемких задач защиты информации в параллельных вычислительных системах реального времени II Информационные технологии, алгоритмы и программы для решения прикладных задач обеспечения к и бербез опасности, помехозащищенности и информационного обеспечения. CII6.:1ÎKA имени А.Ф.Можайского. 2018. С. 127-133.

8. Колесое Ц.В. и др. Системы реального времени. Планирование, анализ, диагностирование, СПб.: ОАО "Концерн "ЦНИИ "Электроприбор", 2014. 180 с.

9. Skorodumov Yu.M.. Gruzlikov A. M. Effictency researcli о f tas k allocation algorithms in distributed Computing systems // Proceedings of the international conférence ofyoung scientists «Automation and control», St. Petcrburg, Russia, 21-22 november. 2013. P. 46.

10. Liti J.W.S. Real-Time Systems II Prentice Hall, Englewood Cliffs, NJ. 2000. 600 p.

THE METHOD OF A EURISISTIC-COMBINED SOLUTION OF LABOR-CONDUCTIVE TASKS IN PARALLEL COMPUTATIONAL SYSTEMS OF REAL TIME

Alexander G. Basyrov, Moghaysky military space academy, St. Petersburg, Russia, alexanderbas@mail.ru Konstantin E. Legkov, Moghaysky military space academy, St. Petersburg, Russia, constl@mail.ru

Abstract

In real time often apply the heuristic algorithms yielding result, near optimal for acceptable time to a solution of NP full tasks. It is known that any heuristic algorithm provides a task solution with some figure of merit usually close or matching an optimal solution at significantly time for a task solution, smaller in comparison with optimum algorithms. In work the method of a solution of labor-consuming tasks on parallel computing systems on the basis of combination of heuristic algorithms is described. It is supposed that in the conditions of the set restrictions for time decisions of a task are passed calculations by several different heuristic algorithms with the subsequent choice of the best solution. The problem of such approach consists in the operational choice of this or that combination of the applied algorithms providing the largest probability of obtaining the best result for an allowed time of calculations. The mathematical problem of combinatory optimization consisting in maximizing probability of receiving the best (from possible for the set of heuristic algorithms) result is formulated at restrictions for operating time of a combination algorithm. The algorithm of polynomial complexity which in real time defines a rational of heuristic algorithms of a solution of a task and an order of purpose of these algorithms to elements of a parallel computing system is offered and investigated. An assessment of complexity and accuracy of the offered algorithm is given. The possibility of side-by-side execution of heuristic algorithms on several independent calculators for increase in efficiency of calculations is considered. The analysis of application of a method for a solution of different labor-consuming applied tasks showed its advantages consisting in increase in effectiveness of calculations.

Keywords: heuristic algorithm, combined solution, parallel computing.

References

1. Gary M., Johnson D. (1982). Vychislitelnie mashiny i trudno-reshaemye zadacni [Computers and hard-to-solve problems]. Moscow: Mir. 416 p. (In Russian)

2. Basyrov A.G. (2010). Combinirovannoe planirovanie parallelnych vychisleniy [Combined planning of parallel computing]. Information and space. No.4, pp. 60-62. (In Russian)

3. Dasgupta S. H., Papadimitriu, U.Vazirani. (2014). Algoritmy [Algorithms]. Moscow: MTSNMO, 320 p. (In Russian)

4. Brucker P. (2007). Scheduling Algorithms. Springer. 371 p.

5. Kustov V.N. (1992). Osnovy teorii ogranichennogo structurnogo parallelizma [Fundamentals of the theory of limited structural parallelism]. Ministry of Defense of the Russian Federation. 246 p. (In Russian)

6. Barsky A.B. (2007). Parallelnye informacionnye technologii [Parallel information technology]. Moscow: Internet University of Information Technologies; BINOMIAL. Laboratory of Knowledge. 503 p. (In Russian)

7. Basyrov A.G., Molchanov O.E. (2018). Algoritm zevristiko-combinirovannogo reshenia trudoemkich zadach zaschity informacii v parallelnich vychyslitelnych systemah realnogo vremeni [Algorithm of a heuristic-combined solution of laborious information protection tasks in parallel real-time computing systems]. Information technologies, algorithms and programs for solving applied problems of ensuring cybersecurity, noise immunity and information support. St. Peterburg,: Mozhaysky military academy, pp.127-133. (In Russian)

8. Kolesov N.V., Tolmacheva M.V., Yukhta P.V. (2014). Sistemy realnogo vremeny. Planirovanie, analiz, diagnostirovanie. [Real time systems. Planning, analysis, diagnosis]. St. Peterburg: Concern Central Research Institute Elektropribor. 180 p. (In Russian)

9. Skorodumov Yu.M., Gruzlikov A.M. (2013). Efficiency research of task allocation algorithms in distributed computing systems. Proceedings of the international conference of young scientists "Automation and control", St. Peterburg, Russia, 21-22 november, p.46.

10. Liu J.W.S. (2000). Real-Time Systems. Prentice Hall, Englewood Cliffs, NJ. 600 p.

Information about authors:

Alexander G. Basyrov, PhD, Full Professor, Head of Department (BrE) of Military Space academy, St. Petersburg, Russia Konstantin E. Legkov, PhD, Docent, Head of Department (BrE) of Military Space academy, St. Petersburg, Russia

i Надоели баннеры? Вы всегда можете отключить рекламу.