Эволюционное программирование, по-видимому, является отличным способом решения многих проблем оптимизации. Идея очень проста, и реализация не создает проблем.
Мне было интересно, есть ли способ эволюционно создать программу в ruby /python script (или любом другом языке)?
Идея проста:
- Создание популяции программ
- Выполните генетические операции (выбор колесика рулетки или любой другой выбор), создайте новые программы с наследованием из лучших программ и т.д.
- Точка петли 2 до тех пор, пока не будет найдена программа, удовлетворяющая нашему условию
Но есть еще несколько проблем:
- Как будут представлены хромосомы? Например, должна ли одна ячейка хромосомы быть одной строкой кода?
- Как будут генерироваться хромосомы? Если они будут строками кода, как мы их генерируем для обеспечения синтаксической корректности и т.д.?
Пример программы, которая может быть сгенерирована:
Создайте script, который принимает N чисел в качестве входных данных и возвращает их среднее значение как результат.
Если бы были попытки создать такие алгоритмы, я буду рад видеть любые ссылки/источники.