Математики из Массачусетсткого Технологического Института и Университета Оттавы уточнили вычислительную сложность игры Super Mario Bros. — оказалось, что игра является PSPACE-полной. Это означает, что для проверки того, проходима ли теоретически обобщенная игра, требуется полиномиальное количество памяти. Ранее ученые смогли показать, что по сложности игры по меньшей мере сопоставима с самой сложной задачей в классе NP (требующем для проверки решения «да/нет» полиномиального времени), входящем в состав PSPACE. Ключевым в доказательстве стало создание так называемых «дверей» — ситуаций, в которых определенные траектории могут менять «проходимость». О работе ученые доложат на Восьмой Международной конференции Fun with Algorithms (препринт статьи), кратко с результатами можно ознакомиться в пресс-релизе MIT.
В исследовании авторы формализовали игру, определяя ее сложность не для конкретных уровней, а исходя из принципиальных возможностей игры для составления уровней. Задача, сложность решения которой оценивалась учеными, звучала так «может ли Марио спасти принцессу?» — то есть включала в себя прохождение всей последовательности уровней. В своем доказательстве математики сделали важное допущение о том, что весь уровень вмещается на один гипотетический экран — иными словами, игра сохраняет состояния тех частей уровня, которые уже не находятся вблизи Марио.
Ранее ученые уже показали, что игра является по меньшей мере NP-сложной. Однако, принадлежит ли она классу NP — можно ли проверить ее решение с помощью недетерминированной машины Тьюринга — было неизвестно. Одним из способов опровергнуть этот факт была постройка внутри игры «дверей», меняющих свое состояние между «открытым» и «закрытым». Они ведут себя подобно битам информации, поэтому их наличие может потребовать класса PSPACE проблем разрешимости.
Авторы отмечают, что ранее удалось построить такие «двери» в игре Donkey Kong Country, но создание их в Super Mario Bros. казалось в принципе невозможным. В новой работе построение удалось выполнить с помощью особой конфигурации уровня. В роли «двери» выступал спайни — дикобраз, которого нельзя убить прыжком. Он не позволял пройти напрямую, перемещаясь между двумя блоками, однако, обойдя его снизу и ударив кирпич можно добиться того, что спайни переместится в другое место и откроет путь.
Вычислительная сложность — важная характеристика для компьютерных задач и алгоритмов. Она определяется количеством времени и памяти, необходимых для выполнения какого либо действия. К примеру, поиск наибольшего из N чисел потребует время пропорциональное N, вычисление расстояний между N аэропортами потребует количества времени, пропорционального N2, и так далее. Когда время пропорционально N в некоторой степени говорят о полиномиальной сложности. Существуют экспоненциальные алгоритмы, например, перебор паролей из N бит — время для поиска требуемой комбинации пропорционально 2N.
К играм, принадлежащим к классу PSPACE-полных также относятся реверси, пасьянс Маджонг, компьютерные игры Sokoban («кладовщик») и некоторые из The Legend of Zelda. Существуют игры, требующие экспоненциальной памяти (EXPSPACE) для проверки решений — к ним, например, относится го.
Владимир Королёв.
Как развитие технологий позволило нащупать «топологическое решение» загадки шизофрении
Шизофрения — одна из самых загадочных и сложных болезней человека. Уже более ста лет ученые пытаются понять причины ее возникновения и найти ключ к терапии. Пока эти усилия не слишком успешны: до сих пор нет ни препаратов, которые могли ли бы ее по-настоящему лечить, ни даже твердого понимания того, какие молекулярные и клеточные механизмы ведут к ее развитию. О том, как ученые бьются с «загадкой шизофрении» мы уже неоднократно писали: сначала с точки зрения истории психиатрии, затем с позиции классической генетики (читателю, который действительно хочет вникнуть в суть проблемы, будет очень полезно сначала прочитать хотя бы последний текст). На этот раз наш рассказ будет посвящен новым молекулярно-биологическим методам исследования, которые появились в распоряжении ученых буквально в последние несколько лет. Несмотря на сырость методик и предварительность результатов, уже сейчас с их помощью получены важнейшие данные, впервые раскрывающие механизм шизофрении на молекулярном уровне.