Return to the Wason Rule Discovery Test page
						
										WASON RULE DISCOVERY TEST
SCRIPT INFO

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 12-12-2016
last updated: 04-19-2017 by K.Borchert (katjab@millisecond.com) for Millisecond Software LLC

Script Copyright © 04-19-2017 Millisecond Software


BACKGROUND INFO 

											*Purpose*
This script implements the Wason Rule Discovery Test based on:

Wason, P.C. (1960). On the failure to eliminate hypotheses in a conceptual task.
Quarterly Journal of Experimental Psychology, 12, 129-140.


											  *Task*
Participants get a sequence of 3 numbers (e.g. 248) and are asked if they can guess the underlying rule
(default rule: increasing numbers) of the sequence by selecting different sequences of 3 numbers until they feel reasonably
sure they know the rule. Once participants are relatively sure they know the rule,
they are asked to describe it. The computer evaluates each response and gives preliminary feedback (optional). 


DATA FILE INFORMATION: 
The default data stored in the data files are:

(1) Raw data file: 'wasonrulediscoverytest_raw*.iqdat' (a separate file for each participant)*

build:							Inquisit build
computer.platform:				the platform the script was run on
date, time, subject, group:		date and time script was run with the current subject/groupnumber 
blockcode, blocknum:			the name and number of the current block
trialcode, trialnum: 			the name and number of the currently recorded trial
									(Note: not all trials that are run might record data; by default data is collected unless /recorddata = false is set for a particular trial/block) 
/countRounds:					counts the number of rounds started
latency: 						the response latency (in ms); measured from onset of trial
response:						the participant's response (selected button)					
/targetNumber:					the number that is currently entered
/number1:						stores the value of number1
/number2:						stores the value of number2
/number3:						stores the value of number3
/evaluate:						stores the evaluation of the entered sequence in regard to the tested rule (yes/no)
/guess:							1 = 'yes' guess; 0 = 'no' guess
/countGuesses:					counts all guesses made for a given rule
/countPosGuesses:				counts all guesses that resulted in a "yes"
/countNegGuesses:				counts all gueesses that resulted in a "no"
/confirmationBias:				1 = participant only selected rule-confirming sequences (no sequences that received a "no" feedback)
								0 = participant selected at least one sequence that received a "no" feedback
								empty = participant did not select any sequences
/proposedRule:					stores the openended response 
/ruleDetection:					1 = based on preliminary computer analyses of the given openended response based on keyword searches 
								(keywords such as increase, grow, larger, bigger etc.) participant likely narrowed down the rule successfully
								0 = otherwise
								NOTE: the preliminary computer analyses are based on keyword searches and might have missed a correct result
								or falsely identified a 'correct' rule. Manual coding is advised.								

Sequence Analysis: 
categorization of the sequences in terms of several categories, such as "only positive numbers", "mixed numbers", "only even numbers" (etc))
and keeps a count of how often participant used sequences that fall in those categories.

/onlyPositive:					1 = the entered sequence contains only positive numbers or 0; 0 = otherwise
/onlyNegative:					1 = the entered sequence contains only negative numbers; 0 = otherwise
/onlyIntegers:					1 = the entered sequence contains only integers; 0 = otherwise
/onlyDecimals:					1 = the entered sequence contains only decimals; 0 = otherwise
/onlyEvenNumbers:				1 = the entered sequence contains only even numbers; 0 = otherwise (applies only to integers)
/onlyOddNumbers:				1 = the entered sequence contains only odd numbers; 0 = otherwise (applies only to integers)
/sameRatios:					1 = the entered sequence contains only numbers of the same ratios of number1/number2 = number2/number3; 0 = otherwise
/sameIntervals:					1 = the entered sequence contains only numbers that are separated by equal distances number2-number1=number3-number1; 0 = otherwise
/onlyIncrease:					1 = the entered sequence contains only numbers that increase; 0 = otherwise
/onlyDecrease:					1 = the entered sequence contains only numbers that decrease; 0 = otherwise
/onlyDifferent:					1 = all numbers are different from each other; 0 = otherwise (at least two numbers are the same)
/count_onlyPositive:			counts all sequences that only contain positive numbers
/count_onlyNegative:			counts all sequences that contain only negative numbers
/count_mixedPositiveNegative:	counts all sequences that contain a mixture of positive and negative numbers
/count_onlyIntegers:			counts all sequences that contain only integers
/count_onlyDecimals:			counts all sequences that contain only decimals
/count_mixedIntegerDecimals:	counts all sequences that contain a mixture of integers and decimals
/count_onlyEvenNumbers:			counts all sequences that contain only even numbers (applies only to integers)
/count_onlyOddNumbers:			counts all sequences that contain only odd numbers (applies only to integers)
/count_mixedOddEvenNumbers:		counts all sequences that contain a mixture of odd and even numbers (applies only to integers)
/count_sameRatios:				counts all sequences that contain only constant ratios (like doubling numbers)
/count_differentRatios:			counts all sequences that have different ratios
/count_sameIntervals:			counts all sequences that contain only numbers that are separated by equal distances (number2-number1 = number3-number2)
/count_differentIntervals:		counts all sequences that contain numbers that are not spread equally
/count_onlyIncrease:			counts all sequences that only increase from number to number; 0 = otherwise
/count_onlyDecrease:			counts all sequences that only decrease from number to number; 0 = otherwise
/count_mixedIncreaseDecrease:	counts all sequences that contain a mixture of increases and decreases; 0 = otherwise
/count_onlyDifferent:			counts all sequences that contain only different numbers
/count_someEquals:				counts all sequences that contain at least 2 numbers that are the same


(2) Summary data file: 'wasonrulediscoverytest_summary*.iqdat' (a separate file for each participant)*

script.startdate:				date script was run
script.starttime:				time script was started
script.subjectid:				subject id number
script.groupid:					group id number
script.elapsedtime:				time it took to run script (in ms)
computer.platform:				the platform the script was run on
/completed:						0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run)

/countGuesses:					number of all guesses made for a given rule
/countPosGuesses:				number of all guesses that resulted in a "yes"
/countNegGuesses:				number of all gueesses that resulted in a "no"
/confirmationBias:				1 = participant only selected rule-confirming sequences (did not enter any sequence that received a "no" feedback)
								0 = participant selected at least one sequence that received a "no" feedback
								empty = participant did not select any sequences
/proposedRule:					stores the openended response 
/ruleDetection:					1 = based on preliminary computer analyses of the given openended response based on keyword searches 
								(keywords such as increase, grow, larger, bigger etc.) participant likely narrowed down the rule successfully
								0 = otherwise
								NOTE: the preliminary computer analyses are based on keyword searches and might have missed a correct result
								or falsely identified a 'correct' rule. Manual coding is advised.

Sequence Analysis: 
categorization of the sequences in terms of several categories, such as "only positive numbers", "mixed numbers", "only even numbers" (etc))
and keeps a count of how often participant used sequences that fall in those categories.
=> to contradict the rule "doubeling numbers", participant needed to test at least one sequence that 
used different ratios

														
/count_onlyPositive:			counts all sequences that only contain positive numbers and/or zero (=> positive+)
/count_onlyNegative:			counts all sequences that contain only negative numbers
/count_mixedPositiveNegative:	counts all sequences that contain a mixture of positive+ and negative numbers
/count_onlyIntegers:			counts all sequences that contain only integers
/count_onlyDecimals:			counts all sequences that contain only decimals
/count_mixedIntegerDecimals:	counts all sequences that contain a mixture of integers and decimals
/count_onlyEvenNumbers:			counts all sequences that contain only even numbers (applies only to integers)
/count_onlyOddNumbers:			counts all sequences that contain only odd numbers (applies only to integers)
/count_mixedOddEvenNumbers:		counts all sequences that contain a mixture of odd and even numbers (applies only to integers)
/count_sameRatios:				counts all sequences that contain only constant ratios (e.g. like doubling numbers)
/count_differentRatios:			counts all sequences that have different ratios
/count_sameIntervals:			counts all sequences that contain only numbers that are separated by equal distances (number2-number1 = number3-number2)
/count_differentIntervals:		counts all sequences that contain numbers that are not spread equally
/count_onlyIncrease:			counts all sequences that only increase from number to number; 0 = otherwise
/count_onlyDecrease:			counts all sequences that only decrease from number to number; 0 = otherwise
/count_mixedIncreaseDecrease:	counts all sequences that contain a mixture of increases and decreases; 0 = otherwise
/count_onlyDifferent:			counts all sequences that contain only different numbers
/count_someEquals:				counts all sequences that contain at least 2 numbers that are the same

* separate data files: to change to one data file for all participants (on Inquisit Lab only), go to section
"DATA" and follow further instructions


EXPERIMENTAL SET-UP
sequence selection -> feedback -> sequence selection ->...-> until 'I think I know' button is selected
-> textbox that collects the description of the rule
-> Summary Feedback

STIMULI

INSTRUCTIONS
provided by Millisecond Software in the form of html-files.
Instruction changes can be made to the html files directly.


EDITABLE CODE:
check below for (relatively) easily editable parameters, stimuli, instructions etc. 
Keep in mind that you can use this script as a template and therefore always "mess" with the entire code to further customize your experiment.

The parameters you can change are:

/exampleNumber1:			the first example number given (default: 2)
/exampleNumber2:			the second example number given (default: 4)
/exampleNumber3:			the third example number given (default: 8)
/rule:						the rule tested
							1: increase in value (default); no other rule is implemented at this point!
							
/ruleDescription:			describes the rule in simple words (used in instruction pages) (default: "increasing numbers")
							Note: only rule = 1 is implemented at this point.
							
/skipFeedback:				true = no feedback/explanations about the task are provided at the end
							false = (preliminary) feedback/explanations about the task are provided at the end
Copyright © Millisecond Software. All rights reserved.
Contact | Terms of Service | Security Statement | Employment