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

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

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

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

Содержание
  • 1 Примеры программ LGP
  • 2 См. Также
  • 3 Примечания
  • 4 Внешние ссылки
Примеры программ LGP

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

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

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

См. Также
Примечания
  1. ^Брамейер, М.: «О линейном генетическом программировании Архивировано 29 июня 2007 г. в Wayback Machine ", Дортмунд, 2003 г.
  2. ^W. Банцаф, П. Нордин, Р. Келлер, Ф. Франкоун, «Генетическое программирование - введение. Об автоматической эволюции компьютерных программ и их применении», Morgan Kaufmann, Heidelberg / San Francisco, 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]
Последняя правка сделана 2021-05-27 10:31:38
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте