зависит от числа генераций. ВСА, полученная на основе экспериментов, практически совпадает с теоретическими предпосылками. Для рассмотренных тестовых задач ВСА в лучшем случае = 0(п2^п), а в худшем случае - 0(п4).
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Кормен Т., Лейзерсон И., Ривест Р. Алгоритмы: построения и анализ. М.: МЦМО, 2000.
2. Кристофидес Н. Теория графов. Алгоритмический подход. М.: Мир, 1978.
3. Курейчик В.М. Дискретная математика 4.3. Оптимизационные задачи на графах. Таган-
: - , 1998.
4. Стасенко Л.А. Использование жадных стратегий для решения графовых задач // Пер-
. 2002. 3 (11).
.88-89.
5. Курейчик В.В. Эволюционные, синергетические и гомеостатические методы принятия решений. Монография. Таганрог: Изд-во ТРТУ, 2001.
УДК 681.3.001
В.В. Курейчик, Е.В. Нужное ВОЗМОЖНОСТИ ОРГАНИЗАЦИИ ИНТЕГРИРОВАННОЙ ИНСТРУМЕНТАЛЬНОЙ СРЕДЫ ПОДДЕРЖКИ ПРОЦЕДУР ГЕНЕТИЧЕСКОГО ПОИСКА И ОПТИМИЗАЦИИ РЕШЕНИЙ*
.
, , -тия решений в сложных системах. Сложность и уникальность реальных систем, отсутствие адекватного математического аппарата приводят к необходимости поиска новых направлений моделирования и синтеза. Эти направления в настоящее время активно разрабатываются и составляют основы понятия «искусственный ». -логий большинство исследователей надеется найти решение стоящих перед учеными и инженерами проблем и задач. При этом важнейшими задачами являются: оптимизация, построение интеллектуальных искусственных систем (ИИС) поддержки принятия решений; моделирование процессов эволюционного развития природы; адаптация и взаимодействие ИИС с внешней средой; исследование открытых систем; построение порядка из хаоса; поддержание гомеостаза в ИИС; использование иерархической самоорганизации.
Моделирование развития и совершенствования природы позволяет найти новые пути построения ИИС. При этом перспективными становятся эволюционные стратегии, генетические алгоритмы (ГА) и генетическое программирование [1-6].
Основным языком ИИС является математический аппарат системного анализа, теории сложных систем, графов и множеств, математического моделирования, .
ними - краеугольный камень ч еловеческого интеллекта. Математические модели и
- ,
искусственного интеллекта описывают знания и способы работы с ними.
* Работа выполнена при поддержке РФФИ, грант № 03-01-00336
1. Некоторые особенности эволюционного моделирования. Отм етим, что в последнее время проявляется тенденция использования естественных аналогов при создании моделей, технологий, методик, алгоритмов для решения тех или иных задач проектирования, конструирования и производства, стоящих перед че-.
. , , ,
,
момент самую совершенную в своем роде структуру.
Эволюционное моделирование (ЭМ) представляет собой одно из быстро развивающихся направлений математического моделирования, объединяющее компьютерные методы моделирования эволюционных процессов в естественных и искусственных системах такие, как ГА, эволюционные стратегии, эволюционное программирование и другие эвристические методы. Характерно, что моделируемые биологические системы, в отличие в моделирующих их ИИС, достаточно хао-, , завидными свойствами воспроизводства, адаптации, самоисправления, устойчивости, гибкости и многими другими, которые могут радикально изменить облик .
- , -
рую применяют для решения различных оптимизационных задач в науке и технике. Она основана на аналогии с естественными процессами селекции и генетическими преобразованиями, протекающими в природе [4-6]. В быстро прогрессирующей теории ЭМ содержится анализ класса адаптивных, управляющих ИИС, в которых структурные модификации осуществляются последовательными и парал-
.
ЭМ может предоставить алгоритмические средства для решения комплексных задач науки и техники (с использованием хаотических возмущений, вероятностно, ), методами. В общих чертах, эволюция может быть описана как многоступенчатый
,
селекции. Таким образом, достаточно просто обнаружить взаимосвязь между таким определением эволюции и оптимизационными алгоритмами [7-9].
При использовании для решения задач традиционных методов все вычисления обычно приходится начинать заново, что приводит к большим затратам ма. , которую можно анализировать, дополнять и видоизменять применительно к изме-.
задачи. Кроме того, ЭМ обеспечивает быструю генерацию достаточно хороших решений [7-9].
При решении практических задач с использованием ЭМ необходимо выполнить четыре следующих предварительных этапа: выбрать способ представления решения; разработать операторы случайных изменений; определить законы выжи-; .
Для представления решения в виде, понятном компьютеру, требуется такая ,
. ,
существует. Поэтому для создания хорошей структуры требуются анализ, перебор и эвристические подходы [7-9].
«Двигателем» ЭМ является ГА - эффективный аппарат оптимизации, моделирующий процессы селекции и генетических преобразований в биологии. Основой ГА явилась модель эволюции Ч. Дарвина [1,4].
Обычно трудоемкость оптимизационных задач с ростом числа элементов рез, .
Поэтому требуется проведение модернизации структуры как самих традиционных ИИС, так и основных блоков, стратегий, концепций, алгоритмов и методов решения оптимизационных задач. Перспективным подходом является использование
: . (« -
ние сильнейших»), Ж. Ламарка («наследование благоприобретенных признаков»), де Фриза («внезапные скачки»), К. Поппера («проб и ошибок»), М. Кимуры («нейтральный отбор»), Н. Дубинина («самоорганизация под воздействием внешней
среды»), а также их комбинаций [4-10]. Ключевыми в каждой модели являются:
, ,
что реализуется на основе поиска с использованием ГА и эволюционных алгоритмов. ГА начинают работать с несколькими начальными решениями, распараллели-, -
мумов, при этом комбинируя, изменяя и наследуя элементы и ансамбли элементов качественных альтернативных решений за приемлемое время.
2. Актуальность и возможность реализации универсальной среды под.
задач поиска и оптимизации решений в различных областях техники. Но разработка и программная реализация ГА, а также их применение и распространение, совершенствование и развитие сдерживаются целым рядом причин. Рассмотрим основные из них:
1)
привязки к задаче на этапах кодирования и декодирования ее решений в виде генов . « » -ния отдельных генетических операторов (ГО) и общей организации процедур генетического поиска (ПГП) решений в ГА.
2) . новых проектах обычно теряются все наработки программистов, связанные с оптимизацией структур данных, построения и кода самой программы, а также средствами повышения эффективности вычислений на основе различных эвристик.
3) , ,
«вещи в себе» - программного продукта, ни в коей мере не относящегося к категории открытых систем. При этом теряется возможность оперативных сравнительных исследований эффективности применения для решения рассматриваемой задачи данного ГА наряду с ему подобными или алгоритмами других классов.
4) - .
, ,
программы поведение ГА и результаты поиска лучших решений, достигнутые при определенных сочетаниях значений управляющих параметров генетического поис-.
поведении самой задачи, отражающая взаимное влияние основных факторов (ГА, , ).
5)
самых распространенных схем ГА и ГО, после чего делают упрощенные выводы о
применимости или недостаточно обоснованные выводы-приговоры, касающиеся ГА или самой решаемой задачи. В то же время весь спектр возможностей применения математического аппарата ГА для решения любой и каждой конкретной задачи не используется.
Наличие отмеченных факторов подчеркивает актуальность создания универсальной инструментальной интегрированной среды поддержки ГА (СПГА) для решения целого множества различных задач поисковой оптимизации [11].
Возможность реализации СПГА. Возможность реализации подобной среды поддержки основана на следующих положениях.
1. , -вой оптимизации, конечно. Поэтому можно:
> систематизировать их;
> построить некоторую систему сведения многих задач, подлежащих решению, к ограниченному числу известных постановок задач поисковой оптимизации на основе генетического поиска решений.
2. . :
> систематизировать их;
> выявить их структурную общность;
> на ее основе построить систему автоматизированной генерации генетических алгоритмов и процедур различной сложности на заказ, например, для решения различных народно-хозяйственных задач упаковки, размещения, назначения, разбиения и объединения объектов.
3. -ным правилам (модификациям ГО, модифицированным маршрутам генетического поиска, различным вариантам селекции и т.п.). Следовательно, актуальна разработка эффективных средств распараллеливания процессов генетического поиска. Это возможно в двух вариантах:
> использование многозадачных режимов работы операционной системы пер-
;
> построение новых схем распараллеливания процедур генетического поиска для решения задач в сетевой среде распределенной обработки с несколькими узла-
( ).
4. .
Поэтому для повышения эффективности их применения следует обеспечить реали-« » , , :
> фрагментов лучших популяций;
> фрагментов лучших решений;
> лучших сочетаний значений параметров генетического поиска.
5. ,
качеством декодирования хромосом-результатов. Большинство реализаций ориентированы на простейшие варианты последовательных алгоритмов декодирования. Повысить эффективность декодирования можно, обеспечив более тесную связь с природой задачи с помощью дополнительных эвристик, функции и ограничений, , .
3. Основные идеи реализации СПГА. При реализации программ решения задач на основе ПГП аппарат ГА обычно встраивается в вычислительную среду , , .
СПГА должна обеспечивать поддержку следующих информационных потоков: внутренний (результаты вычислений) и ввода-вывода решаемой задачи, внутренний и ввода-вывода ГА. При этом поток вывода окончательных результатов работы ГА образует исходные данные для формирования потока вывода задачи.
В основу построения СПГА положены следующие соображения.
1. СПГА должна моделировать действия разработчика ГА.
Процесс решения некоторой задачи генетического поиска может быть представлен следующей укрупненной и обобщенной последовательностью действий (рис.1).
П остановка задачи
л ~
Определение вида целевой функции
-11 -
Представление искомого результата
л ~
Кодирование результата в виде генов и хромосом
Л I
Формирование ПГП решений на основе ГА с
использованием и настройкой различных ГО
Л I
Ввод исходных данных задачи, выбор значений параметров ГО и ГА
л
Многократная отработка ПГП с учетом правила остановки
л ~
Декодирование (хромосом)результата решения задачи. Графическая или иная интерпретация результата
Рис.1
В общем случае ПГП может быть обычной циклической, альтернативной или .
2. При разработке средств пользовательского интерфейса СПГА целесообразно найти удачное сочетание средств разработчика и пользователя.
,
организации ГО и ГА может быть осуществлено на одном из двух следующих :
• на уровне разработчика программы ГА, когда все возможности ГА запрограммированы в составе программного продукта его разработчиком, функционируют независимо от желания пользователя;
• на уровне интерфейса пользователя, когда решение о применении избыточных или альтернативных компонент принимает пользователь программы, делая их выбор и настройку. Конечно, второй вариант обеспечивает большую гибкость и
.
3. Обеспечить возможность замены синтеза варианта элемента ГА его выбором из имеющихся готовых к применению.
В общем случае различные варианты элемента ГА, некоторой функции или получения решения некоторой задачи по степени повышения их эффективности можно упорядочить следующим образом:
• ;
• выбор варианта и параметрическая адаптация модели;
• выбор варианта и структурная адаптация модели;
• разработка (задание, описание) алгоритма:
> на языке описания поведения,
> на языке интерпретации сценариев,
> на алгоритмическом языке высокого уровня,
> на алгоритмическом языке низкого уровня.
4. Действия, связанные с описанием, выбором варианта какого-то решения, сборкой целого из частей и т.п. удобно выполнять в среде визуального мастера -конструктора.
Такой конструктор отвечает, в частности, за выбор элемента ГА из соответствующего перечня имеющихся - банка. А конструктор более высокого уровня обеспечивает сборку ПГП из элементов.
Связь элементов среды конструкторов с банками элементов ГО и ГА показана на рис.2. Сложность состоит в том, что для решения своей задачи конструктору может понадобиться не только информация из одного или нескольких банков, но и помощь одного или даже нескольких конструкторов, а также информация их бан-.
проблемы взаимодействия конструкторов.
5. СПГА должна поддерживать определенные типовые варианты математического описания природы решаемой задачи.
К ним относятся варианты структурного описания ее элементов (списки, кортежи, матрицы, графы и др.), а также функционального описания зависимостей и , .
6. СПГА должна поддерживать определенные типовые варианты кодирования и декодирования хромосом.
Возможность их выбора обеспечивается также с помощью соответствующих .
Конструкторы Банки
Типы функций Типы генов Типы хромосом
Типы и виды ГО
П опуляции Стратегии формирования популяции
п гп Варианты селекции
Стратегии усечения пространства р е ш е н и й
С тратегии реком бинации
Типовые варианты декодирования
Рис.2
Параллельные ПГП
Реком бинация
Д екодирование хромосом
7. При декодировании хромосом должны поддерживаться типовые варианты интерпретации результатов решения задачи.
К ним относятся естественная визуально-графическая или некоторая условная ( , , , -тов и т.п.).
8. СПГА должна быть ориентирована на самый сложный вариант интерпретации результатов решения задачи.
Поэтому в общем случае должен обеспечиваться вывод пространственного взаимного расположения (в общем случае разногабаритных) ЗБ-объектов в объеме некоторого конструктива заданных габаритов. Тогда вывод одномерных последовательностей объектов или расположений 2Б-объектов на плоскости ограниченных размеров является частным случаем.
4. Система элементов ГА. Анализ известных разработок [2-6] позволил выявить и систематизировать все важнейшие элементы ГА, необходимые и достаточные для построения процедур генетического поиска для новых ГА. Наполнение банков СПГА (см. рис.2) составляют различные:
• ( , , );
• ( , , );
• ( , );
• типы и виды ГО [4-9,11]:
> оператор кроссинговера (одноточечный, двухточечный, многоточечный, поряд-
, , , , « »,
основе множества Кантора, на основе дихотомии, на основе метода «золотого се», );
> оператор мутации (одноточечный, двухточечный, многоточечный, порядковый,
, « », , ,
« », , -, , , , );
> оператор инверсии (перецентрический, параценрический, одноточечный, двух-
, , , , « »,
, , « »,
);
> оператор транслокации (реципрокный, нереципрокный, полицентрический, робертсоновский, комбинированный «кроссинговер+инверсия», «жадный», на основе
, , « »,
);
( , , « », -, , « »,
);
( , );
• стратегии формирования популяции (случайная, направленная, комбинирован);
• (« », , на основе заданной шкалы, турнирный, элитный, вероятностный, детерминирован, );
• стратегии усечения пространства решений (проверка легальности хромосом,
);
• ( , , ).
5. Архитек тура СПГА. Архитектура предлагаемой универсальной СПГА представлена на рис.3.
Рис.3
Ее основу составляют две части:
• общесистемная (управляющая) среда, которая включает управляющую про-
( ), ,
(БД) и знаний (БЗ) об элементах ГО, ПГП и ГА со своими системами управления БД и БЗ, а также среду сборки рабочих программ формируемых ГА;
• среда поддержки действий пользователя, включающая интерфейсы и среды поддержки четырех основных групп действий пользователя при построении
:
> среда выбора варианта реализации искомого элемента ГА с использовани-
ем соответствующего конструктора элемента;
> среда описания функции элемента ГА с использованием конструктора опи-
сания программы его работы на выбранном языке программирования процедурного или сценарного типа;
> среда настройки параметров, разработанных (выбранных) ГО и ГА с по-
мощью соответствующих диалоговых окон;
> среда потоков ввода-вывода рабочих программ ГА, обеспечивающая под-
готовку определенных форматов исходных данных для решения конкретных
, -( ).
.
:
• ,
практического применения новых ГА для решения различных практических ;
• -
можность использования компонентов ранее разработанного программного ;
• снижение сложности и повышение степени интуитивности действий пользователя на основе использования визуальных средств интерфейса (конструкторов и диалогов);
• -
ния реальных задач к различным ПГП, вопросов повышения эффективности применения конкретных схем поиска, настройки и использования отдельных ;
основе накопления и совершенствования механизмов представления знаний как о конкретных решаемых задачах, так и об элементах ГА;
•
новым промышленным стандартам в области разработки программного обеспечения.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Дубинин Н.П. Избранные труды. Том 1. Проблемы гена и эволюции. М.: Наука, 2000.
2. Букатова ИЛ. Эволюционное моделирование и его приложения. М.: Наука, 1994.
3. Тарасов В.Б. От многоагентных систем к интеллектуальным организациям: философия, психология, информатика. М.: Эдиториал УРСС, 2002. 352с.
4. Holland John H., Adaptation in Natural and Artificial Systems: An Introductory Analysis with Application to Biology, Control, and Artificial Intelligence. USA: University of Michigan, 1975.
5. Goldberg David E. Genetic Algorithms in Search, Optimization and Machine Learning. USA: Addison-Wesley Publishing Company, Inc., 1989.
6. Koza J.R. Genetic Programming. Cambridge / MA: MIT Press, 1998.
7. . . : . : -
во TP ТУ, 2002.
8. . . . : -ВГТУ, 1995.
9. . . ,
решений. Монография. Таганрог: Изд-во ТРТУ, 2001.
10. Редько ВТ. Эволюционная кибернетика. М.: Наука, 2001.
11. . ., . ., . ., . ., . ., . ., . . : / . . . -
ка. Таганрог: Изд-во ТРТУ, 2002. 122с.
12. MSDN Library. Visual Studio .Net. Microsoft Corporation, 2001.
УДК 519.816
АЛ. Шабельников, В.В. Курейчик, В.М. Курейчик, СМ. Ковалев ФОРМИРОВАНИЕ И ОПТИМИЗАЦИЯ БАЗ ЗНАНИЙ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ ДИНАМИЧЕСКОГО ТИПА НА ОСНОВЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ
.
прикладных интеллектуальных систем (ИС) динамического типа, способных функционировать в слабо структурированных предметных областях в условиях неполной, нечеткой и динамически изменяющейся информации. В связи с этим возника-