Линейное генетическое программирование - 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
Представляя такой код в байт-код формат, то есть в виде массива байтов, каждый из которых представляет отдельную инструкцию, можно сделать мутация операции, просто изменив элемент такого массива.
Смотрите также
- Программирование с несколькими выражениями
- Декартово генетическое программирование
- Грамматическая эволюция
- Генетическое программирование
Примечания
- ^ Брамейер, М .: "О линейном генетическом программировании В архиве 2007-06-29 на Wayback Machine ", Дортмунд, 2003 г.
- ^ В. Банцаф, П. Нордин, Р. Келлер, Ф. Франсоне, "Генетическое программирование - введение. Об автоматической эволюции компьютерных программ и их применении", Морган Кауфманн, Гейдельберг / Сан-Франциско, 1998
- ^ Poli, R .; Langdon, W. B .; Макфи, Н. Ф. (2008). Полевое руководство по генетическому программированию. Lulu.com, свободно доступный в Интернете. ISBN 978-1-4092-0073-4.
- ^ Основы генетического программирования.
внешняя ссылка
- Косая черта / A Язык программирования и библиотека C ++, специально разработанная для линейных GP.
- DigitalBiology.NET Вертикальная поисковая система для ресурсов GA / GP
- Discipulus Программное обеспечение для генетического программирования
- MicroGP Программное обеспечение для генетического программирования (открытый исходный код)
- [1]