2016-07-30 10 views
-1

У меня есть следующая проблема генетического программирования (Домашнее задание): Мне нужно использовать 5 цифр (от 0 до 9) и любых операторов (+, -, *, /) для генерации выражение, чтобы дать мне ответ в качестве 30. Может ли кто-нибудь объяснить, как я могу решить это с помощью генетического программирования?Генетический алгоритм (поиск выражения с использованием цифр и операторов)

+0

(1 + 2 + 3) (5) + 0 – MrEhawk82

+0

Звучит как забавная домашняя проблема. Сделай это. Предположительно, ваш текст объясняет, как это работает. –

ответ

0

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

В GP каждый индивид представляет одну компьютерную программу, которая представляется с использованием древовидной структуры. В вашей задаче она представляет собой математическое выражение. Дерево в следующем изображении может представлять собой индивидуум выражения «3.4-x».

enter image description here

Лист узел выбрал из вашего цифрового набора, и не листовой узел из множества операторов.

Затем вы можете выбрать некоторых операторов кроссовера и мутаций, чтобы развить ваше выражение.

Для оператора кроссовера вы можете выбрать один случайный узел в каждом из двух родителей, а затем поменять соответствующие поддеревья, чтобы создать две пружины off, как показано на следующем рисунке.

enter image description here

Кроме того, есть много соответствующей мутации operators.For например, случайным образом выбирать узел для изменения цифровых или операторов.

 Смежные вопросы

  • Нет связанных вопросов^_^