Ask HN: What's that Game that predicts your choices?

48 points by eloeffler ↗ HN
I remember finding a kind of game on HN in which the player could press either the right or the left arrow button on the keyboard and the application would learn to predict the next move quite quickly.

Does anyone remember it's name, or better even, a URL?

Thanks!

50 comments

[ 3.0 ms ] story [ 111 ms ] thread
I believe it's called the "Aaronson Oracle". There are at least a couple implementations:

https://roadtolarissa.com/oracle/

https://people.ischool.berkeley.edu/~nick/aaronson-oracle/in...

What is the implication of being able to get less than 50% on aaronson Oracle key press game?
Probably that you're putting effort / brain power into it. I'd be surprised if you could do that without thinking, just letting your fingers move "randomly"
I am doing it "randomly" and maybe 5 presses per second...definitely not thinking. The lowest I have sustained is 43%
You are ready for the next level: misleading recaptcha.
How to do that is explained in the first link.

On the implications they note “Doing the opposite of what a computer tells you isn’t quite free will though!”

Not what OP is looking for (which has been answered), but 20Q is uncannily good at figuring out what you are thinking about.

As a bonus, it still has a fantastic mid-2000s web design. "The neural-net on the internet!"

http://www.20q.net

Eh. I typed the code for this from a GW-BASIC book as a child. Nice memories.
You wrote a neural network in GW-BASIC that learned?
No, I copied the code from a magazine as a kid, I literally read the code, line by line, and typed it on my computer. It was maybe 100 or 200 lines of code of BASIC.

The game only took YES and NO as an answer (starting with `is it a living thing` I think). Then, if you had already played the game, it would read the next questions from a flat file that corresponds to your latest answer and moved on to narrow down the answer (or rather the last question in the tree).

If it ran out of questions to ask for (the last question in the tree has no answer or no next question) it would give up and ask for what you had in mind and the question that would differentiate what you had in mind from the latest possibility.

Then at the next play, you would find the same question if you went along the same path and now it would know what you were thinking about.

I don't know if q20 is better than that. It just reminded me of that game.

edit: see here https://www.atarimagazines.com/v4n12/Animal.html

   The game's intelligence is rooted in a tree-like knowledge structure. Each point where the tree has "branches" (or nodes) consists of three bits of information-a question to ask, a YES branch, and a NO branch. The terminations (tips) of the branches consist of a single bit of information-in this case, an animal.
   During play, the program branches through the tree from the bottom to the top, stopping at each node to ask a question and branching according to the user's response. When it reaches a termination, its guess is the animal it finds there.
   When the computer guesses incorrectly, the tree "grows" by creating a new node at the termination. Remember that a node is formed of a question, a YES branch, and a NO branch. To create the new node, the program uses the question you provide. It then places the new animal you have given it at the termination of the YES branch. The animal that was at the old termination gets pushed up the NO branch. Thus, what was previously a single termination becomes a node with two terminations, and the tree grows a little taller.
   To get Animal Intelligence to work properly in BASIC, a language which lacks list processing ability, I had to divide the knowledge base into three parts. The first and second are simulated string arrays-AX$ holds the animals, and QX$ holds the questions. The third part, TREE$, is the knowledge tree.
   Though it is an ordinary string, TREE$ functions as a matrix of pointers. Every three bytes comprise a node or termination. The first byte of a node is a pointer to a question held in QX$. The second and third bytes point to the YES branch and NO branch respectively The first byte of a termination is a pointer to an animal held in AX$, while the second and third bytes are just dummies at the start. Later they will be used as pointers when the termination grows into a node.
   Animal Intelligence isn't limited to animals, however. With some simple modifications, I've created knowledge bases of plants, rocks and minerals, even famous people. Kids seem to especially enjoy the program. And as an educator, I can attest to its value as a tool for learning.
Here's the source code for one variant https://www.animalgame.com/play/misc/source.php:

    100 &"PLAY 'GUESS THE ANIMAL' WITH RSTS
    150 &"THINK OF AN ANIMAL AND THE COMPUTER WILL TRY TO GUESS IT...":&
    500 DIM A$(200)
    525 F$="ANIMAL.GME"
     :ON ERROR GOTO 700
    550 OPEN F$ FOR INPUT AS FILE 1%
     :INPUT #1%,N%
     :INPUT #1,A$(I%) FOR I%=1%TO N%
     :CLOSE 1%
     :A$(0%)=NUM$(N%)
     :ON ERROR GOTO 0
     :GOTO 1300
    700 ON ERROR GOTO 1050
     :F$="$"+F$
     :RESUME 550
    1050 READ A$(I%) FOR I%=0% TO 3%
    1...
It's certainly better than what one would expect from a magazine, but I strongly suspect 20q does/did more in terms of training. In its heyday it was uncannily good. I'd say it'd guess my object 80% of the times in 20 questions and 90% of the time within 30 questions. The weights would update if different people gave different answers for the same object, etc.

In its current incarnation, it is fairly poor as I mentioned in another comment. It couldn't even come close to guessing a screwdriver, for example.

My guess is that the training data is being poisoned by people of "low intelligence". I tried it with refrigerator and it couldn't guess. At the end, in the list of contradictions it showed the following:

> Does it usually have four corners? You said No, 20Q was taught by other players that the answer is Yes.

Now, considering a fridge has four corners at the top and four at the bottom that does suggest that a lot of people answering the questions are lacking somewhat in the intelligence department. Either that or they are just completely forgetting that a fridge has an underneath (or a back) as well. (I'll leave it to the reader to decide whether forgetting a refrigerator has a back as well as a front constitutes a lack of intelligence.)

You read that question very literally.

Fridges are often embedded in walls, from our vantage point they have four corners. Yes, technically they have 8 corners, but so too does a door.

“Does it have four corners?” is more of an abstraction from the human viewpoint.

You were thinking of fairy lights. You said it's classified as Mineral, 20Q was taught by other players that the answer is Other.

> Other Something neither animal, vegetable or mineral Examples: love, the colour blue.

side note: I like to use 20Q as a way to combat over use of ML. Whenever its suggested for a feature/product its wise to ask: would 20Q solve it faster?

The idea being that some very basic algorithms beat out ML if its not an ML problem.

Isn't 20Q machine learning though? It says it's a neural network that learns from players.
I used to love showing this to people in the early/mid 2000's. It was really good. But then at some point it's accuracy dropped significantly (it would guess my object less than a third of the time). And their design changed for the worse. I suspect that either someone bought them out, or people messed up the training in the NN, or both.

As an example, once it felt it was close enough to the answer, would show you the list of candidate answers with weights at the bottom of each question. That was fun to see how it would get closer or further to my object with the answers I provided. They stopped showing that a long time ago.

My favorite question it asks: Does it weight more than a duck?

Fuck, that's surreal. A bunch of totally rando questions on 16 it suddenly asked right out of nowhere whether it was a black widow spider. Very close.

So I said no, 3 questions on, total of 19, it nailed it with tarantula. That's just eerie given the total apparent irrelevance of the questions. Unsettling.

  Q20.  I am guessing that it is a tarantula?
  Right, Wrong, Close
  19.    Is it hard? No.
  18.    Is it bad for your health? No.
  17.    I guessed that it was a black widow spider? Wrong.
  16.    Would you find it on a farm? No.
  15.    Can it climb? Yes.
  14.    Does it go inside other things? No.
  13.    Do you catch it? No.
  12.    Can it make a sound? No.
  11.    Is it found in a bathroom? No.
  10.    Is it larger than a pound of butter? No.
  9.    Can you order it at a restaurant? No.
  8.    Does it live in the forest? Probably.
  7.    Is it a type of cat? No.
  6.    Is it an absolute state? No.
  5.    Would you give it as a gift? No.
  4.    Is it a type of dog? No.
  3.    Is it a vegetarian? No.
  2.    Can you hold it? Yes. 
  1.    It is classified as Animal.
Questions 1-5 establish immediately that it's a small, carnivorous, unpleasant animal; you go on to establish that it's inedible, forest dwelling, palm-sized, and can climb. Some sort of spider is an obvious guess. There are other possible answers (tree frog, perhaps?) but spiders rank very highly in human psychology. Your main lesson here should be that you are not as original as you think you are!
Tarantula was indeed picked as an 'easy' start as I've played this before with people.

So I guess you're right, though it's not the way a human would do it, we'd home in faster and more precisely, but still.

As you say, it kind of partitioned off the search space pretty efficiently in its own strange manner.

It had a surprisingly hard time with grandfather clock. Although the fact that my clock is white, so I had to say they can sometimes be white, probably led it down the wrong path.

It gave up eventually but then the first in the list of extra guesses was correct.

It couldn't guess a refrigerator either. Apparently most people think they have four corners, which is a bit bizarre. It's pretty obvious they have eight.
For what it’s worth, I thought you were wrong and that they have only four. Took me a solid 10 seconds to realize how dumb I was.
That's pretty funny. We all have those "dumb" moments I reckon.
I don't know what kind of fridge you have, but I count at least 24 corners on the outside alone.
The text suggests that if you play it again, it will correct the errors.
Yeah, but you'd probably have to play it quite a lot to override all the people who have already "poisoned the well".
My first few play-throughs were a little disappointing; it got them eventually, but not until 30 questions or so (water bottle, headphones), but this one astonished me:

  Q19. I am guessing that it is a woodstove?
  RIGHT
  18.  Is it soft? No.
  17.  Does it come from trees? No.
  16.  Can you put something into it? Yes.
  15.  Can it bend without breaking? No.
  14.  Is it colorful? No.
  13.  Does it have four legs? Sometimes.
  12.  Does it have legs? Sometimes.
  11.  Does it weigh more than a duck? Yes.
  10.  Is it used for entertainment? No.
  9.   Does it use electricity? No.
  8.   Can you buy it? Yes.
  7.   Can it be placed on your head? No.
  6.   Does it come from space? No. 
  5.   Does it come in a box? No.
  4.   Is it pleasurable? Probably.
  3.   Does it get wet? No.
  2.   Do you hold it when you use it? No.
  1.   It is classified as Concept.
I read this top to bottom at first and was amazed that it could guess something so abstract as the notion of a concept.
(comment deleted)
Hahah! I remember playing that in school but forgot about it. Thanks!
About 15 years ago a friend of mine had a toy, like a physical box with a yes and a no button, that would do this with very impressive accuracy. I don’t remember exactly what we asked it but I recall it getting some super obscure stuff.
Not exactly what you're looking for, but something similar and quite bluffing regarding choice prediction : https://en.akinator.com/game
Both 20q and Akinator failed to get what I was thinking of in under 20 questions: A fuel cap.

Now that I mention this and others are trying it, maybe the result will be better though!

I tried akinator with chap stick (on my desk), it got it after 50 questions. I think it's much better with people than objects.
It seems to have become quite bad with people too. I think it's been overloaded and has too many things to consider now. I tried to get it to guess George VI, and despite telling it he was dead for over 20 years it asked me if he had over 100,000 subscribers or had 'collaborated with Shawn Mendes', this was within the first 15 questions.
It used to almost always know at 20 questions, not it feels like it goes to at least 25 even when it knows the answer
Akinator specifically says to pick a fictional or non-fictional character. I don't think a fuel cap meets the criteria.
I was thinking of a shower head, but 20q disagreed with me on whether it comes in a box and some other minor stuff. So yeah, not very impressive. Akinator, on the other hand, knew my uni algorithms teacher.
I tried "flying shuttle" and Akinator completely flubbed it. For characters, "Thomas Cranmer" also really mystified it.

Some of the questions I'm staring at trying to figure out what the answer it expects is. "Is your character British?" is hard to answer for Thomas Cranmer, since while he is English, he lived at before the Scottish king inherited the English throne, let alone the Act of Union that created Great Britain. Or for the flying shuttle, "does it move?" left me with a response of "what do you mean by 'move'?"

I made my own some time ago: https://www.strandmark.net/prediction.html

On that page, I seem to mention that the original was "The Mindreader Applet." Don't know if that's true, but since it is/was an Applet, at least it isn't recent.

Thanks! I like you approach of Human v.s. Computer score more than the "computer guessed ...% right" approach :)
Kind of tongue in cheek and not at all what you're asking for but if you want a more complicated multiplayer version of this, try poker!
The first time I was exposed to such a program it was an AWK or gawk program, I think it was called "mind reader" or "mindreader" but I am unsure of it since I am unable to find it now.

EDIT: Ah here it is! The original was apparently by Shannon himself! https://literateprograms.org/mind_reading_machine__awk_.html

EDIT 2: apparently even older as he references Von Neumann, Morgenstern and even Edgar Allen Poe

no clue why its getting called Aaronsons Oracle...

I am unable to locate the memo for download but it appears to be collected in this book: http://neilsloane.com/doc/shannon.html