It always amazed me how the Akinator app could guess a character by asking just several questions. So I wonder what kind of algorithm or method let it do that? Is there a name for that class of algorithms and where can I read more about them?
Akinator's goal is to guess a real or fictional characters. To guess the character the player is thinking, Akinator asks a series of questions and the player can answer with 'Yes',' Don't know', 'No', 'Probably 'and 'Probably' not , then the program determines the best question.
The genius Akinator uses artificial intelligence to guess the actor, singer, fictional character, celebrity, etc. you have in mind. During gameplay, Akinator attempts to determine real-life or fictional characters in the mind of the player by asking several questions in the game.
The decision tree splits the nodes on all available variables and then selects the split which results in most homogeneous sub-nodes. The ID3 algorithm builds decision trees using a top-down greedy search approach through the space of possible branches with no backtracking.
An Akinator does not and cannot "guess" everything right. In the end, Akinator cannot ultimately “guess” right unless some human [or connected database that the Akinator can look-up from or deduce from] somewhere at some point has input the right answer to begin with.
Yes, there is a name for these class of algorithms - it is called classification algorithms in the field of machine learning. Decision trees is one example for classification algorithm.
In this classification problem, the features for the algorithm are the answers to the question.
Deciding which question should be asked next can be done in various ways - for example by trying to maximize the predicted (or mean) entropy from the next question.
This game is sometimes known as 20 Questions. There are some questions on SO on it, e.g.:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With