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

Добавление в эту тему для Ubuntu 18.04:

  1. Загрузите libgcrypt11 по предоставленной ссылке:

    https://launchpad.net/ubuntu/+ архив / основной / + файлы / libgcrypt11_1.5.3-2ubuntu4.2_amd64.deb

  2. Теперь установите его с помощью команды:

    sudo dpkg -i libgcrypt11_1.5.3-2ubuntu4.2_amd64.deb
    
  3. Теперь нам нужно установить еще одну зависимость, libcurl3. Запустите команду:

    sudo apt install libcurl3
    
  4. Теперь продолжите установку StarUML:

    sudo dpkg -i StarUML-v2.8.1-64-bit.deb
    

    Обратите внимание, что имя файла будет меняться в зависимости от версии StarUML. [ +1115]

Вот и все. Сработал как шарм для меня.

99
задан Jon Seigel 22 May 2010 в 22:33
поделиться

5 ответов

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

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

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

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

54
ответ дан 24 November 2019 в 05:06
поделиться

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

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

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

23
ответ дан 24 November 2019 в 05:06
поделиться

Он использует алгоритм обучения.

k-NN является хорошим примером одного из них.

Википедия: алгоритм k-ближайшего соседа

6
ответ дан 24 November 2019 в 05:06
поделиться

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

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

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

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

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

И некоторые общие сведения:

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

24
ответ дан 24 November 2019 в 05:06
поделиться

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

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

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

11
ответ дан 24 November 2019 в 05:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: