ideipro logotyp

Обезьяны напишут шедевр, если мы наложим ограничения и добавим тесты

Написал этот текст, чтобы зафиксировать объяснение возможности случайной генерации организмов в процессе эволюции.

Я согласен с утверждением, что если случайно генерировать последовательность из букв, то литературного произведения мы не получим и за миллиарды лет. Подробно о Теореме о бесконечных обезьянах. Но к эволюции это утверждение не имеет отношения, хотя и выглядит таковым. Почему? Если кидать случайно атомы, то мы не получим ДНК или клетку — слишком уж большую комбинацию мы ждём на выходе. Если же мы ограничим ожидаемую последовательность, например несколькими атомами, то вполне может выпасть небольшая молекула. Из них в случайном порядке мы складываем ещё большие молекулы. Что мы сделали? Мы увеличили вероятность выпадения чего-то осмысленного, задав ограничения. То же самое мы сделаем с текстом: ограничим орфографией конкретного языка допустимые комбинации букв и длины слов.

Код на Python:

from random import choice, randint letters = ‘абвгдеёжзийклмнопрстуфхцчшщъыьэюя,’ real_syllables = {‘пус’, ‘ть’, ‘он’, ‘зна’, ‘ет’, ‘,’, ‘что’, ‘ес’, ‘ли’, ‘по’, ‘доб’ ,’но’, ‘мне’, ‘стре’, ‘ми’, ‘тся’} real_words = {‘пусть’, ‘он’, ‘знает’, ‘,’, ‘что’, ‘если’, ‘подобно’, ‘мне’, ‘стремится’} real_word_combinations = {‘пусть’, ‘он знает’, ‘,’, ‘что если’, ‘подобно мне’, ‘он стремится’} real_sentences = {‘пусть он знает , что если , подобно мне , он стремится’} def rand_entity(min_length, max_length, alphabet, glue): rand_letters = [] for _ in range(randint(min_length, max_length)): rand_letters.append(choice(alphabet)) return glue.join(rand_letters) def guess_entities(max_iterations, min_length, max_length, subentities, real_entities, glue=»): guessed_entities = set() for index_iteration in range(max_iterations): entity = rand_entity(min_length, max_length, subentities, glue) if entity in real_entities: guessed_entities.add(entity) if len(guessed_entities) == len(real_entities): return True, index_iteration return False, index_iteration args_list = [ (10000000, 1, 5, letters, real_syllables), (100000, 1, 3, list(real_syllables), real_words), (1000, 1, 2, list(real_words), real_word_combinations, ‘ ‘), (10000000, 7, 8, list(real_word_combinations), real_sentences, ‘ ‘), ] for args in args_list: is_ready, index = guess_entities(*args) print(is_ready, index) if not is_ready: break

Программа генерирует случайные последовательности букв и проверяет их на возможность существования (наличие в списке), затем из полученных слогов генерирует слова, затем «словосочетания» и «предложения». Отображает 2 значения для каждого из 4 шагов: достигнута ли генерация всех шагов, на какой по счёту итерации были сгенерированы все комбинации. Например:

True 8054959
True 21551
True 342
True 5602084

На роль генерируемого текста взял фрагмент цитаты из перевода книги «Эгоистичный ген»:

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

Длину слогов ограничил 4 буквами, т. к. при большей длине вероятность выпадения слога снижается настолько, насколько снижается значимость её ожидания.

Вместо переменных real_* было бы лучше описать правила (алгоритм), по которым допустимо складывать буквы в слоги, а слоги в слова и т. д. И обучить искусственный интеллект на роль критика-читателя для тестирования генерируемого текста. Но это займёт много времени и, на мой взгляд, не требуется для понимания возможности случайной генерации организмов. В природе же нет эталонных организмов для тестирования, а только законы, задающие возможность комбинирования атомов и выживаемости организмов.

Скачать исходный код: https://github.com/syeysk/random-masterpiece-generator

Мир как контейнер для порождения сущностей

Подытожу описание системы мира, построение которой могло бы порождать сущности по некоему сценарию.

Абстрактная система:

  1. Сущность; составные части сущности, комбинации сущностей

  2. На выходе остаются те сущности, комбинации составных частей которых удовлетворяют неким правилам.

  3. Правила комбинирования составных частей

  4. Тестирование сущности на право существования

  5. Причина генерирования псевдослучайных комбинаций

Конкретизируем абстракцию для природы:

  1. Организм; клеточные культура, молекула, атом, элементарная частица и переносчик взаимодействия; популяция, сообщество, цивилизация.

  2. Остаются существовать копии гена тех организмов, оказавшиеся способными выжить и осуществить репликацию.

  3. Законы квантовой механики, физики, химии, биологии.

  4. Выживание и размножение в условиях окружающей среды.

  5. Флуктуация (блуждание) положения частиц, атомов. Радиация, влияющая на последовательность ДНК. Прочее.

Конкретизируем абстракцию для литературы:

  1. Слова; слоги, буквы; словосочетания, произведения, сборники

  2. Остаются существовать копии тех произведений, оказавшиеся интересными читателям, способных к их цитированию и распространению, признанию.

  3. Орфография, синтаксис, восприятие человека (иногда автор может нарушать орфографию и синтаксис, чтобы лучше донести эмоции или смысл)

  4. Одобрение массовыми читателями, литературными критиками и так далее

  5. Человек, имеющий должное воображение, глубину мышления и подобное. Генеративный искусственный интеллект, обученный на большом объёме текста.

Итого

Грубо говоря, атомы оказываются псевдослучайно в том или ином месте, но их комбинации складываются по законам. Или мутации в ДНК происходят псевдослучайно, но жизнеспособность получаемых организмов определена законом.

Что дальше?

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

Для дополнительного чтения:

  • Гипотеза мира РНК

  • Программа Weasel, написанная Ричардом Доккинзом для демонстрации случайной генерации организма (последовательности ДНК) на примере фразы из произведения Шекспира. Моя программа демонстрирует генерацию молекул из атомов, т. е. обе программы как бы дополняют друг друга.

Источник: habr.com

✅ Найденные теги: новости, Обезьяны
Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Фото сгенерированных лиц: исследование показывает, что люди не могут отличить настоящие лица от сгенерированных
Нейросети построили капитализм за трое суток: 100 агентов Claude заперли…
Скетч: цифровой осьминог и виртуальный мир внутри компьютера с человечком.
Сцена с жестами пальцами, где один жест символизирует "VPN", а другой "KHP".
‼️Paramount купила Warner Bros. Discovery — сумма сделки составила безумные…
Скриншот репозитория GitHub "Claude Scientific Skills" AI для научных исследований.
Структура эффективного запроса Claude с элементами задачи, контекста и референса.
Эскиз и готовая веб-страница платформы для AI-дизайна в современном темном режиме.
ideipro logotyp
Image Not Found
Звёздное небо с галактиками и туманностями, космос, Вселенная, астрофотография.

Система оповещения обсерватории Рубина отправила 800 000 сигналов в первую ночь наблюдений.

Астрономы будут получать оповещения о небесных явлениях в течение нескольких минут после их обнаружения. Теренс О'Брайен, редактор раздела «Выходные». Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной…

Мар 2, 2026
Женщина с длинными тёмными волосами в синем свете, нейтральный фон.

Расследование в отношении 61-фунтовой машины, которая «пожирает» пластик и выплевывает кирпичи.

Обзор компактного пресса для мягкого пластика Clear Drop — и что будет дальше. Шон Холлистер, старший редактор Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной странице вашего…

Мар 2, 2026
Черный углеродное волокно с текстурой плетения, отражающий свет.

Материал будущего: как работает «бессмертный» композит

Учёные из Университета штата Северная Каролина представили композит нового поколения, способный самостоятельно восстанавливаться после серьёзных повреждений.  Речь идёт о модифицированном армированном волокном полимере (FRP), который не просто сохраняет прочность при малом весе, но и способен «залечивать» внутренние…

Мар 2, 2026
Круглый экран с изображением замка и горы, рядом электронная плата.

Круглый дисплей Waveshare для креативных проектов

Круглый 7-дюймовый сенсорный дисплей от Waveshare создан для разработчиков и дизайнеров, которым нужен нестандартный экран.  Это IPS-панель с разрешением 1 080×1 080 пикселей, поддержкой 10-точечного ёмкостного сенсора, оптической склейкой и защитным закалённым стеклом, выполненная в круглом форм-факторе.…

Мар 2, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых