Источник: Журнал SpingerLink, декабрь 1997 года
Будучи относительно новой наукой, генетическое программирование привлекло к себе много внимания за последние несколько лет. Причина тому -
присущие ему возможности создания функций, способных решать специфические проблемы. Данная работа начинается со всестороннего обзора этой науки,
в котором будет уделено внимание его возможностям и ограничениям, а также будут представлены практические сведения и методы успешного применения
ГП для решения общих задач. Далее наиболее подробно будет рассмотрено применение ГП для прогнозирования и надзора. Эти два направления чрезвычайно
важны во многих дисциплинах. Результатом работы является представление методики решения задач прогнозирования развития рака ротовой полости и контроля
над положением спутников в пространстве. Завершают работу рассуждения о том, как можно ускорить достижение сходимости результатов ГП с реальными
процессами с помощью синхронной параллельной обработки массивов данных рассматриваемой модели.
Ключевые слова: генетическое программирование (ГП), параллельное вычисление, прогнозирование, эволюционный контроль, эволюционные вычисления.
Человечество всегда было захвачено идеей создания умных машин по двум причинам: для подражания осознанному поведению животных и для получения
функциональных решений для сложных комплексных задач, когда нельзя их найти другим способом. Обычный компьютерный подход к созданию программного
обеспечения для решения отдельных проблем не может быть применен в общих случаях, в таких областях как распознавание речи, видимость и робототехника. Задачи
этого класса требуют усовершенствованного искусственного интеллекта, который способен работать с некоторыми ограниченными сведениями о проблеме и создавать
и совершенствовать решения, в символьной или цифровой форме, для отдельных задач из рассматриваемой области.
ГП, развившись из хорошо известного класса генетических алгоритмов (ГА), принадлежит к классу «умных» методов. ГП позволяет не создавать алгоритм, который затем
пишется на каком-нибудь языке программирования. Вместо этого ГП создает и развивает алгоритм согласно эволюционной теории Дарвина [4]. Принцип выживания
самого достойного породил чрезвычайно сложные функциональные решения на протяжении биологической эволюции растений и животных. Эволюционный процесс
не рассматривал и не вникал в проблему любого из видов, живущих в своей особой среде, вместо этого он позволял самым приспособленным существам выживать и
развиваться и отбраковывал тех, кто не прошел отбор.
Мы можем наблюдать созданные природой эволюционные системы, которые по уровню сложности далеко впереди любой искусственно созданной. ГП управляет
эволюционным процессом на компьютере, порождая в ходе него программы вместо живых существ. Теоретически, эта компьютерная эволюция способна подражать
природе, создавая чрезвычайно сложные компьютерные программы. На практике, ГП способно успешно решать различные задачи, правда, с определенными ограничениями
из-за несоответствия временных интервалов. В отличие от ГП, эволюция сложных природных структур длилась миллионы лет.
В данной работе дается обзор текущего состояния ГП, причем наиболее подробно будет рассмотрено применение ГП для прогнозирования и надзора. В следующем разделе
представлены базовые сведения о ГП, указаны его недостатки и приведены меры для уменьшения их влияния. Третий раздел содержит некоторые из самых успешных применений
ГП. Четвертый раздел рассматривает его применение для прогнозирования, в том числе рака ротовой полости, а в пятом разделе внимание уделяется применению эволюционных
вычислений в теории управления, в частности для управления положением искусственного спутника в пространстве. Завершает работу шестой раздел, в котором рассмотрены
возможности повышения скорости ГП с помощью синхронной параллельной обработки массивов данных модели.
Хотя многие люди заявляют, что они первыми изобрели ГП, наука впервые получила известность в начале 90-х с изданием книги Коза [20] по генетическому программированию. Свое начало ГП берет в хорошо разработанной области ГА, и в предыдущей работе [19] ГП отнесена к генетическим алгоритмам с иерархической структурой. Основные принципы ГА и ГП очень похожи. Наиболее существенным различием является то, что структура данных, обрабатываемая ГА, обычно имеет строковый тип, в то время как в ГП это дерево, состоящее из функций и конечных (или терминальных) узлов. Дерево может содержать гораздо больше разнотипных и сложных структур разных размеров, которые легко могут быть отображены математическими структурами или компьютерными программами.