6 ms·
Ask HN: What's that Game that predicts your choices?
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!
- ignoranceprior 6y agoI believe it's called the "Aaronson Oracle". There are at least a couple implementations: https://roadtolarissa.com/oracle/ https://roadtolarissa.com/oracle/ https://people.ischool.berkeley.edu/~nick/aaronson-oracle/index.html https://people.ischool.berkeley.edu/~nick/aaronson-oracle/in...
- daenz 6y agoWhat is the implication of being able to get less than 50% on aaronson Oracle key press game?
- warent 6y agoProbably 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"
- daenz 6y agoI am doing it "randomly" and maybe 5 presses per second...definitely not thinking. The lowest I have sustained is 43%
- Skunkleton 6y agoYou are ready for the next level: misleading recaptcha.
- wodenokoto 6y agoHow 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!”
- eloeffler 6y agoExactly what I meant. Thanks!
- rgovostes 6y agoNot 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 http://www.20q.net
- johnchristopher 6y agoEh. I typed the code for this from a GW-BASIC book as a child. Nice memories.
- BeetleB 6y agoYou wrote a neural network in GW-BASIC that learned?
- johnchristopher 6y agoNo, 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 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 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% 1100 DATA "4","\QDOES IT SWIM\Y2\N3\","\AFISH","\ABIRD" 1300 INPUT "ARE YOU THINKING OF AN ANIMAL";Z9$ :GOTO 1350 IF LEFT(Z9$,1%)="Y" :GOTO 4000 IF LEFT(Z9$,1%)="N" 1310 IF Z9$="SAVE" THEN OPEN "ANIMAL.GME" FOR OUTPUT AS FILE 1% :PRINT #1%,A$(I%) FOR I%=0% TO VAL(A$(0%)) :PRINT #1,CHR$(26%) :CLOSE 1% :GOTO 1300 1320 IF Z9$="LIST" THEN PRINT "ANIMALS I ALREADY KNOW ARE:" :PRINT RIGHT(A$(I%),3%), IF INSTR(1%,A$(I%),"\A") FOR I%=1% TO 200% :PRINT :GOTO 1300 1330 &"PLEASE RESPOND 'YES', 'NO', 'SAVE', OR 'LIST'":GOTO1300 1350 K%=1% 1400 K%=FNA%(A$(K%)) :GOTO 3000 IF LEN(A$(K%))=0% :GOTO 1400 IF LEFT(A$(K%),2%)="\Q" :PRINT "IS IT A "RIGHT(A$(K%),3%); :INPUT Z7$ :Z7$=LEFT(Z7$,1%) 1450 IF Z7$="Y" THEN PRINT "WHY NOT TRY ANOTHER ANIMAL" :GOTO 1300 2000 INPUT "THE ANIMAL YOU WERE THINKING OF WAS A ";Z9$ 2050 PRINT "PLEASE TYPE IN A QUESTION THAT WOULD DISTINGUISH A " Z9$ " FROM A "RIGHT(A$(K%),3%) :INPUT Z8$ 2100 PRINT "FOR A "Z9$" THE ANSWER WOULD BE"; :INPUT Z7$ :Z7$=LEFT(Z7$,1%) :IF Z7$="Y" THEN Z6$="N" ELSE IF Z7$="N" THEN Z6$="Y" ELSE PRINT "PLEASE ANSWER 'YES' OR 'NO'" :GOTO 2100 2200 Z1%=VAL(A$(0%)) :A$(0%)=NUM$(Z1%+2%) :A$(Z1%)=A$(K%) :A$(Z1%+1%)='\A'+Z9$ :A$(K%)="\Q"+Z8$+"\"+Z7$+NUM$(Z1%+1%)+"\"+Z6$+NUM$(Z1%)+"\" 2300 GOTO 1300 3000 DEF FNA%(Q$) :PRINT MID(Q$,3%,INSTR(3%,Q$,"\")-3%); :INPUT Z9$ :Z9$=LEFT(Z9$,1%) :Z9$="N" IF Z9$<>"Y" :Z1%=INSTR(3%,Q$,"\"+Z9$)+2% :Z2%=INSTR(Z1%,Q$,"\") :FNA%=VAL(MID(Q$,Z1%,Z2%-Z1%)) :FNEND 4000 &:&"O.K. SEE YOU LATER. HOPE YOU HAD FUN PLAYING!!":&:& 9999 END
- Majestic121 6y agoNot exactly what you're looking for, but something similar and quite bluffing regarding choice prediction : https://en.akinator.com/game https://en.akinator.com/game
- SommaRaikkonen 6y agoBoth 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!
- Toutouxc 6y agoI 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.
- ydnaclementine 6y agoI tried akinator with chap stick (on my desk), it got it after 50 questions. I think it's much better with people than objects.
- arc0 6y agoIt 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.
- thatguy0900 6y agoIt used to almost always know at 20 questions, not it feels like it goes to at least 25 even when it knows the answer
- BoiledCabbage 6y ago
- petters 6y agoI made my own some time ago: https://www.strandmark.net/prediction.html 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.
- eloeffler 6y agoThanks! I like you approach of Human v.s. Computer score more than the "computer guessed ...% right" approach :)
- taimoor202122 6y agoI tried to solve the question but got only 47%
- kqr 6y agoKind 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!
- probinso 6y agoStanley's parable
- DoctorOetker 6y agoThe 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 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 http://neilsloane.com/doc/shannon.html