\DELAYED MATCHING TO POSITION PROGRAM by Daniel Kueh May 14, 2005 \COUNTERS SUMMARY \C(0) = DELAY INTERVAL \C(1) = NUMBER OF TRIALS \C(2) = NUMBER OF CORRECT TRIALS (REINFORCEMENT) \C(3) = TRIALS WITH LEFT SAMPLE \C(4) = TRIALS WITH RIGHT SAMPLE \C(5) = LEFT CORRECT RESPONSES \C(6) = RIGHT CORRECT RESPONSES \C(7) = LEFT CORRECT RESPONSES (0 SEC) \C(8) = RIGHT CORRECT RESPONSES (0 SEC) \C(9) = LEFT CORRECT RESPONSES (2 SEC) \C(10) = RIGHT CORRECT RESPONSES (2 SEC) \C(11) = LEFT CORRECT RESPONSES (4 SEC) \C(12) = RIGHT CORRECT RESPONSES (4 SEC) \C(13) = LEFT CORRECT RESPONSES (8 SEC) \C(14) = RIGHT CORRECT RESPONSES (8 SEC) \C(15) = LEFT CORRECT RESPONSES (12 SEC) \C(16) = RIGHT CORRECT RESPONSES (12 SEC) \C(17) = LEFT CORRECT RESPONSES (16 SEC) \C(18) = RIGHT CORRECT RESPONSES (16 SEC) \C(19) = LEFT CORRECT RESPONSES (24 SEC) \C(20) = RIGHT CORRECT RESPONSES (24 SEC) \C(21) = LEFT CORRECT RESPONSES (32 SEC) \C(22) = RIGHT CORRECT RESPONSES (32 SEC) \C(23) = LEFT ERROR RESPONSES \C(24) = RIGHT ERROR RESPONSES \C(25) = LEFT ERROR RESPONSES (0 SEC) \C(26) = RIGHT ERROR RESPONSES (0 SEC) \C(27) = LEFT ERROR RESPONSES (2 SEC) \C(28) = RIGHT ERROR RESPONSES (2 SEC) \C(29) = LEFT ERROR RESPONSES (4 SEC) \C(30) = RIGHT ERROR RESPONSES (4 SEC) \C(31) = LEFT ERROR RESPONSES (8 SEC) \C(32) = RIGHT ERROR RESPONSES (8 SEC) \C(33) = LEFT ERROR RESPONSES (12 SEC) \C(34) = RIGHT ERROR RESPONSES (12 SEC) \C(35) = LEFT ERROR RESPONSES (16 SEC) \C(36) = RIGHT ERROR RESPONSES (16 SEC) \C(37) = LEFT ERROR RESPONSES (24 SEC) \C(38) = RIGHT ERROR RESPONSES (24 SEC) \C(39) = LEFT CORRECT RESPONSES (32 SEC) \C(40) = RIGHT CORRECT RESPONSES (32 SEC) \C(41) = PERCENT CORRECT RESPONSES \C(42) = NUMBER OF HEAD ENTRIES \VARIABLE SUMMARY \A = DELAY INTERVAL SELECTION \E = DATA ARRAY FOR RECORDING LATENCY TO RESPOND TO CHOICE LEVER (O SEC) \F = DATA ARRAY FOR RECORDING LATENCY TO RESPOND TO CHOICE LEVER (2 SEC) \G = DATA ARRAY FOR RECORDING LATENCY TO RESPOND TO CHOICE LEVER (4 SEC) \H = DATA ARRAY FOR RECORDING LATENCY TO RESPOND TO CHOICE LEVER (8 SEC) \I = DATA ARRAY FOR RECORDING LATENCY TO RESPOND TO CHOICE LEVER (12 SEC) \R = DATA ARRAY FOR RECORDING LATENCY TO RESPOND TO CHOICE LEVER (16 SEC) \V = DATA ARRAY FOR RECORDING LATENCY TO RESPOND TO CHOICE LEVER (24 SEC) \W = DATA ARRAY FOR RECORDING LATENCY TO RESPOND TO CHOICE LEVER (32 SEC) \J = INCREMENT OF ARRAY E \K = TIME CONVERSION FOR DELAY \L = INCREMENT OF ARRAY F \M = MINUTES IN CLOCK \N = SECONDS IN CLOCK \O = INCREMENT OF ARRAY G \P = INCREMENT OF ARRAY H \Q = INCREMENT OF ARRAY I \U = INCREMENT OF ARRAY W \S = INCREMENT OF ARRAY R \T = TIME INCREMENT \X = ONE OF THE LEVERS OF ARRAY D DETERMINED RANDOMLY EACH CYCLE \Z PULSES \Z1 = LEFT CORRECT RESPONSES (0 SEC) \Z2 = RIGHT CORRECT RESPONSES (0 SEC) \Z3 = LEFT CORRECT RESPONSES (2 SEC) \Z4 = RIGHT CORRECT RESPONSES (2 SEC) \Z5 = LEFT CORRECT RESPONSES (4 SEC) \Z6 = RIGHT CORRECT RESPONSES (4 SEC) \Z7 = LEFT CORRECT RESPONSES (8 SEC) \Z8 = RIGHT CORRECT RESPONSES (8 SEC) \Z9 = LEFT CORRECT RESPONSES (12 SEC) \Z10 = RIGHT CORRECT RESPONSES (12 SEC) \Z11 = LEFT CORRECT RESPONSES (16 SEC) \Z12 = RIGHT CORRECT RESPONSES (16 SEC) \Z13 = LEFT CORRECT RESPONSES (24 SEC) \Z14 = RIGHT CORRECT RESPONSES (24 SEC) \Z15 = LEFT CORRECT RESPONSES (32 SEC) \Z16 = RIGHT CORRECT RESPONSES (32 SEC) \Z17 = TIMER \Z18 = RECORD LATENCY TO RESPOND TO CHOICE LEVER (0 SEC) \Z19 = RECORD LATENCY TO RESPOND TO CHOICE LEVER (2 SEC) \Z20 = RECORD LATENCY TO RESPOND TO CHOICE LEVER (4 SEC) \Z21 = RECORD LATENCY TO RESPOND TO CHOICE LEVER (8 SEC) \Z22 = RECORD LATENCY TO RESPOND TO CHOICE LEVER (12 SEC) \Z23 = RECORD LATENCY TO RESPOND TO CHOICE LEVER (16 SEC) \Z24 = RECORD LATENCY TO RESPOND TO CHOICE LEVER (24 SEC) \Z25 = RECORD LATENCY TO RESPOND TO CHOICE LEVER (32 SEC) \ARRAY D \TWO DIFFERENT PROGRAMS \1 = LEFT SAMPLE \2 = RIGHT SAMPLE \CONSTANTS \INPUTS ^LEFTR = 1 ^RIGHTR = 3 ^HE = 6 \OUTPUTS ^LEFT = 1 ^RIGHT = 2 ^FOOD = 4 ^HL = 7 ^LLITE = 9 ^RLITE = 10 ^FAN = 16 LIST D = 1 , 2 LIST A = 0", 2", 4", 8", 12", 16", 24", 32" DIM C = 43 DIM E = 999 DIM F = 999 DIM G = 999 DIM H = 999 DIM I = 999 DIM R = 999 DIM V = 999 DIM W = 999 \BOXCHECK S.S.1, S1, 1": ON ^LEFT, ^RIGHT, ^HL --->S2 S2, 2#R1: ON ^LLITE, ^RLITE, --->S3 S3, 2#R3: OFF ^LLITE, ^RLITE, ^HL; ON ^FOOD --->S4 S4, #R6: OFF ^FOOD; OFF ^LEFT, ^RIGHT; --->S5 S5, .5": ---> SX \MAIN CONTROL S.S.2, S1, \START SESSION #START: ON ^HL, ^FAN; SHOW 2, TRIAL, C(1), 3, HE, C(42), 4, %TOT, C(41), 5, SR+, C(2) ---> S2 S2, \INTERTRIAL INTERVAL 5": ---> S3 S3, \PRESENT SAMPLE LEVER .01": RANDI X = D; IF X = 1 [@ONETRUE, @ONEFALSE] @ONETRUE: ON^LEFT; ADD C(3) ---> S4 @ONEFALSE: ON^RIGHT; ADD C(4) ---> S11 S4, #R^LEFTR: ---> S5 S5, .5": OFF ^LEFT ---> S6 S6, \DELAY INTERVAL FOR LEFT .01": RANDD K = A ---> S7 S7, K#T: ---> S8 S8, \REGISTER PANEL PRESS FOR LEFT #R^HE: ADD C(42); SHOW 3, HE, C(42); OFF ^LLITE, ^RLITE ---> S9 S9, \PRESENT CHOICE LEVERS .01": ON^LEFT, ^RIGHT; Z1; Z3; Z5; Z7; Z9; Z11; Z13; Z15; Z17; ---> S10 S10, \REGISTER CORRECT LEFT RESPONSE #R^LEFTR: ADD C(5) ---> S18 #R^RIGHTR: ADD C(24) ---> S21 S11, #R^RIGHTR: ---> S12 S12, .5": OFF ^RIGHT ---> S13 S13, \DELAY INTERVAL FOR RIGHT .01": RANDD K = A ---> S14 S14, K#T: ---> S15 S15, \REGISTER PANEL PRESS FOR RIGHT #R^HE: ADD C(42); SHOW 3, HE, C(42); OFF ^LLITE, ^RLITE ---> S16 S16, \PRESENT CHOICE LEVERS .01": ON^LEFT, ^RIGHT; Z2; Z4; Z6; Z8; Z10; Z12; Z14; Z16; Z17 ---> S17 S17, \REGISTER CORRECT RIGHT RESPONSE #R^RIGHTR: ADD C(6) ---> S18 #R^LEFTR: ADD C(23) ---> S20 S18, \REINFORCEMENT .5": OFF ^LEFT, ^RIGHT; ON ^LLITE, ^RLITE, ^FOOD; ADD C(2); SHOW 5, SR+, C(2) ---> S19 S19, \COLLECT FOOD #R^HE: OFF ^FOOD, ^LLITE, ^RLITE ---> S24 S20, \ERROR LEFT .5": OFF ^LEFT, ^RIGHT, ^HL ---> S22 S21, \ERROR RIGHT .5": OFF ^LEFT, ^RIGHT, ^HL ---> S23 S22, \LEFT TIMEOUT 5": ---> S25 S23, \RIGHT TIMEOUT 5": ---> S27 S24, \FINISH 1": ---> S2 S25, \CORRECTION FOR ERROR LEFT 5": ON ^HL---> S26 S26, \PRESENT RIGHT LEVER .01": SET X = 2; IF X = 2 [@TWOTRUE, @TWOFALSE] @TWOTRUE: ON^RIGHT; ADD C(4) ---> S11 @TWOFALSE: ON^LEFT; ADD C(3) ---> SX S27, \CORRECTION FOR ERROR RIGHT 5": ON ^HL ---> S28 S28, \PRESENT LEFT LEVER .01": SET X = 1; IF X = 1 [@THREETRUE, @THREEFALSE] @THREETRUE: ON^LEFT; ADD C(3) ---> S4 @THREEFALSE: ON^RIGHT; ADD C(4) ---> SX S.S.3, S1, #START: SHOW 1, MIN, M---> S2 S2, 1": ADD N; IF N=60 [@FOURTRUE, @FOURFALSE] @FOURTRUE: ADD M; SET N=0; SHOW 1, MIN, M --->SX @FOURFALSE: SHOW 1, MIN, M --->SX S.S.4, S1, #START: ---> S2 S2, .01": IF C(5)+C(6)>0 [@FIVETRUE,@FIVEFALSE] @FIVETRUE:SET C(41)= ((C(5)+C(6))/(C(5)+C(6)+C(23)+C(24))) * 100; SHOW 4, %TOT, C(41) --->SX @FIVETRUE:SET C(41)= -999 --->SX S.S.5, S1, #START: ---> S2 S2, 40': SET C(41)= ((C(5)+C(6))/(C(5)+C(6)+C(23)+C(24))) * 100 ---> S3 S3, .01": ALERTON ---> STOPABORTFLUSH S.S.6, S1, #START: ---> S2 S2, .01": SET C(1)= C(3)+C(4); SHOW 2, TRIAL, C(1) ---> SX S.S.7, \LEFT CORRECT RESPONSES (0 SEC) S1, #START: ---> S2 S2, #Z1: IF K = 0" [@SIXTRUE, @SIXFALSE] @SIXTRUE: ---> S3 @SIXFALSE: ---> SX S3, #R^LEFTR: ADD C(7); Z18 ---> S2 #R^RIGHTR: ADD C(26); Z18 ---> S2 S.S.8, \RIGHT CORRECT RESPONSES (0 SEC) S1, #START: ---> S2 S2, #Z2: IF K = 0" [@SEVENTRUE, @SEVENFALSE] @SEVENTRUE: ---> S3 @SEVENFALSE: ---> SX S3, #R^RIGHTR: ADD C(8); Z18 ---> S2 #R^LEFTR: ADD C(25); Z18 ---> S2 S.S.9, \LEFT CORRECT RESPONSES (2 SEC) S1, #START: ---> S2 S2, #Z3: IF K = 2" [@EIGHTTRUE, @EIGHTFALSE] @EIGHTTRUE: ---> S3 @EIGHTFALSE: ---> SX S3, #R^LEFTR: ADD C(9); Z19 ---> S2 #R^RIGHTR: ADD C(28); Z19 ---> S2 S.S.10, \RIGHT CORRECT RESPONSES (2 SEC) S1, #START: ---> S2 S2, #Z4: IF K = 2" [@NINETRUE, @NINEFALSE] @NINETRUE: ---> S3 @NINEFALSE: ---> SX S3, #R^RIGHTR: ADD C(10); Z19 ---> S2 #R^LEFTR: ADD C(27); Z19 ---> S2 S.S.11, \LEFT CORRECT RESPONSES (4 SEC) S1, #START: ---> S2 S2, #Z5: IF K = 4" [@TENTRUE, @TENFALSE] @TENTRUE: ---> S3 @TENFALSE: ---> SX S3, #R^LEFTR: ADD C(11); Z20 ---> S2 #R^RIGHTR: ADD C(30); Z20 ---> S2 S.S.12, \RIGHT CORRECT RESPONSES (4 SEC) S1, #START: ---> S2 S2, #Z6: IF K = 4" [@ELEVENTRUE, @ELEVENFALSE] @ELEVENTRUE: ---> S3 @ELEVENFALSE: ---> SX S3, #R^RIGHTR: ADD C(12); Z20 ---> S2 #R^LEFTR: ADD C(29); Z20 ---> S2 S.S.13, \LEFT CORRECT RESPONSES (8 SEC) S1, #START: ---> S2 S2, #Z7: IF K = 8" [@TWELVETRUE, @TWELVEFALSE] @TWELVETRUE: ---> S3 @TWELVEFALSE: ---> SX S3, #R^LEFTR: ADD C(13); Z21 ---> S2 #R^RIGHTR: ADD C(32); Z21 ---> S2 S.S.14, \RIGHT CORRECT RESPONSES (8 SEC) S1, #START: ---> S2 S2, #Z8: IF K = 8" [@THIRTEENTRUE, @THIRTEENFALSE] @THIRTEENTRUE: ---> S3 @THIRTEENFALSE: ---> SX S3, #R^RIGHTR: ADD C(14); Z21 ---> S2 #R^LEFTR: ADD C(31); Z21 ---> S2 S.S.15, \LEFT CORRECT RESPONSES (12 SEC) S1, #START: ---> S2 S2, #Z9: IF K = 12" [@TWELVETRUE, @TWELVEFALSE] @TWELVETRUE: ---> S3 @TWELVEFALSE: ---> SX S3, #R^LEFTR: ADD C(15); Z22 ---> S2 #R^RIGHTR: ADD C(34); Z22 ---> S2 S.S.16, \RIGHT CORRECT RESPONSES (12 SEC) S1, #START: ---> S2 S2, #Z10: IF K = 12" [@THIRTEENTRUE, @THIRTEENFALSE] @THIRTEENTRUE: ---> S3 @THIRTEENFALSE: ---> SX S3, #R^RIGHTR: ADD C(16); Z22 ---> S2 #R^LEFTR: ADD C(33); Z22 ---> S2 S.S.17, \LEFT CORRECT RESPONSES (16 SEC) S1, #START: ---> S2 S2, #Z11: IF K = 16" [@FOURTEENTRUE, @FOURTEENFALSE] @FOURTEENTRUE: ---> S3 @FOURTEENFALSE: ---> SX S3, #R^LEFTR: ADD C(17); Z23 ---> S2 #R^RIGHTR: ADD C(36); Z23 ---> S2 S.S.18, \RIGHT CORRECT RESPONSES (16 SEC) S1, #START: ---> S2 S2, #Z12: IF K = 16" [@FIFTHTEENTRUE, @FIFTHTEENFALSE] @FIFTHTEENTRUE: ---> S3 @FIFTHTEENFALSE: ---> SX S3, #R^RIGHTR: ADD C(18); Z23 ---> S2 #R^LEFTR: ADD C(35); Z23 ---> S2 S.S.19, \LEFT CORRECT RESPONSES (24 SEC) S1, #START: ---> S2 S2, #Z13: IF K = 24" [@SIXTEENTRUE, @SIXTEENFALSE] @SIXTEENTRUE: ---> S3 @SIXTEENFALSE: ---> SX S3, #R^LEFTR: ADD C(19); Z24 ---> S2 #R^RIGHTR: ADD C(38); Z24 ---> S2 S.S.20, \RIGHT CORRECT RESPONSES (24 SEC) S1, #START: ---> S2 S2, #Z14: IF K = 24" [@SEVENTEENTRUE, @SEVENTEENFALSE] @SEVENTEENTRUE: ---> S3 @SEVENTEENFALSE: ---> SX S3, #R^RIGHTR: ADD C(20); Z24 ---> S2 #R^LEFTR: ADD C(37); Z24 ---> S2 S.S.21, \LEFT CORRECT RESPONSES (32 SEC) S1, #START: ---> S2 S2, #Z15: IF K = 32" [@EIGHTTEENTRUE, @EIGHTTEENFALSE] @EIGHTTEENTRUE: ---> S3 @EIGHTTEENFALSE: ---> SX S3, #R^LEFTR: ADD C(21); Z25 ---> S2 #R^RIGHTR: ADD C(40); Z25 ---> S2 S.S.22, \RIGHT CORRECT RESPONSES (32 SEC) S1, #START: ---> S2 S2, #Z16: IF K = 32" [@NINETEENTRUE, @NINETEENFALSE] @NINETEENTRUE: ---> S3 @NINETEENFALSE: ---> SX S3, #R^RIGHTR: ADD C(22); Z25 ---> S2 #R^LEFTR: ADD C(39); Z25 ---> S2 S.S.23, S1, #START: ---> S2 S2, .01": SET C(0)= 32 ---> SX #Z17: SET T = 0 --->SX S.S.24, S1, #Z17:SET T = 0 ---> S2 S2, .1": SET T = (T + 0.1) ---> SX S.S.25, \RECORD LATENCY TO RESPOND TO CHOICE LEVER (0 SEC) S1, #Z18: SET E(J) = T; ADD J; SET E(J) = -987.987 ---> SX S.S.26, \RECORD LATENCY TO RESPOND TO CHOICE LEVER (2 SEC) S1, #Z19: SET F(L) = T; ADD L; SET F(L) = -987.987 ---> SX S.S.27, \RECORD LATENCY TO RESPOND TO CHOICE LEVER (4 SEC) S1, #Z20: SET G(O) = T; ADD O; SET G(O) = -987.987 ---> SX S.S.28, \RECORD LATENCY TO RESPOND TO CHOICE LEVER (8 SEC) S1, #Z21: SET H(P) = T; ADD P; SET H(P) = -987.987 ---> SX S.S.29, , \RECORD LATENCY TO RESPOND TO CHOICE LEVER (12 SEC) S1, #Z22: SET I(U) = T; ADD U; SET I(U) = -987.987 ---> SX S.S.30, \RECORD LATENCY TO RESPOND TO CHOICE LEVER (16 SEC) S1, #Z23: SET R(Q) = T; ADD Q; SET R(Q) = -987.987 ---> SX S.S.31, \RECORD LATENCY TO RESPOND TO CHOICE LEVER (24 SEC) S1, #Z24: SET V(S) = T; ADD S; SET V(S) = -987.987 --->SX S.S.32, \RECORD LATENCY TO RESPOND TO CHOICE LEVER (32 SEC) S1, #Z25: SET W(B) = T; ADD B; SET W(B) = -987.987 ---> SX