getting right starter files
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/0-eval-function-lose-states-1.test.
|
||||
action: "Left"
|
||||
generated: "lose1 lose2 root"
|
||||
@@ -0,0 +1,30 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "2"
|
||||
|
||||
diagram: """
|
||||
root
|
||||
/ \
|
||||
lose1 lose2
|
||||
1 0
|
||||
|
||||
If your algorithm is returning a different
|
||||
action, make sure you are calling the
|
||||
evaluation function on losing states.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "root"
|
||||
win_states: ""
|
||||
lose_states: "lose1 lose2"
|
||||
|
||||
successors: """
|
||||
root Left lose1
|
||||
root Right lose2
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
lose1 1.0
|
||||
lose2 0.0
|
||||
"""
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/0-eval-function-lose-states-2.test.
|
||||
action: "Right"
|
||||
generated: "lose1 lose2 root"
|
||||
@@ -0,0 +1,30 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "2"
|
||||
|
||||
diagram: """
|
||||
root
|
||||
/ \
|
||||
lose1 lose2
|
||||
0 1
|
||||
|
||||
If your algorithm is returning a different
|
||||
action, make sure you are calling the
|
||||
evaluation function on losing states.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "root"
|
||||
win_states: ""
|
||||
lose_states: "lose1 lose2"
|
||||
|
||||
successors: """
|
||||
root Left lose1
|
||||
root Right lose2
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
lose1 0.0
|
||||
lose2 1.0
|
||||
"""
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/0-eval-function-win-states-1.test.
|
||||
action: "Left"
|
||||
generated: "root win1 win2"
|
||||
@@ -0,0 +1,30 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "2"
|
||||
|
||||
diagram: """
|
||||
root
|
||||
/ \
|
||||
win1 win2
|
||||
1 0
|
||||
|
||||
If your algorithm is returning a different
|
||||
action, make sure you are calling the
|
||||
evaluation function on winning states.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "root"
|
||||
win_states: "win1 win2"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
root Left win1
|
||||
root Right win2
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
win1 1.0
|
||||
win2 0.0
|
||||
"""
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/0-eval-function-win-states-2.test.
|
||||
action: "Right"
|
||||
generated: "root win1 win2"
|
||||
@@ -0,0 +1,30 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "2"
|
||||
|
||||
diagram: """
|
||||
root
|
||||
/ \
|
||||
win1 win2
|
||||
0 1
|
||||
|
||||
If your algorithm is returning a different
|
||||
action, make sure you are calling the
|
||||
evaluation function on winning states.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "root"
|
||||
win_states: "win1 win2"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
root Left win1
|
||||
root Right win2
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
win1 0.0
|
||||
win2 1.0
|
||||
"""
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/0-lecture-6-tree.test.
|
||||
action: "Center"
|
||||
generated: "A B C D E F G H max min1 min2 min3"
|
||||
@@ -0,0 +1,50 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "2"
|
||||
|
||||
# Tree from lecture 6 slides
|
||||
diagram: """
|
||||
max
|
||||
/-/ | \--\
|
||||
/ | \
|
||||
/ | \
|
||||
min1 min2 min3
|
||||
/|\ /|\ /|\
|
||||
/ | \ / | \ / | \
|
||||
A B C D E F G H I
|
||||
3 12 8 5 4 6 14 1 11
|
||||
"""
|
||||
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "max"
|
||||
win_states: "A B C D E F G H I"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
max Left min1
|
||||
max Center min2
|
||||
max Right min3
|
||||
min1 Left A
|
||||
min1 Center B
|
||||
min1 Right C
|
||||
min2 Left D
|
||||
min2 Center E
|
||||
min2 Right F
|
||||
min3 Left G
|
||||
min3 Center H
|
||||
min3 Right I
|
||||
"""
|
||||
|
||||
|
||||
evaluation: """
|
||||
A 3.0
|
||||
B 12.0
|
||||
C 8.0
|
||||
D 5.0
|
||||
E 4.0
|
||||
F 6.0
|
||||
G 14.0
|
||||
H 1.0
|
||||
I 11.0
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/0-small-tree.test.
|
||||
action: "pacLeft"
|
||||
generated: "A B C minLeft minRight root"
|
||||
@@ -0,0 +1,36 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "3"
|
||||
|
||||
diagram: """
|
||||
root
|
||||
/ \
|
||||
minLeft minRight
|
||||
/ \ / \
|
||||
A B C deeper
|
||||
4 3 2 |
|
||||
D
|
||||
1000
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "root"
|
||||
win_states: "A C"
|
||||
lose_states: "B D"
|
||||
|
||||
successors: """
|
||||
root pacLeft minLeft
|
||||
root pacRight minRight
|
||||
minLeft gLeft A
|
||||
minLeft gRight B
|
||||
minRight gLeft C
|
||||
minRight gRight deeper
|
||||
deeper pacLeft D
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
A 4.0
|
||||
B 3.0
|
||||
C 2.0
|
||||
D 1000.0
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/1-1-minmax.test.
|
||||
action: "Left"
|
||||
generated: "a b1 b2 c1 c2 cx d1 d2 d3 dx"
|
||||
@@ -0,0 +1,47 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "3"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
/ \ |
|
||||
c1 c2 cx
|
||||
/ \ / \ |
|
||||
d1 d2 d3 d4 dx
|
||||
-3 -9 10 6 -3.01
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
|
||||
Note that the minimax value of b1 is -3.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "d1 d2 d3 d4 dx"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Left c1
|
||||
b1 Right c2
|
||||
b2 Down cx
|
||||
c1 Left d1
|
||||
c1 Right d2
|
||||
c2 Left d3
|
||||
c2 Right d4
|
||||
cx Down dx
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
d1 -3.0
|
||||
d2 -9.0
|
||||
d3 10.0
|
||||
d4 6.0
|
||||
dx -3.01
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/1-2-minmax.test.
|
||||
action: "Right"
|
||||
generated: "a b1 b2 c1 c2 cx d1 d2 d3 dx"
|
||||
@@ -0,0 +1,47 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "3"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
/ \ |
|
||||
c1 c2 cx
|
||||
/ \ / \ |
|
||||
d1 d2 d3 d4 dx
|
||||
-3 -9 10 6 -2.99
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
|
||||
Note that the minimax value of b1 is -3.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "d1 d2 d3 d4 dx"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Left c1
|
||||
b1 Right c2
|
||||
b2 Down cx
|
||||
c1 Left d1
|
||||
c1 Right d2
|
||||
c2 Left d3
|
||||
c2 Right d4
|
||||
cx Down dx
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
d1 -3.0
|
||||
d2 -9.0
|
||||
d3 10.0
|
||||
d4 6.0
|
||||
dx -2.99
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/1-3-minmax.test.
|
||||
action: "Left"
|
||||
generated: "a b1 b2 c3 cx d5 d6 dx"
|
||||
@@ -0,0 +1,47 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "3"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
| / \
|
||||
cx c3 c4
|
||||
| / \ / \
|
||||
dx d5 d6 d7 d8
|
||||
4.01 4 -7 0 5
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
|
||||
Note that the minimax value of b2 is 4.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "d1 d2 d3 d4 d5 d6 d7 d8 dx"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Down cx
|
||||
b2 Left c3
|
||||
b2 Right c4
|
||||
c3 Left d5
|
||||
c3 Right d6
|
||||
c4 Left d7
|
||||
c4 Right d8
|
||||
cx Down dx
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
d5 4.0
|
||||
d6 -7.0
|
||||
d7 0.0
|
||||
d8 5.0
|
||||
dx 4.01
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/1-4-minmax.test.
|
||||
action: "Right"
|
||||
generated: "a b1 b2 c3 c4 cx d5 d6 d7 d8 dx"
|
||||
@@ -0,0 +1,47 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "3"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
| / \
|
||||
cx c3 c4
|
||||
| / \ / \
|
||||
dx d5 d6 d7 d8
|
||||
3.99 4 -7 0 5
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
|
||||
Note that the minimax value of b2 is 4.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "d1 d2 d3 d4 d5 d6 d7 d8 dx"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Down cx
|
||||
b2 Left c3
|
||||
b2 Right c4
|
||||
c3 Left d5
|
||||
c3 Right d6
|
||||
c4 Left d7
|
||||
c4 Right d8
|
||||
cx Down dx
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
d5 4.0
|
||||
d6 -7.0
|
||||
d7 0.0
|
||||
d8 5.0
|
||||
dx 3.99
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/1-5-minmax.test.
|
||||
action: "Right"
|
||||
generated: "A B C D E F G Z a b1 b2 c1 c2 cx d1 d2 d3 d4 dx"
|
||||
@@ -0,0 +1,75 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "4"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
/ \ |
|
||||
c1 c2 cx
|
||||
/ \ / \ |
|
||||
d1 d2 d3 d4 dx
|
||||
/ \ / \ / \ / \ |
|
||||
A B C D E F G H Z
|
||||
-3 13 5 9 10 3 -6 8 3.01
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
d - min
|
||||
|
||||
Note the minimax value of b1 is 3.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "A B C D E F G H I J K L M N O P Z"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Left c1
|
||||
b1 Right c2
|
||||
b2 Down cx
|
||||
c1 Left d1
|
||||
c1 Right d2
|
||||
c2 Left d3
|
||||
c2 Right d4
|
||||
c3 Left d5
|
||||
c3 Right d6
|
||||
c4 Left d7
|
||||
c4 Right d8
|
||||
cx Down dx
|
||||
d1 Left A
|
||||
d1 Right B
|
||||
d2 Left C
|
||||
d2 Right D
|
||||
d3 Left E
|
||||
d3 Right F
|
||||
d4 Left G
|
||||
d4 Right H
|
||||
d5 Left I
|
||||
d5 Right J
|
||||
d6 Left K
|
||||
d6 Right L
|
||||
d7 Left M
|
||||
d7 Right N
|
||||
d8 Left O
|
||||
d8 Right P
|
||||
dx Down Z
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
A -3.0
|
||||
B 13.0
|
||||
C 5.0
|
||||
D 9.0
|
||||
E 10.0
|
||||
F 3.0
|
||||
G -6.0
|
||||
H 8.0
|
||||
Z 3.01
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/1-6-minmax.test.
|
||||
action: "Left"
|
||||
generated: "A B C D E F G Z a b1 b2 c1 c2 cx d1 d2 d3 d4 dx"
|
||||
@@ -0,0 +1,75 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "4"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
/ \ |
|
||||
c1 c2 cx
|
||||
/ \ / \ |
|
||||
d1 d2 d3 d4 dx
|
||||
/ \ / \ / \ / \ |
|
||||
A B C D E F G H Z
|
||||
-3 13 5 9 10 3 -6 8 2.99
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
d - min
|
||||
|
||||
Note the minimax value of b1 is 3.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "A B C D E F G H I J K L M N O P Z"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Left c1
|
||||
b1 Right c2
|
||||
b2 Down cx
|
||||
c1 Left d1
|
||||
c1 Right d2
|
||||
c2 Left d3
|
||||
c2 Right d4
|
||||
c3 Left d5
|
||||
c3 Right d6
|
||||
c4 Left d7
|
||||
c4 Right d8
|
||||
cx Down dx
|
||||
d1 Left A
|
||||
d1 Right B
|
||||
d2 Left C
|
||||
d2 Right D
|
||||
d3 Left E
|
||||
d3 Right F
|
||||
d4 Left G
|
||||
d4 Right H
|
||||
d5 Left I
|
||||
d5 Right J
|
||||
d6 Left K
|
||||
d6 Right L
|
||||
d7 Left M
|
||||
d7 Right N
|
||||
d8 Left O
|
||||
d8 Right P
|
||||
dx Down Z
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
A -3.0
|
||||
B 13.0
|
||||
C 5.0
|
||||
D 9.0
|
||||
E 10.0
|
||||
F 3.0
|
||||
G -6.0
|
||||
H 8.0
|
||||
Z 2.99
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/1-7-minmax.test.
|
||||
action: "Left"
|
||||
generated: "I J K M O P Z a b1 b2 c3 c4 cx d5 d6 d7 d8 dx"
|
||||
@@ -0,0 +1,75 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "4"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
| / \
|
||||
cx c3 c4
|
||||
| / \ / \
|
||||
dx d5 d6 d7 d8
|
||||
| / \ / \ / \ / \
|
||||
Z I J K L M N O P
|
||||
-1.99 -1 -9 4 7 2 5 -3 -2
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - min
|
||||
d - max
|
||||
|
||||
Note that the minimax value of b2 is -2
|
||||
"""
|
||||
num_agents: "3"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "A B C D E F G H I J K L M N O P Z"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Down cx
|
||||
b2 Left c3
|
||||
b2 Right c4
|
||||
c1 Left d1
|
||||
c1 Right d2
|
||||
c2 Left d3
|
||||
c2 Right d4
|
||||
c3 Left d5
|
||||
c3 Right d6
|
||||
c4 Left d7
|
||||
c4 Right d8
|
||||
cx Down dx
|
||||
d1 Left A
|
||||
d1 Right B
|
||||
d2 Left C
|
||||
d2 Right D
|
||||
d3 Left E
|
||||
d3 Right F
|
||||
d4 Left G
|
||||
d4 Right H
|
||||
d5 Left I
|
||||
d5 Right J
|
||||
d6 Left K
|
||||
d6 Right L
|
||||
d7 Left M
|
||||
d7 Right N
|
||||
d8 Left O
|
||||
d8 Right P
|
||||
dx Down Z
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
I -1.0
|
||||
J -9.0
|
||||
K 4.0
|
||||
L 7.0
|
||||
M 2.0
|
||||
N 5.0
|
||||
O -3.0
|
||||
P -2.0
|
||||
Z -1.99
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/1-8-minmax.test.
|
||||
action: "Right"
|
||||
generated: "I J K M O P Z a b1 b2 c3 c4 cx d5 d6 d7 d8 dx"
|
||||
@@ -0,0 +1,75 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "4"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
| / \
|
||||
cx c3 c4
|
||||
| / \ / \
|
||||
dx d5 d6 d7 d8
|
||||
| / \ / \ / \ / \
|
||||
Z I J K L M N O P
|
||||
-2.01 -1 -9 4 7 2 5 -3 -2
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - min
|
||||
d - max
|
||||
|
||||
Note that the minimax value of b2 is -2.01
|
||||
"""
|
||||
num_agents: "3"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "A B C D E F G H I J K L M N O P Z"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Down cx
|
||||
b2 Left c3
|
||||
b2 Right c4
|
||||
c1 Left d1
|
||||
c1 Right d2
|
||||
c2 Left d3
|
||||
c2 Right d4
|
||||
c3 Left d5
|
||||
c3 Right d6
|
||||
c4 Left d7
|
||||
c4 Right d8
|
||||
cx Down dx
|
||||
d1 Left A
|
||||
d1 Right B
|
||||
d2 Left C
|
||||
d2 Right D
|
||||
d3 Left E
|
||||
d3 Right F
|
||||
d4 Left G
|
||||
d4 Right H
|
||||
d5 Left I
|
||||
d5 Right J
|
||||
d6 Left K
|
||||
d6 Right L
|
||||
d7 Left M
|
||||
d7 Right N
|
||||
d8 Left O
|
||||
d8 Right P
|
||||
dx Down Z
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
I -1.0
|
||||
J -9.0
|
||||
K 4.0
|
||||
L 7.0
|
||||
M 2.0
|
||||
N 5.0
|
||||
O -3.0
|
||||
P -2.0
|
||||
Z -2.01
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/2-1a-vary-depth.test.
|
||||
action: "Left"
|
||||
generated: "a b1 b2 c1 c2 cx"
|
||||
@@ -0,0 +1,52 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "1"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
/ \ |
|
||||
-4 c1 c2 9 cx -4.01
|
||||
/ \ / \ |
|
||||
d1 d2 d3 d4 dx
|
||||
-3 -9 10 6 -4.01
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
|
||||
Note that the minimax value of b1 is -3, but the depth=1 limited value is -4.
|
||||
The values next to c1, c2, and cx are the values of the evaluation function, not
|
||||
necessarily the correct minimax backup.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "d1 d2 d3 d4 dx"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Left c1
|
||||
b1 Right c2
|
||||
b2 Down cx
|
||||
c1 Left d1
|
||||
c1 Right d2
|
||||
c2 Left d3
|
||||
c2 Right d4
|
||||
cx Down dx
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
c1 -4.0
|
||||
c2 9.0
|
||||
cx -4.01
|
||||
d1 -3.0
|
||||
d2 -9.0
|
||||
d3 10.0
|
||||
d4 6.0
|
||||
dx -4.01
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/2-1b-vary-depth.test.
|
||||
action: "Left"
|
||||
generated: "a b1 b2 c1 c2 cx d1 d2 d3 dx"
|
||||
@@ -0,0 +1,52 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "2"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
/ \ |
|
||||
-4 c1 c2 9 cx -4.01
|
||||
/ \ / \ |
|
||||
d1 d2 d3 d4 dx
|
||||
-3 -9 10 6 -4.01
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
|
||||
Note that the minimax value of b1 is -3, but the depth=1 limited value is -4.
|
||||
The values next to c1, c2, and cx are the values of the evaluation function, not
|
||||
necessarily the correct minimax backup.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "d1 d2 d3 d4 dx"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Left c1
|
||||
b1 Right c2
|
||||
b2 Down cx
|
||||
c1 Left d1
|
||||
c1 Right d2
|
||||
c2 Left d3
|
||||
c2 Right d4
|
||||
cx Down dx
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
c1 -4.0
|
||||
c2 9.0
|
||||
cx -4.01
|
||||
d1 -3.0
|
||||
d2 -9.0
|
||||
d3 10.0
|
||||
d4 6.0
|
||||
dx -4.01
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/2-2a-vary-depth.test.
|
||||
action: "Right"
|
||||
generated: "a b1 b2 c1 c2 cx"
|
||||
@@ -0,0 +1,52 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "1"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
/ \ |
|
||||
-4 c1 c2 9 cx -3.99
|
||||
/ \ / \ |
|
||||
d1 d2 d3 d4 dx
|
||||
-3 -9 10 6 -3.99
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
|
||||
Note that the minimax value of b1 is -3, but the depth=1 limited value is -4.
|
||||
The values next to c1, c2, and cx are the values of the evaluation function, not
|
||||
necessarily the correct minimax backup.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "d1 d2 d3 d4 dx"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Left c1
|
||||
b1 Right c2
|
||||
b2 Down cx
|
||||
c1 Left d1
|
||||
c1 Right d2
|
||||
c2 Left d3
|
||||
c2 Right d4
|
||||
cx Down dx
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
c1 -4.0
|
||||
c2 9.0
|
||||
cx -3.99
|
||||
d1 -3.0
|
||||
d2 -9.0
|
||||
d3 10.0
|
||||
d4 6.0
|
||||
dx -3.99
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/2-2b-vary-depth.test.
|
||||
action: "Left"
|
||||
generated: "a b1 b2 c1 c2 cx d1 d2 d3 dx"
|
||||
@@ -0,0 +1,52 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "2"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
/ \ |
|
||||
-4 c1 c2 9 cx -3.99
|
||||
/ \ / \ |
|
||||
d1 d2 d3 d4 dx
|
||||
-3 -9 10 6 -3.99
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
|
||||
Note that the minimax value of b1 is -3, but the depth=1 limited value is -4.
|
||||
The values next to c1, c2, and cx are the values of the evaluation function, not
|
||||
necessarily the correct minimax backup.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "d1 d2 d3 d4 dx"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Left c1
|
||||
b1 Right c2
|
||||
b2 Down cx
|
||||
c1 Left d1
|
||||
c1 Right d2
|
||||
c2 Left d3
|
||||
c2 Right d4
|
||||
cx Down dx
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
c1 -4.0
|
||||
c2 9.0
|
||||
cx -3.99
|
||||
d1 -3.0
|
||||
d2 -9.0
|
||||
d3 10.0
|
||||
d4 6.0
|
||||
dx -3.99
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/2-3a-vary-depth.test.
|
||||
action: "Left"
|
||||
generated: "a b1 b2 c3 c4 cx"
|
||||
@@ -0,0 +1,52 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "1"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
| / \
|
||||
5.01 cx 8 c3 c4 5
|
||||
| / \ / \
|
||||
dx d5 d6 d7 d8
|
||||
5.01 4 -7 0 5
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
|
||||
Note that the minimax value of b1 is 4, but the depth=1 limited value is 5.
|
||||
The values next to c3, c4, and cx are the values of the evaluation function, not
|
||||
necessarily the correct minimax backup.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "d1 d2 d3 d4 d5 d6 d7 d8 dx"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Down cx
|
||||
b2 Left c3
|
||||
b2 Right c4
|
||||
c3 Left d5
|
||||
c3 Right d6
|
||||
c4 Left d7
|
||||
c4 Right d8
|
||||
cx Down dx
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
c3 8.0
|
||||
c4 5.0
|
||||
cx 5.01
|
||||
d5 4.0
|
||||
d6 -7.0
|
||||
d7 0.0
|
||||
d8 5.0
|
||||
dx 5.01
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/2-3b-vary-depth.test.
|
||||
action: "Left"
|
||||
generated: "a b1 b2 c3 cx d5 d6 dx"
|
||||
@@ -0,0 +1,52 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "2"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
| / \
|
||||
5.01 cx 8 c3 c4 5
|
||||
| / \ / \
|
||||
dx d5 d6 d7 d8
|
||||
5.01 4 -7 0 5
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
|
||||
Note that the minimax value of b1 is 4, but the depth=1 limited value is 5.
|
||||
The values next to c3, c4, and cx are the values of the evaluation function, not
|
||||
necessarily the correct minimax backup.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "d1 d2 d3 d4 d5 d6 d7 d8 dx"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Down cx
|
||||
b2 Left c3
|
||||
b2 Right c4
|
||||
c3 Left d5
|
||||
c3 Right d6
|
||||
c4 Left d7
|
||||
c4 Right d8
|
||||
cx Down dx
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
c3 8.0
|
||||
c4 5.0
|
||||
cx 5.01
|
||||
d5 4.0
|
||||
d6 -7.0
|
||||
d7 0.0
|
||||
d8 5.0
|
||||
dx 5.01
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/2-4a-vary-depth.test.
|
||||
action: "Right"
|
||||
generated: "a b1 b2 c3 c4 cx"
|
||||
@@ -0,0 +1,52 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "1"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
| / \
|
||||
4.99 cx 8 c3 c4 5
|
||||
| / \ / \
|
||||
dx d5 d6 d7 d8
|
||||
4.99 4 -7 0 5
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
|
||||
Note that the minimax value of b1 is 4, but the depth=1 limited value is 5.
|
||||
The values next to c3, c4, and cx are the values of the evaluation function, not
|
||||
necessarily the correct minimax backup.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "d1 d2 d3 d4 d5 d6 d7 d8 dx"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Down cx
|
||||
b2 Left c3
|
||||
b2 Right c4
|
||||
c3 Left d5
|
||||
c3 Right d6
|
||||
c4 Left d7
|
||||
c4 Right d8
|
||||
cx Down dx
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
c3 8.0
|
||||
c4 5.0
|
||||
cx 4.99
|
||||
d5 4.0
|
||||
d6 -7.0
|
||||
d7 0.0
|
||||
d8 5.0
|
||||
dx 4.99
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/2-4b-vary-depth.test.
|
||||
action: "Left"
|
||||
generated: "a b1 b2 c3 cx d5 d6 dx"
|
||||
@@ -0,0 +1,52 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "2"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
| / \
|
||||
4.99 cx 8 c3 c4 5
|
||||
| / \ / \
|
||||
dx d5 d6 d7 d8
|
||||
4.99 4 -7 0 5
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
|
||||
Note that the minimax value of b1 is 4, but the depth=1 limited value is 5.
|
||||
The values next to c3, c4, and cx are the values of the evaluation function, not
|
||||
necessarily the correct minimax backup.
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "d1 d2 d3 d4 d5 d6 d7 d8 dx"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Down cx
|
||||
b2 Left c3
|
||||
b2 Right c4
|
||||
c3 Left d5
|
||||
c3 Right d6
|
||||
c4 Left d7
|
||||
c4 Right d8
|
||||
cx Down dx
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
c3 8.0
|
||||
c4 5.0
|
||||
cx 4.99
|
||||
d5 4.0
|
||||
d6 -7.0
|
||||
d7 0.0
|
||||
d8 5.0
|
||||
dx 4.99
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/2-one-ghost-3level.test.
|
||||
action: "Left"
|
||||
generated: "a b1 b2 c1 c2 c3 d1 d2 d3 d5 d6"
|
||||
@@ -0,0 +1,52 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "3"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
/ \ / \
|
||||
c1 c2 c3 c4
|
||||
/ \ / \ / \ / \
|
||||
d1 d2 d3 d4 d5 d6 d7 d8
|
||||
3 9 10 6 4 7 0 5
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "d1 d2 d3 d4 d5 d6 d7 d8"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Left c1
|
||||
b1 Right c2
|
||||
b2 Left c3
|
||||
b2 Right c4
|
||||
c1 Left d1
|
||||
c1 Right d2
|
||||
c2 Left d3
|
||||
c2 Right d4
|
||||
c3 Left d5
|
||||
c3 Right d6
|
||||
c4 Left d7
|
||||
c4 Right d8
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
d1 3.0
|
||||
d2 9.0
|
||||
d3 10.0
|
||||
d4 6.0
|
||||
d5 4.0
|
||||
d6 7.0
|
||||
d7 0.0
|
||||
d8 5.0
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/3-one-ghost-4level.test.
|
||||
action: "Left"
|
||||
generated: "A B C D E F I K a b1 b2 c1 c2 c3 d1 d2 d3 d5 d6"
|
||||
@@ -0,0 +1,79 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "4"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
/ \ / \
|
||||
c1 c2 c3 c4
|
||||
/ \ / \ / \ / \
|
||||
d1 d2 d3 d4 d5 d6 d7 d8
|
||||
/ \ / \ / \ / \ / \ / \ / \ / \
|
||||
A B C D E F G H I J K L M N O P
|
||||
3 13 5 9 10 11 6 8 1 0 4 7 12 15 2 14
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
d - min
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "A B C D E F G H I J K L M N O P"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Left c1
|
||||
b1 Right c2
|
||||
b2 Left c3
|
||||
b2 Right c4
|
||||
c1 Left d1
|
||||
c1 Right d2
|
||||
c2 Left d3
|
||||
c2 Right d4
|
||||
c3 Left d5
|
||||
c3 Right d6
|
||||
c4 Left d7
|
||||
c4 Right d8
|
||||
d1 Left A
|
||||
d1 Right B
|
||||
d2 Left C
|
||||
d2 Right D
|
||||
d3 Left E
|
||||
d3 Right F
|
||||
d4 Left G
|
||||
d4 Right H
|
||||
d5 Left I
|
||||
d5 Right J
|
||||
d6 Left K
|
||||
d6 Right L
|
||||
d7 Left M
|
||||
d7 Right N
|
||||
d8 Left O
|
||||
d8 Right P
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
A 3.0
|
||||
B 13.0
|
||||
C 5.0
|
||||
D 9.0
|
||||
E 10.0
|
||||
F 11.0
|
||||
G 6.0
|
||||
H 8.0
|
||||
I 1.0
|
||||
J 0.0
|
||||
K 4.0
|
||||
L 7.0
|
||||
M 12.0
|
||||
N 15.0
|
||||
O 2.0
|
||||
P 14.0
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/4-two-ghosts-3level.test.
|
||||
action: "Left"
|
||||
generated: "a b1 b2 c1 c2 c3 c4 d1 d2 d3 d4 d5 d6 d7"
|
||||
@@ -0,0 +1,52 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "3"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
/ \ / \
|
||||
c1 c2 c3 c4
|
||||
/ \ / \ / \ / \
|
||||
d1 d2 d3 d4 d5 d6 d7 d8
|
||||
3 9 10 6 4 7 0 5
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - min
|
||||
"""
|
||||
num_agents: "3"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "d1 d2 d3 d4 d5 d6 d7 d8"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Left c1
|
||||
b1 Right c2
|
||||
b2 Left c3
|
||||
b2 Right c4
|
||||
c1 Left d1
|
||||
c1 Right d2
|
||||
c2 Left d3
|
||||
c2 Right d4
|
||||
c3 Left d5
|
||||
c3 Right d6
|
||||
c4 Left d7
|
||||
c4 Right d8
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
d1 3.0
|
||||
d2 9.0
|
||||
d3 10.0
|
||||
d4 6.0
|
||||
d5 4.0
|
||||
d6 7.0
|
||||
d7 0.0
|
||||
d8 5.0
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/5-two-ghosts-4level.test.
|
||||
action: "Left"
|
||||
generated: "A B C D E G H I J a b1 b2 c1 c2 c3 d1 d2 d3 d4 d5"
|
||||
@@ -0,0 +1,79 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "4"
|
||||
|
||||
diagram: """
|
||||
/-----a------\
|
||||
/ \
|
||||
/ \
|
||||
b1 b2
|
||||
/ \ / \
|
||||
c1 c2 c3 c4
|
||||
/ \ / \ / \ / \
|
||||
d1 d2 d3 d4 d5 d6 d7 d8
|
||||
/ \ / \ / \ / \ / \ / \ / \ / \
|
||||
A B C D E F G H I J K L M N O P
|
||||
3 13 5 9 10 11 6 8 1 0 4 7 12 15 2 14
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - min
|
||||
d - max
|
||||
"""
|
||||
num_agents: "3"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "A B C D E F G H I J K L M N O P"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Right b2
|
||||
b1 Left c1
|
||||
b1 Right c2
|
||||
b2 Left c3
|
||||
b2 Right c4
|
||||
c1 Left d1
|
||||
c1 Right d2
|
||||
c2 Left d3
|
||||
c2 Right d4
|
||||
c3 Left d5
|
||||
c3 Right d6
|
||||
c4 Left d7
|
||||
c4 Right d8
|
||||
d1 Left A
|
||||
d1 Right B
|
||||
d2 Left C
|
||||
d2 Right D
|
||||
d3 Left E
|
||||
d3 Right F
|
||||
d4 Left G
|
||||
d4 Right H
|
||||
d5 Left I
|
||||
d5 Right J
|
||||
d6 Left K
|
||||
d6 Right L
|
||||
d7 Left M
|
||||
d7 Right N
|
||||
d8 Left O
|
||||
d8 Right P
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
A 3.0
|
||||
B 13.0
|
||||
C 5.0
|
||||
D 9.0
|
||||
E 10.0
|
||||
F 11.0
|
||||
G 6.0
|
||||
H 8.0
|
||||
I 1.0
|
||||
J 0.0
|
||||
K 4.0
|
||||
L 7.0
|
||||
M 12.0
|
||||
N 15.0
|
||||
O 2.0
|
||||
P 14.0
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/6-tied-root.test.
|
||||
action: "Left"
|
||||
generated: "A B C max min1 min2"
|
||||
@@ -0,0 +1,31 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "3"
|
||||
|
||||
diagram: """
|
||||
max
|
||||
/ \
|
||||
min1 min2
|
||||
| / \
|
||||
A B C
|
||||
10 10 0
|
||||
"""
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "max"
|
||||
win_states: "A B"
|
||||
lose_states: "C"
|
||||
|
||||
successors: """
|
||||
max Left min1
|
||||
max Right min2
|
||||
min1 Down A
|
||||
min2 Left B
|
||||
min2 Right C
|
||||
"""
|
||||
|
||||
evaluation: """
|
||||
A 10.0
|
||||
B 10.0
|
||||
C 0.0
|
||||
"""
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/7-1a-check-depth-one-ghost.test.
|
||||
action: "Left"
|
||||
generated: "a b1 b2 b3 c1 c2 c3"
|
||||
@@ -0,0 +1,83 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "1"
|
||||
|
||||
diagram: """
|
||||
a
|
||||
/-/ | \--\
|
||||
/ | \
|
||||
0 b1 0 b2 b3 8
|
||||
| | |
|
||||
10 c1 0 c2 c3 8
|
||||
| | |
|
||||
0 d1 0 d2 d3 8
|
||||
| | |
|
||||
0 e1 10 e2 e3 8
|
||||
| | |
|
||||
0 f1 0 f2 f3 8
|
||||
| | |
|
||||
g1 g2 g3
|
||||
0 0 8
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
d - min
|
||||
e - max
|
||||
f - min
|
||||
|
||||
At depth 1, the evaluation function is called at level c,
|
||||
so Left should be returned. If your algorithm is returning a
|
||||
different action, check how you implemented your depth.
|
||||
"""
|
||||
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "g1 g2 g3"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Center b2
|
||||
a Right b3
|
||||
b1 Center c1
|
||||
b2 Center c2
|
||||
b3 Center c3
|
||||
c1 Center d1
|
||||
c2 Center d2
|
||||
c3 Center d3
|
||||
d1 Center e1
|
||||
d2 Center e2
|
||||
d3 Center e3
|
||||
e1 Center f1
|
||||
e2 Center f2
|
||||
e3 Center f3
|
||||
f1 Center g1
|
||||
f2 Center g2
|
||||
f3 Center g3
|
||||
"""
|
||||
|
||||
|
||||
evaluation: """
|
||||
b1 0.0
|
||||
b2 0.0
|
||||
b3 8.0
|
||||
c1 10.0
|
||||
c2 0.0
|
||||
c3 8.0
|
||||
d1 0.0
|
||||
d2 0.0
|
||||
d3 8.0
|
||||
e1 0.0
|
||||
e2 10.0
|
||||
e3 8.0
|
||||
f1 0.0
|
||||
f2 0.0
|
||||
f3 8.0
|
||||
g1 0.0
|
||||
g2 0.0
|
||||
g3 8.0
|
||||
"""
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/7-1b-check-depth-one-ghost.test.
|
||||
action: "Center"
|
||||
generated: "a b1 b2 b3 c1 c2 c3 d1 d2 d3 e1 e2 e3"
|
||||
@@ -0,0 +1,83 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "2"
|
||||
|
||||
diagram: """
|
||||
a
|
||||
/-/ | \--\
|
||||
/ | \
|
||||
0 b1 0 b2 b3 8
|
||||
| | |
|
||||
10 c1 0 c2 c3 8
|
||||
| | |
|
||||
0 d1 0 d2 d3 8
|
||||
| | |
|
||||
0 e1 10 e2 e3 8
|
||||
| | |
|
||||
0 f1 0 f2 f3 8
|
||||
| | |
|
||||
g1 g2 g3
|
||||
0 0 8
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
d - min
|
||||
e - max
|
||||
f - min
|
||||
|
||||
At depth 2, the evaluation function is called at level e,
|
||||
so Center should be returned. If your algorithm is returning a
|
||||
different action, check how you implemented your depth.
|
||||
"""
|
||||
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "g1 g2 g3"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Center b2
|
||||
a Right b3
|
||||
b1 Center c1
|
||||
b2 Center c2
|
||||
b3 Center c3
|
||||
c1 Center d1
|
||||
c2 Center d2
|
||||
c3 Center d3
|
||||
d1 Center e1
|
||||
d2 Center e2
|
||||
d3 Center e3
|
||||
e1 Center f1
|
||||
e2 Center f2
|
||||
e3 Center f3
|
||||
f1 Center g1
|
||||
f2 Center g2
|
||||
f3 Center g3
|
||||
"""
|
||||
|
||||
|
||||
evaluation: """
|
||||
b1 0.0
|
||||
b2 0.0
|
||||
b3 8.0
|
||||
c1 10.0
|
||||
c2 0.0
|
||||
c3 8.0
|
||||
d1 0.0
|
||||
d2 0.0
|
||||
d3 8.0
|
||||
e1 0.0
|
||||
e2 10.0
|
||||
e3 8.0
|
||||
f1 0.0
|
||||
f2 0.0
|
||||
f3 8.0
|
||||
g1 0.0
|
||||
g2 0.0
|
||||
g3 8.0
|
||||
"""
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/7-1c-check-depth-one-ghost.test.
|
||||
action: "Right"
|
||||
generated: "a b1 b2 b3 c1 c2 c3 d1 d2 d3 e1 e2 e3 f1 f2 f3 g1 g2 g3"
|
||||
@@ -0,0 +1,83 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "3"
|
||||
|
||||
diagram: """
|
||||
a
|
||||
/-/ | \--\
|
||||
/ | \
|
||||
0 b1 0 b2 b3 8
|
||||
| | |
|
||||
10 c1 0 c2 c3 8
|
||||
| | |
|
||||
0 d1 0 d2 d3 8
|
||||
| | |
|
||||
0 e1 10 e2 e3 8
|
||||
| | |
|
||||
0 f1 0 f2 f3 8
|
||||
| | |
|
||||
g1 g2 g3
|
||||
0 0 8
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - max
|
||||
d - min
|
||||
e - max
|
||||
f - min
|
||||
|
||||
At depth 3, the evaluation function is called at level g,
|
||||
so Right should be returned. If your algorithm is returning a
|
||||
different action, check how you implemented your depth.
|
||||
"""
|
||||
|
||||
num_agents: "2"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "g1 g2 g3"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Center b2
|
||||
a Right b3
|
||||
b1 Center c1
|
||||
b2 Center c2
|
||||
b3 Center c3
|
||||
c1 Center d1
|
||||
c2 Center d2
|
||||
c3 Center d3
|
||||
d1 Center e1
|
||||
d2 Center e2
|
||||
d3 Center e3
|
||||
e1 Center f1
|
||||
e2 Center f2
|
||||
e3 Center f3
|
||||
f1 Center g1
|
||||
f2 Center g2
|
||||
f3 Center g3
|
||||
"""
|
||||
|
||||
|
||||
evaluation: """
|
||||
b1 0.0
|
||||
b2 0.0
|
||||
b3 8.0
|
||||
c1 10.0
|
||||
c2 0.0
|
||||
c3 8.0
|
||||
d1 0.0
|
||||
d2 0.0
|
||||
d3 8.0
|
||||
e1 0.0
|
||||
e2 10.0
|
||||
e3 8.0
|
||||
f1 0.0
|
||||
f2 0.0
|
||||
f3 8.0
|
||||
g1 0.0
|
||||
g2 0.0
|
||||
g3 8.0
|
||||
"""
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/7-2a-check-depth-two-ghosts.test.
|
||||
action: "Left"
|
||||
generated: "a b1 b2 b3 c1 c2 c3 d1 d2 d3"
|
||||
@@ -0,0 +1,110 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "1"
|
||||
|
||||
diagram: """
|
||||
a
|
||||
/-/ | \--\
|
||||
/ | \
|
||||
0 b1 0 b2 b3 8
|
||||
| | |
|
||||
0 c1 0 c2 c3 8
|
||||
| | |
|
||||
10 d1 0 d2 d3 8
|
||||
| | |
|
||||
0 e1 0 e2 e3 8
|
||||
| | |
|
||||
0 f1 0 f2 f3 8
|
||||
| | |
|
||||
0 g1 10 g2 g3 8
|
||||
| | |
|
||||
0 h1 0 h2 h3 8
|
||||
| | |
|
||||
0 i1 0 i2 i3 8
|
||||
| | |
|
||||
j1 j2 j3
|
||||
0 0 8
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - min
|
||||
d - max
|
||||
e - min
|
||||
f - min
|
||||
g - max
|
||||
h - min
|
||||
i - min
|
||||
|
||||
At depth 1, the evaluation function is called at level d,
|
||||
so Left should be returned. If your algorithm is returning a
|
||||
different action, check how you implemented your depth.
|
||||
"""
|
||||
|
||||
num_agents: "3"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "j1 j2 j3"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Center b2
|
||||
a Right b3
|
||||
b1 Center c1
|
||||
b2 Center c2
|
||||
b3 Center c3
|
||||
c1 Center d1
|
||||
c2 Center d2
|
||||
c3 Center d3
|
||||
d1 Center e1
|
||||
d2 Center e2
|
||||
d3 Center e3
|
||||
e1 Center f1
|
||||
e2 Center f2
|
||||
e3 Center f3
|
||||
f1 Center g1
|
||||
f2 Center g2
|
||||
f3 Center g3
|
||||
g1 Center h1
|
||||
g2 Center h2
|
||||
g3 Center h3
|
||||
h1 Center i1
|
||||
h2 Center i2
|
||||
h3 Center i3
|
||||
i1 Center j1
|
||||
i2 Center j2
|
||||
i3 Center j3
|
||||
"""
|
||||
|
||||
|
||||
evaluation: """
|
||||
b1 0.0
|
||||
b2 0.0
|
||||
b3 8.0
|
||||
c1 0.0
|
||||
c2 0.0
|
||||
c3 8.0
|
||||
d1 10.0
|
||||
d2 0.0
|
||||
d3 8.0
|
||||
e1 0.0
|
||||
e2 0.0
|
||||
e3 8.0
|
||||
f1 0.0
|
||||
f2 0.0
|
||||
f3 8.0
|
||||
g1 0.0
|
||||
g2 10.0
|
||||
g3 8.0
|
||||
h1 0.0
|
||||
h2 0.0
|
||||
h3 8.0
|
||||
i1 0.0
|
||||
i2 0.0
|
||||
i3 8.0
|
||||
j1 0.0
|
||||
j2 0.0
|
||||
j3 8.0
|
||||
"""
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/7-2b-check-depth-two-ghosts.test.
|
||||
action: "Center"
|
||||
generated: "a b1 b2 b3 c1 c2 c3 d1 d2 d3 e1 e2 e3 f1 f2 f3 g1 g2 g3"
|
||||
@@ -0,0 +1,110 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "2"
|
||||
|
||||
diagram: """
|
||||
a
|
||||
/-/ | \--\
|
||||
/ | \
|
||||
0 b1 0 b2 b3 8
|
||||
| | |
|
||||
0 c1 0 c2 c3 8
|
||||
| | |
|
||||
10 d1 0 d2 d3 8
|
||||
| | |
|
||||
0 e1 0 e2 e3 8
|
||||
| | |
|
||||
0 f1 0 f2 f3 8
|
||||
| | |
|
||||
0 g1 10 g2 g3 8
|
||||
| | |
|
||||
0 h1 0 h2 h3 8
|
||||
| | |
|
||||
0 i1 0 i2 i3 8
|
||||
| | |
|
||||
j1 j2 j3
|
||||
0 0 8
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - min
|
||||
d - max
|
||||
e - min
|
||||
f - min
|
||||
g - max
|
||||
h - min
|
||||
i - min
|
||||
|
||||
At depth 2, the evaluation function is called at level g,
|
||||
so Center should be returned. If your algorithm is returning
|
||||
a different action, check how you implemented your depth.
|
||||
"""
|
||||
|
||||
num_agents: "3"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "j1 j2 j3"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Center b2
|
||||
a Right b3
|
||||
b1 Center c1
|
||||
b2 Center c2
|
||||
b3 Center c3
|
||||
c1 Center d1
|
||||
c2 Center d2
|
||||
c3 Center d3
|
||||
d1 Center e1
|
||||
d2 Center e2
|
||||
d3 Center e3
|
||||
e1 Center f1
|
||||
e2 Center f2
|
||||
e3 Center f3
|
||||
f1 Center g1
|
||||
f2 Center g2
|
||||
f3 Center g3
|
||||
g1 Center h1
|
||||
g2 Center h2
|
||||
g3 Center h3
|
||||
h1 Center i1
|
||||
h2 Center i2
|
||||
h3 Center i3
|
||||
i1 Center j1
|
||||
i2 Center j2
|
||||
i3 Center j3
|
||||
"""
|
||||
|
||||
|
||||
evaluation: """
|
||||
b1 0.0
|
||||
b2 0.0
|
||||
b3 8.0
|
||||
c1 0.0
|
||||
c2 0.0
|
||||
c3 8.0
|
||||
d1 10.0
|
||||
d2 0.0
|
||||
d3 8.0
|
||||
e1 0.0
|
||||
e2 0.0
|
||||
e3 8.0
|
||||
f1 0.0
|
||||
f2 0.0
|
||||
f3 8.0
|
||||
g1 0.0
|
||||
g2 10.0
|
||||
g3 8.0
|
||||
h1 0.0
|
||||
h2 0.0
|
||||
h3 8.0
|
||||
i1 0.0
|
||||
i2 0.0
|
||||
i3 8.0
|
||||
j1 0.0
|
||||
j2 0.0
|
||||
j3 8.0
|
||||
"""
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# This is the solution file for test_cases/q3/7-2c-check-depth-two-ghosts.test.
|
||||
action: "Right"
|
||||
generated: "a b1 b2 b3 c1 c2 c3 d1 d2 d3 e1 e2 e3 f1 f2 f3 g1 g2 g3 h1 h2 h3 i1 i2 i3 j1 j2 j3"
|
||||
@@ -0,0 +1,110 @@
|
||||
class: "GraphGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
depth: "3"
|
||||
|
||||
diagram: """
|
||||
a
|
||||
/-/ | \--\
|
||||
/ | \
|
||||
0 b1 0 b2 b3 8
|
||||
| | |
|
||||
0 c1 0 c2 c3 8
|
||||
| | |
|
||||
10 d1 0 d2 d3 8
|
||||
| | |
|
||||
0 e1 0 e2 e3 8
|
||||
| | |
|
||||
0 f1 0 f2 f3 8
|
||||
| | |
|
||||
0 g1 10 g2 g3 8
|
||||
| | |
|
||||
0 h1 0 h2 h3 8
|
||||
| | |
|
||||
0 i1 0 i2 i3 8
|
||||
| | |
|
||||
j1 j2 j3
|
||||
0 0 8
|
||||
|
||||
a - max
|
||||
b - min
|
||||
c - min
|
||||
d - max
|
||||
e - min
|
||||
f - min
|
||||
g - max
|
||||
h - min
|
||||
i - min
|
||||
|
||||
At depth 3, the evaluation function is called at level j,
|
||||
so Right should be returned. If your algorithm is returning
|
||||
a different action, check how you implemented your depth.
|
||||
"""
|
||||
|
||||
num_agents: "3"
|
||||
|
||||
start_state: "a"
|
||||
win_states: "j1 j2 j3"
|
||||
lose_states: ""
|
||||
|
||||
successors: """
|
||||
a Left b1
|
||||
a Center b2
|
||||
a Right b3
|
||||
b1 Center c1
|
||||
b2 Center c2
|
||||
b3 Center c3
|
||||
c1 Center d1
|
||||
c2 Center d2
|
||||
c3 Center d3
|
||||
d1 Center e1
|
||||
d2 Center e2
|
||||
d3 Center e3
|
||||
e1 Center f1
|
||||
e2 Center f2
|
||||
e3 Center f3
|
||||
f1 Center g1
|
||||
f2 Center g2
|
||||
f3 Center g3
|
||||
g1 Center h1
|
||||
g2 Center h2
|
||||
g3 Center h3
|
||||
h1 Center i1
|
||||
h2 Center i2
|
||||
h3 Center i3
|
||||
i1 Center j1
|
||||
i2 Center j2
|
||||
i3 Center j3
|
||||
"""
|
||||
|
||||
|
||||
evaluation: """
|
||||
b1 0.0
|
||||
b2 0.0
|
||||
b3 8.0
|
||||
c1 0.0
|
||||
c2 0.0
|
||||
c3 8.0
|
||||
d1 10.0
|
||||
d2 0.0
|
||||
d3 8.0
|
||||
e1 0.0
|
||||
e2 0.0
|
||||
e3 8.0
|
||||
f1 0.0
|
||||
f2 0.0
|
||||
f3 8.0
|
||||
g1 0.0
|
||||
g2 10.0
|
||||
g3 8.0
|
||||
h1 0.0
|
||||
h2 0.0
|
||||
h3 8.0
|
||||
i1 0.0
|
||||
i2 0.0
|
||||
i3 8.0
|
||||
j1 0.0
|
||||
j2 0.0
|
||||
j3 8.0
|
||||
"""
|
||||
|
||||
|
||||
@@ -0,0 +1,444 @@
|
||||
optimalActions: """
|
||||
[[["West", "East"], 39], [["West", "East"], 27]]
|
||||
[[["West"], 75], [["West"], 57]]
|
||||
[[["West"], 95], [["West"], 77]]
|
||||
[[["West", "North"], 72], [["West", "North"], 54]]
|
||||
[[["West"], 51], [["West"], 39]]
|
||||
[[["West", "North"], 76], [["West", "North"], 58]]
|
||||
[[["West"], 69], [["West"], 51]]
|
||||
[[["West"], 34], [["West"], 23]]
|
||||
[[["North"], 55], [["North"], 41]]
|
||||
[[["North"], 63], [["North"], 32]]
|
||||
[[["North"], 87], [["North"], 43]]
|
||||
[[["North"], 69], [["North"], 34]]
|
||||
[[["Stop", "East"], 116], [["East"], 56]]
|
||||
[[["East"], 110], [["East"], 52]]
|
||||
[[["West"], 28], [["West"], 17]]
|
||||
[[["South"], 15], [["South"], 9]]
|
||||
[[["South"], 15], [["South"], 9]]
|
||||
[[["South"], 15], [["South"], 9]]
|
||||
[[["South"], 15], [["South"], 9]]
|
||||
[[["East"], 15], [["East"], 9]]
|
||||
[[["East"], 15], [["East"], 9]]
|
||||
[[["East"], 18], [["East"], 12]]
|
||||
[[["North"], 28], [["North"], 18]]
|
||||
[[["North"], 47], [["North"], 30]]
|
||||
[[["West"], 35], [["West"], 23]]
|
||||
[[["East"], 28], [["East"], 15]]
|
||||
[[["North"], 74], [["North"], 48]]
|
||||
[[["East", "North"], 130], [["East", "North"], 87]]
|
||||
[[["East", "North"], 213], [["East", "North"], 158]]
|
||||
[[["North", "South"], 101], [["North", "South"], 73]]
|
||||
[[["West"], 48], [["West"], 36]]
|
||||
[[["West"], 60], [["West"], 45]]
|
||||
[[["West", "Stop"], 49], [["West"], 36]]
|
||||
[[["West", "Stop", "East"], 69], [["West", "East"], 49]]
|
||||
[[["West", "Stop", "East"], 61], [["West", "East"], 41]]
|
||||
[[["Stop", "East", "South"], 55], [["East", "South"], 37]]
|
||||
[[["Stop", "East", "South"], 28], [["East", "South"], 19]]
|
||||
[[["Stop", "East", "South"], 34], [["East", "South"], 23]]
|
||||
[[["Stop", "East", "South"], 55], [["East", "South"], 37]]
|
||||
[[["Stop", "East", "South"], 55], [["East", "South"], 37]]
|
||||
[[["Stop", "East", "South"], 61], [["East", "South"], 41]]
|
||||
[[["Stop", "East", "South"], 81], [["East", "South"], 53]]
|
||||
[[["Stop", "East", "South"], 64], [["East", "South"], 43]]
|
||||
[[["Stop", "East", "South"], 61], [["East", "South"], 41]]
|
||||
[[["Stop", "East", "South"], 61], [["East", "South"], 41]]
|
||||
[[["Stop", "East", "South"], 81], [["East", "South"], 53]]
|
||||
[[["Stop", "East", "South"], 102], [["East", "South"], 67]]
|
||||
[[["Stop", "South"], 23], [["South"], 13]]
|
||||
[[["South"], 15], [["South"], 9]]
|
||||
[[["South"], 15], [["South"], 9]]
|
||||
[[["South"], 15], [["South"], 9]]
|
||||
[[["South"], 15], [["South"], 9]]
|
||||
[[["East"], 15], [["East"], 9]]
|
||||
[[["East"], 15], [["East"], 9]]
|
||||
[[["East"], 18], [["East"], 12]]
|
||||
[[["East", "North"], 28], [["East", "North"], 18]]
|
||||
[[["East"], 35], [["East"], 22]]
|
||||
[[["North"], 28], [["North"], 18]]
|
||||
[[["North"], 38], [["North"], 22]]
|
||||
[[["East"], 30], [["East"], 20]]
|
||||
[[["East"], 33], [["East"], 18]]
|
||||
[[["East"], 18], [["East"], 12]]
|
||||
[[["East"], 33], [["East"], 23]]
|
||||
[[["East"], 48], [["East"], 29]]
|
||||
[[["East"], 49], [["East"], 26]]
|
||||
[[["East"], 44], [["East"], 29]]
|
||||
[[["North", "South"], 75], [["North", "South"], 52]]
|
||||
[[["East", "North"], 113], [["East", "North"], 74]]
|
||||
[[["East", "North"], 89], [["East", "North"], 65]]
|
||||
[[["North", "South"], 173], [["North", "South"], 130]]
|
||||
[[["West", "East"], 54], [["West", "East"], 42]]
|
||||
[[["West", "Stop", "East"], 130], [["West", "East"], 87]]
|
||||
[[["Stop", "East", "South"], 58], [["East", "South"], 43]]
|
||||
[[["Stop", "East"], 110], [["South"], 82]]
|
||||
[[["East"], 71], [["East"], 45]]
|
||||
[[["West"], 66], [["West"], 42]]
|
||||
[[["South"], 70], [["South"], 48]]
|
||||
[[["South"], 48], [["South"], 37]]
|
||||
[[["South"], 179], [["South"], 104]]
|
||||
[[["South"], 68], [["South"], 41]]
|
||||
[[["West"], 25], [["West"], 18]]
|
||||
[[["West"], 41], [["West"], 29]]
|
||||
[[["West"], 14], [["West"], 10]]
|
||||
[[["West"], 20], [["West"], 14]]
|
||||
[[["West"], 13], [["West"], 9]]
|
||||
[[["West"], 13], [["West"], 9]]
|
||||
[[["West"], 16], [["West"], 12]]
|
||||
[[["West", "North"], 28], [["West", "North"], 20]]
|
||||
[[["West"], 30], [["West"], 23]]
|
||||
[[["West", "Stop", "East", "North"], 66], [["West", "East", "North"], 46]]
|
||||
[[["West", "Stop", "East"], 126], [["West", "East"], 89]]
|
||||
[[["West", "Stop", "East"], 30], [["West", "East"], 20]]
|
||||
[[["Stop", "East", "North"], 67], [["East", "North"], 45]]
|
||||
[[["Stop", "North"], 52], [["North"], 27]]
|
||||
[[["North"], 30], [["North"], 19]]
|
||||
[[["North"], 28], [["North"], 17]]
|
||||
[[["North"], 17], [["North"], 11]]
|
||||
[[["North"], 30], [["North"], 19]]
|
||||
[[["East"], 28], [["East"], 17]]
|
||||
[[["East"], 17], [["East"], 11]]
|
||||
[[["East"], 40], [["East"], 29]]
|
||||
[[["East", "South"], 79], [["East", "South"], 60]]
|
||||
[[["East", "South"], 90], [["East", "South"], 62]]
|
||||
[[["South"], 96], [["South"], 61]]
|
||||
[[["North", "South"], 195], [["North", "South"], 132]]
|
||||
[[["West"], 80], [["West"], 60]]
|
||||
[[["West", "Stop", "East", "South"], 83], [["West", "East", "South"], 61]]
|
||||
[[["West", "Stop", "East", "South"], 90], [["West", "East", "South"], 66]]
|
||||
[[["West", "Stop", "East"], 134], [["West", "East"], 95]]
|
||||
[[["West", "Stop", "East"], 82], [["West", "East"], 55]]
|
||||
[[["Stop", "East", "South"], 142], [["East", "South"], 95]]
|
||||
[[["Stop", "East", "South"], 95], [["East", "South"], 62]]
|
||||
[[["Stop", "East", "South"], 128], [["East", "South"], 86]]
|
||||
[[["Stop", "East", "South"], 82], [["East", "South"], 55]]
|
||||
[[["Stop", "East", "South"], 85], [["East", "South"], 57]]
|
||||
[[["Stop", "East", "South"], 182], [["East", "South"], 119]]
|
||||
[[["Stop", "East", "South"], 154], [["East", "South"], 103]]
|
||||
[[["Stop", "South"], 46], [["South"], 25]]
|
||||
[[["South"], 28], [["South"], 17]]
|
||||
[[["South"], 15], [["South"], 9]]
|
||||
[[["South"], 15], [["South"], 9]]
|
||||
[[["South"], 15], [["South"], 9]]
|
||||
[[["East"], 15], [["East"], 9]]
|
||||
[[["East"], 15], [["East"], 9]]
|
||||
[[["East"], 18], [["East"], 12]]
|
||||
[[["East", "North"], 28], [["East", "North"], 18]]
|
||||
[[["East"], 37], [["East"], 22]]
|
||||
[[["East", "North"], 34], [["East", "North"], 24]]
|
||||
[[["East"], 56], [["East"], 29]]
|
||||
[[["East"], 17], [["East"], 11]]
|
||||
[[["East"], 26], [["East"], 15]]
|
||||
[[["East"], 15], [["East"], 9]]
|
||||
[[["East"], 15], [["East"], 9]]
|
||||
[[["East"], 18], [["East"], 12]]
|
||||
[[["East"], 27], [["East"], 17]]
|
||||
[[["East"], 37], [["East"], 22]]
|
||||
[[["East", "North"], 37], [["East", "North"], 24]]
|
||||
[[["East"], 56], [["East"], 29]]
|
||||
[[["East"], 19], [["East"], 11]]
|
||||
[[["North"], 26], [["North"], 15]]
|
||||
[[["North"], 19], [["North"], 11]]
|
||||
[[["North"], 30], [["North"], 17]]
|
||||
[[["North"], 30], [["North"], 19]]
|
||||
[[["West"], 28], [["West"], 19]]
|
||||
[[["West"], 23], [["West"], 13]]
|
||||
[[["West", "Stop", "East"], 7], [["West", "East"], 3]]
|
||||
"""
|
||||
altDepthActions: """
|
||||
[["West", "East"], ["West", "East"], ["West", "East"], ["West", "East"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West", "North"], ["West", "North"], ["West", "North"], ["West", "North"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West", "North"], ["West", "North"], ["West", "North"], ["West", "North"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["North"], ["North"], ["Stop", "North"], ["North"]]
|
||||
[["East"], ["East"], ["Stop", "East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["North"], ["North"], ["West"], ["West"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["East", "North"], ["East", "North"], ["East", "North"], ["East", "North"]]
|
||||
[["East", "North"], ["East", "North"], ["East", "North"], ["East", "North"]]
|
||||
[["North", "South"], ["North", "South"], ["North"], ["North"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West"], ["West"], ["West", "Stop"], ["West"]]
|
||||
[["West"], ["West"], ["West", "Stop", "East", "South"], ["West", "East", "South"]]
|
||||
[["West", "Stop", "East"], ["West", "East"], ["West", "Stop", "East"], ["West", "East"]]
|
||||
[["West", "Stop", "East"], ["West", "East"], ["West", "Stop", "East"], ["West", "East"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "South"], ["South"], ["Stop", "South"], ["South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East", "North"], ["East", "North"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["North", "South"], ["North", "South"], ["South"], ["South"]]
|
||||
[["East", "North"], ["East", "North"], ["East", "North"], ["East", "North"]]
|
||||
[["East", "North"], ["East", "North"], ["East", "North"], ["East", "North"]]
|
||||
[["North", "South"], ["North", "South"], ["North"], ["North"]]
|
||||
[["West", "East"], ["West", "East"], ["East"], ["East"]]
|
||||
[["West"], ["West"], ["East"], ["East"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["East"], ["East"]]
|
||||
[["Stop", "East"], ["East"], ["Stop", "East"], ["South"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["West", "East"], ["West", "East"], ["West"], ["West"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West", "North"], ["West", "North"], ["West", "North"], ["West", "North"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West", "Stop", "East", "North"], ["West", "East", "North"], ["West", "Stop", "East", "North"], ["West", "East", "North"]]
|
||||
[["West", "Stop", "East"], ["West", "East"], ["West", "Stop", "East"], ["West", "East"]]
|
||||
[["West", "Stop", "East"], ["West", "East"], ["West", "Stop", "East"], ["West", "East"]]
|
||||
[["Stop", "East", "North"], ["East", "North"], ["Stop", "East", "North"], ["East", "North"]]
|
||||
[["Stop", "North"], ["North"], ["Stop", "North"], ["North"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East", "South"], ["East", "South"], ["East", "South"], ["East", "South"]]
|
||||
[["East", "South"], ["East", "South"], ["East", "South"], ["East", "South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["North", "South"], ["North", "South"], ["North", "South"], ["North", "South"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West", "Stop", "East", "South"], ["West", "East", "South"], ["West", "Stop", "East", "South"], ["West", "East", "South"]]
|
||||
[["West", "Stop", "East", "South"], ["West", "East", "South"], ["West", "Stop", "East", "South"], ["West", "East", "South"]]
|
||||
[["West", "Stop", "East"], ["West", "East"], ["West", "Stop", "East"], ["West", "East"]]
|
||||
[["West", "Stop", "East"], ["West", "East"], ["West", "Stop", "East"], ["West", "East"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"], ["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "South"], ["South"], ["Stop", "South"], ["South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["South"], ["South"], ["South"], ["South"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East", "North"], ["East", "North"], ["East", "North"], ["East", "North"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East", "North"], ["East", "North"], ["East", "North"], ["East", "North"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East", "North"], ["East", "North"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["East"], ["East"], ["East"], ["East"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["North"], ["North"], ["North"], ["North"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West"], ["West"], ["West"], ["West"]]
|
||||
[["West", "Stop", "East"], ["West", "East"], ["West", "Stop", "East"], ["West", "East"]]
|
||||
"""
|
||||
partialPlyBugActions: """
|
||||
[["West", "East"], ["West", "East"]]
|
||||
[["West"], ["West"]]
|
||||
[["West"], ["West"]]
|
||||
[["West", "North"], ["West", "North"]]
|
||||
[["West"], ["West"]]
|
||||
[["West", "North"], ["West", "North"]]
|
||||
[["West"], ["West"]]
|
||||
[["West"], ["West"]]
|
||||
[["North"], ["North"]]
|
||||
[["North"], ["North"]]
|
||||
[["North"], ["North"]]
|
||||
[["North"], ["North"]]
|
||||
[["East"], ["East"]]
|
||||
[["Stop", "East"], ["East"]]
|
||||
[["West"], ["West"]]
|
||||
[["South"], ["South"]]
|
||||
[["South"], ["South"]]
|
||||
[["South"], ["South"]]
|
||||
[["South"], ["South"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["North"], ["North"]]
|
||||
[["North"], ["North"]]
|
||||
[["West"], ["West"]]
|
||||
[["East"], ["East"]]
|
||||
[["North"], ["North"]]
|
||||
[["East", "North"], ["East", "North"]]
|
||||
[["East", "North"], ["East", "North"]]
|
||||
[["North", "South"], ["North", "South"]]
|
||||
[["West"], ["West"]]
|
||||
[["West"], ["West"]]
|
||||
[["West", "Stop"], ["West"]]
|
||||
[["West", "Stop", "East"], ["West", "East"]]
|
||||
[["West", "Stop", "East"], ["West", "East"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "South"], ["South"]]
|
||||
[["South"], ["South"]]
|
||||
[["South"], ["South"]]
|
||||
[["South"], ["South"]]
|
||||
[["South"], ["South"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East", "North"], ["East", "North"]]
|
||||
[["East"], ["East"]]
|
||||
[["North"], ["North"]]
|
||||
[["North"], ["North"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["North", "South"], ["North", "South"]]
|
||||
[["East", "North"], ["East", "North"]]
|
||||
[["East", "North"], ["East", "North"]]
|
||||
[["North", "South"], ["North", "South"]]
|
||||
[["West", "East"], ["West", "East"]]
|
||||
[["West", "Stop", "East"], ["West", "East"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["West"], ["West"]]
|
||||
[["South"], ["South"]]
|
||||
[["South"], ["South"]]
|
||||
[["South"], ["South"]]
|
||||
[["South"], ["South"]]
|
||||
[["West"], ["West"]]
|
||||
[["West"], ["West"]]
|
||||
[["West"], ["West"]]
|
||||
[["West"], ["West"]]
|
||||
[["West"], ["West"]]
|
||||
[["West"], ["West"]]
|
||||
[["West"], ["West"]]
|
||||
[["West", "North"], ["West", "North"]]
|
||||
[["West"], ["West"]]
|
||||
[["West", "Stop", "East", "North"], ["West", "East", "North"]]
|
||||
[["West", "Stop", "East"], ["West", "East"]]
|
||||
[["West", "Stop", "East"], ["West", "East"]]
|
||||
[["Stop", "East", "North"], ["East", "North"]]
|
||||
[["Stop", "North"], ["North"]]
|
||||
[["North"], ["North"]]
|
||||
[["North"], ["North"]]
|
||||
[["North"], ["North"]]
|
||||
[["North"], ["North"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East", "South"], ["East", "South"]]
|
||||
[["East", "South"], ["East", "South"]]
|
||||
[["South"], ["South"]]
|
||||
[["North", "South"], ["North", "South"]]
|
||||
[["West"], ["West"]]
|
||||
[["West", "Stop", "East", "South"], ["West", "East", "South"]]
|
||||
[["West", "Stop", "East", "South"], ["West", "East", "South"]]
|
||||
[["West", "Stop", "East"], ["West", "East"]]
|
||||
[["West", "Stop", "East"], ["West", "East"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "East", "South"], ["East", "South"]]
|
||||
[["Stop", "South"], ["South"]]
|
||||
[["South"], ["South"]]
|
||||
[["South"], ["South"]]
|
||||
[["South"], ["South"]]
|
||||
[["South"], ["South"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East", "North"], ["East", "North"]]
|
||||
[["East"], ["East"]]
|
||||
[["East", "North"], ["East", "North"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["East", "North"], ["East", "North"]]
|
||||
[["East"], ["East"]]
|
||||
[["East"], ["East"]]
|
||||
[["North"], ["North"]]
|
||||
[["North"], ["North"]]
|
||||
[["North"], ["North"]]
|
||||
[["North"], ["North"]]
|
||||
[["West"], ["West"]]
|
||||
[["West"], ["West"]]
|
||||
[["West", "Stop", "East"], ["West", "East"]]
|
||||
"""
|
||||
@@ -0,0 +1,19 @@
|
||||
class: "PacmanGameTreeTest"
|
||||
alg: "AlphaBetaAgent"
|
||||
seed: "0"
|
||||
depth: "2"
|
||||
max_points: "4"
|
||||
|
||||
# The following specifies the layout to be used
|
||||
layoutName: "smallClassic"
|
||||
layout: """
|
||||
%%%%%%%%%%%%%%%%%%%%
|
||||
%......%G G%......%
|
||||
%.%%...%% %%...%%.%
|
||||
%.%o.%........%.o%.%
|
||||
%.%%.%.%%%%%%.%.%%.%
|
||||
%........P.........%
|
||||
%%%%%%%%%%%%%%%%%%%%
|
||||
"""
|
||||
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
max_points: "5"
|
||||
class: "PassAllTestsQuestion"
|
||||
max_points: "3"
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
# This is the solution file for test_cases/q3/graph_backtrack.test.
|
||||
# This solution is designed to support both right-to-left
|
||||
# and left-to-right implementations.
|
||||
solution: "1:A->C 0:C->G"
|
||||
expanded_states: "A B C D"
|
||||
rev_solution: "1:A->C 0:C->G"
|
||||
rev_expanded_states: "A B C D"
|
||||
@@ -1,32 +0,0 @@
|
||||
class: "GraphSearchTest"
|
||||
algorithm: "uniformCostSearch"
|
||||
|
||||
diagram: """
|
||||
B
|
||||
^
|
||||
|
|
||||
*A --> C --> G
|
||||
|
|
||||
V
|
||||
D
|
||||
|
||||
A is the start state, G is the goal. Arrows mark
|
||||
possible state transitions. This tests whether
|
||||
you extract the sequence of actions correctly even
|
||||
if your search backtracks. If you fail this, your
|
||||
nodes are not correctly tracking the sequences of
|
||||
actions required to reach them.
|
||||
"""
|
||||
# The following section specifies the search problem and the solution.
|
||||
# The graph is specified by first the set of start states, followed by
|
||||
# the set of goal states, and lastly by the state transitions which are
|
||||
# of the form:
|
||||
# <start state> <actions> <end state> <cost>
|
||||
graph: """
|
||||
start_state: A
|
||||
goal_states: G
|
||||
A 0:A->B B 1.0
|
||||
A 1:A->C C 2.0
|
||||
A 2:A->D D 4.0
|
||||
C 0:C->G G 8.0
|
||||
"""
|
||||
@@ -1,7 +0,0 @@
|
||||
# This is the solution file for test_cases/q3/graph_bfs_vs_dfs.test.
|
||||
# This solution is designed to support both right-to-left
|
||||
# and left-to-right implementations.
|
||||
solution: "1:A->G"
|
||||
expanded_states: "A B"
|
||||
rev_solution: "1:A->G"
|
||||
rev_expanded_states: "A B"
|
||||
@@ -1,30 +0,0 @@
|
||||
# Graph where BFS finds the optimal solution but DFS does not
|
||||
class: "GraphSearchTest"
|
||||
algorithm: "uniformCostSearch"
|
||||
|
||||
diagram: """
|
||||
/-- B
|
||||
| ^
|
||||
| |
|
||||
| *A -->[G]
|
||||
| | ^
|
||||
| V |
|
||||
\-->D ----/
|
||||
|
||||
A is the start state, G is the goal. Arrows
|
||||
mark possible transitions
|
||||
"""
|
||||
# The following section specifies the search problem and the solution.
|
||||
# The graph is specified by first the set of start states, followed by
|
||||
# the set of goal states, and lastly by the state transitions which are
|
||||
# of the form:
|
||||
# <start state> <actions> <end state> <cost>
|
||||
graph: """
|
||||
start_state: A
|
||||
goal_states: G
|
||||
A 0:A->B B 1.0
|
||||
A 1:A->G G 2.0
|
||||
A 2:A->D D 4.0
|
||||
B 0:B->D D 8.0
|
||||
D 0:D->G G 16.0
|
||||
"""
|
||||
@@ -1,7 +0,0 @@
|
||||
# This is the solution file for test_cases/q3/graph_infinite.test.
|
||||
# This solution is designed to support both right-to-left
|
||||
# and left-to-right implementations.
|
||||
solution: "0:A->B 1:B->C 1:C->G"
|
||||
expanded_states: "A B C"
|
||||
rev_solution: "0:A->B 1:B->C 1:C->G"
|
||||
rev_expanded_states: "A B C"
|
||||
@@ -1,30 +0,0 @@
|
||||
# Graph where natural action choice leads to an infinite loop
|
||||
class: "GraphSearchTest"
|
||||
algorithm: "uniformCostSearch"
|
||||
|
||||
diagram: """
|
||||
B <--> C
|
||||
^ /|
|
||||
| / |
|
||||
V / V
|
||||
*A<-/ [G]
|
||||
|
||||
A is the start state, G is the goal. Arrows mark
|
||||
possible state transitions.
|
||||
"""
|
||||
# The following section specifies the search problem and the solution.
|
||||
# The graph is specified by first the set of start states, followed by
|
||||
# the set of goal states, and lastly by the state transitions which are
|
||||
# of the form:
|
||||
# <start state> <actions> <end state> <cost>
|
||||
graph: """
|
||||
start_state: A
|
||||
goal_states: G
|
||||
A 0:A->B B 1.0
|
||||
B 0:B->A A 2.0
|
||||
B 1:B->C C 4.0
|
||||
C 0:C->A A 8.0
|
||||
C 1:C->G G 16.0
|
||||
C 2:C->B B 32.0
|
||||
"""
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
# This is the solution file for test_cases/q3/graph_manypaths.test.
|
||||
# This solution is designed to support both right-to-left
|
||||
# and left-to-right implementations.
|
||||
solution: "1:A->C 0:C->D 1:D->F 0:F->G"
|
||||
expanded_states: "A B1 C B2 D E1 F E2"
|
||||
rev_solution: "1:A->C 0:C->D 1:D->F 0:F->G"
|
||||
rev_expanded_states: "A B1 C B2 D E1 F E2"
|
||||
@@ -1,39 +0,0 @@
|
||||
class: "GraphSearchTest"
|
||||
algorithm: "uniformCostSearch"
|
||||
|
||||
diagram: """
|
||||
B1 E1
|
||||
^ \ ^ \
|
||||
/ V / V
|
||||
*A --> C --> D --> F --> [G]
|
||||
\ ^ \ ^
|
||||
V / V /
|
||||
B2 E2
|
||||
|
||||
A is the start state, G is the goal. Arrows mark
|
||||
possible state transitions. This graph has multiple
|
||||
paths to the goal, where nodes with the same state
|
||||
are added to the fringe multiple times before they
|
||||
are expanded.
|
||||
"""
|
||||
# The following section specifies the search problem and the solution.
|
||||
# The graph is specified by first the set of start states, followed by
|
||||
# the set of goal states, and lastly by the state transitions which are
|
||||
# of the form:
|
||||
# <start state> <actions> <end state> <cost>
|
||||
graph: """
|
||||
start_state: A
|
||||
goal_states: G
|
||||
A 0:A->B1 B1 1.0
|
||||
A 1:A->C C 2.0
|
||||
A 2:A->B2 B2 4.0
|
||||
B1 0:B1->C C 8.0
|
||||
B2 0:B2->C C 16.0
|
||||
C 0:C->D D 32.0
|
||||
D 0:D->E1 E1 64.0
|
||||
D 1:D->F F 128.0
|
||||
D 2:D->E2 E2 256.0
|
||||
E1 0:E1->F F 512.0
|
||||
E2 0:E2->F F 1024.0
|
||||
F 0:F->G G 2048.0
|
||||
"""
|
||||
@@ -1,7 +0,0 @@
|
||||
# This is the solution file for test_cases/q3/ucs_0_graph.test.
|
||||
# This solution is designed to support both right-to-left
|
||||
# and left-to-right implementations.
|
||||
solution: "Right Down Down"
|
||||
expanded_states: "A B D C G"
|
||||
rev_solution: "Right Down Down"
|
||||
rev_expanded_states: "A B D C G"
|
||||
@@ -1,39 +0,0 @@
|
||||
class: "GraphSearchTest"
|
||||
algorithm: "uniformCostSearch"
|
||||
|
||||
diagram: """
|
||||
C
|
||||
^
|
||||
| 2
|
||||
2 V 4
|
||||
*A <----> B -----> [H]
|
||||
|1
|
||||
1.5 V 2.5
|
||||
G <----- D -----> E
|
||||
|
|
||||
2 |
|
||||
V
|
||||
[F]
|
||||
|
||||
A is the start state, F and H is the goal. Arrows mark possible state
|
||||
transitions. The number next to the arrow is the cost of that transition.
|
||||
"""
|
||||
# The following section specifies the search problem and the solution.
|
||||
# The graph is specified by first the set of start states, followed by
|
||||
# the set of goal states, and lastly by the state transitions which are
|
||||
# of the form:
|
||||
# <start state> <actions> <end state> <cost>
|
||||
graph: """
|
||||
start_state: A
|
||||
goal_states: H F
|
||||
A Right B 2.0
|
||||
B Right H 4.0
|
||||
B Down D 1.0
|
||||
B Up C 2.0
|
||||
B Left A 2.0
|
||||
C Down B 2.0
|
||||
D Right E 2.5
|
||||
D Down F 2.0
|
||||
D Left G 1.5
|
||||
"""
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
# This is the solution file for test_cases/q3/ucs_1_problemC.test.
|
||||
# This solution is designed to support both right-to-left
|
||||
# and left-to-right implementations.
|
||||
# Number of nodes expanded must be with a factor of 1.1 of the numbers below.
|
||||
solution: """
|
||||
West West West West West West West West West South South East East
|
||||
South South South West West West North West West West West South South
|
||||
South East East East East East East East South South South South South
|
||||
South South West West West West West West West West West West West
|
||||
West West West West West West South West West West West West West West
|
||||
West West
|
||||
"""
|
||||
expanded_nodes: "269"
|
||||
rev_solution: """
|
||||
West West West West West West West West West South South East East
|
||||
South South South West West West North West West West West South South
|
||||
South East East East East East East East South South South South South
|
||||
South South West West West West West West West West West West West
|
||||
West West West West West West South West West West West West West West
|
||||
West West
|
||||
"""
|
||||
rev_expanded_nodes: "269"
|
||||
@@ -1,28 +0,0 @@
|
||||
class: "PacmanSearchTest"
|
||||
algorithm: "uniformCostSearch"
|
||||
points: "0.5"
|
||||
|
||||
# The following specifies the layout to be used
|
||||
layoutName: "mediumMaze"
|
||||
layout: """
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% P%
|
||||
% %%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% %
|
||||
% %% % % %%%%%%% %% %
|
||||
% %% % % % % %%%% %%%%%%%%% %% %%%%%
|
||||
% %% % % % % %% %% %
|
||||
% %% % % % % % %%%% %%% %%%%%% %
|
||||
% % % % % % %% %%%%%%%% %
|
||||
% %% % % %%%%%%%% %% %% %%%%%
|
||||
% %% % %% %%%%%%%%% %% %
|
||||
% %%%%%% %%%%%%% %% %%%%%% %
|
||||
%%%%%% % %%%% %% % %
|
||||
% %%%%%% %%%%% % %% %% %%%%%
|
||||
% %%%%%% % %%%%% %% %
|
||||
% %%%%%% %%%%%%%%%%% %% %% %
|
||||
%%%%%%%%%% %%%%%% %
|
||||
%. %%%%%%%%%%%%%%%% %
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
"""
|
||||
leewayFactor: "1.1"
|
||||
#costFn: "lambda pos: 1"
|
||||
@@ -1,22 +0,0 @@
|
||||
# This is the solution file for test_cases/q3/ucs_2_problemE.test.
|
||||
# This solution is designed to support both right-to-left
|
||||
# and left-to-right implementations.
|
||||
# Number of nodes expanded must be with a factor of 1.1 of the numbers below.
|
||||
solution: """
|
||||
South South West West West West South South East East East East South
|
||||
South West West West West South South East East East East South South
|
||||
West West West West South South East East East East South South South
|
||||
West West West West West West West North West West West West West West
|
||||
West West West West West West West West West West West South West West
|
||||
West West West West West West West
|
||||
"""
|
||||
expanded_nodes: "260"
|
||||
rev_solution: """
|
||||
South South West West West West South South East East East East South
|
||||
South West West West West South South East East East East South South
|
||||
West West West West South South East East East East South South South
|
||||
West West West West West West West North West West West West West West
|
||||
West West West West West West West West West West West South West West
|
||||
West West West West West West West
|
||||
"""
|
||||
rev_expanded_nodes: "260"
|
||||
@@ -1,28 +0,0 @@
|
||||
class: "PacmanSearchTest"
|
||||
algorithm: "uniformCostSearch"
|
||||
points: "0.5"
|
||||
|
||||
# The following specifies the layout to be used
|
||||
layoutName: "mediumMaze"
|
||||
layout: """
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% P%
|
||||
% %%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% %
|
||||
% %% % % %%%%%%% %% %
|
||||
% %% % % % % %%%% %%%%%%%%% %% %%%%%
|
||||
% %% % % % % %% %% %
|
||||
% %% % % % % % %%%% %%% %%%%%% %
|
||||
% % % % % % %% %%%%%%%% %
|
||||
% %% % % %%%%%%%% %% %% %%%%%
|
||||
% %% % %% %%%%%%%%% %% %
|
||||
% %%%%%% %%%%%%% %% %%%%%% %
|
||||
%%%%%% % %%%% %% % %
|
||||
% %%%%%% %%%%% % %% %% %%%%%
|
||||
% %%%%%% % %%%%% %% %
|
||||
% %%%%%% %%%%%%%%%%% %% %% %
|
||||
%%%%%%%%%% %%%%%% %
|
||||
%. %%%%%%%%%%%%%%%% %
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
"""
|
||||
leewayFactor: "1.1"
|
||||
costFn: "lambda pos: .5 ** pos[0]"
|
||||
@@ -1,34 +0,0 @@
|
||||
# This is the solution file for test_cases/q3/ucs_3_problemW.test.
|
||||
# This solution is designed to support both right-to-left
|
||||
# and left-to-right implementations.
|
||||
# Number of nodes expanded must be with a factor of 1.1 of the numbers below.
|
||||
solution: """
|
||||
West West West West West West West West West West West West West West
|
||||
West West West West West West West West West West West West West West
|
||||
West West West West West South South South South South South South
|
||||
South South East East East North North North North North North North
|
||||
East East South South South South South South East East North North
|
||||
North North North North East East South South South South East East
|
||||
North North East East South South East East East South South West West
|
||||
West West West West South South West West West West West South West
|
||||
West West West West South South East East East East East East East
|
||||
North East East East East East North North East East East East East
|
||||
East South South West West West West South South West West West West
|
||||
West South West West West West West West West West West
|
||||
"""
|
||||
expanded_nodes: "173"
|
||||
rev_solution: """
|
||||
West West West West West West West West West West West West West West
|
||||
West West West West West West West West West West West West West West
|
||||
West West West West West South South South South South South South
|
||||
South South East East East North North North North North North North
|
||||
East East South South South South South South East East North North
|
||||
North North North North East East South South South South East East
|
||||
North North East East South South East East East South South West West
|
||||
West West West West South South West West West West West South West
|
||||
West West West West South South East East East East East East East
|
||||
North East East East East East North North East East East East East
|
||||
East South South West West West West South South West West West West
|
||||
West South West West West West West West West West West
|
||||
"""
|
||||
rev_expanded_nodes: "173"
|
||||
@@ -1,28 +0,0 @@
|
||||
class: "PacmanSearchTest"
|
||||
algorithm: "uniformCostSearch"
|
||||
points: "0.5"
|
||||
|
||||
# The following specifies the layout to be used
|
||||
layoutName: "mediumMaze"
|
||||
layout: """
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% P%
|
||||
% %%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% %
|
||||
% %% % % %%%%%%% %% %
|
||||
% %% % % % % %%%% %%%%%%%%% %% %%%%%
|
||||
% %% % % % % %% %% %
|
||||
% %% % % % % % %%%% %%% %%%%%% %
|
||||
% % % % % % %% %%%%%%%% %
|
||||
% %% % % %%%%%%%% %% %% %%%%%
|
||||
% %% % %% %%%%%%%%% %% %
|
||||
% %%%%%% %%%%%%% %% %%%%%% %
|
||||
%%%%%% % %%%% %% % %
|
||||
% %%%%%% %%%%% % %% %% %%%%%
|
||||
% %%%%%% % %%%%% %% %
|
||||
% %%%%%% %%%%%%%%%%% %% %% %
|
||||
%%%%%%%%%% %%%%%% %
|
||||
%. %%%%%%%%%%%%%%%% %
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
"""
|
||||
leewayFactor: "1.1"
|
||||
costFn: "lambda pos: 2 ** pos[0]"
|
||||
@@ -1,12 +0,0 @@
|
||||
# This is the solution file for test_cases/q3/ucs_4_testSearch.test.
|
||||
# This solution is designed to support both right-to-left
|
||||
# and left-to-right implementations.
|
||||
# Number of nodes expanded must be with a factor of 2.0 of the numbers below.
|
||||
solution: """
|
||||
West East East South South West West
|
||||
"""
|
||||
expanded_nodes: "14"
|
||||
rev_solution: """
|
||||
West East East South South West West
|
||||
"""
|
||||
rev_expanded_nodes: "13"
|
||||
@@ -1,16 +0,0 @@
|
||||
class: "PacmanSearchTest"
|
||||
algorithm: "uniformCostSearch"
|
||||
points: "0.5"
|
||||
|
||||
# The following specifies the layout to be used
|
||||
layoutName: "testSearch"
|
||||
layout: """
|
||||
%%%%%
|
||||
%.P %
|
||||
%%% %
|
||||
%. %
|
||||
%%%%%
|
||||
"""
|
||||
searchProblemClass: "FoodSearchProblem"
|
||||
leewayFactor: "2"
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
# This is the solution file for test_cases/q3/ucs_5_goalAtDequeue.test.
|
||||
# This solution is designed to support both right-to-left
|
||||
# and left-to-right implementations.
|
||||
solution: "1:A->B 0:B->C 0:C->G"
|
||||
expanded_states: "A B C"
|
||||
rev_solution: "1:A->B 0:B->C 0:C->G"
|
||||
rev_expanded_states: "A B C"
|
||||
@@ -1,29 +0,0 @@
|
||||
class: "GraphSearchTest"
|
||||
algorithm: "uniformCostSearch"
|
||||
|
||||
diagram: """
|
||||
1 1 1
|
||||
*A ---> B ---> C ---> [G]
|
||||
| ^
|
||||
| 10 |
|
||||
\---------------------/
|
||||
|
||||
A is the start state, G is the goal. Arrows mark possible state
|
||||
transitions. The number next to the arrow is the cost of that transition.
|
||||
|
||||
If you fail this test case, you may be incorrectly testing if a node is a goal
|
||||
before adding it into the queue, instead of testing when you remove the node
|
||||
from the queue. See the algorithm pseudocode in lecture.
|
||||
"""
|
||||
|
||||
graph: """
|
||||
start_state: A
|
||||
goal_states: G
|
||||
A 0:A->G G 10.0
|
||||
A 1:A->B B 1.0
|
||||
B 0:B->C C 1.0
|
||||
C 0:C->G G 1.0
|
||||
"""
|
||||
# We only care about the solution, not the expansion order.
|
||||
exactExpansionOrder: "False"
|
||||
|
||||
Reference in New Issue
Block a user