macroevolution (
macroevolution) wrote2011-04-14 11:30 am
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Немного арифметики
Какой длины должен быть текст, состоящий из букв русского алфавита, чтобы возможных текстов такой длины было больше, чем элементарных частиц во вселенной?
(под "текстом" имеется в виду любая произвольная последовательность букв).
Букв 33; элементарных частиц во вселенной, если не ошибаюсь, где-то около 10^80.
(под "текстом" имеется в виду любая произвольная последовательность букв).
Букв 33; элементарных частиц во вселенной, если не ошибаюсь, где-то около 10^80.
33 в степени 53 уже превышает это число.
Таким образом, достаточно всего лишь 53 букв: это меньше, чем стандартная строка в вордовском документе.
Таким образом, достаточно всего лишь 53 букв: это меньше, чем стандартная строка в вордовском документе.
Написали неполную строчку текста - и уже каким-то непонятным образом соприкоснулись с вселенскими масштабами.
Строчка - вселенная, страничка - уже мультиверс.
Я вот накатал двухтомник на полтора миллиона знаков. Сколько двухтомников такого размера существует в Вавилонской библиотеке Борхеса? Примерно 10 в степени 2250000 (число из двух с четвертью миллионов цифр). Вселенная отдыхает :)
Строчка - вселенная, страничка - уже мультиверс.
Я вот накатал двухтомник на полтора миллиона знаков. Сколько двухтомников такого размера существует в Вавилонской библиотеке Борхеса? Примерно 10 в степени 2250000 (число из двух с четвертью миллионов цифр). Вселенная отдыхает :)
no subject
Так долго получается в случае одноразового отбора случайной вариации. Теперь рассмотрим нарастающий отбор - насколько он будет эффективнее? Очень и очень намного! Гораздо эффективнее, чем мы возможно себе представляем в первый момент, хотя это почти очевидно, если мы подумаем над этим чуть более. Мы снова используем нашу компьютерную обезьяну, но внесём критическое изменение в программу. Она, как и раньше, снова начинает, выбирая случайную последовательность из 28 букв:
WDLMNLT DTJBKWIRZREZLMQCO P
Однако теперь она "размножает" эту случайную фразу. Она реплицирует её неоднократно, но с некоторой вероятностью случайной ошибки - "мутации" при копировании. Компьютер исследует мутировавшую бессмысленную фразу, "потомка" первоначальной, и выбирает ту, которая более всего (хотя бы чуть-чуть) походит на нашу искомую фразу, "METHINKS IT IS LIKE A WEASEL". В данном случае, в следующем поколении победила такая фраза:
WDLTMNLT DTJBSWIRZREZLMQCO P
Улучшение неочевидное! Но процедура повторилась, и снова мутировавший "потомок" "вывелся" от последней фразы, и отобран новый "победитель". И так поколение за поколением. После 10 поколений, фраза, выбранная на роль "производителя" была такой:
MDLDMNLS ITJISWHRZREZ MECS P
А вот что было после 20 поколений:
MELDINLS IT ISWPRKE Z WECSEL
А вот здесь глаз уже не может не заметить некоторого подобия искомой фразе. В 30-м поколении в подобии можно уже не сомневаться:
METHINGS IT ISWLIKE B WECSEL
На 40-м поколении - мы в одной букве от цели:
METHINKS IT IS LIKE I WEASEL
И вот цель наконец достигнута в 43-м поколении.
Второй прогон компьютер начал с фразы:
Y YVMQKZPFJXWVHGLAWFVCHQXYOPY
Результаты прогона были таковы (снова приводится только каждое десятое поколение):
Y YVMQKSPFTXWSHLIKEFV HQYSPY
YETHINKSPITXISHLIKEFA WQYSEY
METHINKS IT ISSLIKE A WEFSEY
METHINKS IT ISBLIKE A WEASES
METHINKS IT ISJLIKE A WEASEO
METHINKS IT IS LIKE A WEASEP
И конечная цель достигнута в поколении 64. Третий прогон компьютер начал с фразы:
GEWRGZRPBCTPGQMCKHFDBGW ZCCF
И достиг "METHINKS IT IS LIKE A WEASEL" в 41-м поколении селективного "размножения".
Точное время, затраченное компьютером на достижение цели, значения не имеет. Но если вы настаиваете, то он закончил весь первый прогон за время, пока я завтракал - то есть, примерно полчаса. (Энтузиасты-компьютерщики могут счесть, что это неправдоподобно долго. Но дело в том, что программа была написана на БЕЙСИКЕ - это язык программирования для младенцев. Когда я переписал её на Паскаль, то она стала выполняться за 11 секунд). Компьютеры в этих делах несколько быстрее обезьян, но разница действительно не имеет значения. Значение имеет разница между временем нарастающей селекции, и временем, потребным тому же самому компьютеру, работающему с той же скоростью, на достижение целевой фразы, если мы заставим его использовать другую процедуру - процедуру одноразового отбора: это примерно миллион миллионов миллионов миллионов миллионов лет. Это в миллион миллионов миллионов раз больше времени существования Вселенной. Фактически разумнее говорить, что в сравнении с временем, потребным, неважно кому - хоть обезьяне, хоть компьютерному генератору случайных символов, для генерации нашей целевой фразы, возраст вселенной - столь ничтожная величина, что на практике утонет в погрешностях данного рода вычислений. В то же время, компьютерному генератору случайных символов, но работающему по алгоритму нарастающего выбора, для выполнения той же самой задачи потребуется совершенно обозримое время - от 11 секунд до длительности спокойного завтрака.
no subject
Вот если бы он построил таблицу вероятности появления буквы в зависимости от соседей (построенную на анализе ПСС Шекспира, можно упростить и огрубить), зафиксировал бы начальную и конечную букву, и начал бы случайно менять по букве в соответствии с таблицей, то через определённое количество итераций (скорее намного большее, но не чрезмерно) мог бы получить эту фразу или похожую. Или другую фразу из Шекспира. И это было бы ближе к настоящему природному отбору.
no subject
http://www.proza.ru/2010/10/28/890
Вывод: люди произошли от обезьян, но по воле Бога - Воли к Власти.