Friday, January 06, 2017

AKINATOR

AKINATOR

Have you heard of Akinator, the Web Genie? I had not, till my friend Balachandran put up a post on it and it came to my notice. It is an online game which those familiar with the ‘Reverse quiz’ that Kairali TV had aired under the title Ashwamedham would easily relate to.
You think of a prominent person or celebrity – even fictional. Akinator will ask you up to twenty simple questions about your character which you have to answer ‘to the best of your knowledge’. It is not difficult because the questions are simple and there are five options – Yes, No, Don’t know, Probably and Probably Not – to choose from. Akinator will nearly always guess the exact person you have in mind. During the process, you can see the mood of the genie change – deep in thought, biting his nail, tearing his hair and smiling when he is zeroing in on your choice.
I played the game three times – Kanimozhi, Shashi Tharoor and Dulqar Rahman were my picks – and each time Akinator was on the dot. I could not beat Akinator. What's more, in the case of Tharoor, he did not take even a dozen questions, while in the others, the game was up after 16 questions.
Would you like to try? Simply go to Akinator.com and enter your age. You don’t have to download anything. It does not ask for personal details, your email ID, mobile number or internet banking password. You’ll be surprised at his near-accuracy.
It is, of course, possible to think of someone whom Akinator cannot guess in spite of twenty questions. In such rare instances, it asks you more questions. When, even after a lengthy series of further questions, Akinator does not know who you are thinking of, it asks you to upload your character's photo and name.
I did beat Akinator, though, by thinking of the transwoman Kalki Subramaniam, activist, author and actor whom I heard at the Soorya Talk Festival last year. She is the founder of the Sahodari Foundation and holds two Master’s degrees. After twenty questions, he answered ‘Sugathakumari’, which was wrong. Part of the blame goes to me: my answers to many of the questions were not a clear ‘Yes’ or ‘No’.
I went on. When we reached the thirtieth question, he said ‘Arundhati Roy’. Wrong again! The genie wrung his hands in despair. He came up with ‘Shalu Menon’ on the fiftieth. Around the 70th question, Akinator gave up. I was asked to furnish the name of the person I had chosen. I typed in the name. Then it came up with a list and asked me if my character was listed there in another name. I scanned the list: Kalki, Kalki Krishnamurthy, Kalki Kochlin, L Subramaniam, Kalki (Third Gender), Kalki Bhagawan, Dr Padma Subramaaniam, … the list was long. I agreed that my person was the same as Kalki (Third Gender).
***
What caught my fancy was how this impressive online time-killer works. How is it possible that Akinator can guess seemingly any person accurately by simply asking up to 20 basic questions (and often far fewer)?
According to the site's FAQ section, 'Akinator uses the program Limule published by Elokence.com. The algorithm we use is an original creation. How we created it is our little secret.' There doesn't appear to be much more information available about just how the program uses Limule to make the program work so effectively.
But there are some other clues about how Akinator works. In the rare instances when the program doesn't know who you're thinking of after a lengthy series of further questions, it asks you to upload your character's photo and name in order to add it to its what appears to be an extensive database. This provides more insight into the way Akinator works, suggesting that it has compiled an ever-evolving, massive log of characters that people have wanted it to guess, along with the answers they used for describing the characters before uploading them.
That way, the next time someone thinks of the obscure 1970's Tamil film actor you used for stumping Akinator, it will likely be able to get the answer right. In that sense, Akinator is a novel way of using Artificial Intelligence and a secret program combined with the wonders of crowd-sourcing to create a fun and shockingly accurate game.
The specific algorithm the Akinator uses to decide between questions could probably be one of a number of things, but in any case the goal is definitely to divide the set of possibilities as close to in half as possible (assuming only Yes/No answers - not Don't Know, Probably Yes and Probably Not) with each question.
My hypothesis about the program that drives the game is that Akinator (or any game of Yes/No answers to questions), is a binary search or similar to a decision tree. In the ideal case, you'd always be able to rule out half the remaining answers with every question, and in 20 questions, you'd be able to narrow it down to one from over a million possibilities. To be exact, 2^20 = 1,048,576 possibilities can be examined in 20 questions.
I will explain this by an oversimplified example. Suppose a club has 64 members and you are trying to guess the name of the member I have in my mind. You ask me: Man or woman? From my answer, you can theoretically rule our 32 members. You ask me: Above 50 years of age? The answer will filter 16 of them. The answer to the next question (Say, self-employed?) will reduce the choice to 8. And so on. Thus, six questions should theoretically be enough to spot the guy I am thinking of.
Before I transgress into higher realms of Mathematics, I withdraw.


No comments: