Архив рубрики ~Лента новостей~

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

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

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

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

Код на 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

✅ Найденные теги: новости, Обезьяны
Читайте также
Архив рубрики ~Коротко из Telegram~ Госдума приняла нормы, предусматривающие штрафы за нарушение новых требований к… Архив рубрики ~Обо всем~ Лучшие предложения на роботы-пылесосы в рамках Prime Day, которые я бы купил сейчас, после тестирования десятков вариантов. Архив рубрики ~Обо всем~ Мы профессионально отслеживаем выгодные предложения: вот лучшие предложения, которые нашли наши эксперты CNET на этой неделе. Архив рубрики ~Обо всем~ Как обучить модель оценки в эпоху искусственного интеллекта Архив рубрики ~Коротко из Telegram~ 🤖 Промышленным компаниям помогут внедрить ИИ На Архитектурном совете кластера… Архив рубрики ~Коротко из Telegram~ Шопоголикам выписали плацебо Любопытный тренд пришел из Южной Кореи. Там… Архив рубрики ~Коротко из Telegram~ Возвращаясь в мир без интернета Ozon Банк начал тестировать перевод… Архив рубрики ~Коротко из Telegram~ ♻️ Городские камеры подключат к борьбе с незаконными свалками NtechLab… Архив рубрики ~Коротко из Telegram~ Эксперты Data Insight выпустили новый рейтинг крупнейших интернет-магазинов России за… Архив рубрики ~Коротко из Telegram~ LLM delenda est или Язык до AGI не доведет Свежее… Архив рубрики ~Коротко из Telegram~ Обратил внимание, что ребята из Anthropic Institute (исследовательская лаба Антропиков)… Архив рубрики ~Коротко из Telegram~ Про Fable 5 еще. Сегодня уже была новость об этой… Архив рубрики ~Коротко из Telegram~ Pokémon Go помогал ловить покемонов, а теперь может помочь дронам… Архив рубрики ~Коротко из Telegram~ Учёные собрали полную карту нервной системы дрозофилы Исследователи полностью оцифровали… Архив рубрики ~Коротко из Telegram~ Госдума приняла нормы, предусматривающие штрафы за нарушение новых требований к… Архив рубрики ~Обо всем~ Лучшие предложения на роботы-пылесосы в рамках Prime Day, которые я бы купил сейчас, после тестирования десятков вариантов. Архив рубрики ~Обо всем~ Мы профессионально отслеживаем выгодные предложения: вот лучшие предложения, которые нашли наши эксперты CNET на этой неделе. Архив рубрики ~Обо всем~ Как обучить модель оценки в эпоху искусственного интеллекта Архив рубрики ~Коротко из Telegram~ 🤖 Промышленным компаниям помогут внедрить ИИ На Архитектурном совете кластера… Архив рубрики ~Коротко из Telegram~ Шопоголикам выписали плацебо Любопытный тренд пришел из Южной Кореи. Там… Архив рубрики ~Коротко из Telegram~ Возвращаясь в мир без интернета Ozon Банк начал тестировать перевод… Архив рубрики ~Коротко из Telegram~ ♻️ Городские камеры подключат к борьбе с незаконными свалками NtechLab… Архив рубрики ~Коротко из Telegram~ Эксперты Data Insight выпустили новый рейтинг крупнейших интернет-магазинов России за… Архив рубрики ~Коротко из Telegram~ LLM delenda est или Язык до AGI не доведет Свежее… Архив рубрики ~Коротко из Telegram~ Обратил внимание, что ребята из Anthropic Institute (исследовательская лаба Антропиков)… Архив рубрики ~Коротко из Telegram~ Про Fable 5 еще. Сегодня уже была новость об этой… Архив рубрики ~Коротко из Telegram~ Pokémon Go помогал ловить покемонов, а теперь может помочь дронам… Архив рубрики ~Коротко из Telegram~ Учёные собрали полную карту нервной системы дрозофилы Исследователи полностью оцифровали…

Подписка на рассылку

Получайте свежие новости и идеи на почту. Без спама — только самое интересное.

Нажимая «Подписаться», вы соглашаетесь с политикой конфиденциальности.