Машина Тьюринга в Minecraft |
||
|
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ Атаки на ИИ Внедрение ИИИИ теория Компьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Промпты. Генеративные запросы Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2026-04-03 11:40 Машина Тьюринга — одно из базовых устройств в компьютерной науке. Я играю в Minecraft уже более 12 лет и имею большой опыт в реализации различных механизмов внутри игры. Спустя годы университетской учёбы и работы в индустрии пришла идея совместить хобби с фундаментальной теорией — реализовать машину Тьюринга средствами игры и поделиться результатом.
Подробное теоретическое описание МТ легко найти в открытых источниках, поэтому сосредоточимся на реализации. Редстоун как основа симуляции Minecraft имеет встроенную механику симуляции электрических сигналов — редстоун. Разберём её базовые составляющие. Сигнал и его уровни Редстоун-сигнал имеет 16 уровней мощности — от 0 (нет сигнала) до 15 (максимум). Пыль передаёт сигнал на расстояние до 15 блоков, теряя 1 уровень на каждом блоке. Ключевые компоненты
Логические элементы Из факелов, повторителей и пыли собираются все базовые логические вентили:
Реализация Ячейка памяти Служит для хранения данных на ленте. Содержит 4 бита и может хранить значения от 0 до 15. Ячейка после активации (см. рис. 1) постоянно выдает записанный сигнал, в данном случае это 0101. На входной группе слева под первой табличкой имеется кнопка для сброса состояния ячейки. 4 бита избыточно в данном случае и взято с оглядкой на будущее. Сдвиговый регистр Для того, чтобы добавить возможность указывать на одну из множества ячеек памяти, нужен сдвиговый регистр. Устройство имеет ряд ламп, горящая лампа как раз и есть то, куда будет указывать головка. Справа под табличками (см. рис. 2) есть 3 кнопки, первая — сместить головку на один влево, вторая — сместить головку на один вправо, третья — сбросить состояние сдвигового регистра в начальное положение. Начально положение — горит самая левая лампа. Слева в отстранении стоит опциональная лампа, которая активируется когда битовый сдвигатель завершает каждое смещение. Таким образом можно минимизировать задержку в общем цикле программы и ожидать стабильной работы битового сдвигателя. По факту реализует операцию битового сдвига. Ячейка программы Примитив таблицы для хранения состояния. Содержит 10 бит информации. Двоично-десятичный преобразователь Понадобится для того, чтобы из программы, заданной в двоичных числах, можно было обращаться к реальным объектам. Также опциональный, но сильно упрощает логику работу механизма и построение МТ. На вход справа (см. рис. 4) подается двоичное число, в данном случае 10, а на выходе слева видно полученное десятичное значение — 2. Схема работы Таким образом, запуск машины происходит с цикла исполнения. Он работает на фиксированных задержках перед обращениями к компонентам устройств. Например, прочитали ячейку — ждем 2 секунды, записали в ячейку — ждем 2 секунды, и так далее. Механизмы не снабжены сигналом, означающим завершение работы конкретного компонента. Например, был отправлен запрос на смещение головки вправо, но когда она отработает неизвестно. Технической сложности в этом нет, это было сделано для получения более быстрого результата. Общая схема работы:
Собрав всем компоненты в одну систему и подключив все необходимые линии получаем МТ в Майнкрафт. Если смотреть сверху вниз на механизм, можно детально рассмотреть его узлы в действии.
Оранжевый провод, идущий от 1 к 4 — провод, по которому передается завершающий сигнал. Инициируется при переходе в конечное состояние и завершает работы цикла исполнения программы. Дополнительные изображения Заключение В результате получился интересный полностью функциональный механизм, реализующий частный случай МТ. Пример работы можно посмотреть тут. Представлена программа, которая выполняет операцию инкремента для заранее заполненного числа.Играйте в Майнкрафт и получайте удовольствие! Телеграм: t.me/ainewsline Источник: habr.com Комментарии: |
|