вопрос о 20 вопросах игра была задана here:Есть ли алгоритм поиска элемента, который соответствует определенным свойствам, например, 20 вопросов игры?
Однако, если я понять его правильно, ответы, кажется, предполагают, что каждый вопрос будет идти вниз иерархическое ветвящееся дерево. Бинарное дерево должно работать, если игра прошла следующим образом:
- Является ли это животным? Да.
- Это млекопитающее? Да.
- Это кошка? Да.
Потому что кошка - пример млекопитающего, а млекопитающее - пример животного. Но что, если вопросы будут такими?
- Это млекопитающее? Да.
- Это хищник? Да.
- Есть ли у него длинный нос? №
Вы не можете разветвлять дерево с такими вопросами, потому что есть много хищников, которые не являются млекопитающими. Таким образом, вы не можете заставить свою программу просто сузить ее до млекопитающего, а хищники - подмножество млекопитающих.
Итак, есть ли способ использовать двоичное дерево поиска, которое я не понимаю, или существует другой алгоритм для этой проблемы?
Чтобы уточнить, я использую только 20 вопросов в качестве примера, поэтому мой вопрос касается такой проблемы поиска в целом, а не других проблем, связанных конкретно с 20-матчевой игрой.
Это еще более сложно, когда вы должны принять тот факт, что люди отвечают последовательно неправильно, если, например, многие люди считают, что дельфины - это рыба ... Вот почему вам нужен еще один взаимосвязанный подход, например, ANN или другое машинное обучение. –
Спасибо, но я просто использую 20 вопросов в качестве примера ситуации, когда вам нужно найти, какой объект соответствует набору свойств. Поэтому, ради этого вопроса, я был бы счастлив предположить, что вы всегда получите правильный ответ. Я отредактировал свой вопрос, чтобы попытаться сделать это более ясным. – lala