История изменений
Исправление beastie, (текущая версия) :
Вот тебе моё старое баловство: https://git.dim13.org/weasel.git/tree/weasel.c (возможно с багами) ;)
Принцип:
- исходно имеем популяцию N случайных строк одинаковой дины
- выбираем 2 случайных из пула
- из 2-х случайным образом состовляем одну (смешивание генов)
- в зависимости от фактора случайно меняем какие-нибудь значения в новой строке (мутации)
- вычисляем у всех 3-х строк score (сравниваем с искомой строкой — если символ совпал, то +1)
- из 2-х родителей убиваем того, у кого хуже score
- возвращаем обе строки (один родитель и ребёнок) обнатно в пул
- повторять, пока score не станет 100%
Конвергирует на удивление очень быстро.
Исправление beastie, :
Вот тебе моё старое баловство: https://git.dim13.org/weasel.git/tree/weasel.c (возможно с багами) ;)
Принцип:
- исходно имеем популяцию N случайных строк одинаковой дины
- выбираем 2 случайных из пула
- из 2-х случайным образом состовляем одну (смешивание генов)
- в зависимости от фактора случайно меняем какие-нибудь значения в новой строке (мутации)
- вычисляем у всех 3-х строк score (сравниваем с искомой строкой — если символ совпал, то +1)
- из 2-х родителей убиваем того, у кого хуже score
- возвращаешь 2 строки (один родитель и ребёнок) обнатно в пул
- повторять, пока score не станет 100%
Конвергирует на удивление очень быстро.
Исправление beastie, :
Вот тебе моё старое баловство: https://git.dim13.org/weasel.git/tree/weasel.c (возможно с багами) ;)
Принцип:
- исходно имеем популяцию N случайных строк одинаковой дины
- выбираем 2 случайных из пула
- из 2-х случайным образом состовляем одну (смешивание генов)
- в зависимости от фактора случайно меняем какие-нибудь значения в новой строке (мутации)
- вычисляем у всех 3-х строк score (сравниваем с искомой строкой — если символ совпал, то +1)
- из 2-х родителей убиваем того, у кого хуже score
- возвращаешь 2 строки (один родитель и ребёнок) обнатно в пул
- повторять, пока score не станет 100%
Исправление beastie, :
Вот тебе моё старое баловство: https://git.dim13.org/weasel.git/tree/weasel.c (возможно с багами) ;)
Принцип:
- исходно имеем популяцию N случайных строк одинаковой дины
- выбираем 2 случайных из пула
- из 2-х случайным образом состовляем одну (смешивание генов)
- в зависимости от фактора случайно меняем какие-нибудь значения в новой строке (мутации)
- вычисляем у всех 3-х строк score (сравниваем с искомой строкой — если символ совпал, то +1
- из 2-х родителей убиваем того, у кого хуже score
- возвращаешь 2 строки (один родитель и ребёнок) обнатно в пул
- повторять, пока score не станет 100%
Исправление beastie, :
Вот тебе моё старое баловство: https://git.dim13.org/weasel.git/tree/weasel.c (возможно с багами) ;)
Принцип:
- исходно имеем популяцию N случайных строк одинаковой дины
- выбираем 2 случайных
- из 2 случайным образом состовляем одну (смешивание генов)
- в зависимости от фактора случайно меняем какие-нибудь значения в новой строке (мутации)
- вычисляем у всех 3-х строк score (сравниваем с искомой строкой — если символ совпал, то +1
- из 2-х родителей убиваем того, у кого хуже score
- возвращаешь 2 строки (один родитель и ребёнок) обнатно в пул
- повторять, пока score не станет 100%
Исходная версия beastie, :
Вот тебе моё старое баловство: https://git.dim13.org/weasel.git/tree/weasel.c (возможно с багами) ;)