Friday, 1 June 2012

Akinator - nothing new under the sun

A few months ago my daughter Ellen showed me a game called Akinator on her iPad where you think of a celebrity and the game tries to guess who it is by asking a series of questions. It is amazingly accurate. You can try it here.

I don't know exactly how this program works but I will bet that if you were to examine the code you would find some similarities to the program "Animal" which I mentioned in my last post. That program appeared in a book which was published in 1973!

In Animal the program tried to guess an animal based on a series of yes/no questions. If it fails then it asks you for two pieces of information:
  • What animal you were thinking of
  • A new question which would differentiate between the animal it guessed and the animal you were thinking of

In this way it "expands its knowledge" (i.e. it constructs a binary tree containing a series of questions with an animal name as the final node at the end of each path).

Now a lot of time has passed since 1973 and the Akinator program appears to be more sophisticated in a number of ways:
  • You can respond to each question with one of five options: yes, probably partially, I don't know, probably not really, and no
  • If you make a mistake, it may still get the right answer (it can sometimes cope with contradictions in your answers)
  • If it gets the answer wrong, you can get it try again and it will try a different path
At the end of the day, I'd say that it is not all that different from the program that was published back in 73.

But because its database it so extensive, it is still very impressive.