Научная статья на тему 'Методы оптимизации проектных решений и технология искусственного интеллекта в интегрированных САПР'

Методы оптимизации проектных решений и технология искусственного интеллекта в интегрированных САПР Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Бондаренко Игорь Борисович

В работе разработан математический аппарат с использованием технологии искусственного интеллекта для оптимизации проектных решений на начальной стадии проектирования автоматизированных технологических комплексов, который реализован в виде программной подсистемы САПР.

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

Текст научной работы на тему «Методы оптимизации проектных решений и технология искусственного интеллекта в интегрированных САПР»

МЕТОДЫ ОПТИМИЗАЦИИ ПРОЕКТНЫХ РЕШЕНИЙ И ТЕХНОЛОГИЯ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА В ИНТЕГРИРОВАННЫХ САПР И.Б. Бондаренко

В работе разработан математический аппарат с использованием технологии искусственного интеллекта для оптимизации проектных решений на начальной стадии проектирования автоматизированных технологических комплексов, который реализован в виде программной подсистемы САПР.

Введение

С использованием в интегрированных САПР автоматизированных технологических комплексов (САПР АТК) математического аппарата методов оптимизации проектных решений перед разработчиком встает задача сохранения и оперативной обработке потоков данных [1]. Из-за варьирования типов данных и их структур возникает потребность в создании интеллектуальных баз данных (БД) и баз знаний (БЗ) с использованием технологии искусственного интеллекта (ИИ).

Для описания сложных технологических систем (ТС), в которых можно выделить различные уровни подчиненности, используются иерархические структуры (рис. 1(а)). Для рассмотрения иерархических структур используется теория графов, где вершины представляют собой отдельные подсистемы, а связи между вершинами - информационные потоки общения подсистем между собой [2].

п-й уровень

а)

Рис. 1. Примеры иерархических структур

При описании сложных ТС, например, относящихся к оптической промышленности, необходимо учитывать, что:

• в систему входят горизонтальные связи, определяющие их функциональную взаимосвязь;

• возможен информационный поток, связывающий подсистемы не ступенчато, а через один или несколько уровней;

• возникает необходимость многократного циклирования между подсистемами одного или разных уровней;

• ветви дерева могут отсекаться на любом уровне;

• вся структура в целом представляет несимметричную конструкцию связей и подсистем (рис. 1(б)).

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

Теоретическая часть

Так как скорость обработки информации в исследуемых системах зависит от оптимальности их структуры, то для организации хранения и быстрого поиска информации по деревьям была разработана подсистема с использованием следующих теоретических аспектов [4].

Порядок вхождения подсистем в иерархическую систему определяет морфологию сложной ТС [5]. Для построения морфологической структуры использовано математическое описание иерархической системы, которое выглядит следующим образом для п подсистем:

Ц ={1,2,..., Ы1}, г = 1,2,..., п.

Для каждой из подсистем характерно наличие:

• множества векторов состояния объекта проектирования Ху, где г - уровень иерархической системы, ау - номер подсистемы в г-м уровне;

• множества векторов локальных выходных переменных У у, по которым производится управляющие действия в данной подсистеме;

• множества векторов обобщенных выходных переменных 'Zl^+\j, обеспечивающих поток информации, передаваемый в у-ю подсистему, находящуюся на (г+1)-м уровне;

• множества векторов обобщенных выходных переменных 'глу - поток информации, поступающий из у-й подсистемы, находящейся на (г-1)-м уровне;

• множества векторов самоуправления Ц-;

• множества векторов управления и'г+1- данной подсистемой г-го уровня посредством у-х подсистем нижестоящих (г+1)-х уровней;

• множества векторов управления Цм-, с помощью которых данная подсистема /-го уровня управляет--ми подсистемами (/-1)-го уровня;

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

• множества векторов связей Б-, идущих в --ю подсистему от других подсистем этого уровня.

Тогда отображение критерия оптимальности Фу --й подсистемы имеет вид

Ф..:и'. х У х и' - х ^ ^ V'

у у у /+1,- у у

где V' - — множество значений критерия Ф-, а отображение критерия, при оптимизации которого данная подсистема определяет управляющие воздействия и^у, на подсистемы (/-1)-го уровня имеет вид

/,. :их и . х ^ V..

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

Е- ^ С., д: X. ^ б., И'и . ^ Н ., к :и . ^ Н.,

где Gij О- И'у Н- — множества значений соответствующих ограничений.

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

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

Рис. 2. Бинарное дерево (а) и его представление с помощью узлов (б)

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

описания деревьев поиска к бинарному (рис.2, а, б). Бинарные деревья содержат информационное поле и указатели местоположения корней левого и правого поддеревьев. Знак Л означает, что узел является конечным и левого и/или правого поддерева не существует.

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

Идея метода бинарного поиска состоит в поиске имени г в интервале, ограниченном низом / и верхом к. Текущий указатель т устанавливается приблизительно посередине интервала [/, к] , образуя подынтервалы [/, т-7] и [т+7, к]. Если интервалы пусты, то поиск заканчивается неудачей. Поиск ведется на дереве бинарного поиска, которое представляет собой расширенное бинарное дерево, все внутренние узлы которого помечены именами из списка х\, х2, ..., хп таким образом, что симметричный порядок узлов совпадает с естественным порядком.

Взвешенная длина пути дерева бинарного поиска определяется по формуле [3]:

Т = Е в ■ р( X) + Еа • р(у),

г=1 листья у еТ

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

= ив.

г =1

Для интерпретации частот Ъ и а\ как вероятностей их необходимо нормировать по соотношению

п п

Еа+Ев= 1-

г=0 г=1

Для использования в составе САПР АТК необходимо, чтобы алгоритм нахождения узла выполнялся за более короткое время. Время выполнения приближается к оптимальному при условии оптимальности или почти оптимальности дерева бинарного поиска Т. При этом оптимальные деревья бинарного поиска практически неприменимы из-за большой величины множества узлов, а также из-за неопределенности по значениям частот Ъ и ах [5]. К тому же существуют эвристические алгоритмы построения почти оптимальных деревьев, среднее время поиска по которым близко к оптимальному варианту.

Для построения почти оптимального дерева необходимо выполнение следующих требований при включении/удалении узлов:

1. поддерживать дерево сбалансированным. Если полученное дерево является асимметричным, то среднее время поиска будет линейным вместо логарифмического. Для балансировки бинарного дерева необходимо выбирать корни всего дерева и поддеревьев так, чтобы у левого и правого поддеревьев были приближенно равные число узлов либо суммы весов Ъг.;

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

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

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

Практическая реализация

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

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

Заключение

Разработанные и описанные выше программные процедуры: преобразования неоптимальных деревьев в оптимальные, быстрого поиска информации по деревьям и восстановления сбалансированности деревьев после включения и удаления узлов (вершин) позволяют на каждом этапе проектирования АТК с помощью разработанного математического аппарата минимизировать время выбора и принятия технических решений. Использование такого подхода позволяет придать процессу выбора требуемых вариантов при проектировании сложных систем, таких как АТК, интеллектуальную компоненту, позволяющую ускорить такие внутрисистемные процессы, как добавление, поиск и удаление подсистем в БД и БЗ, что, в конечном счете, ускоряет процесс проектирования АТК и упрощает работу с их структурами.

Литература

1. Бондаренко И.Б., Гатчин Ю.А.. Оптимизация проектных решений в САПР автоматизированных технологических комплексов. // Научно-технический вестник СПБ ГИТМО (ТУ). Выпуск 6. Информационные вычислительные и управляемые системы. СПБ ГИТМО (ТУ) 2002.. С.127-135.

2. Александров В.В., Горский Н.Д. Алгоритмы и программы структурного метода обработки данных. Л.: Наука, 1983.

3. Сибуя М., Ямамото Т. Алгоритмы обработки данных / Пер. с япон. М.: Мир, 1986.

4. Алексеев А.В. Интеллектуальные системы принятия проектных решений. Рига, 1997.

5. Нагао М., Катаяма Т., Уэмура С. Структуры и базы данных / Пер. с япон. М.: Мир, 1986.

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