gifts2017

Генетический алгоритм для решения простой задачки

Опубликовал eugenie zheludkov (eugeniezheludkov) в раздел Программирование - Теория программирования

Генетический алгоритм в решении задачи: Необходимо расставить правильно (по другому) скобки, чтобы получилось 850 (1 + 2) (3 + 4) (5 + 6) (7 + 8) (9 + 10) (11 + 12) (13 + 14) + 15

Применение ГА для решения простой задачи. 

Алгоритм формирует начальную популяцию и 10 генов , затем сортирует ее по выживаемости и создает по 10 мутаций на каждый геном. 

Производит скрещивание, в результате которого выживают самые близкие к результату гены (10 шт)

Затем рождает новую популяцию (10 шт) и также скрещивает...

* ген, геном = особь, вид, строка таблицы популяции

* популяция = 10 генов. таблица.

*мутация = перестановка одной скобки в формуле 

Для перестановки скобок в тексте формулы, текст предварительно распарсивается в таблицу значений, затем скобки перемешиваются, и формула собирается из таблицы обратно в строку.

Кому есть что исправить / добавить в обработку: Пулл реквесты приветсвуются https://github.com/znsoft/external1CProgs

Ссылки на подобные публикации:

http://infostart.ru/public/19549/

http://infostart.ru/public/all/?public-filter%5Bsearch%5D=%E3%E5%ED%E5%F2%E8%F7%E5%F1%EA%E8%E9+%E0%EB%E3%EE%F0%E8%F2%EC

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ГА
.epf 9,86Kb
26.09.16
2
.epf 9,86Kb 2 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Программулькин (Программулькин) 27.09.16 09:47
2. Александр Полетаев (Alias) 27.09.16 12:31
Немного про "ясность формулировок".
"ген, геном = особь" -- геном это совокупность генов. Популяция может состоять из геномов, которые в свою очередь состоят из генов. Но это не одно и то же.
"скрещивание, в результате которого выживают" -- в результате скрещивания не происходит "выживание". Наоборот, происходит рождение нового (генома).

Согласен, может быть мне стоило скачать обработку и посмотреть что неё внутре, не очередная ли неонка. Но заранее -- впечатление довольно скептическое.
Слишком часто за очередной "генетический алгоритм" выдают нечто, больше похожее на перебор различных вариантов в надежде поймать правильный.
Да и 10 особей -- довольно мало для ГА. Вариативности мало, мало места для сохранения удачных вариантов.
eugeniezheludkov; +1 Ответить 1
3. eugenie zheludkov (eugeniezheludkov) 28.09.16 01:37
(2) Alias, Спасибо буду знать , а то я начитался википедий и получается не до конца понял. насчет скачиваний мне почему-то не получилось выложить бесплатно , но можно скачать https://github.com/znsoft/external1CProgs/blob/master/%D0%93%D0%B5%D0%BD%D0­%B5%D1%82%D0%B8%D0%BA%D0%B0.epf и даже исходники глянуть не скачивая https://github.com/znsoft/external1CProgs/blob/master/src/%D0%93%D0%B5%D0%B­D%D0%B5%D1%82%D0%B8%D0%BA%D0%B0/Form/%D0%A4%D0%BE%D1%80%D0%B­C%D0%B0/module
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа