Другие языки программирования и технологии

Как проще запрограммировать эволюцию программы?

Ты переизобрёл генетический алгоритм. Советую почитать учебные материалы по этой теме - в интернете их много.

Чтобы сравнить эффективность разных программ, необходимо, чтобы эти программы выполнялись достаточно долго. По сравнению с временем выполнения программы время её компиляции в байт-код будет пренебрежительно мало. Так что подобная оптимизация не имеет смысла.
Dima Bogomazov
Dima Bogomazov
74 625
Лучший ответ
Сергей Корсун "необходимо, чтобы эти программы выполнялись достаточно долго. "
У таких программ обычно есть исходные данны. Что с чем сравнивать?
1. Что будет из себя представлять программа зависит от того, что с ней будет дальше.
Например, если это какая-то небольшая программа, которая должна управлять устройством и размещаться в объеме 1КБ, то, скорее всего, ее нужно писать сразу в машинных кодах конкретного процессора.

Если это алгоритм, который планируется затем встроить в крупную систему, разрабатываемую на С++, то и код разумно делать на С++.

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

2. Я бы упростил себе задачу - по максимуму ограничил возможные "мутации" алгоритма. Т.е. чтобы код менялся не везде и не случайным образом, а там, где нельзя просто придумать что-то достаточно эффективное, чтобы сократить количество заведомо неработающих вариантов, чтобы изменение создавало только корректные алгоритмы. Короче, проводя аналогию с живой природой, чтобы миллионы лет эволюции со случайными мутациями, заменить на месяц работы методами генной инженерии.

3. Да, изучите, что придумано до вас. Там много чего, идея не нова ))

ps Простой вариант - параметризированный алгоритм, где "эволюционирует" не код, а только значения параметров.
замись для начала с простого
Санжар Эргашев так я и спрашиваю как проще