В одной из книг Докинза приводится пример эволюции, когда мутации в случайном наборе букв довольно быстро приводят к цитате из «Гамлета»: «Мне кажется, оно похоже на ласку.» Но это скорее пример искуственного отбора или даже креационизма, так как конечный результат известен заранее.
А пробовал ли кто-нибудь повторить эксперимент, просто задав критерии «жизнеспособности» текста? Если нет, как бы вы это реализовали?
Сгенерировать случайный текст, а затем генерировать поколения потомков-мутантов и отбирать лучшего — несложно. Главный вопрос — по каким критериям оценивать «жизнеспособность» текстов. Считать распределение символов по частотам и сравнивать с искомым языком? Несложно, но недостаточно. Прогонять через спеллчекер? Он должен как-то уметь численно оценивать неправильность текста. Какой посоветуете? Другие идеи есть? Есть ли свободные программы для оценки благозвучия?
Заодно можно подумать и о возможных мутациях. В оригинальной «ласке» брали строку постоянной длины и только заменяли символы. Но ведь можно и добавлять-убирать символы, и перемещать куски текста.
А ещё можно не сразу убивать всех, кроме лучшего, а оставлять несколько лучших, но это уже на потом...