Cтраница 2
В [131], исследуя решения различной длины, получаемые с помощью генетического программирования, обратили внимание на так называемый эффект компрессионного давления, которым обладают решения с малой структурной сложностью. Программы, генерируемые по методу генетического программирования, могут содержать лишние блоки, не влияющие на функциональные возможности программы и на значение ее ЦФ. С учетом этого в [131] вводится понятие эффективной сложности, величина которой равна величине структурной ( абсолютной) сложности программы за вычетом величины интронов, содержащихся в программе. Принято считать, что применение ОК носит деструктивный характер, если ЦФ ухудшается. [16]
Эволюционными алгоритмами называются и другие методы, реализующие эволюционный подход, в частности, генетическое программирование ( genetic programming) [29], представляющее собой модификацию генетического алгоритма с учетом возможностей компьютерных программ. При использовании этого метода популяция состоит из закодированных соответствующим образом программ, которые подвергаются воздействию генетических операторов скрещивания и мутации, для нахождения оптимального решения, которым считается программа, наилучшим образом решающая поставленную задачу. Программы оцениваются относительно определенной специальным образом функции приспособленности. [17]
Этот термин объединяет как генетические алгоритмы, эволюционные стратегии и эволюционное программирование, так и генетическое программирование, а также другие аналогичные методы. [18]
К ним прежде всего следует отнести работы по так называемым автоматически определяемым функциям ( ADF), идея которых состоит в повышении эффективности генетического программирования за счет модульного построения программ, состоящих из главной программы и ADF-модулей, генерируемых в ходе моделирования эволюции. При этом до начала эволюции ориентировочно определяется архитектура программы, число ADF-модулей и параметры ( аргументы) ADF. [19]
Результаты моделирования свидетельствуют о преимуществе генетического программирования с ADF как по структурной сложности решений, так и по вычислительной трудоемкости. Другим перспективным направлением в генетическом программировании считается вопрос о применении в качестве оператора поиска не только ОК, но и ОМ, а также реализацию генетического профаммирования на транспьютерных вычислительных системах. [20]
В [131], исследуя решения различной длины, получаемые с помощью генетического программирования, обратили внимание на так называемый эффект компрессионного давления, которым обладают решения с малой структурной сложностью. Программы, генерируемые по методу генетического программирования, могут содержать лишние блоки, не влияющие на функциональные возможности программы и на значение ее ЦФ. С учетом этого в [131] вводится понятие эффективной сложности, величина которой равна величине структурной ( абсолютной) сложности программы за вычетом величины интронов, содержащихся в программе. Принято считать, что применение ОК носит деструктивный характер, если ЦФ ухудшается. [21]
Программы состоят из функций, переменных и констант. Исходная популяция Р хромосом в генетическом программировании образуется стохастически и состоит из программ, которые включают в себя элементы множества проблемно-ориентированных элементарных функций, а также проблемно-ориентированные переменные и константы. Эти множества являются основой для эволюционного синтеза программы, способной наилучшим образом решать поставленную задачу. Одновременно устанавливаются правила выбора элементов из указанных множеств в пространстве всех потенциально синтезируемых программ. Понятно, что эти множества, а также правила их обработки, оказывают серьезное влияние на размерность пространства поиска наилучшего решения и на качество результатов, получаемых методами генетического программирования. Структуры генетического программирования, как правило, имеют древовидную форму. [22]
Моделирование развития и совершенствования природы позволяет найти новые пути построения интеллектуальных искусственных систем. Основными направлениями здесь могут выступить эволюционные стратегии, генетические алгоритмы, а также генетическое программирование. [23]
Нетрудно видеть, что испытание всех базовых штаммов может превысить возможности даже самого мощного суперкомпьютера. Для сокращения перебора предлагается использовать комбинацию метода последовательного наращивания числа элементов с методами генетического программирования. [24]
Согласно закону Оккама, если получается несколько различных корректных решений, то лучшее из них - решение, обладающее наименьшей структурной сложностью. Сравнительный анализ генетического программирования с ADF и без ADF показывает, что для задачи двух параллелепипедов с точки зрения вычислительной трудоемкости и структурной сложности преимущество - за генетическим программированием без ADF. Однако имеется целый ряд примеров, свидетельствующих об обратном. Рассмотрим один из них. [25]
Согласно закону Оккама, если получается несколько различных корректных решений, то лучшее из них - решение, обладающее наименьшей структурной сложностью. Сравнительный анализ генетического программирования с ADF и без ADF показывает, что для задачи двух параллелепипедов с точки зрения вычислительной трудоемкости и структурной сложности преимущество - за генетическим программированием без ADF. Однако имеется целый ряд примеров, свидетельствующих об обратном. Рассмотрим один из них. [26]
Таким образом, мы в праве ожидать, что генетические последовательности символов должны обладать относительно высокой сложностью. С другой стороны, гено-типическая информация представляет собой программу построения живых существ, длина которой была оптимизирована в процессе отбора. Из опыта работы с компьютерами нам известно, что, используя языки программирования, мы можем сократить программу и записать ее в более удобном для хранения в запоминающем устройстве виде. Если мы хотим применить те же методы к генетическому программированию, то прежде всего необходимо предположить существование определенных грамматических правил. Но наличие каких-то правил или закономерностей в последовательности символов означает уменьшение сложности; по-видимому, генетическая информация обладает не максимальной, а почти максимальной сложностью. [27]
Создан в 1961 г. ( Стэнфорд, США) группой профессора Джона Маккартни. Сокращение LISP ( List processing) переводится как язык обработки списков. В 70 - 80 гг. широко применялся для решения задач на основе древовидных структур, например, задач лабиринтного поиска и генетического программирования ( Стэнфорд, проф. Существует большое количество версий, наиболее известной, по-видимому, является COMMON LISP. Эта версия была поддержана AI Lab M.I. T. LISP - машины в качестве языка системного программирования. К началу 90 - х гг. фактически вышел из употребления. [28]
Данные, которые закодированы в генотипе, могут представлять собой команды какой-либо виртуальной машины. Однако в таком случае, длина получаемой последовательности действий ( программы) получается не отличающейся от той ( или тех), которая является затравкой на этапе инициализации. Современные алгоритмы генетического программирования функционируют в системах с переменной длиной генотипа. [29]
Программы состоят из функций, переменных и констант. Исходная популяция Р хромосом в генетическом программировании образуется стохастически и состоит из программ, которые включают в себя элементы множества проблемно-ориентированных элементарных функций, а также проблемно-ориентированные переменные и константы. Эти множества являются основой для эволюционного синтеза программы, способной наилучшим образом решать поставленную задачу. Одновременно устанавливаются правила выбора элементов из указанных множеств в пространстве всех потенциально синтезируемых программ. Понятно, что эти множества, а также правила их обработки, оказывают серьезное влияние на размерность пространства поиска наилучшего решения и на качество результатов, получаемых методами генетического программирования. Структуры генетического программирования, как правило, имеют древовидную форму. [30]