Here is a version in HTML/JavaScript.
The style could use some improvement.
And I still think it would be nice to have a version that does not depend on client scripting. I could do it easily in asp.Net, but if anyone wants to do it Python, that would probably be more compatible with the existing server scripting. (Edit: darius has provided a Python implementation.)
Also, does anyone know of a better file hosting site? I apologize for the captcha needed to download.
A quick-and-dirty server-based webification (no Javascript): http://wry.me:7002/ with source code at http://github.com/darius/wason/ (only lightly tested).
Nice! Is this a recruitment tool like the Scientology personality test? I guess it worked 'cause I just created an account :)
So, now that I've joined the cult - what's the major deity worshiped in these parts? I hear a lot about this Omega guy, maybe that's it. I also understand that salvation has something to do with lots and lots of liquid nitrogen. Oh, and some really cool robots!
Slightly more seriously, I think delivering this Wason test in a handy computer program which you can take with no-one watching you may increase the success rate. I could quick...
I just skimmed the results from it running the last few days at http://wry.me:7002/ -- it ran through to the end 49 times: 21 times the player got the right rule with no errors, 10 times they apparently got it right but with some errors, and 18 times they got it wrong. Of course I don't know who was playing or what they may have read just before.
I wonder if I'm the only person here so biased, but when you wrote that you used c++ my instant and curiously strong reaction was: why would you use c++ on something like that? that's obviously a python (or similar language) type project.
i'm working on forgiving you.
I got the wrong rule, but it said I was right because I made only one mistake. I thought the rule was that a sequence was awesome if it was an increasing arithmetic progression. The only one of your examples at the end that contradicted this was 2, 9, 15. All the other awesome ones were, in fact, increasing arithmetic progressions: five out of the six awesome sequences you gave at the end. You should probably cut that down to two or three, so I'd have lost.
This reminded me of another experiment:
The subject is left alone in front of a machine with a number of dials, buttons and levers. The subject can interact with the machine however he wants. Sometimes, a piece of candy comes out of the machine. The experimenter comes back in after a while, and asks the subject how to interact with the machine for a piece of candy to come out. Most subjects will have discovered a sequence of actions that will lead to this result. However, the simplest correct answer is that the machine hands out a piece of candy every ...
Program could use some protection against invalid input, along the lines of
if(!(cin >> n1 >> n2 >> n3)) { ndone=false; }
and if you really wanted to get fancy you could throw in an error message when it occurs
it's not nice to have a program that goes into an infinite loop if you give it a letter instead of a number
I think the game primes you to make the bias through the example:
I'll tell you for free that 2 4 6 is an awesome triplet.
So the results may be significantly skewed
If the experimental subjects aren't taking their task seriously the results are unsurprising. I would think more of this experiment if it has been repeated with financial incentives for getting the answer right. Its also quite possible that people would do better if the task were less abstract... the type of problem solving they might do in real life.
It seems a reference to http://en.wikipedia.org/wiki/Confirmation_bias is in order here.
I tried the macintosh executable. Double-clicking did nothing except bring the Terminal application to the front. I attempted to execute it from Terminal and was told I didn't have execute privileges. I added the execute privilege, attempted to execute again, and got a segmentation fault.
4 out of 5 people fail this? Seriously? I'm having a really hard time believing that, I'm going to have to administer this test to people.
Visual Studio 2005 reports stack corruption after it exits, btw.
A web-based front end would be easy enough if written using an appropriate language and framework--something simple in PHP or whatnot. A CGI program in C++ would likely involve unnecessary amounts of wheel-reinventing.
It would be nice if there were more than just a single rule. How much work do you think it would be to come up with new rules?
Also, have you heard of the game Zendo?
This phenomenon is more commonly known as "confirmation bias" - I don't think I've ever seen anyone call it "positive bias" besides Eliezer (and those who got the term from him), although it might be out there somewhere. I'd recommend at least including the term "confirmation bias", if not replacing "positive bias."
I've written a program which tests positive bias using Wason's procedure from "On the failure to eliminate hypotheses in a conceptual task" (Quarterly Journal of Experimental Psychology, 12: 129-140, 1960). If the user does not discover the correct rule, the program attempts to guess, based on the user's input, what rule the user did find, and explains the existence of the more general rule. The program then directs the user here.
I'd like to use a better set of triplets, and perhaps include more wrong rules. The program should be fairly flexible in this way.
I'd also like to set up a web-based front-end to the program, but I do not currently know any cgi.
I'm not completely happy with the program's textual output. It still feels a bit like the program is scolding the user at the end. Not quite sure how to fix this.
Program source
ETA: Here is a macintosh executable version of the program. I do not have any means to make an exe file, but if anyone does, I can host it.
If you're on Linux, I'm just going to assume you know what to do with a .cpp file =P
Here is a sample run of the program (if you're unfamiliar with positive bias, or the wason test, I'd really encourage you to try it yourself before reading):
Hi there! We're going to play a game based on a classic cognitive science experiment first performed by Peter Wason in 1960 (references at the end)
Here's how it works. I'm thinking of a rule which separates sequences of three numbers into 'awesome' triplets, and not-so-awesome triplets. I'll tell you for free that 2 4 6 is an awesome triplet.
What you need to do is to figure out which rule I'm thinking of. To help you do that, I'm going to let you experiment for a bit. Enter any three numbers, and I'll tell you whether they are awesome or not. You can do this as many times as you like, so please take your time.
When you're sure you know what the rule is, just enter 0 0 0, and I'll test you to see if you've correctly worked out what the rule is.
Enter three numbers separated by spaces: 3 6 9
3, 6, 9 is an AWESOME triplet!
Enter three numbers separated by spaces: 10 20 30
10, 20, 30 is an AWESOME triplet!
Enter three numbers separated by spaces: 8 16 24
8, 16, 24 is an AWESOME triplet!
Enter three numbers separated by spaces: 0 0 0
So, you're pretty sure what the rule is now? Cool. I'm going to give you some sets of numbers, and you can tell me whether they seem awesome to you or not.
Would you say that 3, 6, 9 looks like an awesome triplet? (type y/n)
y
Would you say that 6, 4, 2 looks like an awesome triplet? (type y/n)
n
Would you say that 8, 10, 12 looks like an awesome triplet? (type y/n)
n
Would you say that 1, 17, 33 looks like an awesome triplet? (type y/n)
n
Would you say that 18, 9, 0 looks like an awesome triplet? (type y/n)
n
Would you say that 1, 7, 3 looks like an awesome triplet? (type y/n)
n
Would you say that 3, 5, 7 looks like an awesome triplet? (type y/n)
n
Would you say that 2, 9, 15 looks like an awesome triplet? (type y/n)
n
Would you say that 5, 10, 15 looks like an awesome triplet? (type y/n)
y
Would you say that 3, 1, 4 looks like an awesome triplet? (type y/n)
n
You thought that 3, 6, 9 was awesome.
In fact it is awesome.
You thought that 6, 4, 2 was not awesome.
In fact it is not awesome.
You thought that 8, 10, 12 was not awesome.
In fact it is awesome.
You thought that 1, 17, 33 was not awesome.
In fact it is awesome.
You thought that 18, 9, 0 was not awesome.
In fact it is not awesome.
You thought that 1, 7, 3 was not awesome.
In fact it is not awesome.
You thought that 3, 5, 7 was not awesome.
In fact it is awesome.
You thought that 2, 9, 15 was not awesome.
In fact it is awesome.
You thought that 5, 10, 15 was awesome.
In fact it is awesome.
You thought that 3, 1, 4 was not awesome.
In fact it is not awesome.
It looks as though you thought the rule was that awesome triplets contained three successive multiples of the same number, like 3,6,9, or 6,12,18. In fact, awesome triplets are simply triplets in which each number is greater than the previous one.
The rule for awesomeness was a fairly simple one, but you invented a more complicated, more specific rule, which happened to fit the first triplet you saw. In experimental tests, it has been found that 80% of subjects do just this, and then never test any of the triplets that *don't* fit their rule. If they did, they would immediately see the more general rule that was applying. This is a case of what psychologists call 'positive bias'. It is one of the many biases, or fundamental errors, which beset the human mind.
There is a thriving community of rationalists at the website Less Wrong (http://www.lesswrong.com) who are working to find ways to correct these fundamental errors. If you'd like to learn how to perform better with the hardware you have, you may want to pay them a visit.
If you'd like to learn more about positive bias, you may enjoy the article 'Positive Bias: Look Into the Dark': http://www.overcomingbias.com/2007/08/positive-bias-l.html
If you'd like to learn more about the experiment which inspired this test, look for a paper titled 'On the failure to eliminate hypotheses in a conceptual task' (Quarterly Journal of Experimental Psychology, 12: 129-140, 1960)