Одним субботним декабрьским вечером сидел я над книгой [The Blind Watchmaker][1] (Слепой Часовщик), как на глаза мне попался невероятно интересный эксперимент: возьмём любое предложение, например Шекспировскую строку: _Methinks it is like a weasel_ и случайную строку такой же длины: _wdltmnlt dtjbkwirzrezlmqco p_ и начнем вносить в неё случайные изменения. Через сколько поколений эта случайная строка превратится в Шекспировскую строку, если выживать будут лишь потомки более похожие на Шекспировскую? Сегодня мы повторим этот эксперимент, но в уже совершенно другом масштабе. ![][2] Структура статьи:
1. [Что такое генетический алгоритм][3]
2. [Почему это работает][4]
3. [Формализуем задачу со случайной строкой][5]
4. [Пример работы алгоритма][6]
5. [Эксперименты с классикой][7]
6. [Код и данные][8]
7. [Выводы][9]
**Осторожно трафик!** [Читать дальше →][10]
[1]:
http://www.amazon.com/The-Blind-Watchmaker-Evidence-Evolution/dp/0393315703
[2]: //habrastorage.org/files/991/97f/0b3/99197f0b3ead4309b22346b16b2a5e8c.jpg
[3]:
http://habrahabr.ru/post/246951#what_is_genetic_algorithm
[4]:
http://habrahabr.ru/post/246951#why_does_it_work
[5]:
http://habrahabr.ru/post/246951#formalization
[6]:
http://habrahabr.ru/post/246951#example
[7]:
http://habrahabr.ru/post/246951#experiments
[8]:
http://habrahabr.ru/post/246951#source_code
[9]:
http://habrahabr.ru/post/246951#conclusions
[10]:
http://habrahabr.ru/post/246951/#habracut