Как работает 20 алгоритмов AI?

Простые онлайн-игры из 20 вопросов, основанные на искусно точном ИИ.

Как они так хорошо догадываются?

Ответ 1

Вы можете думать об этом как о бинарном алгоритме поиска. На каждой итерации мы задаем вопрос, который должен устранить примерно половину возможных вариантов слова. Если в общей сложности N слов, то мы можем ожидать получить ответ после вопросов log2 (N).

С 20 вопросами мы должны оптимально найти слово среди 2 ^ 20 = 1 млн. слов.

Один простой способ устранить выбросы (неправильные ответы) состоял бы в том, чтобы, вероятно, использовать что-то вроде RANSAC. Это означало бы, что вместо того, чтобы учитывать все вопросы, на которые был дан ответ, вы произвольно выбираете меньшее подмножество, которое достаточно, чтобы дать вам один ответ. Теперь вы повторяете это несколько раз с различным случайным подмножеством вопросов, пока не увидите, что большую часть времени вы получаете тот же результат. вы знаете, что у вас есть правильный ответ.

Конечно, это всего лишь один из способов решения этой проблемы.

Ответ 2

Я рекомендую прочитать об игре здесь: http://en.wikipedia.org/wiki/Twenty_Questions

В частности раздел "Компьютеры":

Игра подсказывает, что информация (как измерено энтропией Шеннона статистики), необходимые для идентификации произвольный объект составляет около 20 бит. игра часто используется в качестве примера, когда обучение людей информации теория. Математически, если каждый вопрос структурирован для устранения половина объектов, 20 вопросов будут разрешить исследователю различать между 2 20 или 1 048 576 предметов. Соответственно, наиболее эффективные стратегии для 20 вопросов задавать вопросы, которые область оставшихся возможностей примерно пополам каждый раз. Процесс аналогично двоичному поиску алгоритм в информатике.

Ответ 3

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

Дерево решений - это двоичное дерево, которое задает "лучший" вопрос в каждой ветке, чтобы различать коллекции, представленные его левыми и правыми дочерними элементами. Лучший вопрос определяется некоторым алгоритмом обучения, который создатели 20-ти вопросов используют для построения дерева. Затем, как указывают другие плакаты, древо 20 уровней глубины дает вам миллион вещей.

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

Википедия дает более полный пример:

http://en.wikipedia.org/wiki/Decision_tree_learning

И некоторый общий фон:

http://en.wikipedia.org/wiki/Decision_tree

Ответ 4

Он считает себя "нейронной сетью в Интернете", и в этом ключ. Вероятно, это сохраняет вероятность вопроса/ответа в запасной матрице. Используя эти вероятности, он может использовать алгоритм дерева решений, чтобы вывести вопрос, который лучше всего сузил бы следующий вопрос. Как только он сужает число возможных ответов на несколько десятков, или если он уже достиг 20 вопросов, то он начинает считать наиболее вероятным.

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

Изменить: Оказывается, ответ был в сети все это время. Робин Бургенер, изобретатель, подробно описал свой алгоритм в своей патентной документации 2005 года.