Генетическое программирование для прогнозирования и управления.

Dimitris C. Dracopoulos, Simon Kent

Перевод с английского: Томара М. Я.


Источник: Журнал SpingerLink, декабрь 1997 года


Краткий обзор.

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

Ключевые слова: генетическое программирование (ГП), параллельное вычисление, прогнозирование, эволюционный контроль, эволюционные вычисления.

1. Введение

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

ГП, развившись из хорошо известного класса генетических алгоритмов (ГА), принадлежит к классу «умных» методов. ГП позволяет не создавать алгоритм, который затем пишется на каком-нибудь языке программирования. Вместо этого ГП создает и развивает алгоритм согласно эволюционной теории Дарвина [4]. Принцип выживания самого достойного породил чрезвычайно сложные функциональные решения на протяжении биологической эволюции растений и животных. Эволюционный процесс не рассматривал и не вникал в проблему любого из видов, живущих в своей особой среде, вместо этого он позволял самым приспособленным существам выживать и развиваться и отбраковывал тех, кто не прошел отбор.

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

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

2. Генетическое программирование

Хотя многие люди заявляют, что они первыми изобрели ГП, наука впервые получила известность в начале 90-х с изданием книги Коза [20] по генетическому программированию. Свое начало ГП берет в хорошо разработанной области ГА, и в предыдущей работе [19] ГП отнесена к генетическим алгоритмам с иерархической структурой. Основные принципы ГА и ГП очень похожи. Наиболее существенным различием является то, что структура данных, обрабатываемая ГА, обычно имеет строковый тип, в то время как в ГП это дерево, состоящее из функций и конечных (или терминальных) узлов. Дерево может содержать гораздо больше разнотипных и сложных структур разных размеров, которые легко могут быть отображены математическими структурами или компьютерными программами.