How Does the Web Genie Work?

How Does the Web Genie Work?

How Does the Web Genie Work?

Play this game - Akinator Web Genie. Basically, you pick a "character" and then the Web Genie asks you some questions. What kind of questions? Here are some examples:

  • Is your character a female?
  • Is your character real?
  • Is your character living?
  • Is your character famous because of sports?

For each question, you have 5 answers to chose from:

  • Yes.
  • No.
  • I don't know.
  • Probably.
  • Probably not.

After a certain number of questions, the Genie will guess your character. Everyone is surprised that it is often correct.

I sat down with my brother and sister (and some assorted children) and we had a blast. Someone would pick a character (and not tell anyone else the answer). Another person would hold a tablet or phone and read the Genie's questions out loud while entering the responses. When the Genie guesses the character, you can just turn the tablet around and show the picture of the character.

Our first characters were obvious people. Ironman, Gandalf, Drew Brees. But if those were easy for the Web Genie, we should try something harder. The Genie correctly guessed the characters: Jed Porkins (from Star Wars), Vizzini (from Princess Bride) and Vito Cornelius (from the Fifth Element). Yes, most of our characters were from geeky movies because we are geeks.

But how does it work? ———————

I don't know. Really, I am just going to guess - that's the fun part. There might be an explanation somewhere online, but I chose to NOT search for it.

Here is my guess. I suspect that the Akinator has a large data base of many different "characters". For each character, you can have several variables. Let's just pick someone. How about Kari Byron (from the MythBusters)? Here a list of possible variables. Each variable can have a value of 2 (yes), 0 (I don't know or doesn't apply) or 1 (no). I have given each variable a letter - so I can reference it below.

  • Real (r): 2
  • Female (f): 2
  • Alive (a): 2
  • Famous from sports (s): 1
  • Walks on 4 legs (l): 1
  • Wears a belt (b): 0

You get the idea. I could probably come up with 20 different things that describe Kari. Ok, but the Genie doesn't know what questions to ask. That's not a big problem. Suppose that the Genie asks the above 6 questions. Then there are 6 variables that it probably knows the answer for. Here I am ignoring the answers "probably" and "probably not". Perhaps if those answers are given, the Genie just ignores that question. For these 6 questions, there are 6 different variables. How many unique characters could that describe? I could write any particular character as:

Screenshot 6 17 13 7 28 pm

For the example of Kari, this would be 222110. These are just like numerical digits except there are only 3 numbers (0,1,2) instead of 10. How many unique numbers could I represent? With 1 variable, I could have 3 different characters. With 2 variables, I could have: 00,01,02,10,11,12,20,21,22 or 32. For 6 variables, this would be 36 = 729. In general, I have:

Screenshot 6 17 13 7 34 pm

If the Web Genie ask 10 questions and you give 10 responses, that would be one option out of 59,049 options. So, you can see that it is a pretty unique set of answers. If you get up to 30 questions, that would be one combination out of 2 x 1014 possible combinations. I wouldn't think there are that many possible unique characters that you could pick from.

How would you make your own genie? ———————————-

I think you could start by writing down some famous characters. For each character, pick as many variables (that are associated with a question) and give the answer. Add these characters to a database. Now, ask a question - like "is your character from Star Wars?". If the answer is "yes" then eliminate all the characters with a Star Wars variable of 0 or 1. Keep going with questions until you are down to one or two characters and then guess.

Actually, this could be fun to do with your friends. Write down all the people you know and make up variables form them - like "blonde har?" or "over 20 years old?" and so on. Then you can play your own version of Akinator.

It's not magic, but it sure is fun.