Все мы знаем "Тест Тьюринга". В классическом его варианте человек и машина отвечают на вопросы судьи, причем судья не видит отвечающих и должен только по ответам догадаться, кто из них кто.
Про этот тест даже снят короткометражный игровой фильм «Кто за стеной». Можно сказать, фантастический, потому что действие по сюжету происходит в конце 2000 года, а снят он, на минуточку, в 1977 году. Если не видели — посмотрите обязательно, и обязательно до конца — как и положено в короткометражном фильме, развязка будет неожиданна.
Так вот, в фильме был интересный способ выбора участников теста — они выбирались среди абонентов городской телефонной сети случайным образом и отвечали на вопросы из дома в онлайне. С видео, фильм же фантастический. Я и подумал, а неплохо бы запилить подобный тест, пользуясь современными технологиями, а именно технологией чатов, в том же Telegram, например.
Идея в следующем:
- Каждый подключившийся к боту участник может взять на себя роль игрока, отвечающего на вопросы, или судьи, эти вопросы задающего.
- Если участник решил быть судьей, то бот случайным образом подбирает ему игрока – либо среди людей-игроков, либо подключает робота. То есть здесь у меня отличие от стандартного теста Тьюринга – в игре отвечающий всегда один, и судья задает вопросы только ему. Можно было сделать и два, но мне показалось, что будет сложно их синхронизировать.
- Если участник решил быть игроком, то бот аналогично ищет ему в пару участника-судью.
- Так же, как в фильме, игра поделена на туры по 5 вопросов. По окончанию каждого тура судья принимает решение, с кем он общается, с человеком или с машиной. Если он не может определиться, то может прекратить игру или начать новую.
- Видео участников нет, конечно. Техника, может, и дошла до этого, но я нет.
- Так как робот у меня простенький, глупенький, то он играет роль маленького мальчика Миши пяти лет. Чтобы судье не облегчать задачу, человеку-игроку рекомендуется тоже отвечать от имени Миши, проявите воображение.
Ссылка на бота @StandardTuringTestBot, в мобильном приложении нужно набрать это имя в строке поиска.
О том, как это устроено, для чистоты эксперимента я расскажу позже, иначе знание внутренностей бота сразу дадут понимание, какими вопросами можно определить, кто за стеной.
Автор: sshmakov