Линейное генетическое программирование - Linear genetic programming

«Линейное генетическое программирование» не связано с «линейное программирование ".

Линейное генетическое программирование (LGP) - это частное подмножество генетическое программирование в которой компьютерные программы в популяции представлены как последовательность инструкции из императивный язык программирования или же машинный язык. Поток данных на основе графиков, который является результатом многократного использования регистр содержание и наличие структурно неэффективного кода (интроны ) являются двумя основными отличиями этого генетическое представление из более распространенных древовидных генетическое программирование (TGP) вариант.[1][2][3]

В генетическое программирование (GP) a линейное дерево это программа, состоящая из переменного числа унарных функций и одного Терминал. Обратите внимание, что линейное дерево GP отличается от битовой строки генетические алгоритмы поскольку совокупность может содержать программы разной длины и может быть более двух типов функций или более двух типов терминалов.[4]

Примеры программ LGP

Поскольку программы LGP в основном представлены линейной последовательностью инструкций, их проще читать и работать с ними, чем с их древовидными аналогами. Например, простая программа, написанная на языке LGP. Слэш / А выглядит как последовательность инструкций, разделенных косой чертой:

Вход/ # получает ввод от пользователя и сохраняет его в регистр F0/       # устанавливает регистр I = 0спасти/ # сохраняет содержимое F в вектор данных D [I] (т.е. D [0]: = F)Вход/ # получает другой ввод, сохраняется в FДобавить/ # добавляет к F текущие данные, на которые указывает I (т.е. F: = F + D [0])выход/. # выходов результат F

Представляя такой код в байт-код формат, то есть в виде массива байтов, каждый из которых представляет отдельную инструкцию, можно сделать мутация операции, просто изменив элемент такого массива.

Смотрите также

Примечания

  1. ^ Брамейер, М .: "О линейном генетическом программировании В архиве 2007-06-29 на Wayback Machine ", Дортмунд, 2003 г.
  2. ^ В. Банцаф, П. Нордин, Р. Келлер, Ф. Франсоне, "Генетическое программирование - введение. Об автоматической эволюции компьютерных программ и их применении", Морган Кауфманн, Гейдельберг / Сан-Франциско, 1998
  3. ^ Poli, R .; Langdon, W. B .; Макфи, Н. Ф. (2008). Полевое руководство по генетическому программированию. Lulu.com, свободно доступный в Интернете. ISBN  978-1-4092-0073-4.
  4. ^ Основы генетического программирования.

внешняя ссылка

  • Косая черта / A Язык программирования и библиотека C ++, специально разработанная для линейных GP.
  • DigitalBiology.NET Вертикальная поисковая система для ресурсов GA / GP
  • Discipulus Программное обеспечение для генетического программирования
  • MicroGP Программное обеспечение для генетического программирования (открытый исходный код)
  • [1]