УДК 004.896(06) Интеллектуальные системы и технологии Д.Ю. МИТРОФАНОВ Московский энергетический институт (технический университет) АЛГОРИТМ IDA* ПОИСКА НА ДЕРЕВЬЯХ РЕШЕНИЙ НА ЯЗЫКЕ ФУНКЦИОНАЛЬНЫХ СХЕМ В работе проводится исследование методов поиска на деревьях решений, которые могут быть использованы для поиска решений в интеллектуальных системах поддержки принятия решений реального времени (ИСППР РВ) в условиях жестких временных ограничений. Системы поддержки принятия решений – важное направление исследований. Системами принятия (СПР) и поддержки принятия решений (СППР) называются программные комплексы, предназначенные для помощи лицам, принимающим решения (ЛПР). Необходимость внедрения СППР обуславливается непрерывно возрастающей сложностью управляемых объектов и процессов с одновременным сокращением времени, отводимого ЛПР на анализ проблемной ситуации и принятие необходимых управляющих воздействий. Процесс поиска решения можно отобразить посредством дерева, называемого деревом решений, вершины которого соответствуют состояниям, а ребра – правилам преобразований. Целью данной работы является исследование методов параллельного программирования для повышения эффективности поиска на многопроцессорных и многокомпьютерных вычислительных системах и параллельная реализация алгоритма IDA* на языке функциональных схем. В данной работе рассмотрены параллельные подходы к решению задач поиска, позволяющие находить приемлемое решение в условиях реального времени, исследованы языки и модели параллельных алгоритмов ярусно-параллельные формы Поспелова, Асинхронные операторные схемы Котова-Нариньянк, биологические граф-схемы Мартина-Эстрица, граф-схемы параллельных алгоритмов Кутепова-Кораблина, схемы потоков данных Дениса, язык асинхронных вычислительных сетей СтроевойФалька. Более подробно в работе изучен язык функциональных схем. Важной особенностью этого языка является то, что он имеет функциональную денотационную, т.е. не зависящую от процесса вычислений, семантику, а в его операционной семантике реализованы возможность параллельного вычисления значений функций. ISBN 5-7262-0710-6. НАУЧНАЯ СЕССИЯ МИФИ-2007. Том 3 199 УДК 004.896(06) Интеллектуальные системы и технологии На основе исследований реализована параллельная модификация алгоритма IDA*. Главным доводом в пользу этого решения является реализованная в языке функциональных схем асинхронная модель вычисления значений функций, то, что на каждом шаге вычислений состояние вычисления представляется бинарным размеченным деревом. Также изучен алгоритм AIDA*, реализуемый на MIMD-системах и обладающий огромным потенциалом. AIDA* базируется на модели разбиения данных, в соответствии с которой различные части пространства поиска обрабатываются асинхронно самым быстрым из доступных распределенных вычислительных элементов. В результате теоретического анализа сложность задачи поиска на деревьях решений при реализации на параллельных системах оказалась линейно зависящей от глубины дерева решений при условии наличия достаточного количества процессоров. До тех пор, пока процессоров хватает на всю ширину дерева поиска, сложность поиска является линейной. Однако, при экспоненциальном росте количества вершин дерева, процессоров перестает хватать, в результате чего возникают задержки и эффективность системы снижается. Таким образом, сделан вывод, что, к сожалению, ЯФС, хотя и обладает большим потенциалом, для данной задачи является не самым удачным решением ввиду использования модели неявного параллелизма. Список литературы 1. Кутепов В.П. Об интеллектуальных компьютерах и больших компьютерных системах нового поколения. // Изв. РАН. Теория и системы управления. 1996. №5. С. 97-114. 2. Системы поддержки принятия решений (обзор литературы) / Под рук. Д.А. Поспелова. М.: АН СССР. САИИ. 1990. 92 с. 3. Нильсон Н. Искусственный интеллект. // Методы решения плохо формализованных задач. М.: Мир, 1971. 4. Кутепов В.П., Фальк В.Н. Модели асинхронных вычислений значений функций в языке функциональных схем // Программирование, 1978. №3. ISBN 5-7262-0710-6. НАУЧНАЯ СЕССИЯ МИФИ-2007. Том 3 200