Мне интересно написать алгоритм двадцать вопросов , аналогичный акинатору и, в меньшей степени 20q.net использует. Последний, кажется, больше фокусируется на объектах, явно говоря вам не думать о людях или местах. Можно сказать, что акинатор является более общим, позволяющим думать буквально обо всем, включая абстракции, такие как «мой брат».
Проблема в том, что я не знаю, какой алгоритм используют эти сайты, но из того, что я читал, кажется, что они используют вероятностный подход, в котором вопросы получают определенную пригодность, основанную на том, сколько раз они приводили к правильным предположениям. Этот вопрос SO представляет несколько методов, но довольно расплывчато, и мне было бы интересно узнать более подробную информацию.
Итак, какой может быть точный и эффективный алгоритм для ответа на двадцать вопросов?
Меня интересуют подробности относительно:
Я понимаю, что это может быть нелегко, и я не прошу код или представление 2000 слов. Для начала мне достаточно всего нескольких предложений о каждой операции и базовых структурах данных.