
- •Технология интеллектуального автоматического анализа данных в современном управлении
- •Классификация интеллектуальных информационных систем по интеллектуальным признакам
- •Алгоритмическая классификация методов иад
- •Развитие интеллектуальных информационных систем.
- •Нейронные сети
- •Эволюционное программирование.
Эволюционное программирование.
История эволюционных вычислений началась с разработки ряда различных независимых моделей. Основными из них были генетические алгоритмы и классификационные системы Голланда (Holland), опубликованные в начале 60‑х годов и получившие всеобщее признание после выхода в свет книги, ставшей классикой в этой области, - "Адаптация в естественных и искусственных системах"
Суть метода эволюционного программирования состоит в получении оптимального решения путем имитации процесса эволюции популяции. В исходный вариант решения вносятся различные, возможно случайные, изменения; совокупность модифицированных решений образует новое поколение возможных решений, которое подвергается «естественному отбору», основанному на «критерии выживания» (критерии допустимости решения). Сохранившиеся после отбора решения вновь модифицируются («размножаются»), образуя третье поколение, и процесс итерационно повторяется. При этом образуется самоорганизующаяся оптимизационная последовательность, приводящая к наилучшему решению (прогнозу) самым неожиданным образом: наиболее эффективное решение может оказаться результатом последовательной эволюции далеко не лучшего (хотя и допустимого) решения. Генетические алгоритмы во многом напоминают эволюционное программирование (см. рис. 16).
Рис. 16 Схема генетического алгоритма
Здесь также происходит генерация, отбор и селекция возможных решений, интерпретируемых как генетические информационные структуры с заданным набором параметров («хромосом»). При этом помимо случайных изменений генной структуры («мутаций») происходит и направленная модификация, т. е. «скрещивание хромосомных наборов» решений предыдущего поколения (см. рис. 17). Однако новые достоинства порождают и новые проблемы. В частности, решения, полученные кибернетическими методами, часто не допускают наглядных интерпретаций, что в определенной степени усложняет жизнь предметным экспертам.
Рис.17 Модель скрещивания и мутации
Как и в предыдущем случае, генетические алгоритмы являются самоорганизующимися и позволяют получать качественно новые, неожиданные результаты. Главная трудность, связанная с возможностью построения вычислительных систем, основанных на принципах естественного отбора и применением этих систем в прикладных задачах, состоит в том, что природные системы достаточно хаотичны, а все наши действия, фактически, носят четкую направленность. Мы используем компьютер как инструмент для решения определенных задач, которые мы сами и формулируем, и мы акцентируем внимание на максимально быстром выполнении при минимальных затратах (см. рис.18). Природные системы не имеют никаких таких целей или ограничений.
Генерация случайного начального состояния.
П
ервое
поколение создается из произвольно
выбранных решений (хромосом). Это
отличается от стандартных методов,
когда начальное состояние всегда одно
и то же.
Вычисление коэффициента выживаемости (fitness).
Каждому решению (хромосоме) сопоставляется некое численное значение, зависящее от его близости к ответу.
Воспроизводство.
Хромосомы, имеющие большую выживамость (fitness), попадают к потомкам (которые затем могут мутировать) с большей вероятностью. Потомок, результат слияния 'отца' и 'матери', является комбинацией их ген. Этот процесс называется 'кроссиннговер' (crossing over).
Следующее поколение.
Е
сли
новое поколение содержит решение,
достаточно близкое к ответу, то задача
решена. В противоположном случае оно
проходит через тот же процесс. Это
продолжается до достижения решения.
Рис.18 Схема генетического алгоритма
Усилия, направленные на моделирование эволюции по аналогии с природными системами, к настоящему времени можно разбить на две большие категории: 1) системы, которые смоделированы на биологических принципах (они успешно использовались для задач типа функциональной оптимизации и могут легко быть описаны на небиологическом языке), 2) системы, которые являются биологически более реалистичными, но которые не оказались особенно полезными в прикладном смысле. Они больше похожи на биологические системы и менее направлены (или не направлены вовсе). На практике мы не можем разделять эти вещи так строго. Эти категории - просто два полюса, между которыми лежат различные вычислительные системы. Ближе к первому полюсу - эволюционные алгоритмы, такие как Эволюционное Программирование (Evolutionary Programming), Генетические Алгоритмы (Genetic Algorithms) и Эволюционные Стратегии (Evolution Strategies). Ближе ко второму полюсу - системы, которые могут быть классифицированы как Искусственная Жизнь (Artificial Life).
Наиболее популярное приложение генетических алгоритмов - оптимизация многопараметрических функций. Многие реальные задачи могут быть сформулированы как поиск оптимального значения, где значение - сложная функция, зависящая от некоторых входных параметров. В некоторых случаях, представляет интерес найти те значения параметров, при которых достигается наилучшее точное значение функции. В других случаях, точный оптимум не требуется - решением может считаться любое значение, которое лучше некоторой заданное величины. В этом случае, генетические алгоритмы - часто наиболее приемлемый метод для поиска "хороших" значений. Сила генетического алгоритма заключена в его способности манипулировать одновременно многими параметрами, эта особенность генетических алгоритмов использовалось в сотнях прикладных программ, включая проектирование самолетов, настройку параметров алгоритмов и поиску устойчивых состояний систем нелинейных дифференциальных уравнений.
Генетические алгоритмы в различных формах нашли применение во многих научных и технических проблемах. Они использовались при создании других вычислительных структур, например, автоматов или сетей сортировки. В машинном обучении они использовались при проектировании нейронных сетей или управлении роботами. Они также применялись при моделировании развития в различных предметных областях, включая биологические (экология, иммунология и популяционная генетика), социальный (такие как экономика и политические системы) и когнитивные системы.
В массовом и крупносерийном производстве очень часто возникает проблема экономии материалов. Особенно эта проблема касается машиностроительного производства и предприятий, выпускающих автомобильную технику, комбайны, станки, бытовую технику и прочее. В связи с недостатком металла для машиностроения требуется разработка новых методов экономии материалов. Эта проблема успешно решается с использованием нового подхода к оптимизации раскроя путем применения генетического алгоритма в дополнение к известному алгоритму раскроя. Процесс состоит в следующем: составляются отдельные варианты раскроя для различных деталей, а из них выбирается тот, на котором будут наименьшие потери материала. Здесь реализуется вариант «получение одного из лучших». Получена одна «особь» - карта раскроя для определенного листа и нескольких типов деталей. На производстве не всегда бывает, что размеры листов проката всегда одни и те же. В нашей работе предлагается продолжить и получить для деталей и листа других геометрических размеров иную «особь». Затем потребуется «скрестить» эти особи и получить новые карты раскроя со смешением типов деталей с одной и другой «особи». Если «потомки» выходят с большим коэффициентом раскроя, чем у «родителей», задача считается решенной. Таким образом, при «скрещивании» может быть достигнута главная цель – получение карты раскроя с минимальными потерями.
Области применения систем ИАД
Класс задач |
Примеры применения методов ИАД |
Стратегическое управление |
|
Кадровая служба |
|
Снабжение |
|
Производство |
|
Финансы |
|
Логистика |
|
Планирование |
прогнозирование и оптимизация корпоративных расходов. |
НИОКР |
|
Маркетинг |
|
Безопасность |
|