Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. d:\Programme\emacs-21.3\bin>cd ../.. cd ../.. D:\Programme>cd clisp cd clisp D:\Programme\clisp>clisp clisp i i i i i i i ooooo o ooooooo ooooo ooooo I I I I I I I 8 8 8 8 8 o 8 8 I \ `+' / I 8 8 8 8 8 8 \ `-+-' / 8 8 8 ooooo 8oooo `-__|__-' 8 8 8 8 8 | 8 o 8 8 o 8 8 ------+------ ooooo 8oooooo ooo8ooo ooooo 8 Copyright (c) Bruno Haible, Michael Stoll 1992, 1993 Copyright (c) Bruno Haible, Marcus Daniels 1994-1997 Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998 Copyright (c) Bruno Haible, Sam Steingold 1999-2000 Copyright (c) Sam Steingold, Bruno Haible 2001-2005 [1]> (load "dobby.l") ;; Loading file dobby.l ... ;; Loaded file dobby.l T [2]> (setf *dobby* (make-instance 'sr-agent)) # [3]> (display *dobby*) DOBBY at (3,3) NIL [4]> ; Perform Test # 4 (generate-action) (WEST) [5]>(generate-action) (generate-action) (NORTH) [6]> (generate-action) (EAST) [7]> (generate-action) (WEST) [8]> (generate-action) (SOUTH) [9]> (generate-action) (NORTH) [10]> (generate-action) (SOUTH) [11]> (generate-action) (WEST) [12]> (generate-action) (WEST) [13]> (generate-action) (NORTH) [14]> ; Perform Test # 6 (test-generator (function generate-action) 10) PROGRAM = (EAST) PROGRAM = (SOUTH) PROGRAM = (NORTH) PROGRAM = (SOUTH) PROGRAM = (WEST) PROGRAM = (SOUTH) PROGRAM = (WEST) PROGRAM = (WEST) PROGRAM = (NORTH) PROGRAM = (WEST) NIL [15]> ; Perform Test # 8 (test-eval-generator (function generate-action) 20) LOC (1,5) PRO (NORTH) RUN ... WALL Didn't Move; DOBBY at (1,5) LOC (1,5) LOC (2,7) PRO (SOUTH) RUN ... FREE Moved to South; DOBBY at (3,7) LOC (3,7) LOC (8,6) PRO (SOUTH) RUN ... WALL Didn't Move; DOBBY at (8,6) LOC (8,6) LOC (7,6) PRO (EAST) RUN ... FREE Moved to East; DOBBY at (7,7) LOC (7,7) LOC (1,4) PRO (EAST) RUN ... FREE Moved to East; DOBBY at (1,5) LOC (1,5) LOC (7,7) PRO (NORTH) RUN ... FREE Moved to North; DOBBY at (6,7) LOC (6,7) LOC (3,5) PRO (WEST) RUN ... FREE Moved to West; DOBBY at (3,4) LOC (3,4) LOC (5,1) PRO (EAST) RUN ... FREE Moved to East; DOBBY at (5,2) LOC (5,2) LOC (8,6) PRO (SOUTH) RUN ... WALL Didn't Move; DOBBY at (8,6) LOC (8,6) LOC (4,5) PRO (NORTH) RUN ... FREE Moved to North; DOBBY at (3,5) LOC (3,5) LOC (3,2) PRO (NORTH) RUN ... FREE Moved to North; DOBBY at (2,2) LOC (2,2) LOC (1,2) PRO (EAST) RUN ... FREE Moved to East; DOBBY at (1,3) LOC (1,3) LOC (7,8) PRO (WEST) RUN ... FREE Moved to West; DOBBY at (7,7) LOC (7,7) LOC (1,8) PRO (WEST) RUN ... FREE Moved to West; DOBBY at (1,7) LOC (1,7) LOC (4,4) PRO (SOUTH) RUN ... FREE Moved to South; DOBBY at (5,4) LOC (5,4) LOC (2,7) PRO (SOUTH) RUN ... FREE Moved to South; DOBBY at (3,7) LOC (3,7) LOC (8,1) PRO (NORTH) RUN ... FREE Moved to North; DOBBY at (7,1) LOC (7,1) LOC (7,2) PRO (WEST) RUN ... FREE Moved to West; DOBBY at (7,1) LOC (7,1) LOC (3,8) PRO (WEST) RUN ... FREE Moved to West; DOBBY at (3,7) LOC (3,7) LOC (3,3) PRO (EAST) RUN ... FREE Moved to East; DOBBY at (3,4) LOC (3,4) NIL [16]> ; Perform Test # 11 (generate-probe) (NW) [17]> (generate-probe) (E) [18]> (generate-probe) (SW) [19]> (generate-probe) (W) [20]> (generate-probe) (W) [21]> (generate-probe) (NW) [22]> (generate-probe) (E) [23]> (generate-probe) (NW) [24]> (generate-probe) (SE) [25]> (generate-probe) (SW) [26]> ; Perform Test # 12 (test-generator (function generate-probe) 10) PROGRAM = (E) PROGRAM = (S) PROGRAM = (NW) PROGRAM = (W) PROGRAM = (SE) PROGRAM = (S) PROGRAM = (SW) PROGRAM = (SE) PROGRAM = (NW) PROGRAM = (W) NIL [27]> ; Perform Test # 13 (test-eval-generator (function generate-probe) 20) LOC (5,3) PRO (SW) RUN ... FREE LOC (5,3) LOC (1,8) PRO (N) RUN ... WALL LOC (1,8) LOC (2,6) PRO (SE) RUN ... FREE LOC (2,6) LOC (3,4) PRO (NE) RUN ... FREE LOC (3,4) LOC (4,3) PRO (NE) RUN ... FREE LOC (4,3) LOC (1,3) PRO (E) RUN ... FREE LOC (1,3) LOC (7,2) PRO (SW) RUN ... FREE LOC (7,2) LOC (3,1) PRO (W) RUN ... WALL LOC (3,1) LOC (3,6) PRO (SE) RUN ... FREE LOC (3,6) LOC (1,7) PRO (N) RUN ... WALL LOC (1,7) LOC (3,4) PRO (N) RUN ... FREE LOC (3,4) LOC (7,3) PRO (S) RUN ... FREE LOC (7,3) LOC (8,8) PRO (N) RUN ... FREE LOC (8,8) LOC (4,4) PRO (E) RUN ... FREE LOC (4,4) LOC (1,5) PRO (E) RUN ... FREE LOC (1,5) LOC (7,2) PRO (N) RUN ... FREE LOC (7,2) LOC (7,3) PRO (NE) RUN ... FREE LOC (7,3) LOC (8,7) PRO (NW) RUN ... FREE LOC (8,7) LOC (2,3) PRO (SE) RUN ... FREE LOC (2,3) LOC (6,7) PRO (SE) RUN ... FREE LOC (6,7) NIL [28]> ; Perform Test # 15 (generate-xprobe) (OR (OR (AND (AND (NE) (NOT (NOT (AND (NOT (SW)) (NOT (NOT (AND (OR (E) (S)) (NE)))))))) (AND (OR (S) (OR (AND (OR (W) (SW)) (S)) (OR (OR (SE) (SW)) (AND (NOT (NOT (OR (S) (N)))) (NW))))) (NOT (N)))) (OR (NOT (N)) (NOT (NE)))) (NOT (NOT (NE)))) [29]> (generate-xprobe) (W) [30]> (generate-xprobe) (N) [31]> (generate-xprobe) (OR (NOT (W)) (NOT (OR (OR (NE) (E)) (NOT (OR (NOT (SE)) (NOT (NW))))))) [32]> (generate-xprobe) (SE) [33]> (generate-xprobe) (OR (S) (NOT (OR (OR (AND (W) (NE)) (OR (N) (N))) (NE)))) [34]> (generate-xprobe) (S) [35]> (generate-xprobe) (OR (OR (W) (NW)) (SW)) [36]> (generate-xprobe) (NOT (NOT (NOT (NW)))) [37]> (generate-xprobe) (N) [38]> (generate-xprobe) (AND (N) (N)) [39]> ; Perform Test # 16 (test-generator (function generate-xprobe) 10) PROGRAM = (NOT (S)) PROGRAM = (S) PROGRAM = (NOT (OR (NOT (SW)) (W))) PROGRAM = (AND (OR (OR (W) (N)) (NW)) (SE)) PROGRAM = (SE) PROGRAM = (W) PROGRAM = (AND (S) (OR (NOT (AND (AND (W) (OR (NOT (W)) (NOT (SW)))) (AND (AND (NW) (NOT (S))) (OR (AND (N) (SE)) (AND (AND (NOT (SW)) (AND (AND (NW) (W)) (NOT (W)))) (OR (AND (NOT (NOT (AND (SW) (N)))) (NW)) (S))))))) (NOT (NOT (NOT (SW)))))) PROGRAM = (NOT (NOT (NW))) PROGRAM = (AND (AND (NE) (NOT (AND (AND (OR (OR (NOT (E)) (W)) (SE)) (NOT (NE))) (NE)))) (S)) PROGRAM = (NE) NIL [40]> ; Perform Test # 17 (test-eval-generator (function generate-xprobe) 20) LOC (2,3) PRO (NW) RUN ... FREE LOC (2,3) LOC (2,1) PRO (E) RUN ... FREE LOC (2,1) LOC (5,6) PRO (NOT (N)) RUN ... FREE LOC (5,6) LOC (4,6) PRO (E) RUN ... FREE LOC (4,6) LOC (8,2) PRO (S) RUN ... WALL LOC (8,2) LOC (3,4) PRO (S) RUN ... FREE LOC (3,4) LOC (5,2) PRO (OR (S) (NOT (SW))) RUN ... FREE LOC (5,2) LOC (4,4) PRO (AND (NOT (OR (E) (NE))) (SE)) RUN ... FREE LOC (4,4) LOC (4,6) PRO (OR (S) (OR (N) (AND (SE) (S)))) RUN ... FREE LOC (4,6) LOC (3,3) PRO (AND (NOT (NW)) (AND (OR (NE) (NOT (SW))) (OR (OR (OR (E) (E)) (NOT (SW))) (NOT (OR (OR (OR (S) (OR (S) (AND (SE) (NOT (NE))))) (W)) (E)))))) RUN ... FREE LOC (3,3) LOC (1,7) PRO (N) RUN ... WALL LOC (1,7) LOC (3,3) PRO (NOT (OR (NW) (SE))) RUN ... FREE LOC (3,3) LOC (7,2) PRO (NOT (SE)) RUN ... FREE LOC (7,2) LOC (4,8) PRO (AND (NW) (W)) RUN ... FREE FREE LOC (4,8) LOC (8,7) PRO (NOT (W)) RUN ... FREE LOC (8,7) LOC (6,5) PRO (AND (NW) (W)) RUN ... FREE FREE LOC (6,5) LOC (1,2) PRO (NOT (OR (N) (OR (N) (OR (SE) (SW))))) RUN ... WALL WALL FREE LOC (1,2) LOC (8,6) PRO (N) RUN ... FREE LOC (8,6) LOC (5,8) PRO (SW) RUN ... FREE LOC (5,8) LOC (7,3) PRO (W) RUN ... FREE LOC (7,3) NIL [41]> ; Perform Test # 19 (generate-xaction) (SOUTH) [42]> (generate-xaction) (IF (AND (AND (AND (NOT (SW)) (OR (AND (SW) (W)) (OR (S) (OR (SE) (OR (OR (AND (S) (OR (OR (AND (SW) (NOT (OR (OR (SW) (AND (NOT (W)) (NW))) (SE)))) (NE)) (SW))) (NOT (NW))) (SE)))))) (OR (AND (NE) (N)) (NOT (AND (NOT (SE)) (SW))))) (NOT (N))) (NORTH) (SOUTH)) [43]> (generate-xaction) (WEST) [44]> (generate-xaction) (IF (AND (S) (AND (S) (NOT (AND (AND (NOT (OR (N) (OR (NW) (OR (NE) (OR (NOT (AND (SE) (NE))) (S)))))) (OR (AND (NW) (W)) (OR (OR (NOT (NOT (SE))) (SW)) (NE)))) (NW))))) (SOUTH) (IF (NOT (OR (OR (OR (NW) (AND (NE) (SW))) (OR (W) (NOT (AND (NOT (SE)) (OR (AND (SW) (NOT (NW))) (S)))))) (E))) (NORTH) (IF (OR (AND (SE) (N)) (N)) (IF (W) (SOUTH) (SOUTH)) (WEST)))) [45]> (generate-xaction) (WEST) [46]> (generate-xaction) (SOUTH) [47]> (generate-xaction) (NORTH) [48]> (generate-xaction) (SOUTH) [49]> (generate-xaction) (IF (SW) (IF (OR (NE) (NOT (NW))) (IF (NOT (N)) (IF (AND (NOT (AND (OR (OR (E) (AND (AND (NW) (S)) (AND (AND (NE) (AND (NW) (OR (AND (NW) (S)) (N)))) (OR (AND (OR (NOT (SW)) (NOT (W))) (AND (OR (NOT (E)) (E)) (NOT (AND (OR (SE) (NW)) (AND (NE) (SE)))))) (SE))))) (W)) (AND (NW) (E)))) (OR (AND (AND (SE) (N)) (NOT (NOT (S)))) (NOT (SE)))) (WEST) (SOUTH)) (IF (AND (AND (N) (NOT (OR (S) (NW)))) (OR (AND (NOT (NW)) (W)) (S))) (SOUTH) (IF (NOT (AND (OR (AND (NW) (N)) (NOT (AND (W) (NOT (AND (S) (E)))))) (NOT (SW)))) (SOUTH) (WEST)))) (EAST)) (SOUTH)) [50]> (generate-xaction) (NORTH) [51]> ; Perform Test # 20 (test-generator (function generate-xaction) 10) PROGRAM = (IF (N) (WEST) (SOUTH)) PROGRAM = (SOUTH) PROGRAM = (WEST) PROGRAM = (EAST) PROGRAM = (IF (AND (W) (N)) (SOUTH) (IF (AND (OR (AND (NE) (SW)) (S)) (SE)) (IF (NE) (NORTH) (IF (AND (AND (NE) (E)) (NOT (S))) (EAST) (EAST))) (IF (NOT (AND (NE) (OR (S) (W)))) (SOUTH) (IF (SE) (SOUTH) (SOUTH))))) PROGRAM = (WEST) PROGRAM = (EAST) PROGRAM = (SOUTH) PROGRAM = (IF (SE) (IF (NOT (W)) (IF (AND (AND (AND (NOT (OR (E) (N))) (OR (AND (SE) (NE)) (NOT (W)))) (NOT (SW))) (OR (S) (AND (OR (E) (NW)) (AND (NOT (NOT (OR (NOT (OR (NOT (SW)) (OR (OR (NOT (NE)) (NOT (E))) (W)))) (NE)))) (NE))))) (EAST) (IF (W) (WEST) (IF (N) (EAST) (IF (AND (OR (S) (E)) (AND (SW) (NE))) (IF (OR (OR (N) (OR (NOT (S)) (AND (N) (NOT (NOT (NOT (NOT (SW)))))))) (N)) (WEST) (IF (NOT (NOT (OR (W) (NW)))) (EAST) (IF (OR (SE) (NOT (E))) (IF (S) (WEST) (NORTH)) (IF (S) (IF (N) (WEST) (IF (SW) (WEST) (WEST))) (SOUTH))))) (SOUTH))))) (NORTH)) (SOUTH)) PROGRAM = (SOUTH) NIL [52]> ; Perform Test # 21 (test-eval-generator (function generate-xaction) 20) LOC (8,6) PRO (NORTH) RUN ... FREE Moved to North; DOBBY at (7,6) LOC (7,6) LOC (3,8) PRO (EAST) RUN ... WALL Didn't Move; DOBBY at (3,8) LOC (3,8) LOC (8,2) PRO (NORTH) RUN ... FREE Moved to North; DOBBY at (7,2) LOC (7,2) LOC (8,3) PRO (IF (OR (SE) (N)) (NORTH) (WEST)) RUN ... WALL FREE FREE Moved to North; DOBBY at (7,3) LOC (7,3) LOC (1,2) PRO (SOUTH) RUN ... FREE Moved to South; DOBBY at (2,2) LOC (2,2) LOC (1,4) PRO (NORTH) RUN ... WALL Didn't Move; DOBBY at (1,4) LOC (1,4) LOC (4,4) PRO (IF (W) (IF (AND (AND (NOT (OR (OR (AND (AND (S) (SE)) (AND (AND (N) (N)) (AND (SW) (SW)))) (NOT (N))) (OR (SW) (W)))) (OR (SE) (NOT (N)))) (NE)) (IF (N) (WEST) (NORTH)) (WEST)) (SOUTH)) RUN ... FREE FREE FREE FREE FREE FREE FREE FREE Moved to West; DOBBY at (4,3) LOC (4,3) LOC (3,5) PRO (IF (OR (OR (SW) (NOT (SW))) (N)) (IF (NOT (W)) (NORTH) (SOUTH)) (IF (NOT (E)) (EAST) (WEST))) RUN ... FREE FREE FREE Moved to South; DOBBY at (4,5) LOC (4,5) LOC (5,6) PRO (WEST) RUN ... FREE Moved to West; DOBBY at (5,5) LOC (5,5) LOC (1,4) PRO (IF (AND (W) (E)) (NORTH) (IF (E) (EAST) (NORTH))) RUN ... FREE FREE WALL Didn't Move; DOBBY at (1,4) LOC (1,4) LOC (7,8) PRO (NORTH) RUN ... FREE Moved to North; DOBBY at (6,8) LOC (6,8) LOC (2,5) PRO (SOUTH) RUN ... FREE Moved to South; DOBBY at (3,5) LOC (3,5) LOC (3,4) PRO (NORTH) RUN ... FREE Moved to North; DOBBY at (2,4) LOC (2,4) LOC (5,7) PRO (NORTH) RUN ... FREE Moved to North; DOBBY at (4,7) LOC (4,7) LOC (4,8) PRO (EAST) RUN ... WALL Didn't Move; DOBBY at (4,8) LOC (4,8) LOC (4,3) PRO (EAST) RUN ... FREE Moved to East; DOBBY at (4,4) LOC (4,4) LOC (8,6) PRO (IF (NE) (WEST) (NORTH)) RUN ... FREE WALL Didn't Move; DOBBY at (8,6) LOC (8,6) LOC (2,5) PRO (IF (AND (E) (NE)) (WEST) (NORTH)) RUN ... FREE FREE FREE Moved to West; DOBBY at (2,4) LOC (2,4) LOC (4,3) PRO (EAST) RUN ... FREE Moved to East; DOBBY at (4,4) LOC (4,4) LOC (4,4) PRO (IF (NW) (SOUTH) (IF (OR (NOT (OR (OR (OR (N) (AND (NW) (NOT (NOT (NOT (OR (AND (NOT (OR (OR (NW) (NOT (SE))) (NOT (NOT (S))))) (OR (OR (SW) (NOT (S))) (OR (E) (SE)))) (NOT (NW)))))))) (AND (OR (NOT (S)) (NOT (OR (SW) (OR (AND (AND (NW) (NOT (AND (SW) (OR (AND (AND (NOT (E)) (AND (AND (NW) (NOT (NE))) (OR (AND (SE) (AND (SW) (S))) (OR (NE) (NW))))) (N)) (AND (SE) (NE)))))) (NW)) (W))))) (NE))) (OR (SE) (OR (NE) (SW))))) (SW)) (EAST) (WEST))) RUN ... FREE FREE Moved to South; DOBBY at (5,4) LOC (5,4) NIL [53]> ; Perform Test # 23 (test-generator (function generate-individual) 20) PROGRAM = (IF (NW) (IF (NW) (WEST) (WEST)) (IF (W) (IF (N) (IF (OR (SW) (NOT (E))) (IF (AND (W) (OR (N) (N))) (SOUTH) (NORTH)) (EAST)) (WEST)) (IF (AND (AND (NE) (NOT (AND (NE) (OR (AND (NOT (NW)) (OR (W) (S))) (OR (NE) (OR (AND (OR (E) (NW)) (OR (NE) (AND (NE) (AND (NOT (AND (W) (OR (NOT (OR (N) (OR (OR (NE) (AND (E) (E))) (NOT (OR (S) (AND (OR (NE) (NE)) (OR (E) (AND (NOT (OR (NE) (S))) (SE))))))))) (S)))) (NE))))) (AND (SW) (OR (W) (NE))))))))) (OR (OR (OR (NE) (NOT (AND (N) (NOT (E))))) (NOT (S))) (NW))) (EAST) (EAST)))) PROGRAM = (WEST) PROGRAM = (IF (NOT (E)) (IF (SE) (SOUTH) (WEST)) (SOUTH)) PROGRAM = (IF (S) (SOUTH) (WEST)) PROGRAM = (SOUTH) PROGRAM = (IF (NOT (NE)) (EAST) (EAST)) PROGRAM = (EAST) PROGRAM = (SOUTH) PROGRAM = (IF (AND (NW) (SW)) (NORTH) (IF (NOT (NOT (E))) (WEST) (IF (SE) (IF (W) (SOUTH) (SOUTH)) (WEST)))) PROGRAM = (IF (S) (IF (AND (E) (W)) (EAST) (NORTH)) (IF (OR (N) (NE)) (IF (NOT (AND (OR (AND (S) (NW)) (SE)) (E))) (EAST) (SOUTH)) (WEST))) PROGRAM = (IF (AND (NOT (W)) (OR (NOT (SE)) (AND (NW) (OR (NE) (AND (SE) (SE)))))) (WEST) (NORTH)) PROGRAM = (EAST) PROGRAM = (EAST) PROGRAM = (IF (OR (E) (OR (NOT (AND (W) (SW))) (W))) (NORTH) (IF (OR (NOT (OR (NE) (NOT (OR (W) (OR (W) (N)))))) (AND (AND (E) (NOT (S))) (NOT (NE)))) (EAST) (WEST))) PROGRAM = (IF (NE) (IF (NOT (OR (NE) (NE))) (IF (NOT (NE)) (IF (OR (N) (AND (S) (OR (AND (NW) (NE)) (AND (S) (AND (S) (OR (OR (AND (AND (S) (AND (OR (E) (S)) (E))) (OR (SW) (NOT (NE)))) (OR (AND (E) (NOT (OR (S) (OR (W) (NOT (OR (AND (SW) (W)) (OR (NW) (OR (OR (NOT (OR (AND (AND (N) (AND (NOT (AND (AND (W) (AND (NOT (SW)) (NOT (AND (AND (AND (OR (S) (E)) (OR (NW) (AND (NOT (OR (OR (AND (NOT (OR (NOT (OR (E) (AND (N) (OR (OR (S) (AND (NOT (E)) (OR (AND (NOT (OR (NOT (NW)) (N))) (NOT (AND (NE) (NE)))) (NE)))) (NE))))) (S))) (NW)) (SW)) (N))) (AND (NE) (NW))))) (NOT (SW))) (OR (NOT (NOT (NW))) (NE)))))) (NW))) (NE))) (OR (N) (NW))) (SE))) (SE)) (AND (NE) (E)))))))))) (NOT (AND (E) (NE))))) (W))))))) (EAST) (EAST)) (SOUTH)) (NORTH)) (IF (SW) (IF (NOT (SW)) (NORTH) (IF (OR (NE) (SE)) (SOUTH) (IF (SE) (NORTH) (IF (SW) (IF (NOT (SW)) (IF (W) (SOUTH) (EAST)) (NORTH)) (IF (OR (N) (OR (SW) (AND (NW) (AND (E) (AND (NOT (NOT (W))) (W)))))) (IF (NW) (IF (SE) (IF (AND (AND (S) (AND (S) (E))) (SE)) (NORTH) (EAST)) (IF (NW) (WEST) (EAST))) (WEST)) (EAST)))))) (NORTH))) PROGRAM = (IF (NOT (E)) (EAST) (EAST)) PROGRAM = (NORTH) PROGRAM = (NORTH) PROGRAM = (IF (NOT (NW)) (EAST) (IF (AND (S) (AND (NOT (AND (OR (W) (SW)) (SW))) (NE))) (NORTH) (WEST))) PROGRAM = (NORTH) NIL [54]> ; Perform Test # 24 (test-eval-generator (function generate-individual) 20) LOC (7,6) PRO (IF (NOT (E)) (EAST) (IF (AND (NE) (AND (NE) (SE))) (WEST) (SOUTH))) RUN ... FREE FREE FREE FREE WALL Didn't Move; DOBBY at (7,6) LOC (7,6) LOC (1,7) PRO (IF (NOT (AND (W) (NE))) (WEST) (IF (W) (NORTH) (NORTH))) RUN ... FREE WALL FREE Moved to West; DOBBY at (1,6) LOC (1,6) LOC (5,4) PRO (NORTH) RUN ... FREE Moved to North; DOBBY at (4,4) LOC (4,4) LOC (8,8) PRO (EAST) RUN ... WALL Didn't Move; DOBBY at (8,8) LOC (8,8) LOC (5,3) PRO (IF (AND (W) (SE)) (IF (NE) (EAST) (SOUTH)) (SOUTH)) RUN ... FREE FREE FREE FREE Moved to East; DOBBY at (5,4) LOC (5,4) LOC (8,8) PRO (NORTH) RUN ... FREE Moved to North; DOBBY at (7,8) LOC (7,8) LOC (5,8) PRO (WEST) RUN ... FREE Moved to West; DOBBY at (5,7) LOC (5,7) LOC (2,1) PRO (EAST) RUN ... FREE Moved to East; DOBBY at (2,2) LOC (2,2) LOC (3,6) PRO (IF (NW) (WEST) (SOUTH)) RUN ... FREE FREE Moved to West; DOBBY at (3,5) LOC (3,5) LOC (6,8) PRO (SOUTH) RUN ... FREE Moved to South; DOBBY at (7,8) LOC (7,8) LOC (2,3) PRO (IF (W) (IF (OR (S) (NE)) (EAST) (EAST)) (IF (OR (AND (OR (NW) (SE)) (AND (AND (OR (NOT (N)) (W)) (AND (AND (OR (SE) (N)) (AND (SW) (E))) (SW))) (NOT (S)))) (NE)) (NORTH) (IF (NW) (SOUTH) (EAST)))) RUN ... FREE FREE FREE Moved to East; DOBBY at (2,4) LOC (2,4) LOC (5,3) PRO (WEST) RUN ... FREE Moved to West; DOBBY at (5,2) LOC (5,2) LOC (1,7) PRO (SOUTH) RUN ... FREE Moved to South; DOBBY at (2,7) LOC (2,7) LOC (8,8) PRO (IF (NW) (WEST) (IF (OR (AND (S) (OR (W) (AND (OR (OR (NOT (SW)) (SW)) (OR (NOT (AND (SW) (NE))) (OR (W) (NW)))) (SE)))) (NE)) (IF (NE) (IF (NOT (W)) (NORTH) (IF (AND (W) (NOT (NOT (AND (NOT (W)) (NOT (E)))))) (NORTH) (NORTH))) (IF (N) (NORTH) (IF (AND (NOT (OR (E) (E))) (NW)) (IF (S) (EAST) (SOUTH)) (EAST)))) (IF (E) (EAST) (NORTH)))) RUN ... FREE FREE Moved to West; DOBBY at (8,7) LOC (8,7) LOC (6,5) PRO (EAST) RUN ... FREE Moved to East; DOBBY at (6,6) LOC (6,6) LOC (5,4) PRO (SOUTH) RUN ... FREE Moved to South; DOBBY at (6,4) LOC (6,4) LOC (6,4) PRO (SOUTH) RUN ... WALL Didn't Move; DOBBY at (6,4) LOC (6,4) LOC (1,5) PRO (SOUTH) RUN ... FREE Moved to South; DOBBY at (2,5) LOC (2,5) LOC (6,6) PRO (SOUTH) RUN ... FREE Moved to South; DOBBY at (7,6) LOC (7,6) LOC (4,7) PRO (EAST) RUN ... FREE Moved to East; DOBBY at (4,8) LOC (4,8) NIL [55]>