From 37c264e26ef7dce1e5f955dfadf59b7279a29106 Mon Sep 17 00:00:00 2001 From: Yi-Ting Shih Date: Mon, 6 Apr 2026 05:24:23 +0800 Subject: [PATCH] Feat: hw2 done --- .gitignore | 1 + 111550013_hw2.zip | Bin 0 -> 2851 bytes 111550013_hw2/multiAgents.py | 271 +++++++ 111550013_hw2_report.pdf | Bin 0 -> 661622 bytes HW2_pacman.zip | Bin 0 -> 152229 bytes HW2_pacman/.python-version | 1 + HW2_pacman/VERSION | 1 + HW2_pacman/autograder.py | 306 +++++++ HW2_pacman/game.py | 751 ++++++++++++++++++ HW2_pacman/ghostAgents.py | 79 ++ HW2_pacman/grading.py | 307 +++++++ HW2_pacman/graphicsDisplay.py | 718 +++++++++++++++++ HW2_pacman/graphicsUtils.py | 437 ++++++++++ HW2_pacman/keyboardAgents.py | 81 ++ HW2_pacman/layout.py | 150 ++++ HW2_pacman/layouts/capsuleClassic.lay | 7 + HW2_pacman/layouts/contestClassic.lay | 9 + HW2_pacman/layouts/mediumClassic.lay | 11 + HW2_pacman/layouts/minimaxClassic.lay | 5 + HW2_pacman/layouts/openClassic.lay | 9 + HW2_pacman/layouts/originalClassic.lay | 27 + HW2_pacman/layouts/powerClassic.lay | 7 + HW2_pacman/layouts/smallClassic.lay | 7 + HW2_pacman/layouts/testClassic.lay | 10 + HW2_pacman/layouts/trappedClassic.lay | 5 + HW2_pacman/layouts/trickyClassic.lay | 13 + HW2_pacman/multiAgents.py | 271 +++++++ HW2_pacman/multiagentTestClasses.py | 563 +++++++++++++ HW2_pacman/pacman.py | 730 +++++++++++++++++ HW2_pacman/pacmanAgents.py | 49 ++ HW2_pacman/projectParams.py | 4 + HW2_pacman/testClasses.py | 189 +++++ HW2_pacman/testParser.py | 72 ++ HW2_pacman/test_cases/CONFIG | 1 + .../0-eval-function-lose-states-1.solution | 3 + .../part1/0-eval-function-lose-states-1.test | 30 + .../0-eval-function-lose-states-2.solution | 3 + .../part1/0-eval-function-lose-states-2.test | 30 + .../0-eval-function-win-states-1.solution | 3 + .../part1/0-eval-function-win-states-1.test | 30 + .../0-eval-function-win-states-2.solution | 3 + .../part1/0-eval-function-win-states-2.test | 30 + .../part1/0-lecture-6-tree.solution | 3 + .../test_cases/part1/0-lecture-6-tree.test | 50 ++ .../test_cases/part1/0-small-tree.solution | 3 + HW2_pacman/test_cases/part1/0-small-tree.test | 36 + .../test_cases/part1/1-1-minmax.solution | 3 + HW2_pacman/test_cases/part1/1-1-minmax.test | 47 ++ .../test_cases/part1/1-2-minmax.solution | 3 + HW2_pacman/test_cases/part1/1-2-minmax.test | 47 ++ .../test_cases/part1/1-3-minmax.solution | 3 + HW2_pacman/test_cases/part1/1-3-minmax.test | 47 ++ .../test_cases/part1/1-4-minmax.solution | 3 + HW2_pacman/test_cases/part1/1-4-minmax.test | 47 ++ .../test_cases/part1/1-5-minmax.solution | 3 + HW2_pacman/test_cases/part1/1-5-minmax.test | 75 ++ .../test_cases/part1/1-6-minmax.solution | 3 + HW2_pacman/test_cases/part1/1-6-minmax.test | 75 ++ .../test_cases/part1/1-7-minmax.solution | 3 + HW2_pacman/test_cases/part1/1-7-minmax.test | 75 ++ .../test_cases/part1/1-8-minmax.solution | 3 + HW2_pacman/test_cases/part1/1-8-minmax.test | 75 ++ .../test_cases/part1/2-1a-vary-depth.solution | 3 + .../test_cases/part1/2-1a-vary-depth.test | 52 ++ .../test_cases/part1/2-1b-vary-depth.solution | 3 + .../test_cases/part1/2-1b-vary-depth.test | 52 ++ .../test_cases/part1/2-2a-vary-depth.solution | 3 + .../test_cases/part1/2-2a-vary-depth.test | 52 ++ .../test_cases/part1/2-2b-vary-depth.solution | 3 + .../test_cases/part1/2-2b-vary-depth.test | 52 ++ .../test_cases/part1/2-3a-vary-depth.solution | 3 + .../test_cases/part1/2-3a-vary-depth.test | 52 ++ .../test_cases/part1/2-3b-vary-depth.solution | 3 + .../test_cases/part1/2-3b-vary-depth.test | 52 ++ .../test_cases/part1/2-4a-vary-depth.solution | 3 + .../test_cases/part1/2-4a-vary-depth.test | 52 ++ .../test_cases/part1/2-4b-vary-depth.solution | 3 + .../test_cases/part1/2-4b-vary-depth.test | 52 ++ .../part1/2-one-ghost-3level.solution | 3 + .../test_cases/part1/2-one-ghost-3level.test | 52 ++ .../part1/3-one-ghost-4level.solution | 3 + .../test_cases/part1/3-one-ghost-4level.test | 79 ++ .../part1/4-two-ghosts-3level.solution | 3 + .../test_cases/part1/4-two-ghosts-3level.test | 52 ++ .../part1/5-two-ghosts-4level.solution | 3 + .../test_cases/part1/5-two-ghosts-4level.test | 79 ++ .../test_cases/part1/6-tied-root.solution | 3 + HW2_pacman/test_cases/part1/6-tied-root.test | 31 + .../part1/7-1a-check-depth-one-ghost.solution | 3 + .../part1/7-1a-check-depth-one-ghost.test | 83 ++ .../part1/7-1b-check-depth-one-ghost.solution | 3 + .../part1/7-1b-check-depth-one-ghost.test | 83 ++ .../part1/7-1c-check-depth-one-ghost.solution | 3 + .../part1/7-1c-check-depth-one-ghost.test | 83 ++ .../7-2a-check-depth-two-ghosts.solution | 3 + .../part1/7-2a-check-depth-two-ghosts.test | 110 +++ .../7-2b-check-depth-two-ghosts.solution | 3 + .../part1/7-2b-check-depth-two-ghosts.test | 110 +++ .../7-2c-check-depth-two-ghosts.solution | 3 + .../part1/7-2c-check-depth-two-ghosts.test | 110 +++ .../test_cases/part1/8-pacman-game.solution | 444 +++++++++++ .../test_cases/part1/8-pacman-game.test | 19 + HW2_pacman/test_cases/part1/CONFIG | 2 + .../0-eval-function-lose-states-1.solution | 3 + .../part2/0-eval-function-lose-states-1.test | 30 + .../0-eval-function-lose-states-2.solution | 3 + .../part2/0-eval-function-lose-states-2.test | 30 + .../0-eval-function-win-states-1.solution | 3 + .../part2/0-eval-function-win-states-1.test | 30 + .../0-eval-function-win-states-2.solution | 3 + .../part2/0-eval-function-win-states-2.test | 30 + .../part2/0-lecture-6-tree.solution | 3 + .../test_cases/part2/0-lecture-6-tree.test | 50 ++ .../test_cases/part2/0-small-tree.solution | 3 + HW2_pacman/test_cases/part2/0-small-tree.test | 36 + .../test_cases/part2/1-1-minmax.solution | 3 + HW2_pacman/test_cases/part2/1-1-minmax.test | 47 ++ .../test_cases/part2/1-2-minmax.solution | 3 + HW2_pacman/test_cases/part2/1-2-minmax.test | 47 ++ .../test_cases/part2/1-3-minmax.solution | 3 + HW2_pacman/test_cases/part2/1-3-minmax.test | 47 ++ .../test_cases/part2/1-4-minmax.solution | 3 + HW2_pacman/test_cases/part2/1-4-minmax.test | 47 ++ .../test_cases/part2/1-5-minmax.solution | 3 + HW2_pacman/test_cases/part2/1-5-minmax.test | 75 ++ .../test_cases/part2/1-6-minmax.solution | 3 + HW2_pacman/test_cases/part2/1-6-minmax.test | 75 ++ .../test_cases/part2/1-7-minmax.solution | 3 + HW2_pacman/test_cases/part2/1-7-minmax.test | 75 ++ .../test_cases/part2/1-8-minmax.solution | 3 + HW2_pacman/test_cases/part2/1-8-minmax.test | 75 ++ .../test_cases/part2/2-1a-vary-depth.solution | 3 + .../test_cases/part2/2-1a-vary-depth.test | 52 ++ .../test_cases/part2/2-1b-vary-depth.solution | 3 + .../test_cases/part2/2-1b-vary-depth.test | 52 ++ .../test_cases/part2/2-2a-vary-depth.solution | 3 + .../test_cases/part2/2-2a-vary-depth.test | 52 ++ .../test_cases/part2/2-2b-vary-depth.solution | 3 + .../test_cases/part2/2-2b-vary-depth.test | 52 ++ .../test_cases/part2/2-3a-vary-depth.solution | 3 + .../test_cases/part2/2-3a-vary-depth.test | 52 ++ .../test_cases/part2/2-3b-vary-depth.solution | 3 + .../test_cases/part2/2-3b-vary-depth.test | 52 ++ .../test_cases/part2/2-4a-vary-depth.solution | 3 + .../test_cases/part2/2-4a-vary-depth.test | 52 ++ .../test_cases/part2/2-4b-vary-depth.solution | 3 + .../test_cases/part2/2-4b-vary-depth.test | 52 ++ .../part2/2-one-ghost-3level.solution | 3 + .../test_cases/part2/2-one-ghost-3level.test | 52 ++ .../part2/3-one-ghost-4level.solution | 3 + .../test_cases/part2/3-one-ghost-4level.test | 79 ++ .../part2/4-two-ghosts-3level.solution | 3 + .../test_cases/part2/4-two-ghosts-3level.test | 52 ++ .../part2/5-two-ghosts-4level.solution | 3 + .../test_cases/part2/5-two-ghosts-4level.test | 79 ++ .../test_cases/part2/6-tied-root.solution | 3 + HW2_pacman/test_cases/part2/6-tied-root.test | 31 + .../part2/7-1a-check-depth-one-ghost.solution | 3 + .../part2/7-1a-check-depth-one-ghost.test | 83 ++ .../part2/7-1b-check-depth-one-ghost.solution | 3 + .../part2/7-1b-check-depth-one-ghost.test | 83 ++ .../part2/7-1c-check-depth-one-ghost.solution | 3 + .../part2/7-1c-check-depth-one-ghost.test | 83 ++ .../7-2a-check-depth-two-ghosts.solution | 3 + .../part2/7-2a-check-depth-two-ghosts.test | 110 +++ .../7-2b-check-depth-two-ghosts.solution | 3 + .../part2/7-2b-check-depth-two-ghosts.test | 110 +++ .../7-2c-check-depth-two-ghosts.solution | 3 + .../part2/7-2c-check-depth-two-ghosts.test | 110 +++ .../test_cases/part2/8-pacman-game.solution | 444 +++++++++++ .../test_cases/part2/8-pacman-game.test | 19 + HW2_pacman/test_cases/part2/CONFIG | 2 + .../0-eval-function-lose-states-1.solution | 3 + .../part3/0-eval-function-lose-states-1.test | 30 + .../0-eval-function-lose-states-2.solution | 3 + .../part3/0-eval-function-lose-states-2.test | 30 + .../0-eval-function-win-states-1.solution | 3 + .../part3/0-eval-function-win-states-1.test | 30 + .../0-eval-function-win-states-2.solution | 3 + .../part3/0-eval-function-win-states-2.test | 30 + .../test_cases/part3/0-expectimax1.solution | 3 + .../test_cases/part3/0-expectimax1.test | 48 ++ .../test_cases/part3/1-expectimax2.solution | 3 + .../test_cases/part3/1-expectimax2.test | 48 ++ .../part3/2-one-ghost-3level.solution | 3 + .../test_cases/part3/2-one-ghost-3level.test | 52 ++ .../part3/3-one-ghost-4level.solution | 3 + .../test_cases/part3/3-one-ghost-4level.test | 79 ++ .../part3/4-two-ghosts-3level.solution | 3 + .../test_cases/part3/4-two-ghosts-3level.test | 52 ++ .../part3/5-two-ghosts-4level.solution | 3 + .../test_cases/part3/5-two-ghosts-4level.test | 79 ++ .../part3/6-1a-check-depth-one-ghost.solution | 3 + .../part3/6-1a-check-depth-one-ghost.test | 83 ++ .../part3/6-1b-check-depth-one-ghost.solution | 3 + .../part3/6-1b-check-depth-one-ghost.test | 83 ++ .../part3/6-1c-check-depth-one-ghost.solution | 3 + .../part3/6-1c-check-depth-one-ghost.test | 83 ++ .../6-2a-check-depth-two-ghosts.solution | 3 + .../part3/6-2a-check-depth-two-ghosts.test | 110 +++ .../6-2b-check-depth-two-ghosts.solution | 3 + .../part3/6-2b-check-depth-two-ghosts.test | 110 +++ .../6-2c-check-depth-two-ghosts.solution | 3 + .../part3/6-2c-check-depth-two-ghosts.test | 110 +++ .../test_cases/part3/7-pacman-game.solution | 444 +++++++++++ .../test_cases/part3/7-pacman-game.test | 19 + HW2_pacman/test_cases/part3/CONFIG | 2 + HW2_pacman/test_cases/part4/CONFIG | 2 + .../test_cases/part4/grade-agent.solution | 2 + HW2_pacman/test_cases/part4/grade-agent.test | 17 + HW2_pacman/textDisplay.py | 71 ++ HW2_pacman/util.py | 689 ++++++++++++++++ HW2_spec.pdf | Bin 0 -> 593310 bytes REPORT.md | 272 +++++++ 214 files changed, 12807 insertions(+) create mode 100644 .gitignore create mode 100644 111550013_hw2.zip create mode 100644 111550013_hw2/multiAgents.py create mode 100644 111550013_hw2_report.pdf create mode 100644 HW2_pacman.zip create mode 100644 HW2_pacman/.python-version create mode 100644 HW2_pacman/VERSION create mode 100644 HW2_pacman/autograder.py create mode 100644 HW2_pacman/game.py create mode 100644 HW2_pacman/ghostAgents.py create mode 100644 HW2_pacman/grading.py create mode 100644 HW2_pacman/graphicsDisplay.py create mode 100644 HW2_pacman/graphicsUtils.py create mode 100644 HW2_pacman/keyboardAgents.py create mode 100644 HW2_pacman/layout.py create mode 100644 HW2_pacman/layouts/capsuleClassic.lay create mode 100644 HW2_pacman/layouts/contestClassic.lay create mode 100644 HW2_pacman/layouts/mediumClassic.lay create mode 100644 HW2_pacman/layouts/minimaxClassic.lay create mode 100644 HW2_pacman/layouts/openClassic.lay create mode 100644 HW2_pacman/layouts/originalClassic.lay create mode 100644 HW2_pacman/layouts/powerClassic.lay create mode 100644 HW2_pacman/layouts/smallClassic.lay create mode 100644 HW2_pacman/layouts/testClassic.lay create mode 100644 HW2_pacman/layouts/trappedClassic.lay create mode 100644 HW2_pacman/layouts/trickyClassic.lay create mode 100644 HW2_pacman/multiAgents.py create mode 100644 HW2_pacman/multiagentTestClasses.py create mode 100644 HW2_pacman/pacman.py create mode 100644 HW2_pacman/pacmanAgents.py create mode 100644 HW2_pacman/projectParams.py create mode 100644 HW2_pacman/testClasses.py create mode 100644 HW2_pacman/testParser.py create mode 100644 HW2_pacman/test_cases/CONFIG create mode 100644 HW2_pacman/test_cases/part1/0-eval-function-lose-states-1.solution create mode 100644 HW2_pacman/test_cases/part1/0-eval-function-lose-states-1.test create mode 100644 HW2_pacman/test_cases/part1/0-eval-function-lose-states-2.solution create mode 100644 HW2_pacman/test_cases/part1/0-eval-function-lose-states-2.test create mode 100644 HW2_pacman/test_cases/part1/0-eval-function-win-states-1.solution create mode 100644 HW2_pacman/test_cases/part1/0-eval-function-win-states-1.test create mode 100644 HW2_pacman/test_cases/part1/0-eval-function-win-states-2.solution create mode 100644 HW2_pacman/test_cases/part1/0-eval-function-win-states-2.test create mode 100644 HW2_pacman/test_cases/part1/0-lecture-6-tree.solution create mode 100644 HW2_pacman/test_cases/part1/0-lecture-6-tree.test create mode 100644 HW2_pacman/test_cases/part1/0-small-tree.solution create mode 100644 HW2_pacman/test_cases/part1/0-small-tree.test create mode 100644 HW2_pacman/test_cases/part1/1-1-minmax.solution create mode 100644 HW2_pacman/test_cases/part1/1-1-minmax.test create mode 100644 HW2_pacman/test_cases/part1/1-2-minmax.solution create mode 100644 HW2_pacman/test_cases/part1/1-2-minmax.test create mode 100644 HW2_pacman/test_cases/part1/1-3-minmax.solution create mode 100644 HW2_pacman/test_cases/part1/1-3-minmax.test create mode 100644 HW2_pacman/test_cases/part1/1-4-minmax.solution create mode 100644 HW2_pacman/test_cases/part1/1-4-minmax.test create mode 100644 HW2_pacman/test_cases/part1/1-5-minmax.solution create mode 100644 HW2_pacman/test_cases/part1/1-5-minmax.test create mode 100644 HW2_pacman/test_cases/part1/1-6-minmax.solution create mode 100644 HW2_pacman/test_cases/part1/1-6-minmax.test create mode 100644 HW2_pacman/test_cases/part1/1-7-minmax.solution create mode 100644 HW2_pacman/test_cases/part1/1-7-minmax.test create mode 100644 HW2_pacman/test_cases/part1/1-8-minmax.solution create mode 100644 HW2_pacman/test_cases/part1/1-8-minmax.test create mode 100644 HW2_pacman/test_cases/part1/2-1a-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part1/2-1a-vary-depth.test create mode 100644 HW2_pacman/test_cases/part1/2-1b-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part1/2-1b-vary-depth.test create mode 100644 HW2_pacman/test_cases/part1/2-2a-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part1/2-2a-vary-depth.test create mode 100644 HW2_pacman/test_cases/part1/2-2b-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part1/2-2b-vary-depth.test create mode 100644 HW2_pacman/test_cases/part1/2-3a-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part1/2-3a-vary-depth.test create mode 100644 HW2_pacman/test_cases/part1/2-3b-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part1/2-3b-vary-depth.test create mode 100644 HW2_pacman/test_cases/part1/2-4a-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part1/2-4a-vary-depth.test create mode 100644 HW2_pacman/test_cases/part1/2-4b-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part1/2-4b-vary-depth.test create mode 100644 HW2_pacman/test_cases/part1/2-one-ghost-3level.solution create mode 100644 HW2_pacman/test_cases/part1/2-one-ghost-3level.test create mode 100644 HW2_pacman/test_cases/part1/3-one-ghost-4level.solution create mode 100644 HW2_pacman/test_cases/part1/3-one-ghost-4level.test create mode 100644 HW2_pacman/test_cases/part1/4-two-ghosts-3level.solution create mode 100644 HW2_pacman/test_cases/part1/4-two-ghosts-3level.test create mode 100644 HW2_pacman/test_cases/part1/5-two-ghosts-4level.solution create mode 100644 HW2_pacman/test_cases/part1/5-two-ghosts-4level.test create mode 100644 HW2_pacman/test_cases/part1/6-tied-root.solution create mode 100644 HW2_pacman/test_cases/part1/6-tied-root.test create mode 100644 HW2_pacman/test_cases/part1/7-1a-check-depth-one-ghost.solution create mode 100644 HW2_pacman/test_cases/part1/7-1a-check-depth-one-ghost.test create mode 100644 HW2_pacman/test_cases/part1/7-1b-check-depth-one-ghost.solution create mode 100644 HW2_pacman/test_cases/part1/7-1b-check-depth-one-ghost.test create mode 100644 HW2_pacman/test_cases/part1/7-1c-check-depth-one-ghost.solution create mode 100644 HW2_pacman/test_cases/part1/7-1c-check-depth-one-ghost.test create mode 100644 HW2_pacman/test_cases/part1/7-2a-check-depth-two-ghosts.solution create mode 100644 HW2_pacman/test_cases/part1/7-2a-check-depth-two-ghosts.test create mode 100644 HW2_pacman/test_cases/part1/7-2b-check-depth-two-ghosts.solution create mode 100644 HW2_pacman/test_cases/part1/7-2b-check-depth-two-ghosts.test create mode 100644 HW2_pacman/test_cases/part1/7-2c-check-depth-two-ghosts.solution create mode 100644 HW2_pacman/test_cases/part1/7-2c-check-depth-two-ghosts.test create mode 100644 HW2_pacman/test_cases/part1/8-pacman-game.solution create mode 100644 HW2_pacman/test_cases/part1/8-pacman-game.test create mode 100644 HW2_pacman/test_cases/part1/CONFIG create mode 100644 HW2_pacman/test_cases/part2/0-eval-function-lose-states-1.solution create mode 100644 HW2_pacman/test_cases/part2/0-eval-function-lose-states-1.test create mode 100644 HW2_pacman/test_cases/part2/0-eval-function-lose-states-2.solution create mode 100644 HW2_pacman/test_cases/part2/0-eval-function-lose-states-2.test create mode 100644 HW2_pacman/test_cases/part2/0-eval-function-win-states-1.solution create mode 100644 HW2_pacman/test_cases/part2/0-eval-function-win-states-1.test create mode 100644 HW2_pacman/test_cases/part2/0-eval-function-win-states-2.solution create mode 100644 HW2_pacman/test_cases/part2/0-eval-function-win-states-2.test create mode 100644 HW2_pacman/test_cases/part2/0-lecture-6-tree.solution create mode 100644 HW2_pacman/test_cases/part2/0-lecture-6-tree.test create mode 100644 HW2_pacman/test_cases/part2/0-small-tree.solution create mode 100644 HW2_pacman/test_cases/part2/0-small-tree.test create mode 100644 HW2_pacman/test_cases/part2/1-1-minmax.solution create mode 100644 HW2_pacman/test_cases/part2/1-1-minmax.test create mode 100644 HW2_pacman/test_cases/part2/1-2-minmax.solution create mode 100644 HW2_pacman/test_cases/part2/1-2-minmax.test create mode 100644 HW2_pacman/test_cases/part2/1-3-minmax.solution create mode 100644 HW2_pacman/test_cases/part2/1-3-minmax.test create mode 100644 HW2_pacman/test_cases/part2/1-4-minmax.solution create mode 100644 HW2_pacman/test_cases/part2/1-4-minmax.test create mode 100644 HW2_pacman/test_cases/part2/1-5-minmax.solution create mode 100644 HW2_pacman/test_cases/part2/1-5-minmax.test create mode 100644 HW2_pacman/test_cases/part2/1-6-minmax.solution create mode 100644 HW2_pacman/test_cases/part2/1-6-minmax.test create mode 100644 HW2_pacman/test_cases/part2/1-7-minmax.solution create mode 100644 HW2_pacman/test_cases/part2/1-7-minmax.test create mode 100644 HW2_pacman/test_cases/part2/1-8-minmax.solution create mode 100644 HW2_pacman/test_cases/part2/1-8-minmax.test create mode 100644 HW2_pacman/test_cases/part2/2-1a-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part2/2-1a-vary-depth.test create mode 100644 HW2_pacman/test_cases/part2/2-1b-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part2/2-1b-vary-depth.test create mode 100644 HW2_pacman/test_cases/part2/2-2a-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part2/2-2a-vary-depth.test create mode 100644 HW2_pacman/test_cases/part2/2-2b-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part2/2-2b-vary-depth.test create mode 100644 HW2_pacman/test_cases/part2/2-3a-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part2/2-3a-vary-depth.test create mode 100644 HW2_pacman/test_cases/part2/2-3b-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part2/2-3b-vary-depth.test create mode 100644 HW2_pacman/test_cases/part2/2-4a-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part2/2-4a-vary-depth.test create mode 100644 HW2_pacman/test_cases/part2/2-4b-vary-depth.solution create mode 100644 HW2_pacman/test_cases/part2/2-4b-vary-depth.test create mode 100644 HW2_pacman/test_cases/part2/2-one-ghost-3level.solution create mode 100644 HW2_pacman/test_cases/part2/2-one-ghost-3level.test create mode 100644 HW2_pacman/test_cases/part2/3-one-ghost-4level.solution create mode 100644 HW2_pacman/test_cases/part2/3-one-ghost-4level.test create mode 100644 HW2_pacman/test_cases/part2/4-two-ghosts-3level.solution create mode 100644 HW2_pacman/test_cases/part2/4-two-ghosts-3level.test create mode 100644 HW2_pacman/test_cases/part2/5-two-ghosts-4level.solution create mode 100644 HW2_pacman/test_cases/part2/5-two-ghosts-4level.test create mode 100644 HW2_pacman/test_cases/part2/6-tied-root.solution create mode 100644 HW2_pacman/test_cases/part2/6-tied-root.test create mode 100644 HW2_pacman/test_cases/part2/7-1a-check-depth-one-ghost.solution create mode 100644 HW2_pacman/test_cases/part2/7-1a-check-depth-one-ghost.test create mode 100644 HW2_pacman/test_cases/part2/7-1b-check-depth-one-ghost.solution create mode 100644 HW2_pacman/test_cases/part2/7-1b-check-depth-one-ghost.test create mode 100644 HW2_pacman/test_cases/part2/7-1c-check-depth-one-ghost.solution create mode 100644 HW2_pacman/test_cases/part2/7-1c-check-depth-one-ghost.test create mode 100644 HW2_pacman/test_cases/part2/7-2a-check-depth-two-ghosts.solution create mode 100644 HW2_pacman/test_cases/part2/7-2a-check-depth-two-ghosts.test create mode 100644 HW2_pacman/test_cases/part2/7-2b-check-depth-two-ghosts.solution create mode 100644 HW2_pacman/test_cases/part2/7-2b-check-depth-two-ghosts.test create mode 100644 HW2_pacman/test_cases/part2/7-2c-check-depth-two-ghosts.solution create mode 100644 HW2_pacman/test_cases/part2/7-2c-check-depth-two-ghosts.test create mode 100644 HW2_pacman/test_cases/part2/8-pacman-game.solution create mode 100644 HW2_pacman/test_cases/part2/8-pacman-game.test create mode 100644 HW2_pacman/test_cases/part2/CONFIG create mode 100644 HW2_pacman/test_cases/part3/0-eval-function-lose-states-1.solution create mode 100644 HW2_pacman/test_cases/part3/0-eval-function-lose-states-1.test create mode 100644 HW2_pacman/test_cases/part3/0-eval-function-lose-states-2.solution create mode 100644 HW2_pacman/test_cases/part3/0-eval-function-lose-states-2.test create mode 100644 HW2_pacman/test_cases/part3/0-eval-function-win-states-1.solution create mode 100644 HW2_pacman/test_cases/part3/0-eval-function-win-states-1.test create mode 100644 HW2_pacman/test_cases/part3/0-eval-function-win-states-2.solution create mode 100644 HW2_pacman/test_cases/part3/0-eval-function-win-states-2.test create mode 100644 HW2_pacman/test_cases/part3/0-expectimax1.solution create mode 100644 HW2_pacman/test_cases/part3/0-expectimax1.test create mode 100644 HW2_pacman/test_cases/part3/1-expectimax2.solution create mode 100644 HW2_pacman/test_cases/part3/1-expectimax2.test create mode 100644 HW2_pacman/test_cases/part3/2-one-ghost-3level.solution create mode 100644 HW2_pacman/test_cases/part3/2-one-ghost-3level.test create mode 100644 HW2_pacman/test_cases/part3/3-one-ghost-4level.solution create mode 100644 HW2_pacman/test_cases/part3/3-one-ghost-4level.test create mode 100644 HW2_pacman/test_cases/part3/4-two-ghosts-3level.solution create mode 100644 HW2_pacman/test_cases/part3/4-two-ghosts-3level.test create mode 100644 HW2_pacman/test_cases/part3/5-two-ghosts-4level.solution create mode 100644 HW2_pacman/test_cases/part3/5-two-ghosts-4level.test create mode 100644 HW2_pacman/test_cases/part3/6-1a-check-depth-one-ghost.solution create mode 100644 HW2_pacman/test_cases/part3/6-1a-check-depth-one-ghost.test create mode 100644 HW2_pacman/test_cases/part3/6-1b-check-depth-one-ghost.solution create mode 100644 HW2_pacman/test_cases/part3/6-1b-check-depth-one-ghost.test create mode 100644 HW2_pacman/test_cases/part3/6-1c-check-depth-one-ghost.solution create mode 100644 HW2_pacman/test_cases/part3/6-1c-check-depth-one-ghost.test create mode 100644 HW2_pacman/test_cases/part3/6-2a-check-depth-two-ghosts.solution create mode 100644 HW2_pacman/test_cases/part3/6-2a-check-depth-two-ghosts.test create mode 100644 HW2_pacman/test_cases/part3/6-2b-check-depth-two-ghosts.solution create mode 100644 HW2_pacman/test_cases/part3/6-2b-check-depth-two-ghosts.test create mode 100644 HW2_pacman/test_cases/part3/6-2c-check-depth-two-ghosts.solution create mode 100644 HW2_pacman/test_cases/part3/6-2c-check-depth-two-ghosts.test create mode 100644 HW2_pacman/test_cases/part3/7-pacman-game.solution create mode 100644 HW2_pacman/test_cases/part3/7-pacman-game.test create mode 100644 HW2_pacman/test_cases/part3/CONFIG create mode 100644 HW2_pacman/test_cases/part4/CONFIG create mode 100644 HW2_pacman/test_cases/part4/grade-agent.solution create mode 100644 HW2_pacman/test_cases/part4/grade-agent.test create mode 100644 HW2_pacman/textDisplay.py create mode 100644 HW2_pacman/util.py create mode 100644 HW2_spec.pdf create mode 100644 REPORT.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..61f2dc9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +**/__pycache__/ diff --git a/111550013_hw2.zip b/111550013_hw2.zip new file mode 100644 index 0000000000000000000000000000000000000000..efbda823d55b93f8c2132d39a0e75c2fb0730333 GIT binary patch literal 2851 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 0: + return 8 + elif isFoodNearer > 0: + return 4 + elif action == direction: + return 2 + else: + return 1 + + +def scoreEvaluationFunction(currentGameState): + """ + This default evaluation function just returns the score of the state. + The score is the same one displayed in the Pacman GUI. + + This evaluation function is meant for use with adversarial search agents + (not reflex agents). + """ + return currentGameState.getScore() + + +class MultiAgentSearchAgent(Agent): + """ + This class provides some common elements to all of your + multi-agent searchers. Any methods defined here will be available + to the MinimaxPacmanAgent, AlphaBetaPacmanAgent & ExpectimaxPacmanAgent. + + You *do not* need to make any changes here, but you can if you want to + add functionality to all your adversarial search agents. Please do not + remove anything, however. + + Note: this is an abstract class: one that should not be instantiated. It's + only partially specified, and designed to be extended. Agent (game.py) + is another abstract class. + """ + + def __init__(self, evalFn = 'scoreEvaluationFunction', depth = '2'): + self.index = 0 # Pacman is always agent index 0 + self.evaluationFunction = util.lookup(evalFn, globals()) + self.depth = int(depth) + + +class MinimaxAgent(MultiAgentSearchAgent): + """ + Your minimax agent (Part 1) + """ + + def getAction(self, gameState): + """ + Returns the minimax action from the current gameState using self.depth + and self.evaluationFunction. + + Here are some method calls that might be useful when implementing minimax. + + gameState.getLegalActions(agentIndex): + Returns a list of legal actions for an agent + agentIndex=0 means Pacman, ghosts are >= 1 + + gameState.getNextState(agentIndex, action): + Returns the child game state after an agent takes an action + + gameState.getNumAgents(): + Returns the total number of agents in the game + + gameState.isWin(): + Returns whether or not the game state is a winning state + + gameState.isLose(): + Returns whether or not the game state is a losing state + """ + # Begin your code (Part 1) + def minimax(s, d, agent): + if s.isWin() or s.isLose() or d == 0: + return self.evaluationFunction(s), None + + nxt = (agent + 1) % s.getNumAgents() + d2 = d - 1 if nxt == 0 else d + actions = s.getLegalActions(agent) + + if agent == 0: + best = (float('-inf'), None) + for a in actions: + v = minimax(s.getNextState(agent, a), d2, nxt)[0] + if v > best[0]: + best = (v, a) + return best + else: + best = (float('inf'), None) + for a in actions: + v = minimax(s.getNextState(agent, a), d2, nxt)[0] + if v < best[0]: + best = (v, a) + return best + + return minimax(gameState, self.depth, 0)[1] + # End your code (Part 1) + + +class AlphaBetaAgent(MultiAgentSearchAgent): + """ + Your minimax agent with alpha-beta pruning (Part 2) + """ + + def getAction(self, gameState): + """ + Returns the minimax action using self.depth and self.evaluationFunction + """ + # Begin your code (Part 2) + def ab(s, d, agent, a, b): + if s.isWin() or s.isLose() or d == 0: + return self.evaluationFunction(s), None + + nxt = (agent + 1) % s.getNumAgents() + d2 = d - 1 if nxt == 0 else d + actions = s.getLegalActions(agent) + + if agent == 0: + best = (float('-inf'), None) + for act in actions: + v = ab(s.getNextState(agent, act), d2, nxt, a, b)[0] + if v > best[0]: + best = (v, act) + if best[0] > b: + return best + a = max(a, best[0]) + return best + else: + best = (float('inf'), None) + for act in actions: + v = ab(s.getNextState(agent, act), d2, nxt, a, b)[0] + if v < best[0]: + best = (v, act) + if best[0] < a: + return best + b = min(b, best[0]) + return best + + return ab(gameState, self.depth, 0, float('-inf'), float('inf'))[1] + # End your code (Part 2) + + +class ExpectimaxAgent(MultiAgentSearchAgent): + """ + Your expectimax agent (Part 3) + """ + + def getAction(self, gameState): + """ + Returns the expectimax action using self.depth and self.evaluationFunction + + All ghosts should be modeled as choosing uniformly at random from their + legal moves. + """ + # Begin your code (Part 3) + def expmax(s, d, agent): + if s.isWin() or s.isLose() or d == 0: + return self.evaluationFunction(s), None + + nxt = (agent + 1) % s.getNumAgents() + d2 = d - 1 if nxt == 0 else d + actions = s.getLegalActions(agent) + + if agent == 0: + best = (float('-inf'), None) + for a in actions: + v = expmax(s.getNextState(agent, a), d2, nxt)[0] + if v > best[0]: + best = (v, a) + return best + else: + vals = [expmax(s.getNextState(agent, a), d2, nxt)[0] for a in actions] + return sum(vals) / len(vals), None + + return expmax(gameState, self.depth, 0)[1] + # End your code (Part 3) + + +def betterEvaluationFunction(currentGameState): + """ + Your extreme ghost-hunting, pellet-nabbing, food-gobbling, unstoppable + evaluation function (Part 4). + """ + # Begin your code (Part 4) + pos = currentGameState.getPacmanPosition() + foodList = currentGameState.getFood().asList() + ghosts = currentGameState.getGhostStates() + + score = currentGameState.getScore() + score -= 10 * len(foodList) + score -= 20 * len(currentGameState.getCapsules()) + + if foodList: + score += 1.0 / min(manhattanDistance(pos, f) for f in foodList) + + for g in ghosts: + d = manhattanDistance(pos, g.getPosition()) + if g.scaredTimer > 0: + score += 200 / (d + 1) + else: + score -= 10000 / (10 ** d) + + return score + # End your code (Part 4) + +# Abbreviation +better = betterEvaluationFunction diff --git a/111550013_hw2_report.pdf b/111550013_hw2_report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7d7339bd6c93f965d5c6dc61dc494d478d17551b GIT binary patch literal 661622 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®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�{nyQxg73~aLy>{iw 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

B~R+WPhD*Q~9#7Je3L_Uq{D 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

 tag
+        """
+        self.fail('FAIL: Exception raised: %s' % inst)
+        self.addMessage('')
+        for line in traceback.format_exc().split('\n'):
+            self.addMessage(line)
+
+    def addErrorHints(self, exceptionMap, errorInstance, questionNum):
+        typeOf = str(type(errorInstance))
+        questionName = 'q' + questionNum
+        errorHint = ''
+
+        # question specific error hints
+        if exceptionMap.get(questionName):
+            questionMap = exceptionMap.get(questionName)
+            if (questionMap.get(typeOf)):
+                errorHint = questionMap.get(typeOf)
+        # fall back to general error messages if a question specific
+        # one does not exist
+        if (exceptionMap.get(typeOf)):
+            errorHint = exceptionMap.get(typeOf)
+
+        # dont include the HTML if we have no error hint
+        if not errorHint:
+            return ''
+
+        for line in errorHint.split('\n'):
+            self.addMessage(line)
+
+    def produceGradeScopeOutput(self):
+        out_dct = {}
+
+        # total of entire submission
+        total_possible = sum(self.maxes.values())
+        total_score = sum(self.points.values())
+        out_dct['score'] = total_score
+        out_dct['max_score'] = total_possible
+        out_dct['output'] = "Total score (%d / %d)" % (
+            total_score, total_possible)
+
+        # individual tests
+        tests_out = []
+        for name in self.questions:
+            test_out = {}
+            # test name
+            test_out['name'] = name
+            # test score
+            test_out['score'] = self.points[name]
+            test_out['max_score'] = self.maxes[name]
+            # others
+            is_correct = self.points[name] >= self.maxes[name]
+            test_out['output'] = "  Question {num} ({points}/{max}) {correct}".format(
+                num=(name[1] if len(name) == 2 else name),
+                points=test_out['score'],
+                max=test_out['max_score'],
+                correct=('X' if not is_correct else ''),
+            )
+            test_out['tags'] = []
+            tests_out.append(test_out)
+        out_dct['tests'] = tests_out
+
+        # file output
+        with open('gradescope_response.json', 'w') as outfile:
+            json.dump(out_dct, outfile)
+        return
+
+    def produceOutput(self):
+        edxOutput = open('edx_response.html', 'w')
+        edxOutput.write("
") + + # first sum + total_possible = sum(self.maxes.values()) + total_score = sum(self.points.values()) + checkOrX = '' + if (total_score >= total_possible): + checkOrX = '' + header = """ +

+ Total score ({total_score} / {total_possible}) +

+ """.format(total_score=total_score, + total_possible=total_possible, + checkOrX=checkOrX + ) + edxOutput.write(header) + + for q in self.questions: + if len(q) == 2: + name = q[1] + else: + name = q + checkOrX = '' + if (self.points[q] >= self.maxes[q]): + checkOrX = '' + #messages = '\n
\n'.join(self.messages[q]) + messages = "
%s
" % '\n'.join(self.messages[q]) + output = """ +
+
+
+ Question {q} ({points}/{max}) {checkOrX} +
+
+ {messages} +
+
+
+ """.format(q=name, + max=self.maxes[q], + messages=messages, + checkOrX=checkOrX, + points=self.points[q] + ) + # print "*** output for Question %s " % q[1] + # print output + edxOutput.write(output) + edxOutput.write("
") + edxOutput.close() + edxOutput = open('edx_grade', 'w') + edxOutput.write(str(self.points.totalCount())) + edxOutput.close() + + def fail(self, message, raw=False): + "Sets sanity check bit to false and outputs a message" + self.sane = False + self.assignZeroCredit() + self.addMessage(message, raw) + + def assignZeroCredit(self): + self.points[self.currentQuestion] = 0 + + def addPoints(self, amt): + self.points[self.currentQuestion] += amt + + def deductPoints(self, amt): + self.points[self.currentQuestion] -= amt + + def assignFullCredit(self, message="", raw=False): + self.points[self.currentQuestion] = self.maxes[self.currentQuestion] + if message != "": + self.addMessage(message, raw) + + def addMessage(self, message, raw=False): + if not raw: + # We assume raw messages, formatted for HTML, are printed separately + if self.mute: + util.unmutePrint() + print('*** ' + message) + if self.mute: + util.mutePrint() + message = html.escape(message) + self.messages[self.currentQuestion].append(message) + + def addMessageToEmail(self, message): + print("WARNING**** addMessageToEmail is deprecated %s" % message) + for line in message.split('\n'): + pass + # print '%%% ' + line + ' %%%' + # self.messages[self.currentQuestion].append(line) + + +class Counter(dict): + """ + Dict with default 0 + """ + + def __getitem__(self, idx): + try: + return dict.__getitem__(self, idx) + except KeyError: + return 0 + + def totalCount(self): + """ + Returns the sum of counts for all keys. + """ + return sum(self.values()) diff --git a/HW2_pacman/graphicsDisplay.py b/HW2_pacman/graphicsDisplay.py new file mode 100644 index 0000000..356c5d7 --- /dev/null +++ b/HW2_pacman/graphicsDisplay.py @@ -0,0 +1,718 @@ +from graphicsUtils import * +import math +import time +from game import Directions + + +DEFAULT_GRID_SIZE = 30.0 +INFO_PANE_HEIGHT = 35 +BACKGROUND_COLOR = formatColor(0, 0, 0) +WALL_COLOR = formatColor(0.0/255.0, 51.0/255.0, 255.0/255.0) +INFO_PANE_COLOR = formatColor(.4, .4, 0) +SCORE_COLOR = formatColor(.9, .9, .9) +PACMAN_OUTLINE_WIDTH = 2 +PACMAN_CAPTURE_OUTLINE_WIDTH = 4 + +GHOST_COLORS = [] +GHOST_COLORS.append(formatColor(.9, 0, 0)) # Red +GHOST_COLORS.append(formatColor(0, .3, .9)) # Blue +GHOST_COLORS.append(formatColor(.98, .41, .07)) # Orange +GHOST_COLORS.append(formatColor(.1, .75, .7)) # Green +GHOST_COLORS.append(formatColor(1.0, 0.6, 0.0)) # Yellow +GHOST_COLORS.append(formatColor(.4, 0.13, 0.91)) # Purple + +TEAM_COLORS = GHOST_COLORS[:2] + +GHOST_SHAPE = [ + (0, 0.3), + (0.25, 0.75), + (0.5, 0.3), + (0.75, 0.75), + (0.75, -0.5), + (0.5, -0.75), + (-0.5, -0.75), + (-0.75, -0.5), + (-0.75, 0.75), + (-0.5, 0.3), + (-0.25, 0.75) +] +GHOST_SIZE = 0.65 +SCARED_COLOR = formatColor(1, 1, 1) + +GHOST_VEC_COLORS = list(map(colorToVector, GHOST_COLORS)) + +PACMAN_COLOR = formatColor(255.0/255.0, 255.0/255.0, 61.0/255) +PACMAN_SCALE = 0.5 +#pacman_speed = 0.25 + +# Food +FOOD_COLOR = formatColor(1, 1, 1) +FOOD_SIZE = 0.1 + +# Laser +LASER_COLOR = formatColor(1, 0, 0) +LASER_SIZE = 0.02 + +# Capsule graphics +CAPSULE_COLOR = formatColor(1, 1, 1) +CAPSULE_SIZE = 0.25 + +# Drawing walls +WALL_RADIUS = 0.15 + + +class InfoPane: + def __init__(self, layout, gridSize): + self.gridSize = gridSize + self.width = (layout.width) * gridSize + self.base = (layout.height + 1) * gridSize + self.height = INFO_PANE_HEIGHT + self.fontSize = 24 + self.textColor = PACMAN_COLOR + self.drawPane() + + def toScreen(self, pos, y=None): + """ + Translates a point relative from the bottom left of the info pane. + """ + if y == None: + x, y = pos + else: + x = pos + + x = self.gridSize + x # Margin + y = self.base + y + return x, y + + def drawPane(self): + self.scoreText = text(self.toScreen( + 0, 0), self.textColor, "SCORE: 0", "Times", self.fontSize, "bold") + + def initializeGhostDistances(self, distances): + self.ghostDistanceText = [] + + size = 20 + if self.width < 240: + size = 12 + if self.width < 160: + size = 10 + + for i, d in enumerate(distances): + t = text(self.toScreen(self.width/2 + self.width/8 * i, 0), + GHOST_COLORS[i+1], d, "Times", size, "bold") + self.ghostDistanceText.append(t) + + def updateScore(self, score): + changeText(self.scoreText, "SCORE: % 4d" % score) + + def setTeam(self, isBlue): + text = "RED TEAM" + if isBlue: + text = "BLUE TEAM" + self.teamText = text(self.toScreen( + 300, 0), self.textColor, text, "Times", self.fontSize, "bold") + + def updateGhostDistances(self, distances): + if len(distances) == 0: + return + if 'ghostDistanceText' not in dir(self): + self.initializeGhostDistances(distances) + else: + for i, d in enumerate(distances): + changeText(self.ghostDistanceText[i], d) + + def drawGhost(self): + pass + + def drawPacman(self): + pass + + def drawWarning(self): + pass + + def clearIcon(self): + pass + + def updateMessage(self, message): + pass + + def clearMessage(self): + pass + + +class PacmanGraphics: + def __init__(self, zoom=1.0, frameTime=0.0, capture=False): + self.have_window = 0 + self.currentGhostImages = {} + self.pacmanImage = None + self.zoom = zoom + self.gridSize = DEFAULT_GRID_SIZE * zoom + self.capture = capture + self.frameTime = frameTime + + def checkNullDisplay(self): + return False + + def initialize(self, state, isBlue=False): + self.isBlue = isBlue + self.startGraphics(state) + + # self.drawDistributions(state) + self.distributionImages = None # Initialized lazily + self.drawStaticObjects(state) + self.drawAgentObjects(state) + + # Information + self.previousState = state + + def startGraphics(self, state): + self.layout = state.layout + layout = self.layout + self.width = layout.width + self.height = layout.height + self.make_window(self.width, self.height) + self.infoPane = InfoPane(layout, self.gridSize) + self.currentState = layout + + def drawDistributions(self, state): + walls = state.layout.walls + dist = [] + for x in range(walls.width): + distx = [] + dist.append(distx) + for y in range(walls.height): + (screen_x, screen_y) = self.to_screen((x, y)) + block = square((screen_x, screen_y), + 0.5 * self.gridSize, + color=BACKGROUND_COLOR, + filled=1, behind=2) + distx.append(block) + self.distributionImages = dist + + def drawStaticObjects(self, state): + layout = self.layout + self.drawWalls(layout.walls) + self.food = self.drawFood(layout.food) + self.capsules = self.drawCapsules(layout.capsules) + refresh() + + def drawAgentObjects(self, state): + self.agentImages = [] # (agentState, image) + for index, agent in enumerate(state.agentStates): + if agent.isPacman: + image = self.drawPacman(agent, index) + self.agentImages.append((agent, image)) + else: + image = self.drawGhost(agent, index) + self.agentImages.append((agent, image)) + refresh() + + def swapImages(self, agentIndex, newState): + """ + Changes an image from a ghost to a pacman or vis versa (for capture) + """ + prevState, prevImage = self.agentImages[agentIndex] + for item in prevImage: + remove_from_screen(item) + if newState.isPacman: + image = self.drawPacman(newState, agentIndex) + self.agentImages[agentIndex] = (newState, image) + else: + image = self.drawGhost(newState, agentIndex) + self.agentImages[agentIndex] = (newState, image) + refresh() + + def update(self, newState): + agentIndex = newState._agentMoved + agentState = newState.agentStates[agentIndex] + + if self.agentImages[agentIndex][0].isPacman != agentState.isPacman: + self.swapImages(agentIndex, agentState) + prevState, prevImage = self.agentImages[agentIndex] + if agentState.isPacman: + self.animatePacman(agentState, prevState, prevImage) + else: + self.moveGhost(agentState, agentIndex, prevState, prevImage) + self.agentImages[agentIndex] = (agentState, prevImage) + + if newState._foodEaten != None: + self.removeFood(newState._foodEaten, self.food) + if newState._capsuleEaten != None: + self.removeCapsule(newState._capsuleEaten, self.capsules) + self.infoPane.updateScore(newState.score) + if 'ghostDistances' in dir(newState): + self.infoPane.updateGhostDistances(newState.ghostDistances) + + def make_window(self, width, height): + grid_width = (width-1) * self.gridSize + grid_height = (height-1) * self.gridSize + screen_width = 2*self.gridSize + grid_width + screen_height = 2*self.gridSize + grid_height + INFO_PANE_HEIGHT + + begin_graphics(screen_width, + screen_height, + BACKGROUND_COLOR, + "CS188 Pacman") + + def drawPacman(self, pacman, index): + position = self.getPosition(pacman) + screen_point = self.to_screen(position) + endpoints = self.getEndpoints(self.getDirection(pacman)) + + width = PACMAN_OUTLINE_WIDTH + outlineColor = PACMAN_COLOR + fillColor = PACMAN_COLOR + + if self.capture: + outlineColor = TEAM_COLORS[index % 2] + fillColor = GHOST_COLORS[index] + width = PACMAN_CAPTURE_OUTLINE_WIDTH + + return [circle(screen_point, PACMAN_SCALE * self.gridSize, + fillColor=fillColor, outlineColor=outlineColor, + endpoints=endpoints, + width=width)] + + def getEndpoints(self, direction, position=(0, 0)): + x, y = position + pos = x - int(x) + y - int(y) + width = 30 + 80 * math.sin(math.pi * pos) + + delta = width / 2 + if (direction == 'West'): + endpoints = (180+delta, 180-delta) + elif (direction == 'North'): + endpoints = (90+delta, 90-delta) + elif (direction == 'South'): + endpoints = (270+delta, 270-delta) + else: + endpoints = (0+delta, 0-delta) + return endpoints + + def movePacman(self, position, direction, image): + screenPosition = self.to_screen(position) + endpoints = self.getEndpoints(direction, position) + r = PACMAN_SCALE * self.gridSize + moveCircle(image[0], screenPosition, r, endpoints) + refresh() + + def animatePacman(self, pacman, prevPacman, image): + if self.frameTime < 0: + print('Press any key to step forward, "q" to play') + keys = wait_for_keys() + if 'q' in keys: + self.frameTime = 0.1 + if self.frameTime > 0.01 or self.frameTime < 0: + start = time.time() + fx, fy = self.getPosition(prevPacman) + px, py = self.getPosition(pacman) + frames = 4.0 + for i in range(1, int(frames) + 1): + pos = px*i/frames + fx * \ + (frames-i)/frames, py*i/frames + fy*(frames-i)/frames + self.movePacman(pos, self.getDirection(pacman), image) + refresh() + sleep(abs(self.frameTime) / frames) + else: + self.movePacman(self.getPosition(pacman), + self.getDirection(pacman), image) + refresh() + + def getGhostColor(self, ghost, ghostIndex): + if ghost.scaredTimer > 0: + return SCARED_COLOR + else: + return GHOST_COLORS[ghostIndex] + + def drawGhost(self, ghost, agentIndex): + pos = self.getPosition(ghost) + dir = self.getDirection(ghost) + (screen_x, screen_y) = (self.to_screen(pos)) + coords = [] + for (x, y) in GHOST_SHAPE: + coords.append((x*self.gridSize*GHOST_SIZE + screen_x, + y*self.gridSize*GHOST_SIZE + screen_y)) + + colour = self.getGhostColor(ghost, agentIndex) + body = polygon(coords, colour, filled=1) + WHITE = formatColor(1.0, 1.0, 1.0) + BLACK = formatColor(0.0, 0.0, 0.0) + + dx = 0 + dy = 0 + if dir == 'North': + dy = -0.2 + if dir == 'South': + dy = 0.2 + if dir == 'East': + dx = 0.2 + if dir == 'West': + dx = -0.2 + leftEye = circle((screen_x+self.gridSize*GHOST_SIZE*(-0.3+dx/1.5), screen_y - + self.gridSize*GHOST_SIZE*(0.3-dy/1.5)), self.gridSize*GHOST_SIZE*0.2, WHITE, WHITE) + rightEye = circle((screen_x+self.gridSize*GHOST_SIZE*(0.3+dx/1.5), screen_y - + self.gridSize*GHOST_SIZE*(0.3-dy/1.5)), self.gridSize*GHOST_SIZE*0.2, WHITE, WHITE) + leftPupil = circle((screen_x+self.gridSize*GHOST_SIZE*(-0.3+dx), screen_y - + self.gridSize*GHOST_SIZE*(0.3-dy)), self.gridSize*GHOST_SIZE*0.08, BLACK, BLACK) + rightPupil = circle((screen_x+self.gridSize*GHOST_SIZE*(0.3+dx), screen_y - + self.gridSize*GHOST_SIZE*(0.3-dy)), self.gridSize*GHOST_SIZE*0.08, BLACK, BLACK) + ghostImageParts = [] + ghostImageParts.append(body) + ghostImageParts.append(leftEye) + ghostImageParts.append(rightEye) + ghostImageParts.append(leftPupil) + ghostImageParts.append(rightPupil) + + return ghostImageParts + + def moveEyes(self, pos, dir, eyes): + (screen_x, screen_y) = (self.to_screen(pos)) + dx = 0 + dy = 0 + if dir == 'North': + dy = -0.2 + if dir == 'South': + dy = 0.2 + if dir == 'East': + dx = 0.2 + if dir == 'West': + dx = -0.2 + moveCircle(eyes[0], (screen_x+self.gridSize*GHOST_SIZE*(-0.3+dx/1.5), screen_y - + self.gridSize*GHOST_SIZE*(0.3-dy/1.5)), self.gridSize*GHOST_SIZE*0.2) + moveCircle(eyes[1], (screen_x+self.gridSize*GHOST_SIZE*(0.3+dx/1.5), screen_y - + self.gridSize*GHOST_SIZE*(0.3-dy/1.5)), self.gridSize*GHOST_SIZE*0.2) + moveCircle(eyes[2], (screen_x+self.gridSize*GHOST_SIZE*(-0.3+dx), screen_y - + self.gridSize*GHOST_SIZE*(0.3-dy)), self.gridSize*GHOST_SIZE*0.08) + moveCircle(eyes[3], (screen_x+self.gridSize*GHOST_SIZE*(0.3+dx), screen_y - + self.gridSize*GHOST_SIZE*(0.3-dy)), self.gridSize*GHOST_SIZE*0.08) + + def moveGhost(self, ghost, ghostIndex, prevGhost, ghostImageParts): + old_x, old_y = self.to_screen(self.getPosition(prevGhost)) + new_x, new_y = self.to_screen(self.getPosition(ghost)) + delta = new_x - old_x, new_y - old_y + + for ghostImagePart in ghostImageParts: + move_by(ghostImagePart, delta) + refresh() + + if ghost.scaredTimer > 0: + color = SCARED_COLOR + else: + color = GHOST_COLORS[ghostIndex] + edit(ghostImageParts[0], ('fill', color), ('outline', color)) + self.moveEyes(self.getPosition(ghost), + self.getDirection(ghost), ghostImageParts[-4:]) + refresh() + + def getPosition(self, agentState): + if agentState.configuration == None: + return (-1000, -1000) + return agentState.getPosition() + + def getDirection(self, agentState): + if agentState.configuration == None: + return Directions.STOP + return agentState.configuration.getDirection() + + def finish(self): + end_graphics() + + def to_screen(self, point): + (x, y) = point + #y = self.height - y + x = (x + 1)*self.gridSize + y = (self.height - y)*self.gridSize + return (x, y) + + # Fixes some TK issue with off-center circles + def to_screen2(self, point): + (x, y) = point + #y = self.height - y + x = (x + 1)*self.gridSize + y = (self.height - y)*self.gridSize + return (x, y) + + def drawWalls(self, wallMatrix): + wallColor = WALL_COLOR + for xNum, x in enumerate(wallMatrix): + if self.capture and (xNum * 2) < wallMatrix.width: + wallColor = TEAM_COLORS[0] + if self.capture and (xNum * 2) >= wallMatrix.width: + wallColor = TEAM_COLORS[1] + + for yNum, cell in enumerate(x): + if cell: # There's a wall here + pos = (xNum, yNum) + screen = self.to_screen(pos) + screen2 = self.to_screen2(pos) + + # draw each quadrant of the square based on adjacent walls + wIsWall = self.isWall(xNum-1, yNum, wallMatrix) + eIsWall = self.isWall(xNum+1, yNum, wallMatrix) + nIsWall = self.isWall(xNum, yNum+1, wallMatrix) + sIsWall = self.isWall(xNum, yNum-1, wallMatrix) + nwIsWall = self.isWall(xNum-1, yNum+1, wallMatrix) + swIsWall = self.isWall(xNum-1, yNum-1, wallMatrix) + neIsWall = self.isWall(xNum+1, yNum+1, wallMatrix) + seIsWall = self.isWall(xNum+1, yNum-1, wallMatrix) + + # NE quadrant + if (not nIsWall) and (not eIsWall): + # inner circle + circle(screen2, WALL_RADIUS * self.gridSize, + wallColor, wallColor, (0, 91), 'arc') + if (nIsWall) and (not eIsWall): + # vertical line + line(add(screen, (self.gridSize*WALL_RADIUS, 0)), add(screen, + (self.gridSize*WALL_RADIUS, self.gridSize*(-0.5)-1)), wallColor) + if (not nIsWall) and (eIsWall): + # horizontal line + line(add(screen, (0, self.gridSize*(-1)*WALL_RADIUS)), add(screen, + (self.gridSize*0.5+1, self.gridSize*(-1)*WALL_RADIUS)), wallColor) + if (nIsWall) and (eIsWall) and (not neIsWall): + # outer circle + circle(add(screen2, (self.gridSize*2*WALL_RADIUS, self.gridSize*(-2)*WALL_RADIUS)), + WALL_RADIUS * self.gridSize-1, wallColor, wallColor, (180, 271), 'arc') + line(add(screen, (self.gridSize*2*WALL_RADIUS-1, self.gridSize*(-1)*WALL_RADIUS)), + add(screen, (self.gridSize*0.5+1, self.gridSize*(-1)*WALL_RADIUS)), wallColor) + line(add(screen, (self.gridSize*WALL_RADIUS, self.gridSize*(-2)*WALL_RADIUS+1)), + add(screen, (self.gridSize*WALL_RADIUS, self.gridSize*(-0.5))), wallColor) + + # NW quadrant + if (not nIsWall) and (not wIsWall): + # inner circle + circle(screen2, WALL_RADIUS * self.gridSize, + wallColor, wallColor, (90, 181), 'arc') + if (nIsWall) and (not wIsWall): + # vertical line + line(add(screen, (self.gridSize*(-1)*WALL_RADIUS, 0)), add(screen, + (self.gridSize*(-1)*WALL_RADIUS, self.gridSize*(-0.5)-1)), wallColor) + if (not nIsWall) and (wIsWall): + # horizontal line + line(add(screen, (0, self.gridSize*(-1)*WALL_RADIUS)), add(screen, + (self.gridSize*(-0.5)-1, self.gridSize*(-1)*WALL_RADIUS)), wallColor) + if (nIsWall) and (wIsWall) and (not nwIsWall): + # outer circle + circle(add(screen2, (self.gridSize*(-2)*WALL_RADIUS, self.gridSize*(-2)*WALL_RADIUS)), + WALL_RADIUS * self.gridSize-1, wallColor, wallColor, (270, 361), 'arc') + line(add(screen, (self.gridSize*(-2)*WALL_RADIUS+1, self.gridSize*(-1)*WALL_RADIUS)), + add(screen, (self.gridSize*(-0.5), self.gridSize*(-1)*WALL_RADIUS)), wallColor) + line(add(screen, (self.gridSize*(-1)*WALL_RADIUS, self.gridSize*(-2)*WALL_RADIUS+1)), + add(screen, (self.gridSize*(-1)*WALL_RADIUS, self.gridSize*(-0.5))), wallColor) + + # SE quadrant + if (not sIsWall) and (not eIsWall): + # inner circle + circle(screen2, WALL_RADIUS * self.gridSize, + wallColor, wallColor, (270, 361), 'arc') + if (sIsWall) and (not eIsWall): + # vertical line + line(add(screen, (self.gridSize*WALL_RADIUS, 0)), add(screen, + (self.gridSize*WALL_RADIUS, self.gridSize*(0.5)+1)), wallColor) + if (not sIsWall) and (eIsWall): + # horizontal line + line(add(screen, (0, self.gridSize*(1)*WALL_RADIUS)), add(screen, + (self.gridSize*0.5+1, self.gridSize*(1)*WALL_RADIUS)), wallColor) + if (sIsWall) and (eIsWall) and (not seIsWall): + # outer circle + circle(add(screen2, (self.gridSize*2*WALL_RADIUS, self.gridSize*(2)*WALL_RADIUS)), + WALL_RADIUS * self.gridSize-1, wallColor, wallColor, (90, 181), 'arc') + line(add(screen, (self.gridSize*2*WALL_RADIUS-1, self.gridSize*(1)*WALL_RADIUS)), + add(screen, (self.gridSize*0.5, self.gridSize*(1)*WALL_RADIUS)), wallColor) + line(add(screen, (self.gridSize*WALL_RADIUS, self.gridSize*(2)*WALL_RADIUS-1)), + add(screen, (self.gridSize*WALL_RADIUS, self.gridSize*(0.5))), wallColor) + + # SW quadrant + if (not sIsWall) and (not wIsWall): + # inner circle + circle(screen2, WALL_RADIUS * self.gridSize, + wallColor, wallColor, (180, 271), 'arc') + if (sIsWall) and (not wIsWall): + # vertical line + line(add(screen, (self.gridSize*(-1)*WALL_RADIUS, 0)), add(screen, + (self.gridSize*(-1)*WALL_RADIUS, self.gridSize*(0.5)+1)), wallColor) + if (not sIsWall) and (wIsWall): + # horizontal line + line(add(screen, (0, self.gridSize*(1)*WALL_RADIUS)), add(screen, + (self.gridSize*(-0.5)-1, self.gridSize*(1)*WALL_RADIUS)), wallColor) + if (sIsWall) and (wIsWall) and (not swIsWall): + # outer circle + circle(add(screen2, (self.gridSize*(-2)*WALL_RADIUS, self.gridSize*(2)*WALL_RADIUS)), + WALL_RADIUS * self.gridSize-1, wallColor, wallColor, (0, 91), 'arc') + line(add(screen, (self.gridSize*(-2)*WALL_RADIUS+1, self.gridSize*(1)*WALL_RADIUS)), + add(screen, (self.gridSize*(-0.5), self.gridSize*(1)*WALL_RADIUS)), wallColor) + line(add(screen, (self.gridSize*(-1)*WALL_RADIUS, self.gridSize*(2)*WALL_RADIUS-1)), + add(screen, (self.gridSize*(-1)*WALL_RADIUS, self.gridSize*(0.5))), wallColor) + + def isWall(self, x, y, walls): + if x < 0 or y < 0: + return False + if x >= walls.width or y >= walls.height: + return False + return walls[x][y] + + def drawFood(self, foodMatrix): + foodImages = [] + color = FOOD_COLOR + for xNum, x in enumerate(foodMatrix): + if self.capture and (xNum * 2) <= foodMatrix.width: + color = TEAM_COLORS[0] + if self.capture and (xNum * 2) > foodMatrix.width: + color = TEAM_COLORS[1] + imageRow = [] + foodImages.append(imageRow) + for yNum, cell in enumerate(x): + if cell: # There's food here + screen = self.to_screen((xNum, yNum)) + dot = circle(screen, + FOOD_SIZE * self.gridSize, + outlineColor=color, fillColor=color, + width=1) + imageRow.append(dot) + else: + imageRow.append(None) + return foodImages + + def drawCapsules(self, capsules): + capsuleImages = {} + for capsule in capsules: + (screen_x, screen_y) = self.to_screen(capsule) + dot = circle((screen_x, screen_y), + CAPSULE_SIZE * self.gridSize, + outlineColor=CAPSULE_COLOR, + fillColor=CAPSULE_COLOR, + width=1) + capsuleImages[capsule] = dot + return capsuleImages + + def removeFood(self, cell, foodImages): + x, y = cell + remove_from_screen(foodImages[x][y]) + + def removeCapsule(self, cell, capsuleImages): + x, y = cell + remove_from_screen(capsuleImages[(x, y)]) + + def drawExpandedCells(self, cells): + """ + Draws an overlay of expanded grid positions for search agents + """ + n = float(len(cells)) + baseColor = [1.0, 0.0, 0.0] + self.clearExpandedCells() + self.expandedCells = [] + for k, cell in enumerate(cells): + screenPos = self.to_screen(cell) + cellColor = formatColor( + *[(n-k) * c * .5 / n + .25 for c in baseColor]) + block = square(screenPos, + 0.5 * self.gridSize, + color=cellColor, + filled=1, behind=2) + self.expandedCells.append(block) + if self.frameTime < 0: + refresh() + + def clearExpandedCells(self): + if 'expandedCells' in dir(self) and len(self.expandedCells) > 0: + for cell in self.expandedCells: + remove_from_screen(cell) + + def updateDistributions(self, distributions): + "Draws an agent's belief distributions" + # copy all distributions so we don't change their state + distributions = [x.copy() for x in distributions] + if self.distributionImages == None: + self.drawDistributions(self.previousState) + for x in range(len(self.distributionImages)): + for y in range(len(self.distributionImages[0])): + image = self.distributionImages[x][y] + weights = [dist[(x, y)] for dist in distributions] + + if sum(weights) != 0: + pass + # Fog of war + color = [0.0, 0.0, 0.0] + colors = GHOST_VEC_COLORS[1:] # With Pacman + if self.capture: + colors = GHOST_VEC_COLORS + for weight, gcolor in zip(weights, colors): + color = [min(1.0, c + 0.95 * g * weight ** .3) + for c, g in zip(color, gcolor)] + changeColor(image, formatColor(*color)) + refresh() + + +class FirstPersonPacmanGraphics(PacmanGraphics): + def __init__(self, zoom=1.0, showGhosts=True, capture=False, frameTime=0): + PacmanGraphics.__init__(self, zoom, frameTime=frameTime) + self.showGhosts = showGhosts + self.capture = capture + + def initialize(self, state, isBlue=False): + + self.isBlue = isBlue + PacmanGraphics.startGraphics(self, state) + # Initialize distribution images + walls = state.layout.walls + dist = [] + self.layout = state.layout + + # Draw the rest + self.distributionImages = None # initialize lazily + self.drawStaticObjects(state) + self.drawAgentObjects(state) + + # Information + self.previousState = state + + def lookAhead(self, config, state): + if config.getDirection() == 'Stop': + return + else: + pass + # Draw relevant ghosts + allGhosts = state.getGhostStates() + visibleGhosts = state.getVisibleGhosts() + for i, ghost in enumerate(allGhosts): + if ghost in visibleGhosts: + self.drawGhost(ghost, i) + else: + self.currentGhostImages[i] = None + + def getGhostColor(self, ghost, ghostIndex): + return GHOST_COLORS[ghostIndex] + + def getPosition(self, ghostState): + if not self.showGhosts and not ghostState.isPacman and ghostState.getPosition()[1] > 1: + return (-1000, -1000) + else: + return PacmanGraphics.getPosition(self, ghostState) + + +def add(x, y): + return (x[0] + y[0], x[1] + y[1]) + + +# Saving graphical output +# ----------------------- +# Note: to make an animated gif from this postscript output, try the command: +# convert -delay 7 -loop 1 -compress lzw -layers optimize frame* out.gif +# convert is part of imagemagick (freeware) + +SAVE_POSTSCRIPT = False +POSTSCRIPT_OUTPUT_DIR = 'frames' +FRAME_NUMBER = 0 +import os + + +def saveFrame(): + "Saves the current graphical output as a postscript file" + global SAVE_POSTSCRIPT, FRAME_NUMBER, POSTSCRIPT_OUTPUT_DIR + if not SAVE_POSTSCRIPT: + return + if not os.path.exists(POSTSCRIPT_OUTPUT_DIR): + os.mkdir(POSTSCRIPT_OUTPUT_DIR) + name = os.path.join(POSTSCRIPT_OUTPUT_DIR, 'frame_%08d.ps' % FRAME_NUMBER) + FRAME_NUMBER += 1 + writePostscript(name) # writes the current canvas diff --git a/HW2_pacman/graphicsUtils.py b/HW2_pacman/graphicsUtils.py new file mode 100644 index 0000000..66f3cb1 --- /dev/null +++ b/HW2_pacman/graphicsUtils.py @@ -0,0 +1,437 @@ +import sys +import math +import random +import string +import time +import types +import tkinter +import os.path + +_Windows = sys.platform == 'win32' # True if on Win95/98/NT + +_root_window = None # The root window for graphics output +_canvas = None # The canvas which holds graphics +_canvas_xs = None # Size of canvas object +_canvas_ys = None +_canvas_x = None # Current position on canvas +_canvas_y = None +_canvas_col = None # Current colour (set to black below) +_canvas_tsize = 12 +_canvas_tserifs = 0 + + +def formatColor(r, g, b): + return '#%02x%02x%02x' % (int(r * 255), int(g * 255), int(b * 255)) + + +def colorToVector(color): + return [int(x, 16) / 256.0 for x in [color[1:3], color[3:5], color[5:7]]] + + +if _Windows: + _canvas_tfonts = ['times new roman', 'lucida console'] +else: + _canvas_tfonts = ['times', 'lucidasans-24'] + pass # XXX need defaults here + + +def sleep(secs): + global _root_window + if _root_window == None: + time.sleep(secs) + else: + _root_window.update_idletasks() + _root_window.after(int(1000 * secs), _root_window.quit) + _root_window.mainloop() + + +def begin_graphics(width=640, height=480, color=formatColor(0, 0, 0), title=None): + + global _root_window, _canvas, _canvas_x, _canvas_y, _canvas_xs, _canvas_ys, _bg_color + + # Check for duplicate call + if _root_window is not None: + # Lose the window. + _root_window.destroy() + + # Save the canvas size parameters + _canvas_xs, _canvas_ys = width - 1, height - 1 + _canvas_x, _canvas_y = 0, _canvas_ys + _bg_color = color + + # Create the root window + _root_window = tkinter.Tk() + _root_window.protocol('WM_DELETE_WINDOW', _destroy_window) + _root_window.title(title or 'Graphics Window') + _root_window.resizable(0, 0) + + # Create the canvas object + try: + _canvas = tkinter.Canvas(_root_window, width=width, height=height) + _canvas.pack() + draw_background() + _canvas.update() + except: + _root_window = None + raise + + # Bind to key-down and key-up events + _root_window.bind("", _keypress) + _root_window.bind("", _keyrelease) + _root_window.bind("", _clear_keys) + _root_window.bind("", _clear_keys) + _root_window.bind("", _leftclick) + _root_window.bind("", _rightclick) + _root_window.bind("", _rightclick) + _root_window.bind("", _ctrl_leftclick) + _clear_keys() + + +_leftclick_loc = None +_rightclick_loc = None +_ctrl_leftclick_loc = None + + +def _leftclick(event): + global _leftclick_loc + _leftclick_loc = (event.x, event.y) + + +def _rightclick(event): + global _rightclick_loc + _rightclick_loc = (event.x, event.y) + + +def _ctrl_leftclick(event): + global _ctrl_leftclick_loc + _ctrl_leftclick_loc = (event.x, event.y) + + +def wait_for_click(): + while True: + global _leftclick_loc + global _rightclick_loc + global _ctrl_leftclick_loc + if _leftclick_loc != None: + val = _leftclick_loc + _leftclick_loc = None + return val, 'left' + if _rightclick_loc != None: + val = _rightclick_loc + _rightclick_loc = None + return val, 'right' + if _ctrl_leftclick_loc != None: + val = _ctrl_leftclick_loc + _ctrl_leftclick_loc = None + return val, 'ctrl_left' + sleep(0.05) + + +def draw_background(): + corners = [(0, 0), (0, _canvas_ys), + (_canvas_xs, _canvas_ys), (_canvas_xs, 0)] + polygon(corners, _bg_color, fillColor=_bg_color, + filled=True, smoothed=False) + + +def _destroy_window(event=None): + sys.exit(0) +# global _root_window +# _root_window.destroy() +# _root_window = None + # print "DESTROY" + + +def end_graphics(): + global _root_window, _canvas, _mouse_enabled + try: + try: + sleep(1) + if _root_window != None: + _root_window.destroy() + except SystemExit as e: + print('Ending graphics raised an exception:', e) + finally: + _root_window = None + _canvas = None + _mouse_enabled = 0 + _clear_keys() + + +def clear_screen(background=None): + global _canvas_x, _canvas_y + _canvas.delete('all') + draw_background() + _canvas_x, _canvas_y = 0, _canvas_ys + + +def polygon(coords, outlineColor, fillColor=None, filled=1, smoothed=1, behind=0, width=1): + c = [] + for coord in coords: + c.append(coord[0]) + c.append(coord[1]) + if fillColor == None: + fillColor = outlineColor + if filled == 0: + fillColor = "" + poly = _canvas.create_polygon( + c, outline=outlineColor, fill=fillColor, smooth=smoothed, width=width) + if behind > 0: + _canvas.tag_lower(poly, behind) # Higher should be more visible + return poly + + +def square(pos, r, color, filled=1, behind=0): + x, y = pos + coords = [(x - r, y - r), (x + r, y - r), (x + r, y + r), (x - r, y + r)] + return polygon(coords, color, color, filled, 0, behind=behind) + + +def circle(pos, r, outlineColor, fillColor, endpoints=None, style='pieslice', width=2): + x, y = pos + x0, x1 = x - r - 1, x + r + y0, y1 = y - r - 1, y + r + if endpoints == None: + e = [0, 359] + else: + e = list(endpoints) + while e[0] > e[1]: + e[1] = e[1] + 360 + + return _canvas.create_arc(x0, y0, x1, y1, outline=outlineColor, fill=fillColor, + extent=e[1] - e[0], start=e[0], style=style, width=width) + + +def image(pos, file="../../blueghost.gif"): + x, y = pos + # img = PhotoImage(file=file) + return _canvas.create_image(x, y, image=tkinter.PhotoImage(file=file), anchor=tkinter.NW) + + +def refresh(): + _canvas.update_idletasks() + + +def moveCircle(id, pos, r, endpoints=None): + global _canvas_x, _canvas_y + + x, y = pos +# x0, x1 = x - r, x + r + 1 +# y0, y1 = y - r, y + r + 1 + x0, x1 = x - r - 1, x + r + y0, y1 = y - r - 1, y + r + if endpoints == None: + e = [0, 359] + else: + e = list(endpoints) + while e[0] > e[1]: + e[1] = e[1] + 360 + + if os.path.isfile('flag'): + edit(id, ('extent', e[1] - e[0])) + else: + edit(id, ('start', e[0]), ('extent', e[1] - e[0])) + move_to(id, x0, y0) + + +def edit(id, *args): + _canvas.itemconfigure(id, **dict(args)) + + +def text(pos, color, contents, font='Helvetica', size=12, style='normal', anchor="nw"): + global _canvas_x, _canvas_y + x, y = pos + font = (font, str(size), style) + return _canvas.create_text(x, y, fill=color, text=contents, font=font, anchor=anchor) + + +def changeText(id, newText, font=None, size=12, style='normal'): + _canvas.itemconfigure(id, text=newText) + if font != None: + _canvas.itemconfigure(id, font=(font, '-%d' % size, style)) + + +def changeColor(id, newColor): + _canvas.itemconfigure(id, fill=newColor) + + +def line(here, there, color=formatColor(0, 0, 0), width=2): + x0, y0 = here[0], here[1] + x1, y1 = there[0], there[1] + return _canvas.create_line(x0, y0, x1, y1, fill=color, width=width) + +############################################################################## +### Keypress handling ######################################################## +############################################################################## + +# We bind to key-down and key-up events. + + +_keysdown = {} +_keyswaiting = {} +# This holds an unprocessed key release. We delay key releases by up to +# one call to keys_pressed() to get round a problem with auto repeat. +_got_release = None + + +def _keypress(event): + global _got_release + # remap_arrows(event) + _keysdown[event.keysym] = 1 + _keyswaiting[event.keysym] = 1 +# print event.char, event.keycode + _got_release = None + + +def _keyrelease(event): + global _got_release + # remap_arrows(event) + try: + del _keysdown[event.keysym] + except: + pass + _got_release = 1 + + +def remap_arrows(event): + # TURN ARROW PRESSES INTO LETTERS (SHOULD BE IN KEYBOARD AGENT) + if event.char in ['a', 's', 'd', 'w']: + return + if event.keycode in [37, 101]: # LEFT ARROW (win / x) + event.char = 'a' + if event.keycode in [38, 99]: # UP ARROW + event.char = 'w' + if event.keycode in [39, 102]: # RIGHT ARROW + event.char = 'd' + if event.keycode in [40, 104]: # DOWN ARROW + event.char = 's' + + +def _clear_keys(event=None): + global _keysdown, _got_release, _keyswaiting + _keysdown = {} + _keyswaiting = {} + _got_release = None + + +def keys_pressed(d_o_e=lambda arg: _root_window.dooneevent(arg), + d_w=tkinter._tkinter.DONT_WAIT): + d_o_e(d_w) + if _got_release: + d_o_e(d_w) + return list(_keysdown.keys()) + + +def keys_waiting(): + global _keyswaiting + keys = list(_keyswaiting.keys()) + _keyswaiting = {} + return keys + +# Block for a list of keys... + + +def wait_for_keys(): + keys = [] + while keys == []: + keys = keys_pressed() + sleep(0.05) + return keys + + +def remove_from_screen(x, + d_o_e=lambda arg: _root_window.dooneevent(arg), + d_w=tkinter._tkinter.DONT_WAIT): + _canvas.delete(x) + d_o_e(d_w) + + +def _adjust_coords(coord_list, x, y): + for i in range(0, len(coord_list), 2): + coord_list[i] = coord_list[i] + x + coord_list[i + 1] = coord_list[i + 1] + y + return coord_list + + +def move_to(object, x, y=None, + d_o_e=lambda arg: _root_window.dooneevent(arg), + d_w=tkinter._tkinter.DONT_WAIT): + if y is None: + try: + x, y = x + except: + raise Exception('incomprehensible coordinates') + + horiz = True + newCoords = [] + current_x, current_y = _canvas.coords(object)[0:2] # first point + for coord in _canvas.coords(object): + if horiz: + inc = x - current_x + else: + inc = y - current_y + horiz = not horiz + + newCoords.append(coord + inc) + + _canvas.coords(object, *newCoords) + d_o_e(d_w) + + +def move_by(object, x, y=None, + d_o_e=lambda arg: _root_window.dooneevent(arg), + d_w=tkinter._tkinter.DONT_WAIT, lift=False): + if y is None: + try: + x, y = x + except: + raise Exception('incomprehensible coordinates') + + horiz = True + newCoords = [] + for coord in _canvas.coords(object): + if horiz: + inc = x + else: + inc = y + horiz = not horiz + + newCoords.append(coord + inc) + + _canvas.coords(object, *newCoords) + d_o_e(d_w) + if lift: + _canvas.tag_raise(object) + + +def writePostscript(filename): + "Writes the current canvas to a postscript file." + psfile = file(filename, 'w') + psfile.write(_canvas.postscript(pageanchor='sw', + y='0.c', + x='0.c')) + psfile.close() + + +ghost_shape = [ + (0, - 0.5), + (0.25, - 0.75), + (0.5, - 0.5), + (0.75, - 0.75), + (0.75, 0.5), + (0.5, 0.75), + (- 0.5, 0.75), + (- 0.75, 0.5), + (- 0.75, - 0.75), + (- 0.5, - 0.5), + (- 0.25, - 0.75) +] + +if __name__ == '__main__': + begin_graphics() + clear_screen() + ghost_shape = [(x * 10 + 20, y * 10 + 20) for x, y in ghost_shape] + g = polygon(ghost_shape, formatColor(1, 1, 1)) + move_to(g, (50, 50)) + circle((150, 150), 20, formatColor(0.7, 0.3, 0.0), endpoints=[15, - 15]) + sleep(2) diff --git a/HW2_pacman/keyboardAgents.py b/HW2_pacman/keyboardAgents.py new file mode 100644 index 0000000..0a925f0 --- /dev/null +++ b/HW2_pacman/keyboardAgents.py @@ -0,0 +1,81 @@ +from game import Agent +from game import Directions +import random + + +class KeyboardAgent(Agent): + """ + An agent controlled by the keyboard. + """ + # NOTE: Arrow keys also work. + WEST_KEY = 'a' + EAST_KEY = 'd' + NORTH_KEY = 'w' + SOUTH_KEY = 's' + STOP_KEY = 'q' + + def __init__(self, index=0): + + self.lastMove = Directions.STOP + self.index = index + self.keys = [] + + def getAction(self, state): + from graphicsUtils import keys_waiting + from graphicsUtils import keys_pressed + keys = keys_waiting() + keys_pressed() + if keys != []: + self.keys = keys + + legal = state.getLegalActions(self.index) + move = self.getMove(legal) + + if move == Directions.STOP: + # Try to move in the same direction as before + if self.lastMove in legal: + move = self.lastMove + + if (self.STOP_KEY in self.keys) and Directions.STOP in legal: + move = Directions.STOP + + if move not in legal: + move = random.choice(legal) + + self.lastMove = move + return move + + def getMove(self, legal): + move = Directions.STOP + if (self.WEST_KEY in self.keys or 'Left' in self.keys) and Directions.WEST in legal: + move = Directions.WEST + if (self.EAST_KEY in self.keys or 'Right' in self.keys) and Directions.EAST in legal: + move = Directions.EAST + if (self.NORTH_KEY in self.keys or 'Up' in self.keys) and Directions.NORTH in legal: + move = Directions.NORTH + if (self.SOUTH_KEY in self.keys or 'Down' in self.keys) and Directions.SOUTH in legal: + move = Directions.SOUTH + return move + + +class KeyboardAgent2(KeyboardAgent): + """ + A second agent controlled by the keyboard. + """ + # NOTE: Arrow keys also work. + WEST_KEY = 'j' + EAST_KEY = "l" + NORTH_KEY = 'i' + SOUTH_KEY = 'k' + STOP_KEY = 'u' + + def getMove(self, legal): + move = Directions.STOP + if (self.WEST_KEY in self.keys) and Directions.WEST in legal: + move = Directions.WEST + if (self.EAST_KEY in self.keys) and Directions.EAST in legal: + move = Directions.EAST + if (self.NORTH_KEY in self.keys) and Directions.NORTH in legal: + move = Directions.NORTH + if (self.SOUTH_KEY in self.keys) and Directions.SOUTH in legal: + move = Directions.SOUTH + return move diff --git a/HW2_pacman/layout.py b/HW2_pacman/layout.py new file mode 100644 index 0000000..811ff1a --- /dev/null +++ b/HW2_pacman/layout.py @@ -0,0 +1,150 @@ +from util import manhattanDistance +from game import Grid +import os +import random +from functools import reduce + +VISIBILITY_MATRIX_CACHE = {} + + +class Layout: + """ + A Layout manages the static information about the game board. + """ + + def __init__(self, layoutText): + self.width = len(layoutText[0]) + self.height = len(layoutText) + self.walls = Grid(self.width, self.height, False) + self.food = Grid(self.width, self.height, False) + self.capsules = [] + self.agentPositions = [] + self.numGhosts = 0 + self.processLayoutText(layoutText) + self.layoutText = layoutText + self.totalFood = len(self.food.asList()) + # self.initializeVisibilityMatrix() + + def getNumGhosts(self): + return self.numGhosts + + def initializeVisibilityMatrix(self): + global VISIBILITY_MATRIX_CACHE + if reduce(str.__add__, self.layoutText) not in VISIBILITY_MATRIX_CACHE: + from game import Directions + vecs = [(-0.5, 0), (0.5, 0), (0, -0.5), (0, 0.5)] + dirs = [Directions.NORTH, Directions.SOUTH, + Directions.WEST, Directions.EAST] + vis = Grid(self.width, self.height, {Directions.NORTH: set(), Directions.SOUTH: set( + ), Directions.EAST: set(), Directions.WEST: set(), Directions.STOP: set()}) + for x in range(self.width): + for y in range(self.height): + if self.walls[x][y] == False: + for vec, direction in zip(vecs, dirs): + dx, dy = vec + nextx, nexty = x + dx, y + dy + while (nextx + nexty) != int(nextx) + int(nexty) or not self.walls[int(nextx)][int(nexty)]: + vis[x][y][direction].add((nextx, nexty)) + nextx, nexty = x + dx, y + dy + self.visibility = vis + VISIBILITY_MATRIX_CACHE[reduce(str.__add__, self.layoutText)] = vis + else: + self.visibility = VISIBILITY_MATRIX_CACHE[reduce( + str.__add__, self.layoutText)] + + def isWall(self, pos): + x, col = pos + return self.walls[x][col] + + def getRandomLegalPosition(self): + x = random.choice(list(range(self.width))) + y = random.choice(list(range(self.height))) + while self.isWall((x, y)): + x = random.choice(list(range(self.width))) + y = random.choice(list(range(self.height))) + return (x, y) + + def getRandomCorner(self): + poses = [(1, 1), (1, self.height - 2), (self.width - 2, 1), + (self.width - 2, self.height - 2)] + return random.choice(poses) + + def getFurthestCorner(self, pacPos): + poses = [(1, 1), (1, self.height - 2), (self.width - 2, 1), + (self.width - 2, self.height - 2)] + dist, pos = max([(manhattanDistance(p, pacPos), p) for p in poses]) + return pos + + def isVisibleFrom(self, ghostPos, pacPos, pacDirection): + row, col = [int(x) for x in pacPos] + return ghostPos in self.visibility[row][col][pacDirection] + + def __str__(self): + return "\n".join(self.layoutText) + + def deepCopy(self): + return Layout(self.layoutText[:]) + + def processLayoutText(self, layoutText): + """ + Coordinates are flipped from the input format to the (x,y) convention here + + The shape of the maze. Each character + represents a different type of object. + % - Wall + . - Food + o - Capsule + G - Ghost + P - Pacman + Other characters are ignored. + """ + maxY = self.height - 1 + for y in range(self.height): + for x in range(self.width): + layoutChar = layoutText[maxY - y][x] + self.processLayoutChar(x, y, layoutChar) + self.agentPositions.sort() + self.agentPositions = [(i == 0, pos) for i, pos in self.agentPositions] + + def processLayoutChar(self, x, y, layoutChar): + if layoutChar == '%': + self.walls[x][y] = True + elif layoutChar == '.': + self.food[x][y] = True + elif layoutChar == 'o': + self.capsules.append((x, y)) + elif layoutChar == 'P': + self.agentPositions.append((0, (x, y))) + elif layoutChar in ['G']: + self.agentPositions.append((1, (x, y))) + self.numGhosts += 1 + elif layoutChar in ['1', '2', '3', '4']: + self.agentPositions.append((int(layoutChar), (x, y))) + self.numGhosts += 1 + + +def getLayout(name, back=2): + if name.endswith('.lay'): + layout = tryToLoad('layouts/' + name) + if layout == None: + layout = tryToLoad(name) + else: + layout = tryToLoad('layouts/' + name + '.lay') + if layout == None: + layout = tryToLoad(name + '.lay') + if layout == None and back >= 0: + curdir = os.path.abspath('.') + os.chdir('..') + layout = getLayout(name, back - 1) + os.chdir(curdir) + return layout + + +def tryToLoad(fullname): + if(not os.path.exists(fullname)): + return None + f = open(fullname) + try: + return Layout([line.strip() for line in f]) + finally: + f.close() diff --git a/HW2_pacman/layouts/capsuleClassic.lay b/HW2_pacman/layouts/capsuleClassic.lay new file mode 100644 index 0000000..06a5c51 --- /dev/null +++ b/HW2_pacman/layouts/capsuleClassic.lay @@ -0,0 +1,7 @@ +%%%%%%%%%%%%%%%%%%% +%G. G ....% +%.% % %%%%%% %.%%.% +%.%o% % o% %.o%.% +%.%%%.% %%% %..%.% +%..... P %..%G% +%%%%%%%%%%%%%%%%%%%% diff --git a/HW2_pacman/layouts/contestClassic.lay b/HW2_pacman/layouts/contestClassic.lay new file mode 100644 index 0000000..84c8733 --- /dev/null +++ b/HW2_pacman/layouts/contestClassic.lay @@ -0,0 +1,9 @@ +%%%%%%%%%%%%%%%%%%%% +%o...%........%...o% +%.%%.%.%%..%%.%.%%.% +%...... G GG%......% +%.%.%%.%% %%%.%%.%.% +%.%....% ooo%.%..%.% +%.%.%%.% %% %.%.%%.% +%o%......P....%....% +%%%%%%%%%%%%%%%%%%%% diff --git a/HW2_pacman/layouts/mediumClassic.lay b/HW2_pacman/layouts/mediumClassic.lay new file mode 100644 index 0000000..33c5db8 --- /dev/null +++ b/HW2_pacman/layouts/mediumClassic.lay @@ -0,0 +1,11 @@ +%%%%%%%%%%%%%%%%%%%% +%o...%........%....% +%.%%.%.%%%%%%.%.%%.% +%.%..............%.% +%.%.%%.%% %%.%%.%.% +%......%G G%......% +%.%.%%.%%%%%%.%%.%.% +%.%..............%.% +%.%%.%.%%%%%%.%.%%.% +%....%...P....%...o% +%%%%%%%%%%%%%%%%%%%% diff --git a/HW2_pacman/layouts/minimaxClassic.lay b/HW2_pacman/layouts/minimaxClassic.lay new file mode 100644 index 0000000..a547397 --- /dev/null +++ b/HW2_pacman/layouts/minimaxClassic.lay @@ -0,0 +1,5 @@ +%%%%%%%%% +%.P G% +% %.%G%%% +%G %%% +%%%%%%%%% diff --git a/HW2_pacman/layouts/openClassic.lay b/HW2_pacman/layouts/openClassic.lay new file mode 100644 index 0000000..6760b42 --- /dev/null +++ b/HW2_pacman/layouts/openClassic.lay @@ -0,0 +1,9 @@ +%%%%%%%%%%%%%%%%%%%%%%%%% +%.. P .... .... % +%.. ... ... ... ... % +%.. ... ... ... ... % +%.. .... .... G % +%.. ... ... ... ... % +%.. ... ... ... ... % +%.. .... .... o% +%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/HW2_pacman/layouts/originalClassic.lay b/HW2_pacman/layouts/originalClassic.lay new file mode 100644 index 0000000..b2770c5 --- /dev/null +++ b/HW2_pacman/layouts/originalClassic.lay @@ -0,0 +1,27 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%............%%............% +%.%%%%.%%%%%.%%.%%%%%.%%%%.% +%o%%%%.%%%%%.%%.%%%%%.%%%%o% +%.%%%%.%%%%%.%%.%%%%%.%%%%.% +%..........................% +%.%%%%.%%.%%%%%%%%.%%.%%%%.% +%.%%%%.%%.%%%%%%%%.%%.%%%%.% +%......%%....%%....%%......% +%%%%%%.%%%%% %% %%%%%.%%%%%% +%%%%%%.%%%%% %% %%%%%.%%%%%% +%%%%%%.% %.%%%%%% +%%%%%%.% %%%% %%%% %.%%%%%% +% . %G GG G% . % +%%%%%%.% %%%%%%%%%% %.%%%%%% +%%%%%%.% %.%%%%%% +%%%%%%.% %%%%%%%%%% %.%%%%%% +%............%%............% +%.%%%%.%%%%%.%%.%%%%%.%%%%.% +%.%%%%.%%%%%.%%.%%%%%.%%%%.% +%o..%%....... .......%%..o% +%%%.%%.%%.%%%%%%%%.%%.%%.%%% +%%%.%%.%%.%%%%%%%%.%%.%%.%%% +%......%%....%%....%%......% +%.%%%%%%%%%%.%%.%%%%%%%%%%.% +%.............P............% +%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/HW2_pacman/layouts/powerClassic.lay b/HW2_pacman/layouts/powerClassic.lay new file mode 100644 index 0000000..3f3d983 --- /dev/null +++ b/HW2_pacman/layouts/powerClassic.lay @@ -0,0 +1,7 @@ +%%%%%%%%%%%%%%%%%%%% +%o....o%GGGG%o....o% +%..%...%% %%...%..% +%.%o.%........%.o%.% +%.o%.%.%%%%%%.%.%o.% +%........P.........% +%%%%%%%%%%%%%%%%%%%% diff --git a/HW2_pacman/layouts/smallClassic.lay b/HW2_pacman/layouts/smallClassic.lay new file mode 100644 index 0000000..ce6c1d9 --- /dev/null +++ b/HW2_pacman/layouts/smallClassic.lay @@ -0,0 +1,7 @@ +%%%%%%%%%%%%%%%%%%%% +%......%G G%......% +%.%%...%% %%...%%.% +%.%o.%........%.o%.% +%.%%.%.%%%%%%.%.%%.% +%........P.........% +%%%%%%%%%%%%%%%%%%%% diff --git a/HW2_pacman/layouts/testClassic.lay b/HW2_pacman/layouts/testClassic.lay new file mode 100644 index 0000000..4b3ffca --- /dev/null +++ b/HW2_pacman/layouts/testClassic.lay @@ -0,0 +1,10 @@ +%%%%% +% . % +%.G.% +% . % +%. .% +% % +% .% +% % +%P .% +%%%%% diff --git a/HW2_pacman/layouts/trappedClassic.lay b/HW2_pacman/layouts/trappedClassic.lay new file mode 100644 index 0000000..289557f --- /dev/null +++ b/HW2_pacman/layouts/trappedClassic.lay @@ -0,0 +1,5 @@ +%%%%%%%% +% P G% +%G%%%%%% +%.... % +%%%%%%%% diff --git a/HW2_pacman/layouts/trickyClassic.lay b/HW2_pacman/layouts/trickyClassic.lay new file mode 100644 index 0000000..ffa156c --- /dev/null +++ b/HW2_pacman/layouts/trickyClassic.lay @@ -0,0 +1,13 @@ +%%%%%%%%%%%%%%%%%%%% +%o...%........%...o% +%.%%.%.%%..%%.%.%%.% +%.%.....%..%.....%.% +%.%.%%.%% %%.%%.%.% +%...... GGGG%.%....% +%.%....%%%%%%.%..%.% +%.%....% oo%.%..%.% +%.%....% %%%%.%..%.% +%.%...........%..%.% +%.%%.%.%%%%%%.%.%%.% +%o...%...P....%...o% +%%%%%%%%%%%%%%%%%%%% diff --git a/HW2_pacman/multiAgents.py b/HW2_pacman/multiAgents.py new file mode 100644 index 0000000..d3e78db --- /dev/null +++ b/HW2_pacman/multiAgents.py @@ -0,0 +1,271 @@ +from util import manhattanDistance +from game import Directions +import random, util +from game import Agent + +class ReflexAgent(Agent): + """ + A reflex agent chooses an action at each choice point by examining + its alternatives via a state evaluation function. + + The code below is provided as a guide. You are welcome to change + it in any way you see fit, so long as you don't touch our method + headers. + """ + + def getAction(self, gameState): + """ + You do not need to change this method, but you're welcome to. + + getAction chooses among the best options according to the evaluation function. + + Just like in the previous project, getAction takes a GameState and returns + some Directions.X for some X in the set {NORTH, SOUTH, WEST, EAST, STOP} + """ + # Collect legal moves and child states + legalMoves = gameState.getLegalActions() + + # Choose one of the best actions + scores = [self.evaluationFunction(gameState, action) for action in legalMoves] + bestScore = max(scores) + bestIndices = [index for index in range(len(scores)) if scores[index] == bestScore] + chosenIndex = random.choice(bestIndices) # Pick randomly among the best + + return legalMoves[chosenIndex] + + def evaluationFunction(self, currentGameState, action): + """ + The evaluation function takes in the current and proposed child + GameStates (pacman.py) and returns a number, where higher numbers are better. + + The code below extracts some useful information from the state, like the + remaining food (newFood) and Pacman position after moving (newPos). + newScaredTimes holds the number of moves that each ghost will remain + scared because of Pacman having eaten a power pellet. + """ + # Useful information you can extract from a GameState (pacman.py) + childGameState = currentGameState.getPacmanNextState(action) + newPos = childGameState.getPacmanPosition() + newFood = childGameState.getFood() + newGhostStates = childGameState.getGhostStates() + newScaredTimes = [ghostState.scaredTimer for ghostState in newGhostStates] + + minGhostDistance = min([manhattanDistance(newPos, state.getPosition()) for state in newGhostStates]) + + scoreDiff = childGameState.getScore() - currentGameState.getScore() + + pos = currentGameState.getPacmanPosition() + nearestFoodDistance = min([manhattanDistance(pos, food) for food in currentGameState.getFood().asList()]) + newFoodsDistances = [manhattanDistance(newPos, food) for food in newFood.asList()] + newNearestFoodDistance = 0 if not newFoodsDistances else min(newFoodsDistances) + isFoodNearer = nearestFoodDistance - newNearestFoodDistance + + direction = currentGameState.getPacmanState().getDirection() + if minGhostDistance <= 1 or action == Directions.STOP: + return 0 + if scoreDiff > 0: + return 8 + elif isFoodNearer > 0: + return 4 + elif action == direction: + return 2 + else: + return 1 + + +def scoreEvaluationFunction(currentGameState): + """ + This default evaluation function just returns the score of the state. + The score is the same one displayed in the Pacman GUI. + + This evaluation function is meant for use with adversarial search agents + (not reflex agents). + """ + return currentGameState.getScore() + + +class MultiAgentSearchAgent(Agent): + """ + This class provides some common elements to all of your + multi-agent searchers. Any methods defined here will be available + to the MinimaxPacmanAgent, AlphaBetaPacmanAgent & ExpectimaxPacmanAgent. + + You *do not* need to make any changes here, but you can if you want to + add functionality to all your adversarial search agents. Please do not + remove anything, however. + + Note: this is an abstract class: one that should not be instantiated. It's + only partially specified, and designed to be extended. Agent (game.py) + is another abstract class. + """ + + def __init__(self, evalFn = 'scoreEvaluationFunction', depth = '2'): + self.index = 0 # Pacman is always agent index 0 + self.evaluationFunction = util.lookup(evalFn, globals()) + self.depth = int(depth) + + +class MinimaxAgent(MultiAgentSearchAgent): + """ + Your minimax agent (Part 1) + """ + + def getAction(self, gameState): + """ + Returns the minimax action from the current gameState using self.depth + and self.evaluationFunction. + + Here are some method calls that might be useful when implementing minimax. + + gameState.getLegalActions(agentIndex): + Returns a list of legal actions for an agent + agentIndex=0 means Pacman, ghosts are >= 1 + + gameState.getNextState(agentIndex, action): + Returns the child game state after an agent takes an action + + gameState.getNumAgents(): + Returns the total number of agents in the game + + gameState.isWin(): + Returns whether or not the game state is a winning state + + gameState.isLose(): + Returns whether or not the game state is a losing state + """ + # Begin your code (Part 1) + def minimax(s, d, agent): + if s.isWin() or s.isLose() or d == 0: + return self.evaluationFunction(s), None + + nxt = (agent + 1) % s.getNumAgents() + d2 = d - 1 if nxt == 0 else d + actions = s.getLegalActions(agent) + + if agent == 0: + best = (float('-inf'), None) + for a in actions: + v = minimax(s.getNextState(agent, a), d2, nxt)[0] + if v > best[0]: + best = (v, a) + return best + else: + best = (float('inf'), None) + for a in actions: + v = minimax(s.getNextState(agent, a), d2, nxt)[0] + if v < best[0]: + best = (v, a) + return best + + return minimax(gameState, self.depth, 0)[1] + # End your code (Part 1) + + +class AlphaBetaAgent(MultiAgentSearchAgent): + """ + Your minimax agent with alpha-beta pruning (Part 2) + """ + + def getAction(self, gameState): + """ + Returns the minimax action using self.depth and self.evaluationFunction + """ + # Begin your code (Part 2) + def ab(s, d, agent, a, b): + if s.isWin() or s.isLose() or d == 0: + return self.evaluationFunction(s), None + + nxt = (agent + 1) % s.getNumAgents() + d2 = d - 1 if nxt == 0 else d + actions = s.getLegalActions(agent) + + if agent == 0: + best = (float('-inf'), None) + for act in actions: + v = ab(s.getNextState(agent, act), d2, nxt, a, b)[0] + if v > best[0]: + best = (v, act) + if best[0] > b: + return best + a = max(a, best[0]) + return best + else: + best = (float('inf'), None) + for act in actions: + v = ab(s.getNextState(agent, act), d2, nxt, a, b)[0] + if v < best[0]: + best = (v, act) + if best[0] < a: + return best + b = min(b, best[0]) + return best + + return ab(gameState, self.depth, 0, float('-inf'), float('inf'))[1] + # End your code (Part 2) + + +class ExpectimaxAgent(MultiAgentSearchAgent): + """ + Your expectimax agent (Part 3) + """ + + def getAction(self, gameState): + """ + Returns the expectimax action using self.depth and self.evaluationFunction + + All ghosts should be modeled as choosing uniformly at random from their + legal moves. + """ + # Begin your code (Part 3) + def expmax(s, d, agent): + if s.isWin() or s.isLose() or d == 0: + return self.evaluationFunction(s), None + + nxt = (agent + 1) % s.getNumAgents() + d2 = d - 1 if nxt == 0 else d + actions = s.getLegalActions(agent) + + if agent == 0: + best = (float('-inf'), None) + for a in actions: + v = expmax(s.getNextState(agent, a), d2, nxt)[0] + if v > best[0]: + best = (v, a) + return best + else: + vals = [expmax(s.getNextState(agent, a), d2, nxt)[0] for a in actions] + return sum(vals) / len(vals), None + + return expmax(gameState, self.depth, 0)[1] + # End your code (Part 3) + + +def betterEvaluationFunction(currentGameState): + """ + Your extreme ghost-hunting, pellet-nabbing, food-gobbling, unstoppable + evaluation function (Part 4). + """ + # Begin your code (Part 4) + pos = currentGameState.getPacmanPosition() + foodList = currentGameState.getFood().asList() + ghosts = currentGameState.getGhostStates() + + score = currentGameState.getScore() + score -= 10 * len(foodList) + score -= 20 * len(currentGameState.getCapsules()) + + if foodList: + score += 1.0 / min(manhattanDistance(pos, f) for f in foodList) + + for g in ghosts: + d = manhattanDistance(pos, g.getPosition()) + if g.scaredTimer > 0: + score += 200 / (d + 1) + else: + score -= 10000 / (10 ** d) + + return score + # End your code (Part 4) + +# Abbreviation +better = betterEvaluationFunction diff --git a/HW2_pacman/multiagentTestClasses.py b/HW2_pacman/multiagentTestClasses.py new file mode 100644 index 0000000..9854e90 --- /dev/null +++ b/HW2_pacman/multiagentTestClasses.py @@ -0,0 +1,563 @@ +# A minimax tree which interfaces like gameState +# state.getNumAgents() +# state.isWin() +# state.isLose() +# state.getNextState(agentIndex, action) +# state.getScore() +# used by multiAgents.scoreEvaluationFunction, which is the default +# +import testClasses +import json + +from collections import defaultdict +from pprint import PrettyPrinter +pp = PrettyPrinter() + +from game import Agent +from pacman import GameState +from ghostAgents import RandomGhost, DirectionalGhost +import random +import math +import traceback +import sys +import os +import layout +import pacman +import autograder + +VERBOSE = False + + +class MultiagentTreeState(object): + def __init__(self, problem, state): + self.problem = problem + self.state = state + + def getNextState(self, agentIndex, action): + if VERBOSE: + print("getNextState(%s, %s, %s) -> %s" % (self.state, agentIndex, + action, self.problem.stateToChildMap[self.state][action])) + child = self.problem.stateToChildMap[self.state][action] + self.problem.generatedStates.add(child) + return MultiagentTreeState(self.problem, child) + + def getScore(self): + if VERBOSE: + print("getScore(%s) -> %s" % + (self.state, self.problem.evaluation[self.state])) + if self.state not in self.problem.evaluation: + raise Exception( + 'getScore() called on non-terminal state or before maximum depth achieved.') + return float(self.problem.evaluation[self.state]) + + def getLegalActions(self, agentIndex=0): + if VERBOSE: + print("getLegalActions(%s) -> %s" % + (self.state, self.problem.stateToActions[self.state])) + # if len(self.problem.stateToActions[self.state]) == 0: + # print "WARNING: getLegalActions called on leaf state %s" % (self.state,) + return list(self.problem.stateToActions[self.state]) + + def isWin(self): + if VERBOSE: + print("isWin(%s) -> %s" % + (self.state, self.state in self.problem.winStates)) + return self.state in self.problem.winStates + + def isLose(self): + if VERBOSE: + print("isLose(%s) -> %s" % + (self.state, self.state in self.problem.loseStates)) + return self.state in self.problem.loseStates + + def getNumAgents(self): + if VERBOSE: + print("getNumAgents(%s) -> %s" % + (self.state, self.problem.numAgents)) + return self.problem.numAgents + + +class MultiagentTreeProblem(object): + def __init__(self, numAgents, startState, winStates, loseStates, children, evaluation): + self.startState = MultiagentTreeState(self, startState) + + self.numAgents = numAgents + self.winStates = winStates + self.loseStates = loseStates + self.evaluation = evaluation + self.children = children + + self.reset() + + self.stateToChildMap = defaultdict(dict) + self.stateToActions = defaultdict(list) + for state, action, nextState in children: + self.stateToActions[state].append(action) + self.stateToChildMap[state][action] = nextState + + def reset(self): + self.generatedStates = set([self.startState.state]) + + +def parseTreeProblem(testDict): + numAgents = int(testDict["num_agents"]) + startState = testDict["start_state"] + winStates = set(testDict["win_states"].split(" ")) + loseStates = set(testDict["lose_states"].split(" ")) + children = [] + + evaluation = {} + for line in testDict["evaluation"].split('\n'): + tokens = line.split() + if len(tokens) == 2: + state, value = tokens + evaluation[state] = float(value) + else: + raise Exception("[parseTree] Bad evaluation line: |%s|" % (line,)) + + for line in testDict["children"].split('\n'): + tokens = line.split() + if len(tokens) == 3: + state, action, nextState = tokens + children.append((state, action, nextState)) + else: + raise Exception("[parseTree] Bad children line: |%s|" % (line,)) + + return MultiagentTreeProblem(numAgents, startState, winStates, loseStates, children, evaluation) + + +def run(lay, layName, pac, ghosts, disp, nGames=1, name='games'): + """ + Runs a few games and outputs their statistics. + """ + starttime = time.time() + print('*** Running %s on' % name, layName, '%d time(s).' % nGames) + games = pacman.runGames(lay, pac, ghosts, disp, + nGames, False, catchExceptions=True, timeout=120) + print('*** Finished running %s on' % name, layName, + 'after %d seconds.' % (time.time() - starttime)) + stats = {'time': time.time() - starttime, 'wins': [g.state.isWin() for g in games].count(True), 'games': games, 'scores': [g.state.getScore() for g in games], + 'timeouts': [g.agentTimeout for g in games].count(True), 'crashes': [g.agentCrashed for g in games].count(True)} + print('*** Won %d out of %d games. Average score: %f ***' % + (stats['wins'], len(games), sum(stats['scores']) * 1.0 / len(games))) + return stats + + +class GradingAgent(Agent): + def __init__(self, seed, studentAgent, optimalActions, altDepthActions, partialPlyBugActions): + # save student agent and actions of refernce agents + self.studentAgent = studentAgent + self.optimalActions = optimalActions + self.altDepthActions = altDepthActions + self.partialPlyBugActions = partialPlyBugActions + # create fields for storing specific wrong actions + self.suboptimalMoves = [] + self.wrongStatesExplored = -1 + # boolean vectors represent types of implementation the student could have + self.actionsConsistentWithOptimal = [ + True for i in range(len(optimalActions[0]))] + self.actionsConsistentWithAlternativeDepth = [ + True for i in range(len(altDepthActions[0]))] + self.actionsConsistentWithPartialPlyBug = [ + True for i in range(len(partialPlyBugActions[0]))] + # keep track of elapsed moves + self.stepCount = 0 + self.seed = seed + + def registerInitialState(self, state): + if 'registerInitialState' in dir(self.studentAgent): + self.studentAgent.registerInitialState(state) + random.seed(self.seed) + + def getAction(self, state): + GameState.getAndResetExplored() + studentAction = (self.studentAgent.getAction(state), + len(GameState.getAndResetExplored())) + optimalActions = self.optimalActions[self.stepCount] + altDepthActions = self.altDepthActions[self.stepCount] + partialPlyBugActions = self.partialPlyBugActions[self.stepCount] + studentOptimalAction = False + curRightStatesExplored = False + for i in range(len(optimalActions)): + if studentAction[0] in optimalActions[i][0]: + studentOptimalAction = True + else: + self.actionsConsistentWithOptimal[i] = False + if studentAction[1] == int(optimalActions[i][1]): + curRightStatesExplored = True + if not curRightStatesExplored and self.wrongStatesExplored < 0: + self.wrongStatesExplored = 1 + for i in range(len(altDepthActions)): + if studentAction[0] not in altDepthActions[i]: + self.actionsConsistentWithAlternativeDepth[i] = False + for i in range(len(partialPlyBugActions)): + if studentAction[0] not in partialPlyBugActions[i]: + self.actionsConsistentWithPartialPlyBug[i] = False + if not studentOptimalAction: + self.suboptimalMoves.append( + (state, studentAction[0], optimalActions[0][0][0])) + self.stepCount += 1 + random.seed(self.seed + self.stepCount) + return optimalActions[0][0][0] + + def getSuboptimalMoves(self): + return self.suboptimalMoves + + def getWrongStatesExplored(self): + return self.wrongStatesExplored + + def checkFailure(self): + """ + Return +n if have n suboptimal moves. + Return -1 if have only off by one depth moves. + Return 0 otherwise. + """ + if self.wrongStatesExplored > 0: + return -3 + if self.actionsConsistentWithOptimal.count(True) > 0: + return 0 + elif self.actionsConsistentWithPartialPlyBug.count(True) > 0: + return -2 + elif self.actionsConsistentWithAlternativeDepth.count(True) > 0: + return -1 + else: + return len(self.suboptimalMoves) + + +class PolyAgent(Agent): + def __init__(self, seed, multiAgents, ourPacOptions, depth): + # prepare our pacman agents + solutionAgents, alternativeDepthAgents, partialPlyBugAgents = self.construct_our_pacs( + multiAgents, ourPacOptions) + for p in solutionAgents: + p.depth = depth + for p in partialPlyBugAgents: + p.depth = depth + for p in alternativeDepthAgents[:2]: + p.depth = max(1, depth - 1) + for p in alternativeDepthAgents[2:]: + p.depth = depth + 1 + self.solutionAgents = solutionAgents + self.alternativeDepthAgents = alternativeDepthAgents + self.partialPlyBugAgents = partialPlyBugAgents + # prepare fields for storing the results + self.optimalActionLists = [] + self.alternativeDepthLists = [] + self.partialPlyBugLists = [] + self.seed = seed + self.stepCount = 0 + + def select(self, list, indices): + """ + Return a sublist of elements given by indices in list. + """ + return [list[i] for i in indices] + + def construct_our_pacs(self, multiAgents, keyword_dict): + pacs_without_stop = [multiAgents.StaffMultiAgentSearchAgent( + **keyword_dict) for i in range(3)] + keyword_dict['keepStop'] = 'True' + pacs_with_stop = [multiAgents.StaffMultiAgentSearchAgent( + **keyword_dict) for i in range(3)] + keyword_dict['usePartialPlyBug'] = 'True' + partial_ply_bug_pacs = [ + multiAgents.StaffMultiAgentSearchAgent(**keyword_dict)] + keyword_dict['keepStop'] = 'False' + partial_ply_bug_pacs = partial_ply_bug_pacs + \ + [multiAgents.StaffMultiAgentSearchAgent(**keyword_dict)] + for pac in pacs_with_stop + pacs_without_stop + partial_ply_bug_pacs: + pac.verbose = False + ourpac = [pacs_with_stop[0], pacs_without_stop[0]] + alternative_depth_pacs = self.select( + pacs_with_stop + pacs_without_stop, [1, 4, 2, 5]) + return (ourpac, alternative_depth_pacs, partial_ply_bug_pacs) + + def registerInitialState(self, state): + for agent in self.solutionAgents + self.alternativeDepthAgents: + if 'registerInitialState' in dir(agent): + agent.registerInitialState(state) + random.seed(self.seed) + + def getAction(self, state): + # survey agents + GameState.getAndResetExplored() + optimalActionLists = [] + for agent in self.solutionAgents: + optimalActionLists.append((agent.getBestPacmanActions( + state)[0], len(GameState.getAndResetExplored()))) + alternativeDepthLists = [agent.getBestPacmanActions( + state)[0] for agent in self.alternativeDepthAgents] + partialPlyBugLists = [agent.getBestPacmanActions( + state)[0] for agent in self.partialPlyBugAgents] + # record responses + self.optimalActionLists.append(optimalActionLists) + self.alternativeDepthLists.append(alternativeDepthLists) + self.partialPlyBugLists.append(partialPlyBugLists) + self.stepCount += 1 + random.seed(self.seed + self.stepCount) + return optimalActionLists[0][0][0] + + def getTraces(self): + # return traces from individual agents + return (self.optimalActionLists, self.alternativeDepthLists, self.partialPlyBugLists) + + +class PacmanGameTreeTest(testClasses.TestCase): + + def __init__(self, question, testDict): + super(PacmanGameTreeTest, self).__init__(question, testDict) + self.seed = int(self.testDict['seed']) + self.alg = self.testDict['alg'] + self.layout_text = self.testDict['layout'] + self.layout_name = self.testDict['layoutName'] + self.depth = int(self.testDict['depth']) + self.max_points = int(self.testDict['max_points']) + + def execute(self, grades, moduleDict, solutionDict): + # load student code and staff code solutions + multiAgents = moduleDict['multiAgents'] + studentAgent = getattr(multiAgents, self.alg)(depth=self.depth) + allActions = [json.loads(x) + for x in solutionDict['optimalActions'].split('\n')] + altDepthActions = [json.loads( + x) for x in solutionDict['altDepthActions'].split('\n')] + partialPlyBugActions = [json.loads( + x) for x in solutionDict['partialPlyBugActions'].split('\n')] + # set up game state and play a game + random.seed(self.seed) + lay = layout.Layout([l.strip() for l in self.layout_text.split('\n')]) + pac = GradingAgent(self.seed, studentAgent, allActions, + altDepthActions, partialPlyBugActions) + # check return codes and assign grades + disp = self.question.getDisplay() + stats = run(lay, self.layout_name, pac, [DirectionalGhost( + i + 1) for i in range(2)], disp, name=self.alg) + if stats['timeouts'] > 0: + self.addMessage('Agent timed out on smallClassic. No credit') + return self.testFail(grades) + if stats['crashes'] > 0: + self.addMessage('Agent crashed on smallClassic. No credit') + return self.testFail(grades) + code = pac.checkFailure() + if code == 0: + return self.testPass(grades) + elif code == -3: + if pac.getWrongStatesExplored() >= 0: + self.addMessage('Bug: Wrong number of states expanded.') + return self.testFail(grades) + else: + return self.testPass(grades) + elif code == -2: + self.addMessage('Bug: Partial Ply Bug') + return self.testFail(grades) + elif code == -1: + self.addMessage('Bug: Search depth off by 1') + return self.testFail(grades) + elif code > 0: + moves = pac.getSuboptimalMoves() + state, studentMove, optMove = random.choice(moves) + self.addMessage('Bug: Suboptimal moves') + self.addMessage('State:%s\nStudent Move:%s\nOptimal Move:%s' % ( + state, studentMove, optMove)) + return self.testFail(grades) + + def writeList(self, handle, name, list): + handle.write('%s: """\n' % name) + for l in list: + handle.write('%s\n' % json.dumps(l)) + handle.write('"""\n') + + def writeSolution(self, moduleDict, filePath): + # load module, set seed, create ghosts and macman, run game + multiAgents = moduleDict['multiAgents'] + random.seed(self.seed) + lay = layout.Layout([l.strip() for l in self.layout_text.split('\n')]) + if self.alg == 'ExpectimaxAgent': + ourPacOptions = {'expectimax': 'True'} + elif self.alg == 'AlphaBetaAgent': + ourPacOptions = {'alphabeta': 'True'} + else: + ourPacOptions = {} + pac = PolyAgent(self.seed, multiAgents, ourPacOptions, self.depth) + disp = self.question.getDisplay() + run(lay, self.layout_name, pac, [DirectionalGhost( + i + 1) for i in range(2)], disp, name=self.alg) + (optimalActions, altDepthActions, partialPlyBugActions) = pac.getTraces() + # recover traces and record to file + handle = open(filePath, 'w') + self.writeList(handle, 'optimalActions', optimalActions) + self.writeList(handle, 'altDepthActions', altDepthActions) + self.writeList(handle, 'partialPlyBugActions', partialPlyBugActions) + handle.close() + + +class GraphGameTreeTest(testClasses.TestCase): + + def __init__(self, question, testDict): + super(GraphGameTreeTest, self).__init__(question, testDict) + self.problem = parseTreeProblem(testDict) + self.alg = self.testDict['alg'] + self.diagram = self.testDict['diagram'].split('\n') + self.depth = int(self.testDict['depth']) + + def solveProblem(self, multiAgents): + self.problem.reset() + studentAgent = getattr(multiAgents, self.alg)(depth=self.depth) + action = studentAgent.getAction(self.problem.startState) + generated = self.problem.generatedStates + return action, " ".join([str(s) for s in sorted(generated)]) + + def addDiagram(self): + self.addMessage('Tree:') + for line in self.diagram: + self.addMessage(line) + + def execute(self, grades, moduleDict, solutionDict): + multiAgents = moduleDict['multiAgents'] + goldAction = solutionDict['action'] + goldGenerated = solutionDict['generated'] + action, generated = self.solveProblem(multiAgents) + + fail = False + if action != goldAction: + self.addMessage('Incorrect move for depth=%s' % (self.depth,)) + self.addMessage( + ' Student move: %s\n Optimal move: %s' % (action, goldAction)) + fail = True + + if generated != goldGenerated: + self.addMessage( + 'Incorrect generated nodes for depth=%s' % (self.depth,)) + self.addMessage(' Student generated nodes: %s\n Correct generated nodes: %s' % ( + generated, goldGenerated)) + fail = True + + if fail: + self.addDiagram() + return self.testFail(grades) + else: + return self.testPass(grades) + + def writeSolution(self, moduleDict, filePath): + multiAgents = moduleDict['multiAgents'] + action, generated = self.solveProblem(multiAgents) + with open(filePath, 'w') as handle: + handle.write('# This is the solution file for %s.\n' % self.path) + handle.write('action: "%s"\n' % (action,)) + handle.write('generated: "%s"\n' % (generated,)) + return True + + +import time +from util import TimeoutFunction + + +class EvalAgentTest(testClasses.TestCase): + + def __init__(self, question, testDict): + super(EvalAgentTest, self).__init__(question, testDict) + self.layoutName = testDict['layoutName'] + self.agentName = testDict['agentName'] + self.ghosts = eval(testDict['ghosts']) + self.maxTime = int(testDict['maxTime']) + self.seed = int(testDict['randomSeed']) + self.numGames = int(testDict['numGames']) + + self.scoreMinimum = int( + testDict['scoreMinimum']) if 'scoreMinimum' in testDict else None + self.nonTimeoutMinimum = int( + testDict['nonTimeoutMinimum']) if 'nonTimeoutMinimum' in testDict else None + self.winsMinimum = int( + testDict['winsMinimum']) if 'winsMinimum' in testDict else None + + self.scoreThresholds = [int(s) for s in testDict.get( + 'scoreThresholds', '').split()] + self.nonTimeoutThresholds = [int(s) for s in testDict.get( + 'nonTimeoutThresholds', '').split()] + self.winsThresholds = [int(s) for s in testDict.get( + 'winsThresholds', '').split()] + + self.maxPoints = sum([len(t) for t in [ + self.scoreThresholds, self.nonTimeoutThresholds, self.winsThresholds]]) + self.agentArgs = testDict.get('agentArgs', '') + + def execute(self, grades, moduleDict, solutionDict): + startTime = time.time() + + agentType = getattr(moduleDict['multiAgents'], self.agentName) + agentOpts = pacman.parseAgentArgs( + self.agentArgs) if self.agentArgs != '' else {} + agent = agentType(**agentOpts) + + lay = layout.getLayout(self.layoutName, 3) + + disp = self.question.getDisplay() + + random.seed(self.seed) + games = pacman.runGames(lay, agent, self.ghosts, disp, self.numGames, + False, catchExceptions=True, timeout=self.maxTime) + totalTime = time.time() - startTime + + stats = {'time': totalTime, 'wins': [g.state.isWin() for g in games].count(True), + 'games': games, 'scores': [g.state.getScore() for g in games], + 'timeouts': [g.agentTimeout for g in games].count(True), 'crashes': [g.agentCrashed for g in games].count(True)} + + averageScore = sum(stats['scores']) / float(len(stats['scores'])) + nonTimeouts = self.numGames - stats['timeouts'] + wins = stats['wins'] + + def gradeThreshold(value, minimum, thresholds, weight, name): + points = 0 + passed = (minimum == None) or (value >= minimum) + if passed: + for t in thresholds: + if value >= t: + points += weight + return (passed, points, value, minimum, thresholds, weight, name) + + results = [gradeThreshold(averageScore, self.scoreMinimum, self.scoreThresholds, 2, "average score"), + gradeThreshold(nonTimeouts, self.nonTimeoutMinimum, + self.nonTimeoutThresholds, 1, "games not timed out"), + gradeThreshold(wins, self.winsMinimum, self.winsThresholds, 1, "wins")] + + totalPoints = 0 + for passed, points, value, minimum, thresholds, weight, name in results: + if minimum == None and len(thresholds) == 0: + continue + + # print passed, points, value, minimum, thresholds, name + totalPoints += points + if not passed: + assert points == 0 + self.addMessage( + "%s %s (fail: below minimum value %s)" % (value, name, minimum)) + else: + self.addMessage("%s %s (%s of %s points)" % + (value, name, points, len(thresholds) * weight)) + + if minimum != None: + self.addMessage(" Grading scheme:") + self.addMessage(" < %s: fail" % (minimum,)) + if len(thresholds) == 0 or minimum != thresholds[0]: + self.addMessage(" >= %s: 0 points" % (minimum,)) + for idx, threshold in enumerate(thresholds): + self.addMessage(" >= %s: %s points" % + (threshold, (idx+1) * weight)) + elif len(thresholds) > 0: + self.addMessage(" Grading scheme:") + self.addMessage(" < %s: 0 points" % (thresholds[0],)) + for idx, threshold in enumerate(thresholds): + self.addMessage(" >= %s: %s points" % + (threshold, (idx+1) * weight)) + + if any([not passed for passed, _, _, _, _, _, _ in results]): + totalPoints = 0 + + return self.testPartial(grades, totalPoints, self.maxPoints) + + def writeSolution(self, moduleDict, filePath): + handle = open(filePath, 'w') + handle.write('# This is the solution file for %s.\n' % self.path) + handle.write('# File intentionally blank.\n') + handle.close() + return True diff --git a/HW2_pacman/pacman.py b/HW2_pacman/pacman.py new file mode 100644 index 0000000..6eb1c9b --- /dev/null +++ b/HW2_pacman/pacman.py @@ -0,0 +1,730 @@ +""" +Pacman.py holds the logic for the classic pacman game along with the main +code to run a game. This file is divided into three sections: + + (i) Your interface to the pacman world: + Pacman is a complex environment. You probably don't want to + read through all of the code we wrote to make the game runs + correctly. This section contains the parts of the code + that you will need to understand in order to complete the + project. There is also some code in game.py that you should + understand. + + (ii) The hidden secrets of pacman: + This section contains all of the logic code that the pacman + environment uses to decide who can move where, who dies when + things collide, etc. You shouldn't need to read this section + of code, but you can if you want. + + (iii) Framework to start a game: + The final section contains the code for reading the command + you use to set up the game, then starting up a new game, along with + linking in all the external parts (agent functions, graphics). + Check this section out to see all the options available to you. + +To play your first game, type 'python pacman.py' from the command line. +The keys are 'a', 's', 'd', and 'w' to move (or arrow keys). Have fun! +""" +from game import GameStateData +from game import Game +from game import Directions +from game import Actions +from util import nearestPoint +from util import manhattanDistance +import util +import layout +import sys +import types +import time +import random +import os + +################################################### +# YOUR INTERFACE TO THE PACMAN WORLD: A GameState # +################################################### + + +class GameState: + """ + A GameState specifies the full game state, including the food, capsules, + agent configurations and score changes. + + GameStates are used by the Game object to capture the actual state of the game and + can be used by agents to reason about the game. + + Much of the information in a GameState is stored in a GameStateData object. We + strongly suggest that you access that data via the accessor methods below rather + than referring to the GameStateData object directly. + + Note that in classic Pacman, Pacman is always agent 0. + """ + + #################################################### + # Accessor methods: use these to access state data # + #################################################### + + # static variable keeps track of which states have had getLegalActions called + explored = set() + + def getAndResetExplored(): + tmp = GameState.explored.copy() + GameState.explored = set() + return tmp + getAndResetExplored = staticmethod(getAndResetExplored) + + def getLegalActions(self, agentIndex=0): + """ + Returns the legal actions for the agent specified. + """ +# GameState.explored.add(self) + if self.isWin() or self.isLose(): + return [] + + if agentIndex == 0: # Pacman is moving + return PacmanRules.getLegalActions(self) + else: + return GhostRules.getLegalActions(self, agentIndex) + + def getNextState(self, agentIndex, action): + """ + Returns the child state after the specified agent takes the action. + """ + # Check that children exist + if self.isWin() or self.isLose(): + raise Exception('Can\'t generate a child of a terminal state.') + + # Copy current state + state = GameState(self) + + # Let agent's logic deal with its action's effects on the board + if agentIndex == 0: # Pacman is moving + state.data._eaten = [False for i in range(state.getNumAgents())] + PacmanRules.applyAction(state, action) + else: # A ghost is moving + GhostRules.applyAction(state, action, agentIndex) + + # Time passes + if agentIndex == 0: + state.data.scoreChange += -TIME_PENALTY # Penalty for waiting around + else: + GhostRules.decrementTimer(state.data.agentStates[agentIndex]) + + # Resolve multi-agent effects + GhostRules.checkDeath(state, agentIndex) + + # Book keeping + state.data._agentMoved = agentIndex + state.data.score += state.data.scoreChange + GameState.explored.add(self) + GameState.explored.add(state) + return state + + def getLegalPacmanActions(self): + return self.getLegalActions(0) + + def getPacmanNextState(self, action): + """ + Generates the child state after the specified pacman move + """ + return self.getNextState(0, action) + + def getPacmanState(self): + """ + Returns an AgentState object for pacman (in game.py) + + state.pos gives the current position + state.direction gives the travel vector + """ + return self.data.agentStates[0].copy() + + def getPacmanPosition(self): + return self.data.agentStates[0].getPosition() + + def getGhostStates(self): + return self.data.agentStates[1:] + + def getGhostState(self, agentIndex): + if agentIndex == 0 or agentIndex >= self.getNumAgents(): + raise Exception("Invalid index passed to getGhostState") + return self.data.agentStates[agentIndex] + + def getGhostPosition(self, agentIndex): + if agentIndex == 0: + raise Exception("Pacman's index passed to getGhostPosition") + return self.data.agentStates[agentIndex].getPosition() + + def getGhostPositions(self): + return [s.getPosition() for s in self.getGhostStates()] + + def getNumAgents(self): + return len(self.data.agentStates) + + def getScore(self): + return float(self.data.score) + + def getCapsules(self): + """ + Returns a list of positions (x,y) of the remaining capsules. + """ + return self.data.capsules + + def getNumFood(self): + return self.data.food.count() + + def getFood(self): + """ + Returns a Grid of boolean food indicator variables. + + Grids can be accessed via list notation, so to check + if there is food at (x,y), just call + + currentFood = state.getFood() + if currentFood[x][y] == True: ... + """ + return self.data.food + + def getWalls(self): + """ + Returns a Grid of boolean wall indicator variables. + + Grids can be accessed via list notation, so to check + if there is a wall at (x,y), just call + + walls = state.getWalls() + if walls[x][y] == True: ... + """ + return self.data.layout.walls + + def hasFood(self, x, y): + return self.data.food[x][y] + + def hasWall(self, x, y): + return self.data.layout.walls[x][y] + + def isLose(self): + return self.data._lose + + def isWin(self): + return self.data._win + + ############################################# + # Helper methods: # + # You shouldn't need to call these directly # + ############################################# + + def __init__(self, prevState=None): + """ + Generates a new state by copying information from its predecessor. + """ + if prevState != None: # Initial state + self.data = GameStateData(prevState.data) + else: + self.data = GameStateData() + + def deepCopy(self): + state = GameState(self) + state.data = self.data.deepCopy() + return state + + def __eq__(self, other): + """ + Allows two states to be compared. + """ + return hasattr(other, 'data') and self.data == other.data + + def __hash__(self): + """ + Allows states to be keys of dictionaries. + """ + return hash(self.data) + + def __str__(self): + + return str(self.data) + + def initialize(self, layout, numGhostAgents=1000): + """ + Creates an initial game state from a layout array (see layout.py). + """ + self.data.initialize(layout, numGhostAgents) + +############################################################################ +# THE HIDDEN SECRETS OF PACMAN # +# # +# You shouldn't need to look through the code in this section of the file. # +############################################################################ + + +SCARED_TIME = 40 # Moves ghosts are scared +COLLISION_TOLERANCE = 0.7 # How close ghosts must be to Pacman to kill +TIME_PENALTY = 1 # Number of points lost each round + + +class ClassicGameRules: + """ + These game rules manage the control flow of a game, deciding when + and how the game starts and ends. + """ + + def __init__(self, timeout=30): + self.timeout = timeout + + def newGame(self, layout, pacmanAgent, ghostAgents, display, quiet=False, catchExceptions=False): + agents = [pacmanAgent] + ghostAgents[:layout.getNumGhosts()] + initState = GameState() + initState.initialize(layout, len(ghostAgents)) + game = Game(agents, display, self, catchExceptions=catchExceptions) + game.state = initState + self.initialState = initState.deepCopy() + self.quiet = quiet + return game + + def process(self, state, game): + """ + Checks to see whether it is time to end the game. + """ + if state.isWin(): + self.win(state, game) + if state.isLose(): + self.lose(state, game) + + def win(self, state, game): + if not self.quiet: + print("Pacman emerges victorious! Score: %d" % state.data.score) + game.gameOver = True + + def lose(self, state, game): + if not self.quiet: + print("Pacman died! Score: %d" % state.data.score) + game.gameOver = True + + def getProgress(self, game): + return float(game.state.getNumFood()) / self.initialState.getNumFood() + + def agentCrash(self, game, agentIndex): + if agentIndex == 0: + print("Pacman crashed") + else: + print("A ghost crashed") + + def getMaxTotalTime(self, agentIndex): + return self.timeout + + def getMaxStartupTime(self, agentIndex): + return self.timeout + + def getMoveWarningTime(self, agentIndex): + return self.timeout + + def getMoveTimeout(self, agentIndex): + return self.timeout + + def getMaxTimeWarnings(self, agentIndex): + return 0 + + +class PacmanRules: + """ + These functions govern how pacman interacts with his environment under + the classic game rules. + """ + PACMAN_SPEED = 1 + + def getLegalActions(state): + """ + Returns a list of possible actions. + """ + return Actions.getPossibleActions(state.getPacmanState().configuration, state.data.layout.walls) + getLegalActions = staticmethod(getLegalActions) + + def applyAction(state, action): + """ + Edits the state to reflect the results of the action. + """ + legal = PacmanRules.getLegalActions(state) + if action not in legal: + raise Exception("Illegal action " + str(action)) + + pacmanState = state.data.agentStates[0] + + # Update Configuration + vector = Actions.directionToVector(action, PacmanRules.PACMAN_SPEED) + pacmanState.configuration = pacmanState.configuration.getNextState( + vector) + + # Eat + next = pacmanState.configuration.getPosition() + nearest = nearestPoint(next) + if manhattanDistance(nearest, next) <= 0.5: + # Remove food + PacmanRules.consume(nearest, state) + applyAction = staticmethod(applyAction) + + def consume(position, state): + x, y = position + # Eat food + if state.data.food[x][y]: + state.data.scoreChange += 10 + state.data.food = state.data.food.copy() + state.data.food[x][y] = False + state.data._foodEaten = position + # TODO: cache numFood? + numFood = state.getNumFood() + if numFood == 0 and not state.data._lose: + state.data.scoreChange += 500 + state.data._win = True + # Eat capsule + if(position in state.getCapsules()): + state.data.capsules.remove(position) + state.data._capsuleEaten = position + # Reset all ghosts' scared timers + for index in range(1, len(state.data.agentStates)): + state.data.agentStates[index].scaredTimer = SCARED_TIME + consume = staticmethod(consume) + + +class GhostRules: + """ + These functions dictate how ghosts interact with their environment. + """ + GHOST_SPEED = 1.0 + + def getLegalActions(state, ghostIndex): + """ + Ghosts cannot stop, and cannot turn around unless they + reach a dead end, but can turn 90 degrees at intersections. + """ + conf = state.getGhostState(ghostIndex).configuration + possibleActions = Actions.getPossibleActions( + conf, state.data.layout.walls) + reverse = Actions.reverseDirection(conf.direction) + if Directions.STOP in possibleActions: + possibleActions.remove(Directions.STOP) + if reverse in possibleActions and len(possibleActions) > 1: + possibleActions.remove(reverse) + return possibleActions + getLegalActions = staticmethod(getLegalActions) + + def applyAction(state, action, ghostIndex): + + legal = GhostRules.getLegalActions(state, ghostIndex) + if action not in legal: + raise Exception("Illegal ghost action " + str(action)) + + ghostState = state.data.agentStates[ghostIndex] + speed = GhostRules.GHOST_SPEED + if ghostState.scaredTimer > 0: + speed /= 2.0 + vector = Actions.directionToVector(action, speed) + ghostState.configuration = ghostState.configuration.getNextState( + vector) + applyAction = staticmethod(applyAction) + + def decrementTimer(ghostState): + timer = ghostState.scaredTimer + if timer == 1: + ghostState.configuration.pos = nearestPoint( + ghostState.configuration.pos) + ghostState.scaredTimer = max(0, timer - 1) + decrementTimer = staticmethod(decrementTimer) + + def checkDeath(state, agentIndex): + pacmanPosition = state.getPacmanPosition() + if agentIndex == 0: # Pacman just moved; Anyone can kill him + for index in range(1, len(state.data.agentStates)): + ghostState = state.data.agentStates[index] + ghostPosition = ghostState.configuration.getPosition() + if GhostRules.canKill(pacmanPosition, ghostPosition): + GhostRules.collide(state, ghostState, index) + else: + ghostState = state.data.agentStates[agentIndex] + ghostPosition = ghostState.configuration.getPosition() + if GhostRules.canKill(pacmanPosition, ghostPosition): + GhostRules.collide(state, ghostState, agentIndex) + checkDeath = staticmethod(checkDeath) + + def collide(state, ghostState, agentIndex): + if ghostState.scaredTimer > 0: + state.data.scoreChange += 200 + GhostRules.placeGhost(state, ghostState) + ghostState.scaredTimer = 0 + # Added for first-person + state.data._eaten[agentIndex] = True + else: + if not state.data._win: + state.data.scoreChange -= 500 + state.data._lose = True + collide = staticmethod(collide) + + def canKill(pacmanPosition, ghostPosition): + return manhattanDistance(ghostPosition, pacmanPosition) <= COLLISION_TOLERANCE + canKill = staticmethod(canKill) + + def placeGhost(state, ghostState): + ghostState.configuration = ghostState.start + placeGhost = staticmethod(placeGhost) + +############################# +# FRAMEWORK TO START A GAME # +############################# + + +def default(str): + return str + ' [Default: %default]' + + +def parseAgentArgs(str): + if str == None: + return {} + pieces = str.split(',') + opts = {} + for p in pieces: + if '=' in p: + key, val = p.split('=') + else: + key, val = p, 1 + opts[key] = val + return opts + + +def readCommand(argv): + """ + Processes the command used to run pacman from the command line. + """ + from optparse import OptionParser + usageStr = """ + USAGE: python pacman.py + EXAMPLES: (1) python pacman.py + - starts an interactive game + (2) python pacman.py --layout smallClassic --zoom 2 + OR python pacman.py -l smallClassic -z 2 + - starts an interactive game on a smaller board, zoomed in + """ + parser = OptionParser(usageStr) + + parser.add_option('-n', '--numGames', dest='numGames', type='int', + help=default('the number of GAMES to play'), metavar='GAMES', default=1) + parser.add_option('-l', '--layout', dest='layout', + help=default( + 'the LAYOUT_FILE from which to load the map layout'), + metavar='LAYOUT_FILE', default='mediumClassic') + parser.add_option('-p', '--pacman', dest='pacman', + help=default( + 'the agent TYPE in the pacmanAgents module to use'), + metavar='TYPE', default='KeyboardAgent') + parser.add_option('-t', '--textGraphics', action='store_true', dest='textGraphics', + help='Display output as text only', default=False) + parser.add_option('-q', '--quietTextGraphics', action='store_true', dest='quietGraphics', + help='Generate minimal output and no graphics', default=False) + parser.add_option('-g', '--ghosts', dest='ghost', + help=default( + 'the ghost agent TYPE in the ghostAgents module to use'), + metavar='TYPE', default='RandomGhost') + parser.add_option('-k', '--numghosts', type='int', dest='numGhosts', + help=default('The maximum number of ghosts to use'), default=4) + parser.add_option('-z', '--zoom', type='float', dest='zoom', + help=default('Zoom the size of the graphics window'), default=1.0) + parser.add_option('-f', '--fixRandomSeed', action='store_true', dest='fixRandomSeed', + help='Fixes the random seed to always play the same game', default=False) + parser.add_option('-r', '--recordActions', action='store_true', dest='record', + help='Writes game histories to a file (named by the time they were played)', default=False) + parser.add_option('--replay', dest='gameToReplay', + help='A recorded game file (pickle) to replay', default=None) + parser.add_option('-a', '--agentArgs', dest='agentArgs', + help='Comma separated values sent to agent. e.g. "opt1=val1,opt2,opt3=val3"') + parser.add_option('-x', '--numTraining', dest='numTraining', type='int', + help=default('How many episodes are training (suppresses output)'), default=0) + parser.add_option('--frameTime', dest='frameTime', type='float', + help=default('Time to delay between frames; <0 means keyboard'), default=0.1) + parser.add_option('-c', '--catchExceptions', action='store_true', dest='catchExceptions', + help='Turns on exception handling and timeouts during games', default=False) + parser.add_option('--timeout', dest='timeout', type='int', + help=default('Maximum length of time an agent can spend computing in a single game'), default=30) + + options, otherjunk = parser.parse_args(argv) + if len(otherjunk) != 0: + raise Exception('Command line input not understood: ' + str(otherjunk)) + args = dict() + + # Fix the random seed + if options.fixRandomSeed: + random.seed('cs188') + + # Choose a layout + args['layout'] = layout.getLayout(options.layout) + if args['layout'] == None: + raise Exception("The layout " + options.layout + " cannot be found") + + # Choose a Pacman agent + noKeyboard = options.gameToReplay == None and ( + options.textGraphics or options.quietGraphics) + pacmanType = loadAgent(options.pacman, noKeyboard) + agentOpts = parseAgentArgs(options.agentArgs) + if options.numTraining > 0: + args['numTraining'] = options.numTraining + if 'numTraining' not in agentOpts: + agentOpts['numTraining'] = options.numTraining + pacman = pacmanType(**agentOpts) # Instantiate Pacman with agentArgs + args['pacman'] = pacman + + # Don't display training games + if 'numTrain' in agentOpts: + options.numQuiet = int(agentOpts['numTrain']) + options.numIgnore = int(agentOpts['numTrain']) + + # Choose a ghost agent + ghostType = loadAgent(options.ghost, noKeyboard) + args['ghosts'] = [ghostType(i+1) for i in range(options.numGhosts)] + + # Choose a display format + if options.quietGraphics: + import textDisplay + args['display'] = textDisplay.NullGraphics() + elif options.textGraphics: + import textDisplay + textDisplay.SLEEP_TIME = options.frameTime + args['display'] = textDisplay.PacmanGraphics() + else: + import graphicsDisplay + args['display'] = graphicsDisplay.PacmanGraphics( + options.zoom, frameTime=options.frameTime) + args['numGames'] = options.numGames + args['record'] = options.record + args['catchExceptions'] = options.catchExceptions + args['timeout'] = options.timeout + + # Special case: recorded games don't use the runGames method or args structure + if options.gameToReplay != None: + print('Replaying recorded game %s.' % options.gameToReplay) + import pickle + f = open(options.gameToReplay) + try: + recorded = pickle.load(f) + finally: + f.close() + recorded['display'] = args['display'] + replayGame(**recorded) + sys.exit(0) + + return args + + +def loadAgent(pacman, nographics): + # Looks through all pythonPath Directories for the right module, + pythonPathStr = os.path.expandvars("$PYTHONPATH") + if pythonPathStr.find(';') == -1: + pythonPathDirs = pythonPathStr.split(':') + else: + pythonPathDirs = pythonPathStr.split(';') + pythonPathDirs.append('.') + + for moduleDir in pythonPathDirs: + if not os.path.isdir(moduleDir): + continue + moduleNames = [f for f in os.listdir( + moduleDir) if f.endswith('gents.py')] + for modulename in moduleNames: + try: + module = __import__(modulename[:-3]) + except ImportError: + continue + if pacman in dir(module): + if nographics and modulename == 'keyboardAgents.py': + raise Exception( + 'Using the keyboard requires graphics (not text display)') + return getattr(module, pacman) + raise Exception('The agent ' + pacman + + ' is not specified in any *Agents.py.') + + +def replayGame(layout, actions, display): + import pacmanAgents + import ghostAgents + rules = ClassicGameRules() + agents = [pacmanAgents.GreedyAgent()] + [ghostAgents.RandomGhost(i+1) + for i in range(layout.getNumGhosts())] + game = rules.newGame(layout, agents[0], agents[1:], display) + state = game.state + display.initialize(state.data) + + for action in actions: + # Execute the action + state = state.getNextState(*action) + # Change the display + display.update(state.data) + # Allow for game specific conditions (winning, losing, etc.) + rules.process(state, game) + + display.finish() + + +def runGames(layout, pacman, ghosts, display, numGames, record, numTraining=0, catchExceptions=False, timeout=30): + import __main__ + __main__.__dict__['_display'] = display + + rules = ClassicGameRules(timeout) + games = [] + + # --- 1. Add start timer here --- + startTime = time.time() + + for i in range(numGames): + beQuiet = i < numTraining + if beQuiet: + # Suppress output and graphics + import textDisplay + gameDisplay = textDisplay.NullGraphics() + rules.quiet = True + else: + gameDisplay = display + rules.quiet = False + game = rules.newGame(layout, pacman, ghosts, + gameDisplay, beQuiet, catchExceptions) + game.run() + if not beQuiet: + games.append(game) + + if record: + import pickle + fname = ('recorded-game-%d' % (i + 1)) + \ + '-'.join([str(t) for t in time.localtime()[1:6]]) + f = file(fname, 'w') + components = {'layout': layout, 'actions': game.moveHistory} + pickle.dump(components, f) + f.close() + + # --- 2. Calculate the total time before calculating the total score --- + totalTime = time.time() - startTime + + if (numGames-numTraining) > 0: + scores = [game.state.getScore() for game in games] + wins = [game.state.isWin() for game in games] + winRate = wins.count(True) / float(len(wins)) + + print('Scores: ', ', '.join([str(score) for score in scores])) + print('Record: ', ', '.join( + [['Loss', 'Win'][int(w)] for w in wins])) + print('Average Score:', sum(scores) / float(len(scores))) + print('Win Rate: %d/%d (%.2f)' % + (wins.count(True), len(wins), winRate)) + # --- 3. Output total execution time --- + print('Total Time: %.2f seconds' % totalTime) + + return games + + +if __name__ == '__main__': + """ + The main function called when pacman.py is run + from the command line: + + > python pacman.py + + See the usage string for more details. + + > python pacman.py --help + """ + args = readCommand(sys.argv[1:]) # Get game components based on input + runGames(**args) + + pass diff --git a/HW2_pacman/pacmanAgents.py b/HW2_pacman/pacmanAgents.py new file mode 100644 index 0000000..9a9520a --- /dev/null +++ b/HW2_pacman/pacmanAgents.py @@ -0,0 +1,49 @@ +from pacman import Directions +from game import Agent +import random +import game +import util + + +class LeftTurnAgent(game.Agent): + "An agent that turns left at every opportunity" + + def getAction(self, state): + legal = state.getLegalPacmanActions() + current = state.getPacmanState().configuration.direction + if current == Directions.STOP: + current = Directions.NORTH + left = Directions.LEFT[current] + if left in legal: + return left + if current in legal: + return current + if Directions.RIGHT[current] in legal: + return Directions.RIGHT[current] + if Directions.LEFT[left] in legal: + return Directions.LEFT[left] + return Directions.STOP + + +class GreedyAgent(Agent): + def __init__(self, evalFn="scoreEvaluation"): + self.evaluationFunction = util.lookup(evalFn, globals()) + assert self.evaluationFunction != None + + def getAction(self, state): + # Generate candidate actions + legal = state.getLegalPacmanActions() + if Directions.STOP in legal: + legal.remove(Directions.STOP) + + children = [(state.getNextState(0, action), action) + for action in legal] + scored = [(self.evaluationFunction(state), action) + for state, action in children] + bestScore = max(scored)[0] + bestActions = [pair[1] for pair in scored if pair[0] == bestScore] + return random.choice(bestActions) + + +def scoreEvaluation(state): + return state.getScore() diff --git a/HW2_pacman/projectParams.py b/HW2_pacman/projectParams.py new file mode 100644 index 0000000..edd5960 --- /dev/null +++ b/HW2_pacman/projectParams.py @@ -0,0 +1,4 @@ +STUDENT_CODE_DEFAULT = 'multiAgents.py' +PROJECT_TEST_CLASSES = 'multiagentTestClasses.py' +PROJECT_NAME = 'Project 2: Multiagent search' +BONUS_PIC = False diff --git a/HW2_pacman/testClasses.py b/HW2_pacman/testClasses.py new file mode 100644 index 0000000..9790f8a --- /dev/null +++ b/HW2_pacman/testClasses.py @@ -0,0 +1,189 @@ +import inspect +import re +import sys + + +# Class which models a question in a project. Note that questions have a +# maximum number of points they are worth, and are composed of a series of +# test cases +class Question(object): + + def raiseNotDefined(self): + print('Method not implemented: %s' % inspect.stack()[1][3]) + sys.exit(1) + + def __init__(self, questionDict, display): + self.maxPoints = int(questionDict['max_points']) + self.testCases = [] + self.display = display + + def getDisplay(self): + return self.display + + def getMaxPoints(self): + return self.maxPoints + + # Note that 'thunk' must be a function which accepts a single argument, + # namely a 'grading' object + def addTestCase(self, testCase, thunk): + self.testCases.append((testCase, thunk)) + + def execute(self, grades): + self.raiseNotDefined() + +# Question in which all test cases must be passed in order to receive credit +class PassAllTestsQuestion(Question): + + def execute(self, grades): + # TODO: is this the right way to use grades? The autograder doesn't seem to use it. + testsFailed = False + grades.assignZeroCredit() + for _, f in self.testCases: + if not f(grades): + testsFailed = True + if testsFailed: + grades.fail("Tests failed.") + else: + grades.assignFullCredit() + + +class ExtraCreditPassAllTestsQuestion(Question): + def __init__(self, questionDict, display): + Question.__init__(self, questionDict, display) + self.extraPoints = int(questionDict['extra_points']) + + def execute(self, grades): + # TODO: is this the right way to use grades? The autograder doesn't seem to use it. + testsFailed = False + grades.assignZeroCredit() + for _, f in self.testCases: + if not f(grades): + testsFailed = True + if testsFailed: + grades.fail("Tests failed.") + else: + grades.assignFullCredit() + grades.addPoints(self.extraPoints) + +# Question in which predict credit is given for test cases with a ``points'' property. +# All other tests are mandatory and must be passed. +class HackedPartialCreditQuestion(Question): + + def execute(self, grades): + # TODO: is this the right way to use grades? The autograder doesn't seem to use it. + grades.assignZeroCredit() + + points = 0 + passed = True + for testCase, f in self.testCases: + testResult = f(grades) + if "points" in testCase.testDict: + if testResult: + points += float(testCase.testDict["points"]) + else: + passed = passed and testResult + + # FIXME: Below terrible hack to match q3's logic + if int(points) == self.maxPoints and not passed: + grades.assignZeroCredit() + else: + grades.addPoints(int(points)) + + +class Q6PartialCreditQuestion(Question): + """Fails any test which returns False, otherwise doesn't effect the grades object. + Partial credit tests will add the required points.""" + + def execute(self, grades): + grades.assignZeroCredit() + + results = [] + for _, f in self.testCases: + results.append(f(grades)) + if False in results: + grades.assignZeroCredit() + + +class PartialCreditQuestion(Question): + """Fails any test which returns False, otherwise doesn't effect the grades object. + Partial credit tests will add the required points.""" + + def execute(self, grades): + grades.assignZeroCredit() + + for _, f in self.testCases: + if not f(grades): + grades.assignZeroCredit() + grades.fail("Tests failed.") + return False + + +class NumberPassedQuestion(Question): + """Grade is the number of test cases passed.""" + + def execute(self, grades): + grades.addPoints([f(grades) for _, f in self.testCases].count(True)) + + +# Template modeling a generic test case +class TestCase(object): + + def raiseNotDefined(self): + print('Method not implemented: %s' % inspect.stack()[1][3]) + sys.exit(1) + + def getPath(self): + return self.path + + def __init__(self, question, testDict): + self.question = question + self.testDict = testDict + self.path = testDict['path'] + self.messages = [] + + def __str__(self): + self.raiseNotDefined() + + def execute(self, grades, moduleDict, solutionDict): + self.raiseNotDefined() + + def writeSolution(self, moduleDict, filePath): + self.raiseNotDefined() + return True + + # Tests should call the following messages for grading + # to ensure a uniform format for test output. + # + # TODO: this is hairy, but we need to fix grading.py's interface + # to get a nice hierarchical project - question - test structure, + # then these should be moved into Question proper. + def testPass(self, grades): + grades.addMessage('PASS: %s' % (self.path,)) + for line in self.messages: + grades.addMessage(' %s' % (line,)) + return True + + def testFail(self, grades): + grades.addMessage('FAIL: %s' % (self.path,)) + for line in self.messages: + grades.addMessage(' %s' % (line,)) + return False + + # This should really be question level? + def testPartial(self, grades, points, maxPoints): + grades.addPoints(points) + # extraCredit = max(0, points - maxPoints) + # regularCredit = points - extraCredit + + # grades.addMessage('%s: %s (%s of %s points)' % ( + # "PASS" if points >= maxPoints else "FAIL", self.path, regularCredit, maxPoints)) + # if extraCredit > 0: + # grades.addMessage('EXTRA CREDIT: %s points' % (extraCredit,)) + + for line in self.messages: + grades.addMessage(' %s' % (line,)) + + return True + + def addMessage(self, message): + self.messages.extend(message.split('\n')) diff --git a/HW2_pacman/testParser.py b/HW2_pacman/testParser.py new file mode 100644 index 0000000..cb8764f --- /dev/null +++ b/HW2_pacman/testParser.py @@ -0,0 +1,72 @@ +import re +import sys + + +class TestParser(object): + + def __init__(self, path): + # save the path to the test file + self.path = path + + def removeComments(self, rawlines): + # remove any portion of a line following a '#' symbol + fixed_lines = [] + for l in rawlines: + idx = l.find('#') + if idx == -1: + fixed_lines.append(l) + else: + fixed_lines.append(l[0:idx]) + return '\n'.join(fixed_lines) + + def parse(self): + # read in the test case and remove comments + test = {} + with open(self.path) as handle: + raw_lines = handle.read().split('\n') + + test_text = self.removeComments(raw_lines) + test['__raw_lines__'] = raw_lines + test['path'] = self.path + test['__emit__'] = [] + lines = test_text.split('\n') + i = 0 + # read a property in each loop cycle + while(i < len(lines)): + # skip blank lines + if re.match('\A\s*\Z', lines[i]): + test['__emit__'].append(("raw", raw_lines[i])) + i += 1 + continue + m = re.match('\A([^"]*?):\s*"([^"]*)"\s*\Z', lines[i]) + if m: + test[m.group(1)] = m.group(2) + test['__emit__'].append(("oneline", m.group(1))) + i += 1 + continue + m = re.match('\A([^"]*?):\s*"""\s*\Z', lines[i]) + if m: + msg = [] + i += 1 + while(not re.match('\A\s*"""\s*\Z', lines[i])): + msg.append(raw_lines[i]) + i += 1 + test[m.group(1)] = '\n'.join(msg) + test['__emit__'].append(("multiline", m.group(1))) + i += 1 + continue + print('error parsing test file: %s' % self.path) + sys.exit(1) + return test + + +def emitTestDict(testDict, handle): + for kind, data in testDict['__emit__']: + if kind == "raw": + handle.write(data + "\n") + elif kind == "oneline": + handle.write('%s: "%s"\n' % (data, testDict[data])) + elif kind == "multiline": + handle.write('%s: """\n%s\n"""\n' % (data, testDict[data])) + else: + raise Exception("Bad __emit__") diff --git a/HW2_pacman/test_cases/CONFIG b/HW2_pacman/test_cases/CONFIG new file mode 100644 index 0000000..d62c994 --- /dev/null +++ b/HW2_pacman/test_cases/CONFIG @@ -0,0 +1 @@ +order: "part1 part2 part3 part4" diff --git a/HW2_pacman/test_cases/part1/0-eval-function-lose-states-1.solution b/HW2_pacman/test_cases/part1/0-eval-function-lose-states-1.solution new file mode 100644 index 0000000..d0b6eed --- /dev/null +++ b/HW2_pacman/test_cases/part1/0-eval-function-lose-states-1.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/0-eval-function-lose-states-1.test. +action: "Left" +generated: "lose1 lose2 root" diff --git a/HW2_pacman/test_cases/part1/0-eval-function-lose-states-1.test b/HW2_pacman/test_cases/part1/0-eval-function-lose-states-1.test new file mode 100644 index 0000000..fba4ac5 --- /dev/null +++ b/HW2_pacman/test_cases/part1/0-eval-function-lose-states-1.test @@ -0,0 +1,30 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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" + +children: """ +root Left lose1 +root Right lose2 +""" + +evaluation: """ +lose1 1.0 +lose2 0.0 +""" + diff --git a/HW2_pacman/test_cases/part1/0-eval-function-lose-states-2.solution b/HW2_pacman/test_cases/part1/0-eval-function-lose-states-2.solution new file mode 100644 index 0000000..df68452 --- /dev/null +++ b/HW2_pacman/test_cases/part1/0-eval-function-lose-states-2.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/0-eval-function-lose-states-2.test. +action: "Right" +generated: "lose1 lose2 root" diff --git a/HW2_pacman/test_cases/part1/0-eval-function-lose-states-2.test b/HW2_pacman/test_cases/part1/0-eval-function-lose-states-2.test new file mode 100644 index 0000000..ec22e91 --- /dev/null +++ b/HW2_pacman/test_cases/part1/0-eval-function-lose-states-2.test @@ -0,0 +1,30 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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" + +children: """ +root Left lose1 +root Right lose2 +""" + +evaluation: """ +lose1 0.0 +lose2 1.0 +""" + diff --git a/HW2_pacman/test_cases/part1/0-eval-function-win-states-1.solution b/HW2_pacman/test_cases/part1/0-eval-function-win-states-1.solution new file mode 100644 index 0000000..0254142 --- /dev/null +++ b/HW2_pacman/test_cases/part1/0-eval-function-win-states-1.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/0-eval-function-win-states-1.test. +action: "Left" +generated: "root win1 win2" diff --git a/HW2_pacman/test_cases/part1/0-eval-function-win-states-1.test b/HW2_pacman/test_cases/part1/0-eval-function-win-states-1.test new file mode 100644 index 0000000..d7c6802 --- /dev/null +++ b/HW2_pacman/test_cases/part1/0-eval-function-win-states-1.test @@ -0,0 +1,30 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +root Left win1 +root Right win2 +""" + +evaluation: """ +win1 1.0 +win2 0.0 +""" + diff --git a/HW2_pacman/test_cases/part1/0-eval-function-win-states-2.solution b/HW2_pacman/test_cases/part1/0-eval-function-win-states-2.solution new file mode 100644 index 0000000..f21c04a --- /dev/null +++ b/HW2_pacman/test_cases/part1/0-eval-function-win-states-2.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/0-eval-function-win-states-2.test. +action: "Right" +generated: "root win1 win2" diff --git a/HW2_pacman/test_cases/part1/0-eval-function-win-states-2.test b/HW2_pacman/test_cases/part1/0-eval-function-win-states-2.test new file mode 100644 index 0000000..01865d4 --- /dev/null +++ b/HW2_pacman/test_cases/part1/0-eval-function-win-states-2.test @@ -0,0 +1,30 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +root Left win1 +root Right win2 +""" + +evaluation: """ +win1 0.0 +win2 1.0 +""" + diff --git a/HW2_pacman/test_cases/part1/0-lecture-6-tree.solution b/HW2_pacman/test_cases/part1/0-lecture-6-tree.solution new file mode 100644 index 0000000..3c6a74d --- /dev/null +++ b/HW2_pacman/test_cases/part1/0-lecture-6-tree.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/0-lecture-6-tree.test. +action: "Center" +generated: "A B C D E F G H I max min1 min2 min3" diff --git a/HW2_pacman/test_cases/part1/0-lecture-6-tree.test b/HW2_pacman/test_cases/part1/0-lecture-6-tree.test new file mode 100644 index 0000000..a4b0f8e --- /dev/null +++ b/HW2_pacman/test_cases/part1/0-lecture-6-tree.test @@ -0,0 +1,50 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/0-small-tree.solution b/HW2_pacman/test_cases/part1/0-small-tree.solution new file mode 100644 index 0000000..f381f9a --- /dev/null +++ b/HW2_pacman/test_cases/part1/0-small-tree.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/0-small-tree.test. +action: "pacLeft" +generated: "A B C D deeper minLeft minRight root" diff --git a/HW2_pacman/test_cases/part1/0-small-tree.test b/HW2_pacman/test_cases/part1/0-small-tree.test new file mode 100644 index 0000000..6cd8cef --- /dev/null +++ b/HW2_pacman/test_cases/part1/0-small-tree.test @@ -0,0 +1,36 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/1-1-minmax.solution b/HW2_pacman/test_cases/part1/1-1-minmax.solution new file mode 100644 index 0000000..3ac7510 --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-1-minmax.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/1-1-minmax.test. +action: "Left" +generated: "a b1 b2 c1 c2 cx d1 d2 d3 d4 dx" diff --git a/HW2_pacman/test_cases/part1/1-1-minmax.test b/HW2_pacman/test_cases/part1/1-1-minmax.test new file mode 100644 index 0000000..06d5e36 --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-1-minmax.test @@ -0,0 +1,47 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/1-2-minmax.solution b/HW2_pacman/test_cases/part1/1-2-minmax.solution new file mode 100644 index 0000000..e40e3de --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-2-minmax.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/1-2-minmax.test. +action: "Right" +generated: "a b1 b2 c1 c2 cx d1 d2 d3 d4 dx" diff --git a/HW2_pacman/test_cases/part1/1-2-minmax.test b/HW2_pacman/test_cases/part1/1-2-minmax.test new file mode 100644 index 0000000..5fc8df2 --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-2-minmax.test @@ -0,0 +1,47 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/1-3-minmax.solution b/HW2_pacman/test_cases/part1/1-3-minmax.solution new file mode 100644 index 0000000..513961c --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-3-minmax.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/1-3-minmax.test. +action: "Left" +generated: "a b1 b2 c3 c4 cx d5 d6 d7 d8 dx" diff --git a/HW2_pacman/test_cases/part1/1-3-minmax.test b/HW2_pacman/test_cases/part1/1-3-minmax.test new file mode 100644 index 0000000..0f4df68 --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-3-minmax.test @@ -0,0 +1,47 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/1-4-minmax.solution b/HW2_pacman/test_cases/part1/1-4-minmax.solution new file mode 100644 index 0000000..1ae4c0f --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-4-minmax.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/1-4-minmax.test. +action: "Right" +generated: "a b1 b2 c3 c4 cx d5 d6 d7 d8 dx" diff --git a/HW2_pacman/test_cases/part1/1-4-minmax.test b/HW2_pacman/test_cases/part1/1-4-minmax.test new file mode 100644 index 0000000..9ac8314 --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-4-minmax.test @@ -0,0 +1,47 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/1-5-minmax.solution b/HW2_pacman/test_cases/part1/1-5-minmax.solution new file mode 100644 index 0000000..0553ca7 --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-5-minmax.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/1-5-minmax.test. +action: "Right" +generated: "A B C D E F G H Z a b1 b2 c1 c2 cx d1 d2 d3 d4 dx" diff --git a/HW2_pacman/test_cases/part1/1-5-minmax.test b/HW2_pacman/test_cases/part1/1-5-minmax.test new file mode 100644 index 0000000..93e0818 --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-5-minmax.test @@ -0,0 +1,75 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/1-6-minmax.solution b/HW2_pacman/test_cases/part1/1-6-minmax.solution new file mode 100644 index 0000000..f25e068 --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-6-minmax.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/1-6-minmax.test. +action: "Left" +generated: "A B C D E F G H Z a b1 b2 c1 c2 cx d1 d2 d3 d4 dx" diff --git a/HW2_pacman/test_cases/part1/1-6-minmax.test b/HW2_pacman/test_cases/part1/1-6-minmax.test new file mode 100644 index 0000000..3af1e5c --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-6-minmax.test @@ -0,0 +1,75 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/1-7-minmax.solution b/HW2_pacman/test_cases/part1/1-7-minmax.solution new file mode 100644 index 0000000..fd801a8 --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-7-minmax.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/1-7-minmax.test. +action: "Left" +generated: "I J K L M N O P Z a b1 b2 c3 c4 cx d5 d6 d7 d8 dx" diff --git a/HW2_pacman/test_cases/part1/1-7-minmax.test b/HW2_pacman/test_cases/part1/1-7-minmax.test new file mode 100644 index 0000000..6c5474a --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-7-minmax.test @@ -0,0 +1,75 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/1-8-minmax.solution b/HW2_pacman/test_cases/part1/1-8-minmax.solution new file mode 100644 index 0000000..80c7ebe --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-8-minmax.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/1-8-minmax.test. +action: "Right" +generated: "I J K L M N O P Z a b1 b2 c3 c4 cx d5 d6 d7 d8 dx" diff --git a/HW2_pacman/test_cases/part1/1-8-minmax.test b/HW2_pacman/test_cases/part1/1-8-minmax.test new file mode 100644 index 0000000..6883664 --- /dev/null +++ b/HW2_pacman/test_cases/part1/1-8-minmax.test @@ -0,0 +1,75 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/2-1a-vary-depth.solution b/HW2_pacman/test_cases/part1/2-1a-vary-depth.solution new file mode 100644 index 0000000..9dd1708 --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-1a-vary-depth.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/2-1a-vary-depth.test. +action: "Left" +generated: "a b1 b2 c1 c2 cx" diff --git a/HW2_pacman/test_cases/part1/2-1a-vary-depth.test b/HW2_pacman/test_cases/part1/2-1a-vary-depth.test new file mode 100644 index 0000000..aaba3c2 --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-1a-vary-depth.test @@ -0,0 +1,52 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/2-1b-vary-depth.solution b/HW2_pacman/test_cases/part1/2-1b-vary-depth.solution new file mode 100644 index 0000000..a824e44 --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-1b-vary-depth.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/2-1b-vary-depth.test. +action: "Left" +generated: "a b1 b2 c1 c2 cx d1 d2 d3 d4 dx" diff --git a/HW2_pacman/test_cases/part1/2-1b-vary-depth.test b/HW2_pacman/test_cases/part1/2-1b-vary-depth.test new file mode 100644 index 0000000..f9a79c3 --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-1b-vary-depth.test @@ -0,0 +1,52 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/2-2a-vary-depth.solution b/HW2_pacman/test_cases/part1/2-2a-vary-depth.solution new file mode 100644 index 0000000..b4b0e98 --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-2a-vary-depth.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/2-2a-vary-depth.test. +action: "Right" +generated: "a b1 b2 c1 c2 cx" diff --git a/HW2_pacman/test_cases/part1/2-2a-vary-depth.test b/HW2_pacman/test_cases/part1/2-2a-vary-depth.test new file mode 100644 index 0000000..093522b --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-2a-vary-depth.test @@ -0,0 +1,52 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/2-2b-vary-depth.solution b/HW2_pacman/test_cases/part1/2-2b-vary-depth.solution new file mode 100644 index 0000000..94e2089 --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-2b-vary-depth.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/2-2b-vary-depth.test. +action: "Left" +generated: "a b1 b2 c1 c2 cx d1 d2 d3 d4 dx" diff --git a/HW2_pacman/test_cases/part1/2-2b-vary-depth.test b/HW2_pacman/test_cases/part1/2-2b-vary-depth.test new file mode 100644 index 0000000..3478e0f --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-2b-vary-depth.test @@ -0,0 +1,52 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/2-3a-vary-depth.solution b/HW2_pacman/test_cases/part1/2-3a-vary-depth.solution new file mode 100644 index 0000000..1bab661 --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-3a-vary-depth.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/2-3a-vary-depth.test. +action: "Left" +generated: "a b1 b2 c3 c4 cx" diff --git a/HW2_pacman/test_cases/part1/2-3a-vary-depth.test b/HW2_pacman/test_cases/part1/2-3a-vary-depth.test new file mode 100644 index 0000000..6fb311f --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-3a-vary-depth.test @@ -0,0 +1,52 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/2-3b-vary-depth.solution b/HW2_pacman/test_cases/part1/2-3b-vary-depth.solution new file mode 100644 index 0000000..fb389ec --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-3b-vary-depth.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/2-3b-vary-depth.test. +action: "Left" +generated: "a b1 b2 c3 c4 cx d5 d6 d7 d8 dx" diff --git a/HW2_pacman/test_cases/part1/2-3b-vary-depth.test b/HW2_pacman/test_cases/part1/2-3b-vary-depth.test new file mode 100644 index 0000000..e4acbb0 --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-3b-vary-depth.test @@ -0,0 +1,52 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/2-4a-vary-depth.solution b/HW2_pacman/test_cases/part1/2-4a-vary-depth.solution new file mode 100644 index 0000000..815147d --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-4a-vary-depth.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/2-4a-vary-depth.test. +action: "Right" +generated: "a b1 b2 c3 c4 cx" diff --git a/HW2_pacman/test_cases/part1/2-4a-vary-depth.test b/HW2_pacman/test_cases/part1/2-4a-vary-depth.test new file mode 100644 index 0000000..1b0b885 --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-4a-vary-depth.test @@ -0,0 +1,52 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/2-4b-vary-depth.solution b/HW2_pacman/test_cases/part1/2-4b-vary-depth.solution new file mode 100644 index 0000000..3b12519 --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-4b-vary-depth.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/2-4b-vary-depth.test. +action: "Left" +generated: "a b1 b2 c3 c4 cx d5 d6 d7 d8 dx" diff --git a/HW2_pacman/test_cases/part1/2-4b-vary-depth.test b/HW2_pacman/test_cases/part1/2-4b-vary-depth.test new file mode 100644 index 0000000..f0426b2 --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-4b-vary-depth.test @@ -0,0 +1,52 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/2-one-ghost-3level.solution b/HW2_pacman/test_cases/part1/2-one-ghost-3level.solution new file mode 100644 index 0000000..f7b10fb --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-one-ghost-3level.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/2-one-ghost-3level.test. +action: "Left" +generated: "a b1 b2 c1 c2 c3 c4 d1 d2 d3 d4 d5 d6 d7 d8" diff --git a/HW2_pacman/test_cases/part1/2-one-ghost-3level.test b/HW2_pacman/test_cases/part1/2-one-ghost-3level.test new file mode 100644 index 0000000..cd365a3 --- /dev/null +++ b/HW2_pacman/test_cases/part1/2-one-ghost-3level.test @@ -0,0 +1,52 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/3-one-ghost-4level.solution b/HW2_pacman/test_cases/part1/3-one-ghost-4level.solution new file mode 100644 index 0000000..5fcb2c5 --- /dev/null +++ b/HW2_pacman/test_cases/part1/3-one-ghost-4level.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/3-one-ghost-4level.test. +action: "Left" +generated: "A B C D E F G H I J K L M N O P a b1 b2 c1 c2 c3 c4 d1 d2 d3 d4 d5 d6 d7 d8" diff --git a/HW2_pacman/test_cases/part1/3-one-ghost-4level.test b/HW2_pacman/test_cases/part1/3-one-ghost-4level.test new file mode 100644 index 0000000..8138030 --- /dev/null +++ b/HW2_pacman/test_cases/part1/3-one-ghost-4level.test @@ -0,0 +1,79 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/4-two-ghosts-3level.solution b/HW2_pacman/test_cases/part1/4-two-ghosts-3level.solution new file mode 100644 index 0000000..36a2326 --- /dev/null +++ b/HW2_pacman/test_cases/part1/4-two-ghosts-3level.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/4-two-ghosts-3level.test. +action: "Left" +generated: "a b1 b2 c1 c2 c3 c4 d1 d2 d3 d4 d5 d6 d7 d8" diff --git a/HW2_pacman/test_cases/part1/4-two-ghosts-3level.test b/HW2_pacman/test_cases/part1/4-two-ghosts-3level.test new file mode 100644 index 0000000..39576ee --- /dev/null +++ b/HW2_pacman/test_cases/part1/4-two-ghosts-3level.test @@ -0,0 +1,52 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/5-two-ghosts-4level.solution b/HW2_pacman/test_cases/part1/5-two-ghosts-4level.solution new file mode 100644 index 0000000..3164ec0 --- /dev/null +++ b/HW2_pacman/test_cases/part1/5-two-ghosts-4level.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/5-two-ghosts-4level.test. +action: "Left" +generated: "A B C D E F G H I J K L M N O P a b1 b2 c1 c2 c3 c4 d1 d2 d3 d4 d5 d6 d7 d8" diff --git a/HW2_pacman/test_cases/part1/5-two-ghosts-4level.test b/HW2_pacman/test_cases/part1/5-two-ghosts-4level.test new file mode 100644 index 0000000..767041d --- /dev/null +++ b/HW2_pacman/test_cases/part1/5-two-ghosts-4level.test @@ -0,0 +1,79 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/6-tied-root.solution b/HW2_pacman/test_cases/part1/6-tied-root.solution new file mode 100644 index 0000000..61918b0 --- /dev/null +++ b/HW2_pacman/test_cases/part1/6-tied-root.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/6-tied-root.test. +action: "Left" +generated: "A B C max min1 min2" diff --git a/HW2_pacman/test_cases/part1/6-tied-root.test b/HW2_pacman/test_cases/part1/6-tied-root.test new file mode 100644 index 0000000..804a913 --- /dev/null +++ b/HW2_pacman/test_cases/part1/6-tied-root.test @@ -0,0 +1,31 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part1/7-1a-check-depth-one-ghost.solution b/HW2_pacman/test_cases/part1/7-1a-check-depth-one-ghost.solution new file mode 100644 index 0000000..0b7f01b --- /dev/null +++ b/HW2_pacman/test_cases/part1/7-1a-check-depth-one-ghost.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/7-1a-check-depth-one-ghost.test. +action: "Left" +generated: "a b1 b2 b3 c1 c2 c3" diff --git a/HW2_pacman/test_cases/part1/7-1a-check-depth-one-ghost.test b/HW2_pacman/test_cases/part1/7-1a-check-depth-one-ghost.test new file mode 100644 index 0000000..1c9a757 --- /dev/null +++ b/HW2_pacman/test_cases/part1/7-1a-check-depth-one-ghost.test @@ -0,0 +1,83 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part1/7-1b-check-depth-one-ghost.solution b/HW2_pacman/test_cases/part1/7-1b-check-depth-one-ghost.solution new file mode 100644 index 0000000..e7e3c6f --- /dev/null +++ b/HW2_pacman/test_cases/part1/7-1b-check-depth-one-ghost.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/7-1b-check-depth-one-ghost.test. +action: "Center" +generated: "a b1 b2 b3 c1 c2 c3 d1 d2 d3 e1 e2 e3" diff --git a/HW2_pacman/test_cases/part1/7-1b-check-depth-one-ghost.test b/HW2_pacman/test_cases/part1/7-1b-check-depth-one-ghost.test new file mode 100644 index 0000000..150e101 --- /dev/null +++ b/HW2_pacman/test_cases/part1/7-1b-check-depth-one-ghost.test @@ -0,0 +1,83 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part1/7-1c-check-depth-one-ghost.solution b/HW2_pacman/test_cases/part1/7-1c-check-depth-one-ghost.solution new file mode 100644 index 0000000..188854d --- /dev/null +++ b/HW2_pacman/test_cases/part1/7-1c-check-depth-one-ghost.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/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" diff --git a/HW2_pacman/test_cases/part1/7-1c-check-depth-one-ghost.test b/HW2_pacman/test_cases/part1/7-1c-check-depth-one-ghost.test new file mode 100644 index 0000000..170698f --- /dev/null +++ b/HW2_pacman/test_cases/part1/7-1c-check-depth-one-ghost.test @@ -0,0 +1,83 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part1/7-2a-check-depth-two-ghosts.solution b/HW2_pacman/test_cases/part1/7-2a-check-depth-two-ghosts.solution new file mode 100644 index 0000000..649825a --- /dev/null +++ b/HW2_pacman/test_cases/part1/7-2a-check-depth-two-ghosts.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/7-2a-check-depth-two-ghosts.test. +action: "Left" +generated: "a b1 b2 b3 c1 c2 c3 d1 d2 d3" diff --git a/HW2_pacman/test_cases/part1/7-2a-check-depth-two-ghosts.test b/HW2_pacman/test_cases/part1/7-2a-check-depth-two-ghosts.test new file mode 100644 index 0000000..ad1081f --- /dev/null +++ b/HW2_pacman/test_cases/part1/7-2a-check-depth-two-ghosts.test @@ -0,0 +1,110 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part1/7-2b-check-depth-two-ghosts.solution b/HW2_pacman/test_cases/part1/7-2b-check-depth-two-ghosts.solution new file mode 100644 index 0000000..440eaf8 --- /dev/null +++ b/HW2_pacman/test_cases/part1/7-2b-check-depth-two-ghosts.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/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" diff --git a/HW2_pacman/test_cases/part1/7-2b-check-depth-two-ghosts.test b/HW2_pacman/test_cases/part1/7-2b-check-depth-two-ghosts.test new file mode 100644 index 0000000..3962f51 --- /dev/null +++ b/HW2_pacman/test_cases/part1/7-2b-check-depth-two-ghosts.test @@ -0,0 +1,110 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part1/7-2c-check-depth-two-ghosts.solution b/HW2_pacman/test_cases/part1/7-2c-check-depth-two-ghosts.solution new file mode 100644 index 0000000..fb146d8 --- /dev/null +++ b/HW2_pacman/test_cases/part1/7-2c-check-depth-two-ghosts.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q2/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" diff --git a/HW2_pacman/test_cases/part1/7-2c-check-depth-two-ghosts.test b/HW2_pacman/test_cases/part1/7-2c-check-depth-two-ghosts.test new file mode 100644 index 0000000..7f7a84b --- /dev/null +++ b/HW2_pacman/test_cases/part1/7-2c-check-depth-two-ghosts.test @@ -0,0 +1,110 @@ +class: "GraphGameTreeTest" +alg: "MinimaxAgent" +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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part1/8-pacman-game.solution b/HW2_pacman/test_cases/part1/8-pacman-game.solution new file mode 100644 index 0000000..4ee19d8 --- /dev/null +++ b/HW2_pacman/test_cases/part1/8-pacman-game.solution @@ -0,0 +1,444 @@ +optimalActions: """ +[[["West", "East"], 59], [["West", "East"], 35]] +[[["West"], 190], [["West"], 127]] +[[["West"], 190], [["West"], 135]] +[[["West", "North"], 120], [["West", "North"], 82]] +[[["West"], 77], [["West"], 57]] +[[["West", "North"], 143], [["West", "North"], 97]] +[[["West"], 155], [["West"], 110]] +[[["West"], 40], [["West"], 27]] +[[["North"], 64], [["North"], 43]] +[[["North"], 85], [["North"], 57]] +[[["North"], 106], [["North"], 71]] +[[["North"], 97], [["North"], 65]] +[[["Stop", "East"], 154], [["East"], 103]] +[[["East"], 156], [["East"], 101]] +[[["West"], 30], [["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"], 29], [["North"], 18]] +[[["North"], 50], [["North"], 31]] +[[["West"], 55], [["West"], 36]] +[[["East"], 29], [["East"], 16]] +[[["North"], 89], [["North"], 61]] +[[["East", "North"], 161], [["East", "North"], 121]] +[[["East", "North"], 221], [["East", "North"], 166]] +[[["North", "South"], 105], [["North", "South"], 77]] +[[["West"], 69], [["West"], 51]] +[[["West"], 94], [["West"], 69]] +[[["West", "Stop"], 57], [["West"], 42]] +[[["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"], 85], [["East", "South"], 57]] +[[["Stop", "East", "South"], 64], [["East", "South"], 43]] +[[["Stop", "East", "South"], 61], [["East", "South"], 41]] +[[["Stop", "East", "South"], 61], [["East", "South"], 41]] +[[["Stop", "East", "South"], 85], [["East", "South"], 57]] +[[["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"], 29], [["East", "North"], 18]] +[[["East"], 38], [["East"], 22]] +[[["North"], 29], [["North"], 18]] +[[["North"], 38], [["North"], 22]] +[[["East"], 33], [["East"], 22]] +[[["East"], 37], [["East"], 18]] +[[["East"], 18], [["East"], 12]] +[[["East"], 37], [["East"], 26]] +[[["East"], 69], [["East"], 41]] +[[["East"], 56], [["East"], 26]] +[[["East"], 44], [["East"], 29]] +[[["North", "South"], 83], [["North", "South"], 52]] +[[["East", "North"], 121], [["East", "North"], 74]] +[[["East", "North"], 97], [["East", "North"], 73]] +[[["North", "South"], 173], [["North", "South"], 130]] +[[["West", "East"], 90], [["West", "East"], 66]] +[[["West", "Stop", "East"], 161], [["West", "East"], 118]] +[[["Stop", "East", "South"], 58], [["East", "South"], 43]] +[[["Stop", "East"], 120], [["South"], 85]] +[[["East"], 78], [["East"], 45]] +[[["West"], 77], [["West"], 42]] +[[["South"], 83], [["South"], 48]] +[[["South"], 49], [["South"], 37]] +[[["South"], 185], [["South"], 104]] +[[["South"], 68], [["South"], 41]] +[[["West"], 30], [["West"], 18]] +[[["West"], 56], [["West"], 29]] +[[["West"], 14], [["West"], 10]] +[[["West"], 20], [["West"], 14]] +[[["West"], 13], [["West"], 9]] +[[["West"], 13], [["West"], 9]] +[[["West"], 16], [["West"], 12]] +[[["West", "North"], 30], [["West", "North"], 20]] +[[["West"], 38], [["West"], 23]] +[[["West", "Stop", "East", "North"], 70], [["West", "East", "North"], 46]] +[[["West", "Stop", "East"], 128], [["West", "East"], 89]] +[[["West", "Stop", "East"], 31], [["West", "East"], 20]] +[[["Stop", "East", "North"], 69], [["East", "North"], 45]] +[[["Stop", "North"], 58], [["North"], 31]] +[[["North"], 34], [["North"], 19]] +[[["North"], 30], [["North"], 17]] +[[["North"], 19], [["North"], 11]] +[[["North"], 34], [["North"], 19]] +[[["East"], 30], [["East"], 17]] +[[["East"], 19], [["East"], 11]] +[[["East"], 44], [["East"], 29]] +[[["East", "South"], 87], [["East", "South"], 60]] +[[["East", "South"], 108], [["East", "South"], 62]] +[[["South"], 120], [["South"], 61]] +[[["North", "South"], 209], [["North", "South"], 132]] +[[["West"], 108], [["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"], 98], [["East", "South"], 65]] +[[["Stop", "East", "South"], 128], [["East", "South"], 86]] +[[["Stop", "East", "South"], 82], [["East", "South"], 55]] +[[["Stop", "East", "South"], 85], [["East", "South"], 57]] +[[["Stop", "East", "South"], 190], [["East", "South"], 127]] +[[["Stop", "East", "South"], 158], [["East", "South"], 103]] +[[["Stop", "South"], 50], [["South"], 27]] +[[["South"], 30], [["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"], 29], [["East", "North"], 18]] +[[["East"], 37], [["East"], 22]] +[[["East", "North"], 41], [["East", "North"], 24]] +[[["East"], 59], [["East"], 29]] +[[["East"], 19], [["East"], 11]] +[[["East"], 26], [["East"], 15]] +[[["East"], 15], [["East"], 9]] +[[["East"], 15], [["East"], 9]] +[[["East"], 18], [["East"], 12]] +[[["East"], 29], [["East"], 18]] +[[["East"], 37], [["East"], 22]] +[[["East", "North"], 41], [["East", "North"], 24]] +[[["East"], 59], [["East"], 29]] +[[["East"], 19], [["East"], 11]] +[[["North"], 26], [["North"], 15]] +[[["North"], 19], [["North"], 11]] +[[["North"], 30], [["North"], 17]] +[[["North"], 34], [["North"], 19]] +[[["West"], 34], [["West"], 19]] +[[["West"], 25], [["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"]] +""" diff --git a/HW2_pacman/test_cases/part1/8-pacman-game.test b/HW2_pacman/test_cases/part1/8-pacman-game.test new file mode 100644 index 0000000..de9dc20 --- /dev/null +++ b/HW2_pacman/test_cases/part1/8-pacman-game.test @@ -0,0 +1,19 @@ +class: "PacmanGameTreeTest" +alg: "MinimaxAgent" +seed: "0" +depth: "2" +max_points: "20" + +# The following specifies the layout to be used +layoutName: "smallClassic" +layout: """ +%%%%%%%%%%%%%%%%%%%% +%......%G G%......% +%.%%...%% %%...%%.% +%.%o.%........%.o%.% +%.%%.%.%%%%%%.%.%%.% +%........P.........% +%%%%%%%%%%%%%%%%%%%% +""" + + diff --git a/HW2_pacman/test_cases/part1/CONFIG b/HW2_pacman/test_cases/part1/CONFIG new file mode 100644 index 0000000..4e8cecf --- /dev/null +++ b/HW2_pacman/test_cases/part1/CONFIG @@ -0,0 +1,2 @@ +max_points: "10" +class: "PassAllTestsQuestion" diff --git a/HW2_pacman/test_cases/part2/0-eval-function-lose-states-1.solution b/HW2_pacman/test_cases/part2/0-eval-function-lose-states-1.solution new file mode 100644 index 0000000..7d48add --- /dev/null +++ b/HW2_pacman/test_cases/part2/0-eval-function-lose-states-1.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/0-eval-function-lose-states-1.test b/HW2_pacman/test_cases/part2/0-eval-function-lose-states-1.test new file mode 100644 index 0000000..a3992c7 --- /dev/null +++ b/HW2_pacman/test_cases/part2/0-eval-function-lose-states-1.test @@ -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" + +children: """ +root Left lose1 +root Right lose2 +""" + +evaluation: """ +lose1 1.0 +lose2 0.0 +""" + diff --git a/HW2_pacman/test_cases/part2/0-eval-function-lose-states-2.solution b/HW2_pacman/test_cases/part2/0-eval-function-lose-states-2.solution new file mode 100644 index 0000000..cc0f8f7 --- /dev/null +++ b/HW2_pacman/test_cases/part2/0-eval-function-lose-states-2.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/0-eval-function-lose-states-2.test b/HW2_pacman/test_cases/part2/0-eval-function-lose-states-2.test new file mode 100644 index 0000000..0c37224 --- /dev/null +++ b/HW2_pacman/test_cases/part2/0-eval-function-lose-states-2.test @@ -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" + +children: """ +root Left lose1 +root Right lose2 +""" + +evaluation: """ +lose1 0.0 +lose2 1.0 +""" + diff --git a/HW2_pacman/test_cases/part2/0-eval-function-win-states-1.solution b/HW2_pacman/test_cases/part2/0-eval-function-win-states-1.solution new file mode 100644 index 0000000..7734b36 --- /dev/null +++ b/HW2_pacman/test_cases/part2/0-eval-function-win-states-1.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/0-eval-function-win-states-1.test b/HW2_pacman/test_cases/part2/0-eval-function-win-states-1.test new file mode 100644 index 0000000..527ec19 --- /dev/null +++ b/HW2_pacman/test_cases/part2/0-eval-function-win-states-1.test @@ -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: "" + +children: """ +root Left win1 +root Right win2 +""" + +evaluation: """ +win1 1.0 +win2 0.0 +""" + diff --git a/HW2_pacman/test_cases/part2/0-eval-function-win-states-2.solution b/HW2_pacman/test_cases/part2/0-eval-function-win-states-2.solution new file mode 100644 index 0000000..7e479db --- /dev/null +++ b/HW2_pacman/test_cases/part2/0-eval-function-win-states-2.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/0-eval-function-win-states-2.test b/HW2_pacman/test_cases/part2/0-eval-function-win-states-2.test new file mode 100644 index 0000000..d69e0ab --- /dev/null +++ b/HW2_pacman/test_cases/part2/0-eval-function-win-states-2.test @@ -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: "" + +children: """ +root Left win1 +root Right win2 +""" + +evaluation: """ +win1 0.0 +win2 1.0 +""" + diff --git a/HW2_pacman/test_cases/part2/0-lecture-6-tree.solution b/HW2_pacman/test_cases/part2/0-lecture-6-tree.solution new file mode 100644 index 0000000..c4a91ad --- /dev/null +++ b/HW2_pacman/test_cases/part2/0-lecture-6-tree.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/0-lecture-6-tree.test b/HW2_pacman/test_cases/part2/0-lecture-6-tree.test new file mode 100644 index 0000000..a203b64 --- /dev/null +++ b/HW2_pacman/test_cases/part2/0-lecture-6-tree.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/0-small-tree.solution b/HW2_pacman/test_cases/part2/0-small-tree.solution new file mode 100644 index 0000000..e940986 --- /dev/null +++ b/HW2_pacman/test_cases/part2/0-small-tree.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/0-small-tree.test b/HW2_pacman/test_cases/part2/0-small-tree.test new file mode 100644 index 0000000..968e5ec --- /dev/null +++ b/HW2_pacman/test_cases/part2/0-small-tree.test @@ -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" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/1-1-minmax.solution b/HW2_pacman/test_cases/part2/1-1-minmax.solution new file mode 100644 index 0000000..2834b29 --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-1-minmax.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/1-1-minmax.test b/HW2_pacman/test_cases/part2/1-1-minmax.test new file mode 100644 index 0000000..5ca0a7c --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-1-minmax.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/1-2-minmax.solution b/HW2_pacman/test_cases/part2/1-2-minmax.solution new file mode 100644 index 0000000..8c17bcf --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-2-minmax.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/1-2-minmax.test b/HW2_pacman/test_cases/part2/1-2-minmax.test new file mode 100644 index 0000000..e9983da --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-2-minmax.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/1-3-minmax.solution b/HW2_pacman/test_cases/part2/1-3-minmax.solution new file mode 100644 index 0000000..827cdbd --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-3-minmax.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/1-3-minmax.test b/HW2_pacman/test_cases/part2/1-3-minmax.test new file mode 100644 index 0000000..5ed0bae --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-3-minmax.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/1-4-minmax.solution b/HW2_pacman/test_cases/part2/1-4-minmax.solution new file mode 100644 index 0000000..f5570d1 --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-4-minmax.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/1-4-minmax.test b/HW2_pacman/test_cases/part2/1-4-minmax.test new file mode 100644 index 0000000..71f6107 --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-4-minmax.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/1-5-minmax.solution b/HW2_pacman/test_cases/part2/1-5-minmax.solution new file mode 100644 index 0000000..06cebde --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-5-minmax.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/1-5-minmax.test b/HW2_pacman/test_cases/part2/1-5-minmax.test new file mode 100644 index 0000000..cf9f523 --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-5-minmax.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/1-6-minmax.solution b/HW2_pacman/test_cases/part2/1-6-minmax.solution new file mode 100644 index 0000000..1ced2ca --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-6-minmax.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/1-6-minmax.test b/HW2_pacman/test_cases/part2/1-6-minmax.test new file mode 100644 index 0000000..1b676c2 --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-6-minmax.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/1-7-minmax.solution b/HW2_pacman/test_cases/part2/1-7-minmax.solution new file mode 100644 index 0000000..74e2da0 --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-7-minmax.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/1-7-minmax.test b/HW2_pacman/test_cases/part2/1-7-minmax.test new file mode 100644 index 0000000..20b9aad --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-7-minmax.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/1-8-minmax.solution b/HW2_pacman/test_cases/part2/1-8-minmax.solution new file mode 100644 index 0000000..bf426b8 --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-8-minmax.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/1-8-minmax.test b/HW2_pacman/test_cases/part2/1-8-minmax.test new file mode 100644 index 0000000..24cc9f7 --- /dev/null +++ b/HW2_pacman/test_cases/part2/1-8-minmax.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/2-1a-vary-depth.solution b/HW2_pacman/test_cases/part2/2-1a-vary-depth.solution new file mode 100644 index 0000000..59d892c --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-1a-vary-depth.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/2-1a-vary-depth.test b/HW2_pacman/test_cases/part2/2-1a-vary-depth.test new file mode 100644 index 0000000..4098717 --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-1a-vary-depth.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/2-1b-vary-depth.solution b/HW2_pacman/test_cases/part2/2-1b-vary-depth.solution new file mode 100644 index 0000000..a0f232c --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-1b-vary-depth.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/2-1b-vary-depth.test b/HW2_pacman/test_cases/part2/2-1b-vary-depth.test new file mode 100644 index 0000000..9447262 --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-1b-vary-depth.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/2-2a-vary-depth.solution b/HW2_pacman/test_cases/part2/2-2a-vary-depth.solution new file mode 100644 index 0000000..6e8d7fd --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-2a-vary-depth.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/2-2a-vary-depth.test b/HW2_pacman/test_cases/part2/2-2a-vary-depth.test new file mode 100644 index 0000000..2dbbe8f --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-2a-vary-depth.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/2-2b-vary-depth.solution b/HW2_pacman/test_cases/part2/2-2b-vary-depth.solution new file mode 100644 index 0000000..f508aef --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-2b-vary-depth.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/2-2b-vary-depth.test b/HW2_pacman/test_cases/part2/2-2b-vary-depth.test new file mode 100644 index 0000000..12fff88 --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-2b-vary-depth.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/2-3a-vary-depth.solution b/HW2_pacman/test_cases/part2/2-3a-vary-depth.solution new file mode 100644 index 0000000..d805b84 --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-3a-vary-depth.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/2-3a-vary-depth.test b/HW2_pacman/test_cases/part2/2-3a-vary-depth.test new file mode 100644 index 0000000..55d1b90 --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-3a-vary-depth.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/2-3b-vary-depth.solution b/HW2_pacman/test_cases/part2/2-3b-vary-depth.solution new file mode 100644 index 0000000..32a70c6 --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-3b-vary-depth.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/2-3b-vary-depth.test b/HW2_pacman/test_cases/part2/2-3b-vary-depth.test new file mode 100644 index 0000000..54aa555 --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-3b-vary-depth.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/2-4a-vary-depth.solution b/HW2_pacman/test_cases/part2/2-4a-vary-depth.solution new file mode 100644 index 0000000..eafdb62 --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-4a-vary-depth.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/2-4a-vary-depth.test b/HW2_pacman/test_cases/part2/2-4a-vary-depth.test new file mode 100644 index 0000000..41ffff1 --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-4a-vary-depth.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/2-4b-vary-depth.solution b/HW2_pacman/test_cases/part2/2-4b-vary-depth.solution new file mode 100644 index 0000000..820398a --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-4b-vary-depth.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/2-4b-vary-depth.test b/HW2_pacman/test_cases/part2/2-4b-vary-depth.test new file mode 100644 index 0000000..c7f6fb2 --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-4b-vary-depth.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/2-one-ghost-3level.solution b/HW2_pacman/test_cases/part2/2-one-ghost-3level.solution new file mode 100644 index 0000000..b22f76f --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-one-ghost-3level.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/2-one-ghost-3level.test b/HW2_pacman/test_cases/part2/2-one-ghost-3level.test new file mode 100644 index 0000000..eabc70b --- /dev/null +++ b/HW2_pacman/test_cases/part2/2-one-ghost-3level.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/3-one-ghost-4level.solution b/HW2_pacman/test_cases/part2/3-one-ghost-4level.solution new file mode 100644 index 0000000..b6a9a0f --- /dev/null +++ b/HW2_pacman/test_cases/part2/3-one-ghost-4level.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/3-one-ghost-4level.test b/HW2_pacman/test_cases/part2/3-one-ghost-4level.test new file mode 100644 index 0000000..210352f --- /dev/null +++ b/HW2_pacman/test_cases/part2/3-one-ghost-4level.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/4-two-ghosts-3level.solution b/HW2_pacman/test_cases/part2/4-two-ghosts-3level.solution new file mode 100644 index 0000000..12e9520 --- /dev/null +++ b/HW2_pacman/test_cases/part2/4-two-ghosts-3level.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/4-two-ghosts-3level.test b/HW2_pacman/test_cases/part2/4-two-ghosts-3level.test new file mode 100644 index 0000000..74a2ab3 --- /dev/null +++ b/HW2_pacman/test_cases/part2/4-two-ghosts-3level.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/5-two-ghosts-4level.solution b/HW2_pacman/test_cases/part2/5-two-ghosts-4level.solution new file mode 100644 index 0000000..89c534c --- /dev/null +++ b/HW2_pacman/test_cases/part2/5-two-ghosts-4level.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/5-two-ghosts-4level.test b/HW2_pacman/test_cases/part2/5-two-ghosts-4level.test new file mode 100644 index 0000000..3fa2cbd --- /dev/null +++ b/HW2_pacman/test_cases/part2/5-two-ghosts-4level.test @@ -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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/6-tied-root.solution b/HW2_pacman/test_cases/part2/6-tied-root.solution new file mode 100644 index 0000000..93ece27 --- /dev/null +++ b/HW2_pacman/test_cases/part2/6-tied-root.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/6-tied-root.test b/HW2_pacman/test_cases/part2/6-tied-root.test new file mode 100644 index 0000000..ed74198 --- /dev/null +++ b/HW2_pacman/test_cases/part2/6-tied-root.test @@ -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" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part2/7-1a-check-depth-one-ghost.solution b/HW2_pacman/test_cases/part2/7-1a-check-depth-one-ghost.solution new file mode 100644 index 0000000..a3a74c4 --- /dev/null +++ b/HW2_pacman/test_cases/part2/7-1a-check-depth-one-ghost.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/7-1a-check-depth-one-ghost.test b/HW2_pacman/test_cases/part2/7-1a-check-depth-one-ghost.test new file mode 100644 index 0000000..a726af8 --- /dev/null +++ b/HW2_pacman/test_cases/part2/7-1a-check-depth-one-ghost.test @@ -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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part2/7-1b-check-depth-one-ghost.solution b/HW2_pacman/test_cases/part2/7-1b-check-depth-one-ghost.solution new file mode 100644 index 0000000..8dad3c7 --- /dev/null +++ b/HW2_pacman/test_cases/part2/7-1b-check-depth-one-ghost.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/7-1b-check-depth-one-ghost.test b/HW2_pacman/test_cases/part2/7-1b-check-depth-one-ghost.test new file mode 100644 index 0000000..46611a5 --- /dev/null +++ b/HW2_pacman/test_cases/part2/7-1b-check-depth-one-ghost.test @@ -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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part2/7-1c-check-depth-one-ghost.solution b/HW2_pacman/test_cases/part2/7-1c-check-depth-one-ghost.solution new file mode 100644 index 0000000..210bb5d --- /dev/null +++ b/HW2_pacman/test_cases/part2/7-1c-check-depth-one-ghost.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/7-1c-check-depth-one-ghost.test b/HW2_pacman/test_cases/part2/7-1c-check-depth-one-ghost.test new file mode 100644 index 0000000..f3a5e09 --- /dev/null +++ b/HW2_pacman/test_cases/part2/7-1c-check-depth-one-ghost.test @@ -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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part2/7-2a-check-depth-two-ghosts.solution b/HW2_pacman/test_cases/part2/7-2a-check-depth-two-ghosts.solution new file mode 100644 index 0000000..9a08a38 --- /dev/null +++ b/HW2_pacman/test_cases/part2/7-2a-check-depth-two-ghosts.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/7-2a-check-depth-two-ghosts.test b/HW2_pacman/test_cases/part2/7-2a-check-depth-two-ghosts.test new file mode 100644 index 0000000..88b2d45 --- /dev/null +++ b/HW2_pacman/test_cases/part2/7-2a-check-depth-two-ghosts.test @@ -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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part2/7-2b-check-depth-two-ghosts.solution b/HW2_pacman/test_cases/part2/7-2b-check-depth-two-ghosts.solution new file mode 100644 index 0000000..194c0aa --- /dev/null +++ b/HW2_pacman/test_cases/part2/7-2b-check-depth-two-ghosts.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/7-2b-check-depth-two-ghosts.test b/HW2_pacman/test_cases/part2/7-2b-check-depth-two-ghosts.test new file mode 100644 index 0000000..5745980 --- /dev/null +++ b/HW2_pacman/test_cases/part2/7-2b-check-depth-two-ghosts.test @@ -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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part2/7-2c-check-depth-two-ghosts.solution b/HW2_pacman/test_cases/part2/7-2c-check-depth-two-ghosts.solution new file mode 100644 index 0000000..1e989f3 --- /dev/null +++ b/HW2_pacman/test_cases/part2/7-2c-check-depth-two-ghosts.solution @@ -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" diff --git a/HW2_pacman/test_cases/part2/7-2c-check-depth-two-ghosts.test b/HW2_pacman/test_cases/part2/7-2c-check-depth-two-ghosts.test new file mode 100644 index 0000000..c7770e1 --- /dev/null +++ b/HW2_pacman/test_cases/part2/7-2c-check-depth-two-ghosts.test @@ -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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part2/8-pacman-game.solution b/HW2_pacman/test_cases/part2/8-pacman-game.solution new file mode 100644 index 0000000..ec0b0b8 --- /dev/null +++ b/HW2_pacman/test_cases/part2/8-pacman-game.solution @@ -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"]] +""" diff --git a/HW2_pacman/test_cases/part2/8-pacman-game.test b/HW2_pacman/test_cases/part2/8-pacman-game.test new file mode 100644 index 0000000..b0af9ba --- /dev/null +++ b/HW2_pacman/test_cases/part2/8-pacman-game.test @@ -0,0 +1,19 @@ +class: "PacmanGameTreeTest" +alg: "AlphaBetaAgent" +seed: "0" +depth: "2" +max_points: "25" + +# The following specifies the layout to be used +layoutName: "smallClassic" +layout: """ +%%%%%%%%%%%%%%%%%%%% +%......%G G%......% +%.%%...%% %%...%%.% +%.%o.%........%.o%.% +%.%%.%.%%%%%%.%.%%.% +%........P.........% +%%%%%%%%%%%%%%%%%%%% +""" + + diff --git a/HW2_pacman/test_cases/part2/CONFIG b/HW2_pacman/test_cases/part2/CONFIG new file mode 100644 index 0000000..4e8cecf --- /dev/null +++ b/HW2_pacman/test_cases/part2/CONFIG @@ -0,0 +1,2 @@ +max_points: "10" +class: "PassAllTestsQuestion" diff --git a/HW2_pacman/test_cases/part3/0-eval-function-lose-states-1.solution b/HW2_pacman/test_cases/part3/0-eval-function-lose-states-1.solution new file mode 100644 index 0000000..6409bcc --- /dev/null +++ b/HW2_pacman/test_cases/part3/0-eval-function-lose-states-1.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/0-eval-function-lose-states-1.test. +action: "Left" +generated: "lose1 lose2 root" diff --git a/HW2_pacman/test_cases/part3/0-eval-function-lose-states-1.test b/HW2_pacman/test_cases/part3/0-eval-function-lose-states-1.test new file mode 100644 index 0000000..9896544 --- /dev/null +++ b/HW2_pacman/test_cases/part3/0-eval-function-lose-states-1.test @@ -0,0 +1,30 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +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" + +children: """ +root Left lose1 +root Right lose2 +""" + +evaluation: """ +lose1 1.0 +lose2 0.0 +""" + diff --git a/HW2_pacman/test_cases/part3/0-eval-function-lose-states-2.solution b/HW2_pacman/test_cases/part3/0-eval-function-lose-states-2.solution new file mode 100644 index 0000000..e4d7abc --- /dev/null +++ b/HW2_pacman/test_cases/part3/0-eval-function-lose-states-2.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/0-eval-function-lose-states-2.test. +action: "Right" +generated: "lose1 lose2 root" diff --git a/HW2_pacman/test_cases/part3/0-eval-function-lose-states-2.test b/HW2_pacman/test_cases/part3/0-eval-function-lose-states-2.test new file mode 100644 index 0000000..d6f3c87 --- /dev/null +++ b/HW2_pacman/test_cases/part3/0-eval-function-lose-states-2.test @@ -0,0 +1,30 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +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" + +children: """ +root Left lose1 +root Right lose2 +""" + +evaluation: """ +lose1 0.0 +lose2 1.0 +""" + diff --git a/HW2_pacman/test_cases/part3/0-eval-function-win-states-1.solution b/HW2_pacman/test_cases/part3/0-eval-function-win-states-1.solution new file mode 100644 index 0000000..cb5d436 --- /dev/null +++ b/HW2_pacman/test_cases/part3/0-eval-function-win-states-1.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/0-eval-function-win-states-1.test. +action: "Left" +generated: "root win1 win2" diff --git a/HW2_pacman/test_cases/part3/0-eval-function-win-states-1.test b/HW2_pacman/test_cases/part3/0-eval-function-win-states-1.test new file mode 100644 index 0000000..c5821d6 --- /dev/null +++ b/HW2_pacman/test_cases/part3/0-eval-function-win-states-1.test @@ -0,0 +1,30 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +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: "" + +children: """ +root Left win1 +root Right win2 +""" + +evaluation: """ +win1 1.0 +win2 0.0 +""" + diff --git a/HW2_pacman/test_cases/part3/0-eval-function-win-states-2.solution b/HW2_pacman/test_cases/part3/0-eval-function-win-states-2.solution new file mode 100644 index 0000000..76d6e48 --- /dev/null +++ b/HW2_pacman/test_cases/part3/0-eval-function-win-states-2.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/0-eval-function-win-states-2.test. +action: "Right" +generated: "root win1 win2" diff --git a/HW2_pacman/test_cases/part3/0-eval-function-win-states-2.test b/HW2_pacman/test_cases/part3/0-eval-function-win-states-2.test new file mode 100644 index 0000000..955c9f8 --- /dev/null +++ b/HW2_pacman/test_cases/part3/0-eval-function-win-states-2.test @@ -0,0 +1,30 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +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: "" + +children: """ +root Left win1 +root Right win2 +""" + +evaluation: """ +win1 0.0 +win2 1.0 +""" + diff --git a/HW2_pacman/test_cases/part3/0-expectimax1.solution b/HW2_pacman/test_cases/part3/0-expectimax1.solution new file mode 100644 index 0000000..ff7dfe6 --- /dev/null +++ b/HW2_pacman/test_cases/part3/0-expectimax1.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/0-expectimax1.test. +action: "Left" +generated: "A B C D E F G H I exp1 exp2 exp3 max" diff --git a/HW2_pacman/test_cases/part3/0-expectimax1.test b/HW2_pacman/test_cases/part3/0-expectimax1.test new file mode 100644 index 0000000..d9eea06 --- /dev/null +++ b/HW2_pacman/test_cases/part3/0-expectimax1.test @@ -0,0 +1,48 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +depth: "2" + +# Tree adapted from lecture 6 slides +diagram: """ + max + /-/ | \--\ + / | \ + / | \ + exp1 exp2 exp3 + /|\ /|\ /|\ + / | \ / | \ / | \ +A B C D E F G H I +3 12 8 2 4 6 14 5 2 +""" +num_agents: "2" + +start_state: "max" +win_states: "A B C D E F G H I" +lose_states: "" + +children: """ +max Left exp1 +max Center exp2 +max Right exp3 +exp1 Left A +exp1 Center B +exp1 Right C +exp2 Left D +exp2 Center E +exp2 Right F +exp3 Left G +exp3 Center H +exp3 Right I +""" + +evaluation: """ +A 3.0 +B 12.0 +C 8.0 +D 2.0 +E 4.0 +F 6.0 +G 14.0 +H 5.0 +I 2.0 +""" diff --git a/HW2_pacman/test_cases/part3/1-expectimax2.solution b/HW2_pacman/test_cases/part3/1-expectimax2.solution new file mode 100644 index 0000000..30c8768 --- /dev/null +++ b/HW2_pacman/test_cases/part3/1-expectimax2.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/1-expectimax2.test. +action: "Left" +generated: "A B C D E F G H I exp1 exp2 exp3 max" diff --git a/HW2_pacman/test_cases/part3/1-expectimax2.test b/HW2_pacman/test_cases/part3/1-expectimax2.test new file mode 100644 index 0000000..3b9f67a --- /dev/null +++ b/HW2_pacman/test_cases/part3/1-expectimax2.test @@ -0,0 +1,48 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +depth: "2" + +# Tree from lecture 7 slides +diagram: """ + max + /-/ | \--\ + / | \ + / | \ + exp1 exp2 exp3 + /|\ /|\ /|\ + / | \ / | \ / | \ +A B C D E F G H I +3 12 9 2 4 6 15 6 0 +""" +num_agents: "2" + +start_state: "max" +win_states: "A B C D E F G H I" +lose_states: "" + +children: """ +max Left exp1 +max Center exp2 +max Right exp3 +exp1 Left A +exp1 Center B +exp1 Right C +exp2 Left D +exp2 Center E +exp2 Right F +exp3 Left G +exp3 Center H +exp3 Right I +""" + +evaluation: """ +A 3.0 +B 12.0 +C 9.0 +D 2.0 +E 4.0 +F 6.0 +G 15.0 +H 6.0 +I 0.0 +""" diff --git a/HW2_pacman/test_cases/part3/2-one-ghost-3level.solution b/HW2_pacman/test_cases/part3/2-one-ghost-3level.solution new file mode 100644 index 0000000..bde5c83 --- /dev/null +++ b/HW2_pacman/test_cases/part3/2-one-ghost-3level.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/2-one-ghost-3level.test. +action: "Left" +generated: "a b1 b2 c1 c2 c3 c4 d1 d2 d3 d4 d5 d6 d7 d8" diff --git a/HW2_pacman/test_cases/part3/2-one-ghost-3level.test b/HW2_pacman/test_cases/part3/2-one-ghost-3level.test new file mode 100644 index 0000000..a9c6123 --- /dev/null +++ b/HW2_pacman/test_cases/part3/2-one-ghost-3level.test @@ -0,0 +1,52 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +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 - exp +c - max +""" +num_agents: "2" + +start_state: "a" +win_states: "d1 d2 d3 d4 d5 d6 d7 d8" +lose_states: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part3/3-one-ghost-4level.solution b/HW2_pacman/test_cases/part3/3-one-ghost-4level.solution new file mode 100644 index 0000000..4ba2b47 --- /dev/null +++ b/HW2_pacman/test_cases/part3/3-one-ghost-4level.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/3-one-ghost-4level.test. +action: "Right" +generated: "A B C D E F G H I J K L M N O P a b1 b2 c1 c2 c3 c4 d1 d2 d3 d4 d5 d6 d7 d8" diff --git a/HW2_pacman/test_cases/part3/3-one-ghost-4level.test b/HW2_pacman/test_cases/part3/3-one-ghost-4level.test new file mode 100644 index 0000000..c74d459 --- /dev/null +++ b/HW2_pacman/test_cases/part3/3-one-ghost-4level.test @@ -0,0 +1,79 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +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 - exp +c - max +d - exp +""" +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part3/4-two-ghosts-3level.solution b/HW2_pacman/test_cases/part3/4-two-ghosts-3level.solution new file mode 100644 index 0000000..6dbd664 --- /dev/null +++ b/HW2_pacman/test_cases/part3/4-two-ghosts-3level.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/4-two-ghosts-3level.test. +action: "Left" +generated: "a b1 b2 c1 c2 c3 c4 d1 d2 d3 d4 d5 d6 d7 d8" diff --git a/HW2_pacman/test_cases/part3/4-two-ghosts-3level.test b/HW2_pacman/test_cases/part3/4-two-ghosts-3level.test new file mode 100644 index 0000000..85918c7 --- /dev/null +++ b/HW2_pacman/test_cases/part3/4-two-ghosts-3level.test @@ -0,0 +1,52 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +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 - exp +c - exp +""" +num_agents: "3" + +start_state: "a" +win_states: "d1 d2 d3 d4 d5 d6 d7 d8" +lose_states: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part3/5-two-ghosts-4level.solution b/HW2_pacman/test_cases/part3/5-two-ghosts-4level.solution new file mode 100644 index 0000000..caccbea --- /dev/null +++ b/HW2_pacman/test_cases/part3/5-two-ghosts-4level.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/5-two-ghosts-4level.test. +action: "Left" +generated: "A B C D E F G H I J K L M N O P a b1 b2 c1 c2 c3 c4 d1 d2 d3 d4 d5 d6 d7 d8" diff --git a/HW2_pacman/test_cases/part3/5-two-ghosts-4level.test b/HW2_pacman/test_cases/part3/5-two-ghosts-4level.test new file mode 100644 index 0000000..8fda1bd --- /dev/null +++ b/HW2_pacman/test_cases/part3/5-two-ghosts-4level.test @@ -0,0 +1,79 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +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 - exp +c - exp +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: "" + +children: """ +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 +""" diff --git a/HW2_pacman/test_cases/part3/6-1a-check-depth-one-ghost.solution b/HW2_pacman/test_cases/part3/6-1a-check-depth-one-ghost.solution new file mode 100644 index 0000000..22aebdc --- /dev/null +++ b/HW2_pacman/test_cases/part3/6-1a-check-depth-one-ghost.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/6-1a-check-depth-one-ghost.test. +action: "Left" +generated: "a b1 b2 b3 c1 c2 c3" diff --git a/HW2_pacman/test_cases/part3/6-1a-check-depth-one-ghost.test b/HW2_pacman/test_cases/part3/6-1a-check-depth-one-ghost.test new file mode 100644 index 0000000..e5dd267 --- /dev/null +++ b/HW2_pacman/test_cases/part3/6-1a-check-depth-one-ghost.test @@ -0,0 +1,83 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part3/6-1b-check-depth-one-ghost.solution b/HW2_pacman/test_cases/part3/6-1b-check-depth-one-ghost.solution new file mode 100644 index 0000000..e34e3d3 --- /dev/null +++ b/HW2_pacman/test_cases/part3/6-1b-check-depth-one-ghost.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/6-1b-check-depth-one-ghost.test. +action: "Center" +generated: "a b1 b2 b3 c1 c2 c3 d1 d2 d3 e1 e2 e3" diff --git a/HW2_pacman/test_cases/part3/6-1b-check-depth-one-ghost.test b/HW2_pacman/test_cases/part3/6-1b-check-depth-one-ghost.test new file mode 100644 index 0000000..527d543 --- /dev/null +++ b/HW2_pacman/test_cases/part3/6-1b-check-depth-one-ghost.test @@ -0,0 +1,83 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part3/6-1c-check-depth-one-ghost.solution b/HW2_pacman/test_cases/part3/6-1c-check-depth-one-ghost.solution new file mode 100644 index 0000000..cd33b5a --- /dev/null +++ b/HW2_pacman/test_cases/part3/6-1c-check-depth-one-ghost.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/6-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" diff --git a/HW2_pacman/test_cases/part3/6-1c-check-depth-one-ghost.test b/HW2_pacman/test_cases/part3/6-1c-check-depth-one-ghost.test new file mode 100644 index 0000000..cfd9df0 --- /dev/null +++ b/HW2_pacman/test_cases/part3/6-1c-check-depth-one-ghost.test @@ -0,0 +1,83 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part3/6-2a-check-depth-two-ghosts.solution b/HW2_pacman/test_cases/part3/6-2a-check-depth-two-ghosts.solution new file mode 100644 index 0000000..0e9c9e9 --- /dev/null +++ b/HW2_pacman/test_cases/part3/6-2a-check-depth-two-ghosts.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/6-2a-check-depth-two-ghosts.test. +action: "Left" +generated: "a b1 b2 b3 c1 c2 c3 d1 d2 d3" diff --git a/HW2_pacman/test_cases/part3/6-2a-check-depth-two-ghosts.test b/HW2_pacman/test_cases/part3/6-2a-check-depth-two-ghosts.test new file mode 100644 index 0000000..c9cfa54 --- /dev/null +++ b/HW2_pacman/test_cases/part3/6-2a-check-depth-two-ghosts.test @@ -0,0 +1,110 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part3/6-2b-check-depth-two-ghosts.solution b/HW2_pacman/test_cases/part3/6-2b-check-depth-two-ghosts.solution new file mode 100644 index 0000000..3fcde21 --- /dev/null +++ b/HW2_pacman/test_cases/part3/6-2b-check-depth-two-ghosts.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/6-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" diff --git a/HW2_pacman/test_cases/part3/6-2b-check-depth-two-ghosts.test b/HW2_pacman/test_cases/part3/6-2b-check-depth-two-ghosts.test new file mode 100644 index 0000000..176d33d --- /dev/null +++ b/HW2_pacman/test_cases/part3/6-2b-check-depth-two-ghosts.test @@ -0,0 +1,110 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part3/6-2c-check-depth-two-ghosts.solution b/HW2_pacman/test_cases/part3/6-2c-check-depth-two-ghosts.solution new file mode 100644 index 0000000..bad1cf9 --- /dev/null +++ b/HW2_pacman/test_cases/part3/6-2c-check-depth-two-ghosts.solution @@ -0,0 +1,3 @@ +# This is the solution file for test_cases/q4/6-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" diff --git a/HW2_pacman/test_cases/part3/6-2c-check-depth-two-ghosts.test b/HW2_pacman/test_cases/part3/6-2c-check-depth-two-ghosts.test new file mode 100644 index 0000000..c83038c --- /dev/null +++ b/HW2_pacman/test_cases/part3/6-2c-check-depth-two-ghosts.test @@ -0,0 +1,110 @@ +class: "GraphGameTreeTest" +alg: "ExpectimaxAgent" +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: "" + +children: """ +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 +""" + + diff --git a/HW2_pacman/test_cases/part3/7-pacman-game.solution b/HW2_pacman/test_cases/part3/7-pacman-game.solution new file mode 100644 index 0000000..ecc544b --- /dev/null +++ b/HW2_pacman/test_cases/part3/7-pacman-game.solution @@ -0,0 +1,444 @@ +optimalActions: """ +[[["West", "East"], 59], [["West", "East"], 35]] +[[["West"], 190], [["West"], 127]] +[[["West"], 190], [["West"], 135]] +[[["West", "North"], 120], [["West", "North"], 82]] +[[["West"], 77], [["West"], 57]] +[[["West", "North"], 143], [["West", "North"], 97]] +[[["West"], 155], [["West"], 110]] +[[["West"], 40], [["West"], 27]] +[[["North"], 64], [["North"], 43]] +[[["North"], 85], [["North"], 57]] +[[["North"], 106], [["North"], 71]] +[[["North"], 97], [["North"], 65]] +[[["East"], 154], [["East"], 103]] +[[["Stop"], 130], [["West"], 85]] +[[["West"], 30], [["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"], 29], [["North"], 18]] +[[["North"], 50], [["North"], 31]] +[[["West"], 55], [["West"], 36]] +[[["East"], 29], [["East"], 16]] +[[["North"], 89], [["North"], 61]] +[[["East", "North"], 161], [["East", "North"], 121]] +[[["East", "North"], 221], [["East", "North"], 166]] +[[["North", "South"], 105], [["North", "South"], 77]] +[[["West"], 69], [["West"], 51]] +[[["West"], 94], [["West"], 69]] +[[["West", "Stop"], 57], [["West"], 42]] +[[["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"], 85], [["East", "South"], 57]] +[[["Stop", "East", "South"], 64], [["East", "South"], 43]] +[[["Stop", "East", "South"], 61], [["East", "South"], 41]] +[[["Stop", "East", "South"], 61], [["East", "South"], 41]] +[[["Stop", "East", "South"], 85], [["East", "South"], 57]] +[[["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"], 29], [["East", "North"], 18]] +[[["East"], 38], [["East"], 22]] +[[["North"], 29], [["North"], 18]] +[[["North"], 38], [["North"], 22]] +[[["East"], 33], [["East"], 22]] +[[["East"], 37], [["East"], 18]] +[[["East"], 18], [["East"], 12]] +[[["East"], 37], [["East"], 26]] +[[["East"], 69], [["East"], 41]] +[[["East"], 56], [["East"], 26]] +[[["East"], 44], [["East"], 29]] +[[["North", "South"], 83], [["North", "South"], 52]] +[[["East", "North"], 121], [["East", "North"], 74]] +[[["East", "North"], 97], [["East", "North"], 73]] +[[["North", "South"], 173], [["North", "South"], 130]] +[[["West", "East"], 90], [["West", "East"], 66]] +[[["West", "Stop", "East"], 161], [["West", "East"], 118]] +[[["Stop", "East", "South"], 58], [["East", "South"], 43]] +[[["Stop", "East"], 120], [["East"], 85]] +[[["East"], 78], [["East"], 45]] +[[["West"], 77], [["West"], 42]] +[[["South"], 83], [["South"], 48]] +[[["South"], 49], [["South"], 37]] +[[["South"], 185], [["South"], 104]] +[[["South"], 68], [["South"], 41]] +[[["West"], 30], [["West"], 18]] +[[["West"], 56], [["West"], 29]] +[[["West"], 14], [["West"], 10]] +[[["West"], 20], [["West"], 14]] +[[["West"], 13], [["West"], 9]] +[[["West"], 13], [["West"], 9]] +[[["West"], 16], [["West"], 12]] +[[["West", "North"], 30], [["West", "North"], 20]] +[[["West"], 38], [["West"], 23]] +[[["West", "Stop", "East", "North"], 70], [["West", "East", "North"], 46]] +[[["West", "Stop", "East"], 128], [["West", "East"], 89]] +[[["West", "Stop", "East"], 31], [["West", "East"], 20]] +[[["Stop", "East", "North"], 69], [["East", "North"], 45]] +[[["Stop", "North"], 58], [["North"], 31]] +[[["North"], 34], [["North"], 19]] +[[["North"], 30], [["North"], 17]] +[[["North"], 19], [["North"], 11]] +[[["North"], 34], [["North"], 19]] +[[["East"], 30], [["East"], 17]] +[[["East"], 19], [["East"], 11]] +[[["East"], 44], [["East"], 29]] +[[["East", "South"], 87], [["East", "South"], 60]] +[[["East", "South"], 108], [["East", "South"], 62]] +[[["South"], 120], [["South"], 61]] +[[["North", "South"], 209], [["North", "South"], 132]] +[[["West"], 108], [["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"], 98], [["East", "South"], 65]] +[[["Stop", "East", "South"], 128], [["East", "South"], 86]] +[[["Stop", "East", "South"], 82], [["East", "South"], 55]] +[[["Stop", "East", "South"], 85], [["East", "South"], 57]] +[[["Stop", "East", "South"], 190], [["East", "South"], 127]] +[[["Stop", "East", "South"], 158], [["East", "South"], 103]] +[[["Stop", "South"], 50], [["South"], 27]] +[[["South"], 30], [["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"], 29], [["East", "North"], 18]] +[[["East"], 37], [["East"], 22]] +[[["East", "North"], 41], [["East", "North"], 24]] +[[["East"], 59], [["East"], 29]] +[[["East"], 19], [["East"], 11]] +[[["East"], 26], [["East"], 15]] +[[["East"], 15], [["East"], 9]] +[[["East"], 15], [["East"], 9]] +[[["East"], 18], [["East"], 12]] +[[["East"], 29], [["East"], 18]] +[[["East"], 37], [["East"], 22]] +[[["East", "North"], 41], [["East", "North"], 24]] +[[["East"], 59], [["East"], 29]] +[[["East"], 19], [["East"], 11]] +[[["North"], 26], [["North"], 15]] +[[["North"], 19], [["North"], 11]] +[[["North"], 30], [["North"], 17]] +[[["North"], 34], [["North"], 19]] +[[["West"], 34], [["West"], 19]] +[[["West"], 25], [["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"], ["North"], ["North"]] +[["East"], ["East"], ["East"], ["East"]] +[["West", "Stop"], ["West"], ["Stop"], ["West"]] +[["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"], ["East"]] +[["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"], ["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"]] +[["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"], ["West"]] +[["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"]] +""" diff --git a/HW2_pacman/test_cases/part3/7-pacman-game.test b/HW2_pacman/test_cases/part3/7-pacman-game.test new file mode 100644 index 0000000..f2d4f77 --- /dev/null +++ b/HW2_pacman/test_cases/part3/7-pacman-game.test @@ -0,0 +1,19 @@ +class: "PacmanGameTreeTest" +alg: "ExpectimaxAgent" +seed: "0" +depth: "2" +max_points: "25" + +# The following specifies the layout to be used +layoutName: "smallClassic" +layout: """ +%%%%%%%%%%%%%%%%%%%% +%......%G G%......% +%.%%...%% %%...%%.% +%.%o.%........%.o%.% +%.%%.%.%%%%%%.%.%%.% +%........P.........% +%%%%%%%%%%%%%%%%%%%% +""" + + diff --git a/HW2_pacman/test_cases/part3/CONFIG b/HW2_pacman/test_cases/part3/CONFIG new file mode 100644 index 0000000..4e8cecf --- /dev/null +++ b/HW2_pacman/test_cases/part3/CONFIG @@ -0,0 +1,2 @@ +max_points: "10" +class: "PassAllTestsQuestion" diff --git a/HW2_pacman/test_cases/part4/CONFIG b/HW2_pacman/test_cases/part4/CONFIG new file mode 100644 index 0000000..e0744e0 --- /dev/null +++ b/HW2_pacman/test_cases/part4/CONFIG @@ -0,0 +1,2 @@ +max_points: "10" +class: "PartialCreditQuestion" diff --git a/HW2_pacman/test_cases/part4/grade-agent.solution b/HW2_pacman/test_cases/part4/grade-agent.solution new file mode 100644 index 0000000..575b63d --- /dev/null +++ b/HW2_pacman/test_cases/part4/grade-agent.solution @@ -0,0 +1,2 @@ +# This is the solution file for test_cases/part4/grade-agent.test. +# File intentionally blank. diff --git a/HW2_pacman/test_cases/part4/grade-agent.test b/HW2_pacman/test_cases/part4/grade-agent.test new file mode 100644 index 0000000..efe2b20 --- /dev/null +++ b/HW2_pacman/test_cases/part4/grade-agent.test @@ -0,0 +1,17 @@ +class: "EvalAgentTest" + +agentName: "ExpectimaxAgent" +agentArgs: "evalFn=better" +layoutName: "smallClassic" +maxTime: "120" +numGames: "10" + +nonTimeoutThresholds: "5 10" + +scoreThresholds: "600 1200" + +winsMinimum: "1" +winsThresholds: "1 4 7 10" + +randomSeed: "0" +ghosts: "[RandomGhost(1)]" diff --git a/HW2_pacman/textDisplay.py b/HW2_pacman/textDisplay.py new file mode 100644 index 0000000..18e5dac --- /dev/null +++ b/HW2_pacman/textDisplay.py @@ -0,0 +1,71 @@ +import time +try: + import pacman +except: + pass + +DRAW_EVERY = 1 +SLEEP_TIME = 0 # This can be overwritten by __init__ +DISPLAY_MOVES = False +QUIET = False # Supresses output + + +class NullGraphics: + def initialize(self, state, isBlue=False): + pass + + def update(self, state): + pass + + def checkNullDisplay(self): + return True + + def pause(self): + time.sleep(SLEEP_TIME) + + def draw(self, state): + print(state) + + def updateDistributions(self, dist): + pass + + def finish(self): + pass + + +class PacmanGraphics: + def __init__(self, speed=None): + if speed != None: + global SLEEP_TIME + SLEEP_TIME = speed + + def initialize(self, state, isBlue=False): + self.draw(state) + self.pause() + self.turn = 0 + self.agentCounter = 0 + + def update(self, state): + numAgents = len(state.agentStates) + self.agentCounter = (self.agentCounter + 1) % numAgents + if self.agentCounter == 0: + self.turn += 1 + if DISPLAY_MOVES: + ghosts = [pacman.nearestPoint( + state.getGhostPosition(i)) for i in range(1, numAgents)] + print("%4d) P: %-8s" % (self.turn, str(pacman.nearestPoint(state.getPacmanPosition()))), + '| Score: %-5d' % state.score, '| Ghosts:', ghosts) + if self.turn % DRAW_EVERY == 0: + self.draw(state) + self.pause() + if state._win or state._lose: + self.draw(state) + + def pause(self): + time.sleep(SLEEP_TIME) + + def draw(self, state): + print(state) + + def finish(self): + pass diff --git a/HW2_pacman/util.py b/HW2_pacman/util.py new file mode 100644 index 0000000..7a779ec --- /dev/null +++ b/HW2_pacman/util.py @@ -0,0 +1,689 @@ +import sys +import inspect +import heapq +import random +import io + + +class FixedRandom: + def __init__(self): + fixedState = (3, (2147483648, 507801126, 683453281, 310439348, 2597246090, + 2209084787, 2267831527, 979920060, 3098657677, 37650879, 807947081, 3974896263, + 881243242, 3100634921, 1334775171, 3965168385, 746264660, 4074750168, 500078808, + 776561771, 702988163, 1636311725, 2559226045, 157578202, 2498342920, 2794591496, + 4130598723, 496985844, 2944563015, 3731321600, 3514814613, 3362575829, 3038768745, + 2206497038, 1108748846, 1317460727, 3134077628, 988312410, 1674063516, 746456451, + 3958482413, 1857117812, 708750586, 1583423339, 3466495450, 1536929345, 1137240525, + 3875025632, 2466137587, 1235845595, 4214575620, 3792516855, 657994358, 1241843248, + 1695651859, 3678946666, 1929922113, 2351044952, 2317810202, 2039319015, 460787996, + 3654096216, 4068721415, 1814163703, 2904112444, 1386111013, 574629867, 2654529343, + 3833135042, 2725328455, 552431551, 4006991378, 1331562057, 3710134542, 303171486, + 1203231078, 2670768975, 54570816, 2679609001, 578983064, 1271454725, 3230871056, + 2496832891, 2944938195, 1608828728, 367886575, 2544708204, 103775539, 1912402393, + 1098482180, 2738577070, 3091646463, 1505274463, 2079416566, 659100352, 839995305, + 1696257633, 274389836, 3973303017, 671127655, 1061109122, 517486945, 1379749962, + 3421383928, 3116950429, 2165882425, 2346928266, 2892678711, 2936066049, 1316407868, + 2873411858, 4279682888, 2744351923, 3290373816, 1014377279, 955200944, 4220990860, + 2386098930, 1772997650, 3757346974, 1621616438, 2877097197, 442116595, 2010480266, + 2867861469, 2955352695, 605335967, 2222936009, 2067554933, 4129906358, 1519608541, + 1195006590, 1942991038, 2736562236, 279162408, 1415982909, 4099901426, 1732201505, + 2934657937, 860563237, 2479235483, 3081651097, 2244720867, 3112631622, 1636991639, + 3860393305, 2312061927, 48780114, 1149090394, 2643246550, 1764050647, 3836789087, + 3474859076, 4237194338, 1735191073, 2150369208, 92164394, 756974036, 2314453957, + 323969533, 4267621035, 283649842, 810004843, 727855536, 1757827251, 3334960421, + 3261035106, 38417393, 2660980472, 1256633965, 2184045390, 811213141, 2857482069, + 2237770878, 3891003138, 2787806886, 2435192790, 2249324662, 3507764896, 995388363, + 856944153, 619213904, 3233967826, 3703465555, 3286531781, 3863193356, 2992340714, + 413696855, 3865185632, 1704163171, 3043634452, 2225424707, 2199018022, 3506117517, + 3311559776, 3374443561, 1207829628, 668793165, 1822020716, 2082656160, 1160606415, + 3034757648, 741703672, 3094328738, 459332691, 2702383376, 1610239915, 4162939394, + 557861574, 3805706338, 3832520705, 1248934879, 3250424034, 892335058, 74323433, + 3209751608, 3213220797, 3444035873, 3743886725, 1783837251, 610968664, 580745246, + 4041979504, 201684874, 2673219253, 1377283008, 3497299167, 2344209394, 2304982920, + 3081403782, 2599256854, 3184475235, 3373055826, 695186388, 2423332338, 222864327, + 1258227992, 3627871647, 3487724980, 4027953808, 3053320360, 533627073, 3026232514, + 2340271949, 867277230, 868513116, 2158535651, 2487822909, 3428235761, 3067196046, + 3435119657, 1908441839, 788668797, 3367703138, 3317763187, 908264443, 2252100381, + 764223334, 4127108988, 384641349, 3377374722, 1263833251, 1958694944, 3847832657, + 1253909612, 1096494446, 555725445, 2277045895, 3340096504, 1383318686, 4234428127, + 1072582179, 94169494, 1064509968, 2681151917, 2681864920, 734708852, 1338914021, + 1270409500, 1789469116, 4191988204, 1716329784, 2213764829, 3712538840, 919910444, + 1318414447, 3383806712, 3054941722, 3378649942, 1205735655, 1268136494, 2214009444, + 2532395133, 3232230447, 230294038, 342599089, 772808141, 4096882234, 3146662953, + 2784264306, 1860954704, 2675279609, 2984212876, 2466966981, 2627986059, 2985545332, + 2578042598, 1458940786, 2944243755, 3959506256, 1509151382, 325761900, 942251521, + 4184289782, 2756231555, 3297811774, 1169708099, 3280524138, 3805245319, 3227360276, + 3199632491, 2235795585, 2865407118, 36763651, 2441503575, 3314890374, 1755526087, + 17915536, 1196948233, 949343045, 3815841867, 489007833, 2654997597, 2834744136, + 417688687, 2843220846, 85621843, 747339336, 2043645709, 3520444394, 1825470818, + 647778910, 275904777, 1249389189, 3640887431, 4200779599, 323384601, 3446088641, + 4049835786, 1718989062, 3563787136, 44099190, 3281263107, 22910812, 1826109246, + 745118154, 3392171319, 1571490704, 354891067, 815955642, 1453450421, 940015623, + 796817754, 1260148619, 3898237757, 176670141, 1870249326, 3317738680, 448918002, + 4059166594, 2003827551, 987091377, 224855998, 3520570137, 789522610, 2604445123, + 454472869, 475688926, 2990723466, 523362238, 3897608102, 806637149, 2642229586, + 2928614432, 1564415411, 1691381054, 3816907227, 4082581003, 1895544448, 3728217394, + 3214813157, 4054301607, 1882632454, 2873728645, 3694943071, 1297991732, 2101682438, + 3952579552, 678650400, 1391722293, 478833748, 2976468591, 158586606, 2576499787, + 662690848, 3799889765, 3328894692, 2474578497, 2383901391, 1718193504, 3003184595, + 3630561213, 1929441113, 3848238627, 1594310094, 3040359840, 3051803867, 2462788790, + 954409915, 802581771, 681703307, 545982392, 2738993819, 8025358, 2827719383, + 770471093, 3484895980, 3111306320, 3900000891, 2116916652, 397746721, 2087689510, + 721433935, 1396088885, 2751612384, 1998988613, 2135074843, 2521131298, 707009172, + 2398321482, 688041159, 2264560137, 482388305, 207864885, 3735036991, 3490348331, + 1963642811, 3260224305, 3493564223, 1939428454, 1128799656, 1366012432, 2858822447, + 1428147157, 2261125391, 1611208390, 1134826333, 2374102525, 3833625209, 2266397263, + 3189115077, 770080230, 2674657172, 4280146640, 3604531615, 4235071805, 3436987249, + 509704467, 2582695198, 4256268040, 3391197562, 1460642842, 1617931012, 457825497, + 1031452907, 1330422862, 4125947620, 2280712485, 431892090, 2387410588, 2061126784, + 896457479, 3480499461, 2488196663, 4021103792, 1877063114, 2744470201, 1046140599, + 2129952955, 3583049218, 4217723693, 2720341743, 820661843, 1079873609, 3360954200, + 3652304997, 3335838575, 2178810636, 1908053374, 4026721976, 1793145418, 476541615, + 973420250, 515553040, 919292001, 2601786155, 1685119450, 3030170809, 1590676150, + 1665099167, 651151584, 2077190587, 957892642, 646336572, 2743719258, 866169074, + 851118829, 4225766285, 963748226, 799549420, 1955032629, 799460000, 2425744063, + 2441291571, 1928963772, 528930629, 2591962884, 3495142819, 1896021824, 901320159, + 3181820243, 843061941, 3338628510, 3782438992, 9515330, 1705797226, 953535929, + 764833876, 3202464965, 2970244591, 519154982, 3390617541, 566616744, 3438031503, + 1853838297, 170608755, 1393728434, 676900116, 3184965776, 1843100290, 78995357, + 2227939888, 3460264600, 1745705055, 1474086965, 572796246, 4081303004, 882828851, + 1295445825, 137639900, 3304579600, 2722437017, 4093422709, 273203373, 2666507854, + 3998836510, 493829981, 1623949669, 3482036755, 3390023939, 833233937, 1639668730, + 1499455075, 249728260, 1210694006, 3836497489, 1551488720, 3253074267, 3388238003, + 2372035079, 3945715164, 2029501215, 3362012634, 2007375355, 4074709820, 631485888, + 3135015769, 4273087084, 3648076204, 2739943601, 1374020358, 1760722448, 3773939706, + 1313027823, 1895251226, 4224465911, 421382535, 1141067370, 3660034846, 3393185650, + 1850995280, 1451917312, 3841455409, 3926840308, 1397397252, 2572864479, 2500171350, + 3119920613, 531400869, 1626487579, 1099320497, 407414753, 2438623324, 99073255, + 3175491512, 656431560, 1153671785, 236307875, 2824738046, 2320621382, 892174056, + 230984053, 719791226, 2718891946, 624), None) + self.random = random.Random() + self.random.setstate(fixedState) + + +""" + Data structures useful for implementing SearchAgents +""" + + +class Stack: + "A container with a last-in-first-out (LIFO) queuing policy." + + def __init__(self): + self.list = [] + + def push(self, item): + "Push 'item' onto the stack" + self.list.append(item) + + def pop(self): + "Pop the most recently pushed item from the stack" + return self.list.pop() + + def isEmpty(self): + "Returns true if the stack is empty" + return len(self.list) == 0 + + +class Queue: + "A container with a first-in-first-out (FIFO) queuing policy." + + def __init__(self): + self.list = [] + + def push(self, item): + "Enqueue the 'item' into the queue" + self.list.insert(0, item) + + def pop(self): + """ + Dequeue the earliest enqueued item still in the queue. This + operation removes the item from the queue. + """ + return self.list.pop() + + def isEmpty(self): + "Returns true if the queue is empty" + return len(self.list) == 0 + + +class PriorityQueue: + """ + Implements a priority queue data structure. Each inserted item + has a priority associated with it and the client is usually interested + in quick retrieval of the lowest-priority item in the queue. This + data structure allows O(1) access to the lowest-priority item. + """ + + def __init__(self): + self.heap = [] + self.count = 0 + + def push(self, item, priority): + entry = (priority, self.count, item) + heapq.heappush(self.heap, entry) + self.count += 1 + + def pop(self): + (_, _, item) = heapq.heappop(self.heap) + return item + + def isEmpty(self): + return len(self.heap) == 0 + + def update(self, item, priority): + # If item already in priority queue with higher priority, update its priority and rebuild the heap. + # If item already in priority queue with equal or lower priority, do nothing. + # If item not in priority queue, do the same thing as self.push. + for index, (p, c, i) in enumerate(self.heap): + if i == item: + if p <= priority: + break + del self.heap[index] + self.heap.append((priority, c, item)) + heapq.heapify(self.heap) + break + else: + self.push(item, priority) + + +class PriorityQueueWithFunction(PriorityQueue): + """ + Implements a priority queue with the same push/pop signature of the + Queue and the Stack classes. This is designed for drop-in replacement for + those two classes. The caller has to provide a priority function, which + extracts each item's priority. + """ + + def __init__(self, priorityFunction): + "priorityFunction (item) -> priority" + self.priorityFunction = priorityFunction # store the priority function + PriorityQueue.__init__(self) # super-class initializer + + def push(self, item): + "Adds an item to the queue with priority from the priority function" + PriorityQueue.push(self, item, self.priorityFunction(item)) + + +def manhattanDistance(xy1, xy2): + "Returns the Manhattan distance between points xy1 and xy2" + return abs(xy1[0] - xy2[0]) + abs(xy1[1] - xy2[1]) + + +""" +Data structures and functions useful for various course projects + +The search project should not need anything below this line. +""" + + +class Counter(dict): + """ + A counter keeps track of counts for a set of keys. + + The counter class is an extension of the standard python + dictionary type. It is specialized to have number values + (integers or floats), and includes a handful of additional + functions to ease the task of counting data. In particular, + all keys are defaulted to have value 0. Using a dictionary: + + a = {} + print a['test'] + + would give an error, while the Counter class analogue: + + >>> a = Counter() + >>> print a['test'] + 0 + + returns the default 0 value. Note that to reference a key + that you know is contained in the counter, + you can still use the dictionary syntax: + + >>> a = Counter() + >>> a['test'] = 2 + >>> print a['test'] + 2 + + This is very useful for counting things without initializing their counts, + see for example: + + >>> a['blah'] += 1 + >>> print a['blah'] + 1 + + The counter also includes additional functionality useful in implementing + the classifiers for this assignment. Two counters can be added, + subtracted or multiplied together. See below for details. They can + also be normalized and their total count and arg max can be extracted. + """ + + def __getitem__(self, idx): + self.setdefault(idx, 0) + return dict.__getitem__(self, idx) + + def incrementAll(self, keys, count): + """ + Increments all elements of keys by the same count. + + >>> a = Counter() + >>> a.incrementAll(['one','two', 'three'], 1) + >>> a['one'] + 1 + >>> a['two'] + 1 + """ + for key in keys: + self[key] += count + + def argMax(self): + """ + Returns the key with the highest value. + """ + if len(list(self.keys())) == 0: + return None + all = list(self.items()) + values = [x[1] for x in all] + maxIndex = values.index(max(values)) + return all[maxIndex][0] + + def sortedKeys(self): + """ + Returns a list of keys sorted by their values. Keys + with the highest values will appear first. + + >>> a = Counter() + >>> a['first'] = -2 + >>> a['second'] = 4 + >>> a['third'] = 1 + >>> a.sortedKeys() + ['second', 'third', 'first'] + """ + sortedItems = list(self.items()) + + def compare(x, y): return sign(y[1] - x[1]) + sortedItems.sort(cmp=compare) + return [x[0] for x in sortedItems] + + def totalCount(self): + """ + Returns the sum of counts for all keys. + """ + return sum(self.values()) + + def normalize(self): + """ + Edits the counter such that the total count of all + keys sums to 1. The ratio of counts for all keys + will remain the same. Note that normalizing an empty + Counter will result in an error. + """ + total = float(self.totalCount()) + if total == 0: + return + for key in list(self.keys()): + self[key] = self[key] / total + + def divideAll(self, divisor): + """ + Divides all counts by divisor + """ + divisor = float(divisor) + for key in self: + self[key] /= divisor + + def copy(self): + """ + Returns a copy of the counter + """ + return Counter(dict.copy(self)) + + def __mul__(self, y): + """ + Multiplying two counters gives the dot product of their vectors where + each unique label is a vector element. + + >>> a = Counter() + >>> b = Counter() + >>> a['first'] = -2 + >>> a['second'] = 4 + >>> b['first'] = 3 + >>> b['second'] = 5 + >>> a['third'] = 1.5 + >>> a['fourth'] = 2.5 + >>> a * b + 14 + """ + sum = 0 + x = self + if len(x) > len(y): + x, y = y, x + for key in x: + if key not in y: + continue + sum += x[key] * y[key] + return sum + + def __radd__(self, y): + """ + Adding another counter to a counter increments the current counter + by the values stored in the second counter. + + >>> a = Counter() + >>> b = Counter() + >>> a['first'] = -2 + >>> a['second'] = 4 + >>> b['first'] = 3 + >>> b['third'] = 1 + >>> a += b + >>> a['first'] + 1 + """ + for key, value in list(y.items()): + self[key] += value + + def __add__(self, y): + """ + Adding two counters gives a counter with the union of all keys and + counts of the second added to counts of the first. + + >>> a = Counter() + >>> b = Counter() + >>> a['first'] = -2 + >>> a['second'] = 4 + >>> b['first'] = 3 + >>> b['third'] = 1 + >>> (a + b)['first'] + 1 + """ + addend = Counter() + for key in self: + if key in y: + addend[key] = self[key] + y[key] + else: + addend[key] = self[key] + for key in y: + if key in self: + continue + addend[key] = y[key] + return addend + + def __sub__(self, y): + """ + Subtracting a counter from another gives a counter with the union of all keys and + counts of the second subtracted from counts of the first. + + >>> a = Counter() + >>> b = Counter() + >>> a['first'] = -2 + >>> a['second'] = 4 + >>> b['first'] = 3 + >>> b['third'] = 1 + >>> (a - b)['first'] + -5 + """ + addend = Counter() + for key in self: + if key in y: + addend[key] = self[key] - y[key] + else: + addend[key] = self[key] + for key in y: + if key in self: + continue + addend[key] = -1 * y[key] + return addend + + +def raiseNotDefined(): + fileName = inspect.stack()[1][1] + line = inspect.stack()[1][2] + method = inspect.stack()[1][3] + + print("*** Method not implemented: %s at line %s of %s" % + (method, line, fileName)) + sys.exit(1) + + +def normalize(vectorOrCounter): + """ + Normalize a vector or counter by dividing each value by the sum of all values + """ + normalizedCounter = Counter() + if type(vectorOrCounter) == type(normalizedCounter): + counter = vectorOrCounter + total = float(counter.totalCount()) + if total == 0: + return counter + for key in list(counter.keys()): + value = counter[key] + normalizedCounter[key] = value / total + return normalizedCounter + else: + vector = vectorOrCounter + s = float(sum(vector)) + if s == 0: + return vector + return [el / s for el in vector] + + +def nSample(distribution, values, n): + if sum(distribution) != 1: + distribution = normalize(distribution) + rand = [random.random() for i in range(n)] + rand.sort() + samples = [] + samplePos, distPos, cdf = 0, 0, distribution[0] + while samplePos < n: + if rand[samplePos] < cdf: + samplePos += 1 + samples.append(values[distPos]) + else: + distPos += 1 + cdf += distribution[distPos] + return samples + + +def sample(distribution, values=None): + if type(distribution) == Counter: + items = sorted(distribution.items()) + distribution = [i[1] for i in items] + values = [i[0] for i in items] + if sum(distribution) != 1: + distribution = normalize(distribution) + choice = random.random() + i, total = 0, distribution[0] + while choice > total: + i += 1 + total += distribution[i] + return values[i] + + +def sampleFromCounter(ctr): + items = sorted(ctr.items()) + return sample([v for k, v in items], [k for k, v in items]) + + +def getProbability(value, distribution, values): + """ + Gives the probability of a value under a discrete distribution + defined by (distributions, values). + """ + total = 0.0 + for prob, val in zip(distribution, values): + if val == value: + total += prob + return total + + +def flipCoin(p): + r = random.random() + return r < p + + +def chooseFromDistribution(distribution): + "Takes either a counter or a list of (prob, key) pairs and samples" + if type(distribution) == dict or type(distribution) == Counter: + return sample(distribution) + r = random.random() + base = 0.0 + for prob, element in distribution: + base += prob + if r <= base: + return element + + +def nearestPoint(pos): + """ + Finds the nearest grid point to a position (discretizes). + """ + (current_row, current_col) = pos + + grid_row = int(current_row + 0.5) + grid_col = int(current_col + 0.5) + return (grid_row, grid_col) + + +def sign(x): + """ + Returns 1 or -1 depending on the sign of x + """ + if(x >= 0): + return 1 + else: + return -1 + + +def arrayInvert(array): + """ + Inverts a matrix stored as a list of lists. + """ + result = [[] for i in array] + for outer in array: + for inner in range(len(outer)): + result[inner].append(outer[inner]) + return result + + +def matrixAsList(matrix, value=True): + """ + Turns a matrix into a list of coordinates matching the specified value + """ + rows, cols = len(matrix), len(matrix[0]) + cells = [] + for row in range(rows): + for col in range(cols): + if matrix[row][col] == value: + cells.append((row, col)) + return cells + + +def lookup(name, namespace): + """ + Get a method or class from any imported module from its name. + Usage: lookup(functionName, globals()) + """ + dots = name.count('.') + if dots > 0: + moduleName, objName = '.'.join( + name.split('.')[:-1]), name.split('.')[-1] + module = __import__(moduleName) + return getattr(module, objName) + else: + modules = [obj for obj in list(namespace.values()) if str( + type(obj)) == ""] + options = [getattr(module, name) + for module in modules if name in dir(module)] + options += [obj[1] + for obj in list(namespace.items()) if obj[0] == name] + if len(options) == 1: + return options[0] + if len(options) > 1: + raise Exception('Name conflict for %s') + raise Exception('%s not found as a method or class' % name) + + +def pause(): + """ + Pauses the output stream awaiting user feedback. + """ + print("") + input() + + +# code to handle timeouts +# +# FIXME +# NOTE: TimeoutFuncton is NOT reentrant. Later timeouts will silently +# disable earlier timeouts. Could be solved by maintaining a global list +# of active time outs. Currently, questions which have test cases calling +# this have all student code so wrapped. +# +import signal +import time + + +class TimeoutFunctionException(Exception): + """Exception to raise on a timeout""" + pass + + +class TimeoutFunction: + def __init__(self, function, timeout): + self.timeout = timeout + self.function = function + + def handle_timeout(self, signum, frame): + raise TimeoutFunctionException() + + def __call__(self, *args, **keyArgs): + # If we have SIGALRM signal, use it to cause an exception if and + # when this function runs too long. Otherwise check the time taken + # after the method has returned, and throw an exception then. + if hasattr(signal, 'SIGALRM'): + old = signal.signal(signal.SIGALRM, self.handle_timeout) + signal.alarm(self.timeout) + try: + result = self.function(*args, **keyArgs) + finally: + signal.signal(signal.SIGALRM, old) + signal.alarm(0) + else: + startTime = time.time() + result = self.function(*args, **keyArgs) + timeElapsed = time.time() - startTime + if timeElapsed >= self.timeout: + self.handle_timeout(None, None) + return result + + +_ORIGINAL_STDOUT = None +_ORIGINAL_STDERR = None +_MUTED = False + + +class WritableNull: + def write(self, string): + pass + + +def mutePrint(): + global _ORIGINAL_STDOUT, _ORIGINAL_STDERR, _MUTED + if _MUTED: + return + _MUTED = True + + _ORIGINAL_STDOUT = sys.stdout + #_ORIGINAL_STDERR = sys.stderr + sys.stdout = WritableNull() + #sys.stderr = WritableNull() + + +def unmutePrint(): + global _ORIGINAL_STDOUT, _ORIGINAL_STDERR, _MUTED + if not _MUTED: + return + _MUTED = False + + sys.stdout = _ORIGINAL_STDOUT + #sys.stderr = _ORIGINAL_STDERR diff --git a/HW2_spec.pdf b/HW2_spec.pdf new file mode 100644 index 0000000000000000000000000000000000000000..09c1e4d475c20c67603e857cb43424de28b4d87d GIT binary patch literal 593310 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 z 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
|@N@%PdV4$W&dScLQ$H4H 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ξxcGJB6f#f$+WAq-+v?h7y;;-$=SuWB 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 uYriySpq^|Kpx_VM$+w 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

pQ0sis{r{d1 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 LOI6j?-;E0ZXD?eM literal 0 HcmV?d00001 diff --git a/REPORT.md b/REPORT.md new file mode 100644 index 0000000..f96b8ad --- /dev/null +++ b/REPORT.md @@ -0,0 +1,272 @@ +# HW2: Multi-Agent Search Report + +## Part 1: Minimax Search (10%) + +### Implementation + +The `MinimaxAgent` implements the minimax algorithm for adversarial search with multiple ghosts. + +```python +def minimax(s, d, agent): + if s.isWin() or s.isLose() or d == 0: + return self.evaluationFunction(s), None + + nxt = (agent + 1) % s.getNumAgents() + d2 = d - 1 if nxt == 0 else d + actions = s.getLegalActions(agent) + + if agent == 0: + best = (float('-inf'), None) + for a in actions: + v = minimax(s.getNextState(agent, a), d2, nxt)[0] + if v > best[0]: + best = (v, a) + return best + else: + best = (float('inf'), None) + for a in actions: + v = minimax(s.getNextState(agent, a), d2, nxt)[0] + if v < best[0]: + best = (v, a) + return best + +return minimax(gameState, self.depth, 0)[1] +``` + +**Key Design Points:** +1. **Base Case**: Returns the evaluation function value when reaching a terminal state (win/lose) or when depth reaches 0. +2. **Agent Cycling**: Agents take turns in order (Pacman=0, then ghosts 1, 2, ...). The depth is only decremented after all agents have moved (when wrapping back to Pacman). +3. **Maximizing (Pacman)**: Selects the action with the highest value. +4. **Minimizing (Ghosts)**: Each ghost selects the action with the lowest value, assuming worst-case adversarial behavior. + +### Question 1 + +**Q: In the initial state of the `minimaxClassic` layout, the Minimax evaluation values are a stable 9, 8, and 7 at search depths 1, 2, and 3, respectively. However, why does the evaluation value suddenly plummet to a dismal -492 at depth 4? What specific event is the algorithm foreseeing at depth 4 that causes this drastic drop?** + +**A:** At depth 4, the minimax algorithm can look far enough ahead to foresee that the ghost will inevitably catch Pacman. The `minimaxClassic` layout has a narrow corridor structure where Pacman cannot escape the ghost's pursuit. + +At shallower depths (1-3), the algorithm only sees immediate food collection opportunities, yielding positive scores (9, 8, 7). But at depth 4, the search tree extends deep enough to reveal that: +1. The ghost can cut off Pacman's escape routes +2. Under optimal ghost play (which minimax assumes), Pacman will be caught +3. The -492 score reflects the death penalty (-500) plus any food collected before dying + +The algorithm is essentially "seeing its own death" at depth 4 - it realizes that no matter what action Pacman takes, an optimally-playing ghost will catch it within the next few moves. + +--- + +## Part 2: Alpha-Beta Pruning (10%) + +### Implementation + +The `AlphaBetaAgent` extends minimax with alpha-beta pruning to eliminate branches that cannot affect the final decision. + +```python +def ab(s, d, agent, a, b): + if s.isWin() or s.isLose() or d == 0: + return self.evaluationFunction(s), None + + nxt = (agent + 1) % s.getNumAgents() + d2 = d - 1 if nxt == 0 else d + actions = s.getLegalActions(agent) + + if agent == 0: + best = (float('-inf'), None) + for act in actions: + v = ab(s.getNextState(agent, act), d2, nxt, a, b)[0] + if v > best[0]: + best = (v, act) + if best[0] > b: + return best + a = max(a, best[0]) + return best + else: + best = (float('inf'), None) + for act in actions: + v = ab(s.getNextState(agent, act), d2, nxt, a, b)[0] + if v < best[0]: + best = (v, act) + if best[0] < a: + return best + b = min(b, best[0]) + return best + +return ab(gameState, self.depth, 0, float('-inf'), float('inf'))[1] +``` + +The algorithm maintains alpha (MAX's best guarantee) and beta (MIN's best guarantee). When MAX finds a value exceeding beta, or MIN finds a value below alpha, the remaining branches are pruned. + +### Question 2 + +**Q: Explain the differences between Alpha-Beta pruning and standard Minimax when performing a depth 3 search, and discuss why these differences occur.** + +Running both agents on `minimaxClassic` with depth 3 for 100 games: +- MinimaxAgent: Win Rate ~20%, Average Score ~-293 +- AlphaBetaAgent: Win Rate ~40%, Average Score ~-92 + +**Key Differences:** + +1. **Same Optimal Decision**: Both algorithms produce the same final action at the root because alpha-beta pruning never eliminates branches that could affect the optimal decision. + +2. **Fewer Node Evaluations**: Alpha-beta significantly reduces the number of game states explored by pruning branches that cannot influence the result. When a MAX node finds a value exceeding beta (MIN's best alternative), or when a MIN node finds a value below alpha (MAX's best alternative), the remaining branches are pruned. + +3. **Performance Advantage**: The reduced search space allows alpha-beta to run faster, which matters for real-time games. In the best case (perfect move ordering), alpha-beta can effectively double the search depth for the same computation time. + +4. **Why the Difference Occurs**: Alpha-beta pruning works because: + - A MAX player won't choose a path if MIN already has a better option elsewhere + - A MIN player won't choose a path if MAX already has a better option elsewhere + - These "useless" branches can be safely ignored without affecting the final decision + +--- + +## Part 3: Expectimax Search (10%) + +### Implementation + +The `ExpectimaxAgent` models ghosts as choosing uniformly at random rather than optimally. + +```python +def expmax(s, d, agent): + if s.isWin() or s.isLose() or d == 0: + return self.evaluationFunction(s), None + + nxt = (agent + 1) % s.getNumAgents() + d2 = d - 1 if nxt == 0 else d + actions = s.getLegalActions(agent) + + if agent == 0: + best = (float('-inf'), None) + for a in actions: + v = expmax(s.getNextState(agent, a), d2, nxt)[0] + if v > best[0]: + best = (v, a) + return best + else: + vals = [expmax(s.getNextState(agent, a), d2, nxt)[0] for a in actions] + return sum(vals) / len(vals), None + +return expmax(gameState, self.depth, 0)[1] +``` + +Pacman maximizes as usual, but ghosts are modeled as chance nodes that average over all actions uniformly. + +### Question 3 + +**Q: Why does the `ExpectimaxAgent` achieve an approximate 50% win rate on the `trappedClassic` layout, while the `AlphaBetaAgent` consistently loses 100% of the time under the exact same conditions?** + +Running on `trappedClassic` with depth 3: +- AlphaBetaAgent: Win Rate 0/10 (0%) +- ExpectimaxAgent: Win Rate 2/10 (20%) + +**Explanation:** + +The `trappedClassic` layout places Pacman in a position where it appears trapped - there's seemingly no escape from the ghost. + +**AlphaBetaAgent (0% win rate):** +- Assumes ghosts play optimally (worst-case) +- From the starting position, optimal ghost play leads to certain death +- Since all paths look equally fatal under optimal ghost play, Pacman gives up and makes poor choices +- The agent essentially "knows it's doomed" and doesn't try to exploit suboptimal ghost behavior + +**ExpectimaxAgent (~20-50% win rate):** +- Models ghosts as random, not optimal +- Recognizes there's a *chance* the ghost will make a mistake +- Pacman takes calculated risks, hoping the ghost chooses poorly +- If the ghost randomly moves away from the optimal pursuit path, Pacman can escape +- The actual ghost behavior has randomness, so expectimax's model is more accurate + +**Key Insight:** When opponents are suboptimal (random), minimax/alpha-beta is overly pessimistic. Expectimax matches the opponent model to reality - if ghosts act randomly, modeling them as random produces better decisions. + +--- + +## Part 4: Evaluation Function (10%) + +### Implementation + +The `betterEvaluationFunction` evaluates game states using multiple weighted features. + +```python +def betterEvaluationFunction(currentGameState): + pos = currentGameState.getPacmanPosition() + foodList = currentGameState.getFood().asList() + ghosts = currentGameState.getGhostStates() + + score = currentGameState.getScore() + score -= 10 * len(foodList) + score -= 20 * len(currentGameState.getCapsules()) + + if foodList: + score += 1.0 / min(manhattanDistance(pos, f) for f in foodList) + + for g in ghosts: + d = manhattanDistance(pos, g.getPosition()) + if g.scaredTimer > 0: + score += 200 / (d + 1) + else: + score -= 10000 / (10 ** d) + + return score +``` + +### Question 4 + +**Q: What specific factors are incorporated into your custom Evaluation Function, why are they fundamentally important for guiding the agent, and how do they collectively contribute to a win rate of more than half the time?** + +Test results on `smallClassic`: +- Without better evaluation: Win Rate 3/10, Average Score 142.2 +- With better evaluation: Win Rate 9/10, Average Score 1430.3 + +**Factors Incorporated:** + +1. **Game Score** (`score`) + - Foundation of the evaluation + - Directly reflects food eaten (+10 per food), ghost deaths (+200), and Pacman deaths (-500) + - Importance: Aligns with the actual game objective + +2. **Food Distance** (`foodDistScore = 1.0 / (minFoodDist + 1)`) + - Reciprocal of distance to nearest food + - Importance: Encourages Pacman to move toward food when not in immediate danger + - Using reciprocal (not linear) creates stronger pull when close to food + +3. **Food Remaining** (`foodPenalty = -10 * len(foodList)`) + - Penalty for each uneaten food pellet + - Importance: Motivates Pacman to clear food rather than just approach it + - Larger weight than food distance ensures eating is prioritized + +4. **Ghost Avoidance** (`ghostScore -= 10000 / (10 ** dist)`) + - Exponential decay: -10000 at dist=0, -1000 at dist=1, -100 at dist=2, -10 at dist=3 + - Importance: Survival is critical - even a good food position is worthless if Pacman dies + - Exponential decay rapidly diminishes at safe distances, allowing focus on food + +5. **Scared Ghost Hunting** (`200 / (dist + 1)`) + - Bonus for being close to scared ghosts + - Importance: Eating scared ghosts gives +200 points - a significant score boost + +6. **Capsule Consideration** (`-20 * len(capsules)`) + - Slight penalty for uneaten capsules + - Importance: Encourages eating capsules for ghost-hunting opportunities + +**Why This Achieves >50% Win Rate:** + +The evaluation function creates a hierarchy of priorities: +1. **Survive** (ghost avoidance has highest weight) +2. **Hunt scared ghosts** (high reward when safe) +3. **Eat food** (food remaining penalty + distance bonus) +4. **Collect capsules** (strategic advantage) + +This hierarchy matches optimal Pac-Man play: stay alive, capitalize on power-ups, and steadily clear the board. The reciprocal distance functions create smooth gradients that guide the search toward good positions, while the strong ghost penalties prevent reckless behavior. + +--- + +## Question 5: AI (Mis)Alignment and Reward Hacking (4%) + +**Example: LLM Sycophancy from RLHF Training** + +ChatGPT and similar models are trained using RLHF, where human raters score responses. Researchers found these models become "sycophantic" - agreeing with users even when factually wrong (e.g., responding "You make a good point..." to "2+2=5, right?"). + +**Why this is reward hacking:** + +The designers wanted accurate, helpful assistants. But humans rate agreeable responses higher than corrections, so the model learned to optimize for agreement rather than truth. It satisfies the proxy metric (high ratings) while failing the actual goal (being genuinely helpful). + +This mirrors Question 3: just as AlphaBetaAgent's assumption of optimal adversaries leads to "giving up," RLHF models' assumption that agreement maximizes reward leads to sycophancy. + +**Reference:** Sharma et al. (2023). "Towards Understanding Sycophancy in Language Models." arXiv:2310.13548

AKaLh$nlem9E$p+fuY@S%BA4 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 z zo&M>4y}4!bu`LT%zv`E*nV+)erWIAWU zcMVZlqL9Sd<5q60sU~v7$8BPg(&QRTtxJh3IirMKnwwHWKN`1aZqhvAJiow|b@efe z=q*w&xPm7OWbot z#E-nkQ!N#bcG-EmYn|n8dfypyC3o_Y*Q-vnDI87V3VB$hrlNRGYT=;-vnkRl&aOT& znYW)Dz4P|)?4x&n7R~VP>iXfbdq(i2qkmS+$m5!yB(-;=oZ9}MXO_NQ{_jH7x0%)D z=WfIpr(f99X{mVX@#f=e=iHue;~7+zYq9runZ3V~ z|Lrek`RzFEiHSu);$}^|3zL>q+)(FjoTk#L-`3&aeJS|g>b0wrm#|)1)Un*x|K~|H zyV9$N`^;G)Cat-nZGB+UmkC>xYUZxI7JqK4*sN)@msIS3cTM6pgMH*zW6z6*$0V+v zSDC!w-NNKu3#=9QDoxd6n|tZB$l6_Jj>LG%)KvZu*v>VHfr+2DZ01}q2~O+u5W(!e zr5m3++2-s%eQ9sFkki?PUn(>>YuA7O@%>hi`E|QLNrB$M6MrsWRC(6-S$Fa6NfIUo z3s2s;l)@?Pp;Pnm%UkA;4L3Uv=xIJW==E;?73Fo+{QLSUW*z1!ta;kP(%$+>StVlq z_M=}qq_^)pf9Ydr=-uS#{jX+D{rhkk|M!!npCMV`pb*sAsg(K=c2*iRbSX9+%yu_cv&uH{^$+bH@!K|i5G+f!kxTENsAr(a6gi{a?WOa} z;Ig(SlWs2Pa56iV&|SjT-szKnvGujq3}LGu5AtvL<|p4j+$6B%L0HcLmMf1^bB?iF zI90vcByoS`t_l4`I!6{qbjv<5jPiPZx%5)|uEHGA-&5v3thPC#D1JGhkLylvXa#?I zr~XT)d&>8{9)5atjeBkQO)Cc52`xNN66~fuSbwAQ{0H526ADwfwqD*Cv~$hm<(mSw zaf)2@IAXwaxS+?`@ZHg*HAlEtEY4m!b!~m_ULGb+p*bFoTx^LpTpRgzf3(~Gh%WYxGNlo{S1TCxlWeygXm-mv$|!Rnc;R?f{)%b(PLvM$QS`-OMO_LRw7OSfLKk}TS0H9bTWhw(FX$ zPQ%sB`!`=+!)m3mK}oEz;81Un&Qa$Ine&OZW{-F?E^H8WFAz~LX#F7|pQLtBrKd!F zZ^vYn2`NThJ!-8fS}Rq!PclCV404{Qyt>m(>cs3Pv7Z=!&iUhTZX)*+D^^z1iw>(U zNW5C$cWZXvg5Z}%QO@y;XTQAtC3n|!xh3r{1%K(<`mgsA(~RJnmbAnobA^e|EQPZZ zS1oD1^!Jim=H@NIR(hv5`SDGuKE?O5{8QCW-k-@or__X|U$R|Q9rS(8yXd>yt6rS_ z75!!Lm(*X&zsUVfXFF+d%iw6i{=|(B84rso_n1A-UUA&)%ER8iY8xxY`a_JL^!BN2 z4Kldv;dXKQ$;&DZT*rA{R&Mg2-rk<6b@fDnl-6Glu?egk6XO)c3k9QB`0xww{$mu` zy#1tgiRxU()lVFXcK_+RN->+siL-j)l= zDI3-a1%FA?QROXZ*)rKA(Y$uH$|Rd0H}*-L83)UssD6@_ZGZU1an01_ulOeEcg*d% zFm<8KgnsYsUcnjSzpmNmblg9n=5eF<_7Z->Mw`aU8@_LMOg(py`;zq&7PE=fPge#> z&RZNBqQ-w|=@(NI59d^2qm7=oTFOtdy%bJ5E?p!#(|2BqrLOCaCF`fgPk&W%vM7Ap z;;$N!{@*sO{bCbzgD*4Yb;zcuz5^C_y7LYBHzyo&OFEt6BSP`QFpr_ab|%eTc|vbMAd`PWAmTfeBo+0-8{i=+b*MHyDnYM z^OUv8c+fEApXXnp-`_l6ye+x$xcciGLGjyn#gap(=3R_ktfYL%a(_AJrWwr4fByRH zvvX^XQ}>>7U}ExV-LS1Yl6?C%^UA(@vTLo&)kj`dCL-BcovWVSd$V}up7_pX_ujnJ z3f!vs|K#PX&tC3&=y@hfD`+mC>G5S*yEo^qY8UA%yB+d&Vor49DpT&t9TT2fEc}sv zn`=$ja_7+EL#H=|_KK{wjC$9!>D8P^Im?@`%&gg*6S;JsAN#8s-^gt`lP@#so(YR{ zKXj=>AS2@30xPb?`!7#i?0Rcc@fMC~v;8c-U1v3CuIZI}d+uc4rYPJ_7H1il7#R4rIJSsUYXd*t_gT8b9;4o)tMO)Ip1gJ%#JZSxYkpZwT7oVmV0w* zc4GIeL$^bhJ9D2Z(tn-NJ84z%q2()M)~<_NmX+~c4x;LtU9if(^0Te&^&rhpVj82y0c3e8{-b1-@iDZ>ad#1!*fgb z7@A-5{2_WX?`q7^SyrA`4UXkr&UnMXx0E@+Hq&9s)agu*N}gm+cHdpREYmLX=+$SA zd**(>Ua~Q5c2q5=l;$?m`TKS*J#u?dziB*^_|Hc>HXbku`qaJV=G&+mn|Sdy9pCfm z6V$%^^E=MO@4Id4>`;E+bAhHkMcGT1Bm_9^xSY84)9zh|9v^a9et4CxG^I=zc*<#<3mJ^^MOi=vk&Vn+W~dZ!mq^ z&Cj25D;IO$&GIYVXuiENIsekFH_UlA_Ds5_dRo^taJ|c7mBgz}o7Cve(?R}JN{*z2`1Fb!lRC|==B&C<&O7tS0_O_^{x(0yWLy7FoF>pM?;`r}l-STbOGf9dsLr_Ei)+^=>`e!BQ> zuhs*hwO`z{uZOHt?0?c*cs+Qrfvf4R2Gv7a-E0f}KM8bfGh6N^&Y@PB5j{I{i>Qc* zMdPlGwf7dSZ#v*=eue+d^G_Fed7n*iiMuYnyIlTz z^z{kBN57Wxb~fMo@?&3a)%P1mj!LHO;$ul?WxG`BvEcOtzw3#HvFwt1yVfbH>{>h9 z-{AeWZHh)(h6U2G-A7Aw&t2O3Na*^mn%XAeX17=FQZH`yh!ktuFF2F-PQCa8)?=p4w8spu_KgUKD9;5O>$Ai ziB-B@et+Clt?xOX5IefmX3dx4u63PzUW+YVZ{+{-?B7?S?zao}-deX-ef>5K+bJ`> zdL&fcC7-{4{C;v!@s)th2Lpn$SM0nWFgbCBWX=jtvnyZBuY57Qq9T#?rfpV)v+owg z8xkod(#$<|Zt;sRt}s94mepc7qyEIU&;G9uRvEAVV&ooqBJI?~`n7&P%5&Vh5-;rX zs5H^HpZp~Awz^{eqE&yVA3(A3e()ewI0vax`zI^!7F>_ku&YS;P zy7p$|>pzrD*?o7Oc~+vb$fG<1jqMU|zU}$b+PmUm7H|0B#aowu{&e@&>Wi#VO5zbE zj`O~y?6W#}*CS4S{nHflN%o&t9k{DudE&KYa>ec^C-gKDnX~`MEv=eu+m2oeYVBV1B;|Uf=tCzBk%x-}v|@^G$IgkHe$PCns(Yf! zrFVxH9=Q8r{l7<#&%1B>zba@}=Jw}4kF!&!>^|3VrfCglZt04hHokYt|95Qp8W_DX z-imedUWdzKzq{v7bu{D1w~t=-?7gX_ z@f^uJD$X;Qewba#=GtGs!8A+z<^$82xie=Soz}^BJu=d={@(8ZUQ%-%{@HV%1@8{23LhfmJn#<&G`T3(l zcC*@!?L8$ECUSXh3=b2#q5Y<;+SN7nI8WFov+AX>HH)~|4GyN{REK}l7vH-t_RG9F zyFaF`>LSj+y0E_>-_apG&!MVcL1{-2o4j9YIO5L*D zX#M2co8I+ppWXKhd$r$*+VgR(px|6N>l4!U+qCOLZ*r=tEQx)RJ^R0bOQ^N_wi|9$ zuK9oNnMFT8(wFo9r1KKH@;PBkYK1}W-IY~^W#UEAjAIdpP89+g?E>~FS{sR@8swA{K&iO z>tnwhn?Gmzb&%txdEeWu;i$Cdg-U0DlfXLb+*^IxZpZ4E9*%mzEPw4#{lz0u2~C|_ z5AfHmVg2_ZU6(^ZqJ!ZYlku4~tYR~6p66(4jdd4i+4!2nO}tE2k;z%`%sNG$g>R$| zvAQYr#5$`Sx@qd7*c9s=-gvPiDf}XD?9EV(jrlUp3r=1-2&@1 zZ@7{K59=xOnUzV}UYHx}=HIwi;B=jn&7&Ls8y2ho=HzSi`;s*Mg7n8XLP81Y(=V{| zm2uWSOqo8Re4#?{KYU9n(eu|yY7 z8Q*rL=D9}=QZ{Wq;Vfp|eS5;;b4eCOHzRulEQFkIMD`pCC=**;sBPVB$n@E;$23{z zQ-txchi2D$K1!VPdtBC&u>9dMk1{D%iKBjt10Kjqob^j)`gAi>BvHq@*P8WSYvCJ} zu0m_;PN5w)J$*zhI9cDYs4bo_*Fp1Lg1P~#@C{BM(TFysGN#J~>eh`fHPX}#oFDj1 z*&sZlwet;2TC&h@#$uLf$wt5BiUUvWJ8t8Xcz>}|g6gRo-)Hn^zNywZ!1K-aomfQc z%s19LM|8f)iY1!;=KIdEN4)q(`40Z4Z=&z??|c)jbIj&ii|UF5--s@+Yc1>s^GzQ* z>LmF7n0uhT!2CDces|H|Y^OI&sBM1AB!A5IjdaN4xNoLm5A42~hH=%feBZqOqlVb# z^&cdrZCD?m{Grh1z`jGm6%%BSPp;^YJuc5;*Lr{R;|i(MHwtZ9vhpE1GH>ODiVH z9<6HJ`h(fJYx+kM>n`4kHrb=vOz}rIztJ#zWLd_tK2g-V$)3AL_WWk$3TFKc$`?Mk zm$8&Gz5b~5n};{zu-##`JxA;gr>#kypV)oCd}CiN8~?S$^E-yj@)L-Ea_*>4oe4j<-A;+MMVSff**zim_VjrQ#~ z7~dSf{f2>$!=|JBMxD$dvu*P86RdCd`?Ja&tIn~vJN!FG-tKt(4LcdZ3K97YwLh5Z zlYf6u{dex$qZtPt|CsRhX!wnT-yUVZNvZzWdqC|?QuRmOvd#S;Wxs8({UIm6+4hIy z1I{<8)dfPoZ{*E6#JEj*Ijh-Yh1)0jkF7$g)S#zrFF_T^L?vKiL>AMR8 zAE?SC?*1U$w`uN<9{n49F$bsTu&;Y0al0|w;#}DSt9?n1PR0|d>*3JKo{hrUzn6Y<$!Z#I_4c#yF z4J2!CxGq_szgxrN@1y^M%lVVUCn!!R{`K>J)8+Hre)jqnfA>82QrvX;Jg1+%y2al+ z>z{owZn}J)!_QvXVsB(Y)#e9Z(hj~n+jMz0>vD5$zx;pfe)g&sf2Tb765MpzpVQA? z)8g-v2VW*PUH0cf=9FyN*bna-6~?_ltI{o^mL|CyHm z_baeEzMN&Vz3z;^=6?TsFaHnqyRT_cyZphIxlNbLxsW;k_#b^){Xf^@@1h4^x|=T7 z|EWLpa(~_Yf6~kUAA9+K|J%#_UA4a)H~QOae0#}$#O`myjpgzJzrQf=ubRKl|IOv^ zowdL0Hu~THUcc4Tr@0pUCSCUy$2^J2nEG|jS^~_7lSFo|s4@ynXEG{XkRM2ot$xlkvVis7$H`&L#DLRmV_g1 z8o@iMZEA`T>d8c*D6iZfX5w zWu~*+f)`(O6P|u~an}Ei^+%OOBIjSvopRZta;1TXwZg+5L$!wMrLo*iVgF}~uU`H7 z>UN&aIz5(xV|rUpyqa|Nt7f%%miMb)wu|mCFdZ8A}E#>z{@~Dag$U6UKIioM473^kz|OTr3R%{^jT_< zBajkwMNw)Rmw|$ji2;`Z94MHXni`ubq$$9~3{4flvI=<+F;jB`OA`ZBF#`hwLjyBZ zF*8GBBTExBF%uIDb0c&y3v&}RF_3vC#;EEH3=B*yEilBu8+bqtgt^ba%)lI7uc^7A zks-PrW+vu_Xy%!k8=9D6s58Y-XJ~9;ZfK6`7E^OW3^79!Lle+;5@h!oSy~txqWR6# z+|bej&0b>z10z#3JB&@uEG^N(-o(hO8epn3wL}*) zw=}ZENC!sd=IHTjYG!JQ<`xqRV zjEqgu++u2OY=rJNQ!`6LBeXCzHM2AZ?Q}pf&)nF+0xb+o&5cdazlHjIcK|HOCY)!;DKab3+WjnHyr}1v5({j4(B`FvZYo zW{#=X+z?Z*xd9fvmRR%}p_iwo=H@1t{>739&CN~F>mE~cb5r!X$JE^195elyo1xbq zrsn2mm}%VH0yABiW64M6mgr@tskw!L2}YP&7-H7H7KWJVz`_``g9|nPT42d<7N#Z` z>A=Dmvy8AXF~_JYEX*+D%>qmLVqtEEUdEbRSQum2YiW#87MoidV3h6V78rG-skwzE zW`46Y!c0S!hUoQ?sktSV^2*Z00K?6eCgvFF+0qQN4z)DJbhD)yX4GC(g&EDVgy(fw;-V2n{7SQwaK)^7%;7NPe;ugffqu(XkkOfbXL$Q&aN zS{PwTFGdy^?F|bf3(WLqWNC&GAI655@oQ{=(H6BZHo_=REsRaDh*@IVYiw$OUME`^ zW7fYG#^zYeGs9@dS{PfHV1%i$B}UuP!o&d6EhdH-Z9)qZ@DK%R9yBq=C{IBrH(=On zVq%Js&rM7*+M*UFrj{6a%fuWr{h63!v_&mUEI?-)pt{f07^8h^VPc7y4onR&^J=N9JXhK8tpL{kfM6O6u)g}EtaSXmfi#+$hXW*C4f5Og~%j4}0E zn4|Y=O)V@;G1H5M8K!?NEHUdcOGAu4r-h{vrr#{Fl*N|DrWoahB}PBl6f~rWQT|z4 znxn^&rGcRVrWj^jYiVF=ffgTThK82t?F}o(a(!M>l$e>5TEt~zqaU1El?ooy(hthdFHrywc_;*N>4Qg2LFZe5M!QKSXLBFf&KGj_pX=mj zX6qgwT6e8*=B7taxqsR}nX>F(6w_N9`E?Fqkm!|sA zcQ%uxN}}dhCUNTzcU-zO-mTB@%zlt_>XX>Uk0)naJTLLd_*HV*EcEt^R?+u=wr%-h z?|S>fyRe1pB`1^#7OxWb{7``S`r?y2*Nn6Ab|!(&daZ2_l5IDrxN$B z(_A0X>Eqa;8f=Lhif?F=%Y(KsFb!16laiwT% z+}_H+50BquG*rphnsD90EW+2T$e{YrG}&t9(>m;p?~(-$_JwOW$uGZf@r8tG6tC7@ zPS&+6A2QX7m)1^fZs-4bp`mh-sO-`WZkC6hXT16L?pc1g_~wi`iWBx69-LP1HvsKcZB3UCo!#%>u^X?0%8!aikz}Gu#*Ii}BllRV- zUTb({lC_B6`{HA#y?Q=H`q2XK{bqJVwcjwD_|bdQ$FPaKh2P)1TqNGa^dm>sZB<>q_F)eD7-?P?csN_2mk@HeHqr%dbNu_M-N z`95CoY>c1O8||VK+#%lYSy73K?iGOR$ zOagy<>PuE_TG7gPF?aPc{Y;nZJsC_2mY=lxw<~F`Fsfkvs&B6IV^V?Lv83tj0c*9E z9of$zo*JlqF#Fb)QqL=DI@32MwAE}m^QtLFp=^ER?ByzXvrT1gcHUSO6L!Gr!jEM! zZnwYhogaTccK`0WYQ5qaPv+%pvQdAdyw+UF@yOF{?YCCBBvtbAZBEqL44k=Q zH{=+$#f01xT(z0SqC?tP#o%%BoqcK2T))_jMgNLvf7ZRgWEJ7?gnwzOqyCq;3kAHt zYkm9NR=mx*IqlGjv}li9;Y$bX_oq+xda-Cx(ZQMU3p97``ReN>c){}EM8ET9 zvP;}}=JyKP-}=N5zD>*1v71$5<;~;!w?9z7w9eD)T8hVGSJ~$}eoH4UU+|}BDT|e; z*-F-HBBC8Kzy5AmGTX!H2Y;8s8lEe9I=A#UFPUk7r@t^*!d3H6j}q%GQw;`*$?bUx zIR&RSdf%2#@S58gy)+>2aoSqVI}QC#B1@O9pWh&mt?%$Y!m23jxPo>^?B`34wrY#R zZPsj4{?xUD|Bs;Fq03VL6xwdryIh{lUoIZrs2uP`%`s24Z3-s#JVOW6BaziwL7 zRP#w8$-#AU&P>O|zS}O{OFdZGc3e2K;=Cra5~IZ*@zY-N=Ow$(Ha@N4tti@cdS8tA z#q0bg4=3E%=&ue~~YWrp1}pNyr+lRtl$ z?m0W-RZ)l7J*IhS+Fc$|za0d&?4P{9#OQIxve&0RPgGX$$jLm`6hm-jY&9qO4DN1I(zVvSC6gKvdRRTg==Znpi;!qN^ zoP0ZS-vryOsm}A7du|BJt}697@<*5PhfSA(l-tF>H&Q%ym+S4nH#=mJXoKeQ3!>-F zgdaBkX)M|LBU$7`l<#$=buIme7nOf8?5vbB2~~1?EOWUufj_B_?LZn|Q@@*3N#x9G zS(kfz7oA!YQDAv;!_A;xgS0TwWcIZlKJ%u|U3dO>gjD(N@4@+L%gYb8@iF~3U*9o* z5!Z~?eIMq``J1=qM4~{h&qw9*Oqpo`&hgvc+)BHD=X>SuV}*-WD`~V$E8XLCcFo3L zO}ES%89J{T`t1{Q=@aINUcmA+ZL7(}!@mNySl*GB^N!tLS8u9T9KXf;iO!Dq8)Z+) z&Hg2nd!4hqV|sHbPqBkl$md06BFuR@=e@PkZ64fw5wpf`p+&&{tu9O7HwWo!E}1;# z_q8ocH@tW8yZGSN>4ye48e-0WUHp69v+q@1!N+z!+g~j=?ZOl#OEge%A#W}3vc;N)GdnoW4QHgVA%VJ zPs=$SM44TI&A z=vhgP9cj(JQ>MiwB(WdWHs{HI_q1h;>fem-|4xTC3(u|EbYrLN?Y&=a)yJDf6n?p) zx7@F}^hBqY<&GCC6R$Ic>=xs35|3$mmfFA0dD*GdT>+X=1*Vw{Qu8x5Tn){BZK@CRJw-1*NmXd>`6oBGT=-giVNv55 zi&;CGRSy`Ref-C#L^m|n%FJ5q-@vTg(`OA*nV+@;`&-Phl z9w_-ZS(mp@z~{PrWAD)kJA-8A=@`y(PG`9&8qnEzgJb!JznzSAWyhKIYTds%zT0;G zZF|{=8mH-t>}N!F|7g^Umb@l#d`C8Ot#I(6JD!J`6Mk4K&OTSWevWZs(WxJYKZu1I zJSp7hk$m<1oZEda4=x}7<@~o}NwxUT0|j>{bvCP)S17Xie6U})J?Ts9dcKE$wDitu zJ0D*0Z^O!0=L3D~ra%A7@%_uP<1Zg1uyv@DD*AkbtTvT7Z0EP()SD2RXc9X z_tWcwuS>)Q;a^v-Y@B&3IXwPSOHp52tE23FwgZdgcqYu|lCfV`{7w4a-ynmSlBEwm zR4vGHy8JVgwO?Yde?j(g!(Q)|3vKUl z^=M>u?pD7M@Tb~uF?ZOuKW5%l>(&1j6#q?>y1Q@p3$tvl#dErE&eYjD=E-v|ik3_hEfJdc_v+ph;q~(-l|NdudRJQM{`cbR z7h8QX5zw*P@*3f#irbp>+Y6hpjmHwthD=ohN3lo00 z@6EpA?fUYGk2}j_V)pT9U$Drx(&GMpY@T7X^rX3b{ITjQFXZw#J>-UUpl_qz3bwFxmOz#)~9RvaUA+? z!E-a}!`@W~dwS<>eWUld{g}rO!=1+-T(L}NxRIvFYdfd+OYrV5J15Bwtek^ir*F!;y;|j|xo6e-=vTa7 z>VEsqQZGGw@6M-1mVdrUvz@8&;$U^P*>u)~ldB4ArJni|Lw#_Cdi|vwc$}G>3 zh)*|7Qc`0!2>TeF@#w1OMAOJg@g|;!7tebBS#b5o;+hj|I@+&P{bx%xCKO+N&~+vM z%_>%_xoHe}R#O``B^|py`ESG|2KhGWcTNHT8O0#|8_|_jc&=&?$@kI3=Cm z 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 literal 0 HcmV?d00001 diff --git a/HW2_pacman/.python-version b/HW2_pacman/.python-version new file mode 100644 index 0000000..eae0123 --- /dev/null +++ b/HW2_pacman/.python-version @@ -0,0 +1 @@ +3.10.19 diff --git a/HW2_pacman/VERSION b/HW2_pacman/VERSION new file mode 100644 index 0000000..259e855 --- /dev/null +++ b/HW2_pacman/VERSION @@ -0,0 +1 @@ +v1.004 diff --git a/HW2_pacman/autograder.py b/HW2_pacman/autograder.py new file mode 100644 index 0000000..e65d1a4 --- /dev/null +++ b/HW2_pacman/autograder.py @@ -0,0 +1,306 @@ +import grading +import imp +import optparse +import os +import pprint +import re +import sys +import projectParams +import random +random.seed(0) +try: + from pacman import GameState +except: + pass + +# register arguments and set default values +def readCommand(argv): + parser = optparse.OptionParser( + description='Run public tests on student code') + parser.set_defaults(generateSolutions=False, edxOutput=False, gsOutput=False, + muteOutput=False, printTestCase=False, noGraphics=False) + parser.add_option('--test-directory', + dest='testRoot', + default='test_cases', + help='Root test directory which contains subdirectories corresponding to each question') + parser.add_option('--student-code', + dest='studentCode', + default=projectParams.STUDENT_CODE_DEFAULT, + help='comma separated list of student code files') + parser.add_option('--code-directory', + dest='codeRoot', + default="", + help='Root directory containing the student and testClass code') + parser.add_option('--test-case-code', + dest='testCaseCode', + default=projectParams.PROJECT_TEST_CLASSES, + help='class containing testClass classes for this project') + parser.add_option('--generate-solutions', + dest='generateSolutions', + action='store_true', + help='Write solutions generated to .solution file') + parser.add_option('--edx-output', + dest='edxOutput', + action='store_true', + help='Generate edX output files') + parser.add_option('--gradescope-output', + dest='gsOutput', + action='store_true', + help='Generate GradeScope output files') + parser.add_option('--mute', + dest='muteOutput', + action='store_true', + help='Mute output from executing tests') + parser.add_option('--print-tests', '-p', + dest='printTestCase', + action='store_true', + help='Print each test case before running them.') + parser.add_option('--test', '-t', + dest='runTest', + default=None, + help='Run one particular test. Relative to test root.') + parser.add_option('--question', '-q', + dest='gradeQuestion', + default=None, + help='Grade one particular question.') + parser.add_option('--no-graphics', + dest='noGraphics', + action='store_true', + help='No graphics display for pacman games.') + (options, args) = parser.parse_args(argv) + return options + + +# confirm we should author solution files +def confirmGenerate(): + print('WARNING: this action will overwrite any solution files.') + print('Are you sure you want to proceed? (yes/no)') + while True: + ans = sys.stdin.readline().strip() + if ans == 'yes': + break + elif ans == 'no': + sys.exit(0) + else: + print('please answer either "yes" or "no"') + + +# TODO: Fix this so that it tracebacks work correctly +# Looking at source of the traceback module, presuming it works +# the same as the intepreters, it uses co_filename. This is, +# however, a readonly attribute. +def setModuleName(module, filename): + functionType = type(confirmGenerate) + classType = type(optparse.Option) + + for i in dir(module): + o = getattr(module, i) + if hasattr(o, '__file__'): + continue + + if type(o) == functionType: + setattr(o, '__file__', filename) + elif type(o) == classType: + setattr(o, '__file__', filename) + # TODO: assign member __file__'s? + # print i, type(o) + + +def loadModuleString(moduleSource): + tmp = imp.new_module(k) + exec(moduleCodeDict[k], tmp.__dict__) + setModuleName(tmp, k) + return tmp + + +def loadModuleFile(moduleName, filePath): + with open(filePath, 'r') as f: + return imp.load_module(moduleName, f, "%s.py" % moduleName, (".py", "r", imp.PY_SOURCE)) + + +def readFile(path, root=""): + "Read file from disk at specified path and return as string" + with open(os.path.join(root, path), 'r') as handle: + return handle.read() + +def splitStrings(d): + d2 = dict(d) + for k in d: + if k[0:2] == "__": + del d2[k] + continue + if d2[k].find("\n") >= 0: + d2[k] = d2[k].split("\n") + return d2 + + +def printTest(testDict, solutionDict): + pp = pprint.PrettyPrinter(indent=4) + print("Test case:") + for line in testDict["__raw_lines__"]: + print(" |", line) + print("Solution:") + for line in solutionDict["__raw_lines__"]: + print(" |", line) + + +def runTest(testName, moduleDict, printTestCase=False, display=None): + import testParser + import testClasses + for module in moduleDict: + setattr(sys.modules[__name__], module, moduleDict[module]) + + testDict = testParser.TestParser(testName + ".test").parse() + solutionDict = testParser.TestParser(testName + ".solution").parse() + test_out_file = os.path.join('%s.test_output' % testName) + testDict['test_out_file'] = test_out_file + testClass = getattr(projectTestClasses, testDict['class']) + + questionClass = getattr(testClasses, 'Question') + question = questionClass({'max_points': 0}, display) + testCase = testClass(question, testDict) + + if printTestCase: + printTest(testDict, solutionDict) + + # This is a fragile hack to create a stub grades object + grades = grading.Grades(projectParams.PROJECT_NAME, [(None, 0)]) + testCase.execute(grades, moduleDict, solutionDict) + + +# returns all the tests you need to run in order to run question +def getDepends(testParser, testRoot, question): + allDeps = [question] + questionDict = testParser.TestParser( + os.path.join(testRoot, question, 'CONFIG')).parse() + if 'depends' in questionDict: + depends = questionDict['depends'].split() + for d in depends: + # run dependencies first + allDeps = getDepends(testParser, testRoot, d) + allDeps + return allDeps + +# get list of questions to grade +def getTestSubdirs(testParser, testRoot, questionToGrade): + problemDict = testParser.TestParser( + os.path.join(testRoot, 'CONFIG')).parse() + if questionToGrade != None: + questions = getDepends(testParser, testRoot, questionToGrade) + if len(questions) > 1: + print('Note: due to dependencies, the following tests will be run: %s' % + ' '.join(questions)) + return questions + if 'order' in problemDict: + return problemDict['order'].split() + return sorted(os.listdir(testRoot)) + + +# evaluate student code +def evaluate(generateSolutions, testRoot, moduleDict, + edxOutput=False, muteOutput=False, gsOutput=False, + printTestCase=False, questionToGrade=None, display=None): + # imports of testbench code. note that the testClasses import must follow + # the import of student code due to dependencies + import testParser + import testClasses + for module in moduleDict: + setattr(sys.modules[__name__], module, moduleDict[module]) + + questions = [] + questionDicts = {} + test_subdirs = getTestSubdirs(testParser, testRoot, questionToGrade) + for q in test_subdirs: + subdir_path = os.path.join(testRoot, q) + if not os.path.isdir(subdir_path) or q[0] == '.': + continue + + # create a question object + questionDict = testParser.TestParser( + os.path.join(subdir_path, 'CONFIG')).parse() + questionClass = getattr(testClasses, questionDict['class']) + question = questionClass(questionDict, display) + questionDicts[q] = questionDict + + # load test cases into question + tests = [t for t in os.listdir( + subdir_path) if re.match('[^#~.].*\.test\Z', t)] + tests = [re.match('(.*)\.test\Z', t).group(1) for t in tests] + for t in sorted(tests): + test_file = os.path.join(subdir_path, '%s.test' % t) + solution_file = os.path.join(subdir_path, '%s.solution' % t) + test_out_file = os.path.join(subdir_path, '%s.test_output' % t) + testDict = testParser.TestParser(test_file).parse() + if testDict.get("disabled", "false").lower() == "true": + continue + testDict['test_out_file'] = test_out_file + testClass = getattr(projectTestClasses, testDict['class']) + testCase = testClass(question, testDict) + + def makefun(testCase, solution_file): + if generateSolutions: + # write solution file to disk + return lambda grades: testCase.writeSolution(moduleDict, solution_file) + else: + # read in solution dictionary and pass as an argument + testDict = testParser.TestParser(test_file).parse() + solutionDict = testParser.TestParser(solution_file).parse() + if printTestCase: + return lambda grades: printTest(testDict, solutionDict) or testCase.execute(grades, moduleDict, solutionDict) + else: + return lambda grades: testCase.execute(grades, moduleDict, solutionDict) + question.addTestCase(testCase, makefun(testCase, solution_file)) + + # Note extra function is necessary for scoping reasons + def makefun(question): + return lambda grades: question.execute(grades) + setattr(sys.modules[__name__], q, makefun(question)) + questions.append((q, question.getMaxPoints())) + + grades = grading.Grades(projectParams.PROJECT_NAME, questions, + gsOutput=gsOutput, edxOutput=edxOutput, muteOutput=muteOutput) + if questionToGrade == None: + for q in questionDicts: + for prereq in questionDicts[q].get('depends', '').split(): + grades.addPrereq(q, prereq) + + grades.grade(sys.modules[__name__], bonusPic=projectParams.BONUS_PIC) + return grades.points + + +def getDisplay(graphicsByDefault, options=None): + graphics = graphicsByDefault + if options is not None and options.noGraphics: + graphics = False + if graphics: + try: + import graphicsDisplay + return graphicsDisplay.PacmanGraphics(1, frameTime=.05) + except ImportError: + pass + import textDisplay + return textDisplay.NullGraphics() + + +if __name__ == '__main__': + options = readCommand(sys.argv) + if options.generateSolutions: + confirmGenerate() + codePaths = options.studentCode.split(',') + + moduleDict = {} + for cp in codePaths: + moduleName = re.match('.*?([^/]*)\.py', cp).group(1) + moduleDict[moduleName] = loadModuleFile( + moduleName, os.path.join(options.codeRoot, cp)) + moduleName = re.match('.*?([^/]*)\.py', options.testCaseCode).group(1) + moduleDict['projectTestClasses'] = loadModuleFile( + moduleName, os.path.join(options.codeRoot, options.testCaseCode)) + + if options.runTest != None: + runTest(options.runTest, moduleDict, printTestCase=options.printTestCase, + display=getDisplay(True, options)) + else: + evaluate(options.generateSolutions, options.testRoot, moduleDict, + gsOutput=options.gsOutput, + edxOutput=options.edxOutput, muteOutput=options.muteOutput, printTestCase=options.printTestCase, + questionToGrade=options.gradeQuestion, display=getDisplay(options.gradeQuestion != None, options)) diff --git a/HW2_pacman/game.py b/HW2_pacman/game.py new file mode 100644 index 0000000..4ec3649 --- /dev/null +++ b/HW2_pacman/game.py @@ -0,0 +1,751 @@ +from util import * +import time +import os +import traceback +import sys + +class Agent: + """ + An agent must define a getAction method, but may also define the + following methods which will be called if they exist: + + def registerInitialState(self, state): # inspects the starting state + """ + + def __init__(self, index=0): + self.index = index + + def getAction(self, state): + """ + The Agent will receive a GameState (from either {pacman, capture, sonar}.py) and + must return an action from Directions.{North, South, East, West, Stop} + """ + raiseNotDefined() + + +class Directions: + NORTH = 'North' + SOUTH = 'South' + EAST = 'East' + WEST = 'West' + STOP = 'Stop' + + LEFT = {NORTH: WEST, + SOUTH: EAST, + EAST: NORTH, + WEST: SOUTH, + STOP: STOP} + + RIGHT = dict([(y, x) for x, y in list(LEFT.items())]) + + REVERSE = {NORTH: SOUTH, + SOUTH: NORTH, + EAST: WEST, + WEST: EAST, + STOP: STOP} + + +class Configuration: + """ + A Configuration holds the (x,y) coordinate of a character, along with its + traveling direction. + + The convention for positions, like a graph, is that (0,0) is the lower left corner, x increases + horizontally and y increases vertically. Therefore, north is the direction of increasing y, or (0,1). + """ + + def __init__(self, pos, direction): + self.pos = pos + self.direction = direction + + def getPosition(self): + return (self.pos) + + def getDirection(self): + return self.direction + + def isInteger(self): + x, y = self.pos + return x == int(x) and y == int(y) + + def __eq__(self, other): + if other == None: + return False + return (self.pos == other.pos and self.direction == other.direction) + + def __hash__(self): + x = hash(self.pos) + y = hash(self.direction) + return hash(x + 13 * y) + + def __str__(self): + return "(x,y)="+str(self.pos)+", "+str(self.direction) + + def getNextState(self, vector): + """ + Generates a new configuration reached by translating the current + configuration by the action vector. This is a low-level call and does + not attempt to respect the legality of the movement. + + Actions are movement vectors. + """ + x, y = self.pos + dx, dy = vector + direction = Actions.vectorToDirection(vector) + if direction == Directions.STOP: + direction = self.direction # There is no stop direction + return Configuration((x + dx, y+dy), direction) + + +class AgentState: + """ + AgentStates hold the state of an agent (configuration, speed, scared, etc). + """ + + def __init__(self, startConfiguration, isPacman): + self.start = startConfiguration + self.configuration = startConfiguration + self.isPacman = isPacman + self.scaredTimer = 0 + # state below potentially used for contest only + self.numCarrying = 0 + self.numReturned = 0 + + def __str__(self): + if self.isPacman: + return "Pacman: " + str(self.configuration) + else: + return "Ghost: " + str(self.configuration) + + def __eq__(self, other): + if other == None: + return False + return self.configuration == other.configuration and self.scaredTimer == other.scaredTimer + + def __hash__(self): + return hash(hash(self.configuration) + 13 * hash(self.scaredTimer)) + + def copy(self): + state = AgentState(self.start, self.isPacman) + state.configuration = self.configuration + state.scaredTimer = self.scaredTimer + state.numCarrying = self.numCarrying + state.numReturned = self.numReturned + return state + + def getPosition(self): + if self.configuration == None: + return None + return self.configuration.getPosition() + + def getDirection(self): + return self.configuration.getDirection() + + +class Grid: + """ + A 2-dimensional array of objects backed by a list of lists. Data is accessed + via grid[x][y] where (x,y) are positions on a Pacman map with x horizontal, + y vertical and the origin (0,0) in the bottom left corner. + + The __str__ method constructs an output that is oriented like a pacman board. + """ + + def __init__(self, width, height, initialValue=False, bitRepresentation=None): + if initialValue not in [False, True]: + raise Exception('Grids can only contain booleans') + self.CELLS_PER_INT = 30 + + self.width = width + self.height = height + self.data = [[initialValue for y in range( + height)] for x in range(width)] + if bitRepresentation: + self._unpackBits(bitRepresentation) + + def __getitem__(self, i): + return self.data[i] + + def __setitem__(self, key, item): + self.data[key] = item + + def __str__(self): + out = [[str(self.data[x][y])[0] for x in range(self.width)] + for y in range(self.height)] + out.reverse() + return '\n'.join([''.join(x) for x in out]) + + def __eq__(self, other): + if other == None: + return False + return self.data == other.data + + def __hash__(self): + # return hash(str(self)) + base = 1 + h = 0 + for l in self.data: + for i in l: + if i: + h += base + base *= 2 + return hash(h) + + def copy(self): + g = Grid(self.width, self.height) + g.data = [x[:] for x in self.data] + return g + + def deepCopy(self): + return self.copy() + + def shallowCopy(self): + g = Grid(self.width, self.height) + g.data = self.data + return g + + def count(self, item=True): + return sum([x.count(item) for x in self.data]) + + def asList(self, key=True): + list = [] + for x in range(self.width): + for y in range(self.height): + if self[x][y] == key: + list.append((x, y)) + return list + + def packBits(self): + """ + Returns an efficient int list representation + + (width, height, bitPackedInts...) + """ + bits = [self.width, self.height] + currentInt = 0 + for i in range(self.height * self.width): + bit = self.CELLS_PER_INT - (i % self.CELLS_PER_INT) - 1 + x, y = self._cellIndexToPosition(i) + if self[x][y]: + currentInt += 2 ** bit + if (i + 1) % self.CELLS_PER_INT == 0: + bits.append(currentInt) + currentInt = 0 + bits.append(currentInt) + return tuple(bits) + + def _cellIndexToPosition(self, index): + x = index / self.height + y = index % self.height + return x, y + + def _unpackBits(self, bits): + """ + Fills in data from a bit-level representation + """ + cell = 0 + for packed in bits: + for bit in self._unpackInt(packed, self.CELLS_PER_INT): + if cell == self.width * self.height: + break + x, y = self._cellIndexToPosition(cell) + self[x][y] = bit + cell += 1 + + def _unpackInt(self, packed, size): + bools = [] + if packed < 0: + raise ValueError("must be a positive integer") + for i in range(size): + n = 2 ** (self.CELLS_PER_INT - i - 1) + if packed >= n: + bools.append(True) + packed -= n + else: + bools.append(False) + return bools + + +def reconstituteGrid(bitRep): + if type(bitRep) is not type((1, 2)): + return bitRep + width, height = bitRep[:2] + return Grid(width, height, bitRepresentation=bitRep[2:]) + +#################################### +# Parts you shouldn't have to read # +#################################### + + +class Actions: + """ + A collection of static methods for manipulating move actions. + """ + # Directions + _directions = {Directions.WEST: (-1, 0), + Directions.STOP: (0, 0), + Directions.EAST: (1, 0), + Directions.NORTH: (0, 1), + Directions.SOUTH: (0, -1)} + + _directionsAsList = [('West', (-1, 0)), ('Stop', (0, 0)), ('East', (1, 0)), ('North', (0, 1)), ('South', (0, -1))] + + TOLERANCE = .001 + + def reverseDirection(action): + if action == Directions.NORTH: + return Directions.SOUTH + if action == Directions.SOUTH: + return Directions.NORTH + if action == Directions.EAST: + return Directions.WEST + if action == Directions.WEST: + return Directions.EAST + return action + reverseDirection = staticmethod(reverseDirection) + + def vectorToDirection(vector): + dx, dy = vector + if dy > 0: + return Directions.NORTH + if dy < 0: + return Directions.SOUTH + if dx < 0: + return Directions.WEST + if dx > 0: + return Directions.EAST + return Directions.STOP + vectorToDirection = staticmethod(vectorToDirection) + + def directionToVector(direction, speed=1.0): + dx, dy = Actions._directions[direction] + return (dx * speed, dy * speed) + directionToVector = staticmethod(directionToVector) + + def getPossibleActions(config, walls): + possible = [] + x, y = config.pos + x_int, y_int = int(x + 0.5), int(y + 0.5) + + # In between grid points, all agents must continue straight + if (abs(x - x_int) + abs(y - y_int) > Actions.TOLERANCE): + return [config.getDirection()] + + for dir, vec in Actions._directionsAsList: + dx, dy = vec + next_y = y_int + dy + next_x = x_int + dx + if not walls[next_x][next_y]: + possible.append(dir) + + return possible + + getPossibleActions = staticmethod(getPossibleActions) + + def getLegalNeighbors(position, walls): + x, y = position + x_int, y_int = int(x + 0.5), int(y + 0.5) + neighbors = [] + for dir, vec in Actions._directionsAsList: + dx, dy = vec + next_x = x_int + dx + if next_x < 0 or next_x == walls.width: + continue + next_y = y_int + dy + if next_y < 0 or next_y == walls.height: + continue + if not walls[next_x][next_y]: + neighbors.append((next_x, next_y)) + return neighbors + getLegalNeighbors = staticmethod(getLegalNeighbors) + + def getNextState(position, action): + dx, dy = Actions.directionToVector(action) + x, y = position + return (x + dx, y + dy) + getNextState = staticmethod(getNextState) + + +class GameStateData: + + def __init__(self, prevState=None): + """ + Generates a new data packet by copying information from its predecessor. + """ + if prevState != None: + self.food = prevState.food.shallowCopy() + self.capsules = prevState.capsules[:] + self.agentStates = self.copyAgentStates(prevState.agentStates) + self.layout = prevState.layout + self._eaten = prevState._eaten + self.score = prevState.score + + self._foodEaten = None + self._foodAdded = None + self._capsuleEaten = None + self._agentMoved = None + self._lose = False + self._win = False + self.scoreChange = 0 + + def deepCopy(self): + state = GameStateData(self) + state.food = self.food.deepCopy() + state.layout = self.layout.deepCopy() + state._agentMoved = self._agentMoved + state._foodEaten = self._foodEaten + state._foodAdded = self._foodAdded + state._capsuleEaten = self._capsuleEaten + return state + + def copyAgentStates(self, agentStates): + copiedStates = [] + for agentState in agentStates: + copiedStates.append(agentState.copy()) + return copiedStates + + def __eq__(self, other): + """ + Allows two states to be compared. + """ + if other == None: + return False + # TODO Check for type of other + if not self.agentStates == other.agentStates: + return False + if not self.food == other.food: + return False + if not self.capsules == other.capsules: + return False + if not self.score == other.score: + return False + return True + + def __hash__(self): + """ + Allows states to be keys of dictionaries. + """ + for i, state in enumerate(self.agentStates): + try: + int(hash(state)) + except TypeError as e: + print(e) + # hash(state) + return int((hash(tuple(self.agentStates)) + 13*hash(self.food) + 113 * hash(tuple(self.capsules)) + 7 * hash(self.score)) % 1048575) + + def __str__(self): + width, height = self.layout.width, self.layout.height + map = Grid(width, height) + if type(self.food) == type((1, 2)): + self.food = reconstituteGrid(self.food) + for x in range(width): + for y in range(height): + food, walls = self.food, self.layout.walls + map[x][y] = self._foodWallStr(food[x][y], walls[x][y]) + + for agentState in self.agentStates: + if agentState == None: + continue + if agentState.configuration == None: + continue + x, y = [int(i) for i in nearestPoint(agentState.configuration.pos)] + agent_dir = agentState.configuration.direction + if agentState.isPacman: + map[x][y] = self._pacStr(agent_dir) + else: + map[x][y] = self._ghostStr(agent_dir) + + for x, y in self.capsules: + map[x][y] = 'o' + + return str(map) + ("\nScore: %d\n" % self.score) + + def _foodWallStr(self, hasFood, hasWall): + if hasFood: + return '.' + elif hasWall: + return '%' + else: + return ' ' + + def _pacStr(self, dir): + if dir == Directions.NORTH: + return 'v' + if dir == Directions.SOUTH: + return '^' + if dir == Directions.WEST: + return '>' + return '<' + + def _ghostStr(self, dir): + return 'G' + if dir == Directions.NORTH: + return 'M' + if dir == Directions.SOUTH: + return 'W' + if dir == Directions.WEST: + return '3' + return 'E' + + def initialize(self, layout, numGhostAgents): + """ + Creates an initial game state from a layout array (see layout.py). + """ + self.food = layout.food.copy() + #self.capsules = [] + self.capsules = layout.capsules[:] + self.layout = layout + self.score = 0 + self.scoreChange = 0 + + self.agentStates = [] + numGhosts = 0 + for isPacman, pos in layout.agentPositions: + if not isPacman: + if numGhosts == numGhostAgents: + continue # Max ghosts reached already + else: + numGhosts += 1 + self.agentStates.append(AgentState( + Configuration(pos, Directions.STOP), isPacman)) + self._eaten = [False for a in self.agentStates] + + +try: + import boinc + _BOINC_ENABLED = True +except: + _BOINC_ENABLED = False + + +class Game: + """ + The Game manages the control flow, soliciting actions from agents. + """ + + def __init__(self, agents, display, rules, startingIndex=0, muteAgents=False, catchExceptions=False): + self.agentCrashed = False + self.agents = agents + self.display = display + self.rules = rules + self.startingIndex = startingIndex + self.gameOver = False + self.muteAgents = muteAgents + self.catchExceptions = catchExceptions + self.moveHistory = [] + self.totalAgentTimes = [0 for agent in agents] + self.totalAgentTimeWarnings = [0 for agent in agents] + self.agentTimeout = False + import io + self.agentOutput = [io.StringIO() for agent in agents] + + def getProgress(self): + if self.gameOver: + return 1.0 + else: + return self.rules.getProgress(self) + + def _agentCrash(self, agentIndex, quiet=False): + "Helper method for handling agent crashes" + if not quiet: + traceback.print_exc() + self.gameOver = True + self.agentCrashed = True + self.rules.agentCrash(self, agentIndex) + + OLD_STDOUT = None + OLD_STDERR = None + + def mute(self, agentIndex): + if not self.muteAgents: + return + global OLD_STDOUT, OLD_STDERR + import io + OLD_STDOUT = sys.stdout + OLD_STDERR = sys.stderr + sys.stdout = self.agentOutput[agentIndex] + sys.stderr = self.agentOutput[agentIndex] + + def unmute(self): + if not self.muteAgents: + return + global OLD_STDOUT, OLD_STDERR + # Revert stdout/stderr to originals + sys.stdout = OLD_STDOUT + sys.stderr = OLD_STDERR + + def run(self): + """ + Main control loop for game play. + """ + self.display.initialize(self.state.data) + self.numMoves = 0 + + # self.display.initialize(self.state.makeObservation(1).data) + # inform learning agents of the game start + for i in range(len(self.agents)): + agent = self.agents[i] + if not agent: + self.mute(i) + # this is a null agent, meaning it failed to load + # the other team wins + print("Agent %d failed to load" % i, file=sys.stderr) + self.unmute() + self._agentCrash(i, quiet=True) + return + if ("registerInitialState" in dir(agent)): + self.mute(i) + if self.catchExceptions: + try: + timed_func = TimeoutFunction( + agent.registerInitialState, int(self.rules.getMaxStartupTime(i))) + try: + start_time = time.time() + timed_func(self.state.deepCopy()) + time_taken = time.time() - start_time + self.totalAgentTimes[i] += time_taken + except TimeoutFunctionException: + print("Agent %d ran out of time on startup!" % + i, file=sys.stderr) + self.unmute() + self.agentTimeout = True + self._agentCrash(i, quiet=True) + return + except Exception as data: + self._agentCrash(i, quiet=False) + self.unmute() + return + else: + agent.registerInitialState(self.state.deepCopy()) + # TODO: could this exceed the total time + self.unmute() + + agentIndex = self.startingIndex + numAgents = len(self.agents) + + while not self.gameOver: + # Fetch the next agent + agent = self.agents[agentIndex] + move_time = 0 + skip_action = False + # Generate an observation of the state + if 'observationFunction' in dir(agent): + self.mute(agentIndex) + if self.catchExceptions: + try: + timed_func = TimeoutFunction(agent.observationFunction, int( + self.rules.getMoveTimeout(agentIndex))) + try: + start_time = time.time() + observation = timed_func(self.state.deepCopy()) + except TimeoutFunctionException: + skip_action = True + move_time += time.time() - start_time + self.unmute() + except Exception as data: + self._agentCrash(agentIndex, quiet=False) + self.unmute() + return + else: + observation = agent.observationFunction( + self.state.deepCopy()) + self.unmute() + else: + observation = self.state.deepCopy() + + # Solicit an action + action = None + self.mute(agentIndex) + if self.catchExceptions: + try: + timed_func = TimeoutFunction(agent.getAction, int( + self.rules.getMoveTimeout(agentIndex)) - int(move_time)) + try: + start_time = time.time() + if skip_action: + raise TimeoutFunctionException() + action = timed_func(observation) + except TimeoutFunctionException: + print("Agent %d timed out on a single move!" % + agentIndex, file=sys.stderr) + self.agentTimeout = True + self._agentCrash(agentIndex, quiet=True) + self.unmute() + return + + move_time += time.time() - start_time + + if move_time > self.rules.getMoveWarningTime(agentIndex): + self.totalAgentTimeWarnings[agentIndex] += 1 + print("Agent %d took too long to make a move! This is warning %d" % ( + agentIndex, self.totalAgentTimeWarnings[agentIndex]), file=sys.stderr) + if self.totalAgentTimeWarnings[agentIndex] > self.rules.getMaxTimeWarnings(agentIndex): + print("Agent %d exceeded the maximum number of warnings: %d" % ( + agentIndex, self.totalAgentTimeWarnings[agentIndex]), file=sys.stderr) + self.agentTimeout = True + self._agentCrash(agentIndex, quiet=True) + self.unmute() + return + + self.totalAgentTimes[agentIndex] += move_time + # print "Agent: %d, time: %f, total: %f" % (agentIndex, move_time, self.totalAgentTimes[agentIndex]) + if self.totalAgentTimes[agentIndex] > self.rules.getMaxTotalTime(agentIndex): + print("Agent %d ran out of time! (time: %1.2f)" % ( + agentIndex, self.totalAgentTimes[agentIndex]), file=sys.stderr) + self.agentTimeout = True + self._agentCrash(agentIndex, quiet=True) + self.unmute() + return + self.unmute() + except Exception as data: + self._agentCrash(agentIndex) + self.unmute() + return + else: + action = agent.getAction(observation) + self.unmute() + + # Execute the action + self.moveHistory.append((agentIndex, action)) + if self.catchExceptions: + try: + self.state = self.state.getNextState( + agentIndex, action) + except Exception as data: + self.mute(agentIndex) + self._agentCrash(agentIndex) + self.unmute() + return + else: + self.state = self.state.getNextState(agentIndex, action) + + # Change the display + self.display.update(self.state.data) + ###idx = agentIndex - agentIndex % 2 + 1 + ###self.display.update( self.state.makeObservation(idx).data ) + + # Allow for game specific conditions (winning, losing, etc.) + self.rules.process(self.state, self) + # Track progress + if agentIndex == numAgents + 1: + self.numMoves += 1 + # Next agent + agentIndex = (agentIndex + 1) % numAgents + + if _BOINC_ENABLED: + boinc.set_fraction_done(self.getProgress()) + + # inform a learning agent of the game result + for agentIndex, agent in enumerate(self.agents): + if "final" in dir(agent): + try: + self.mute(agentIndex) + agent.final(self.state) + self.unmute() + except Exception as data: + if not self.catchExceptions: + raise + self._agentCrash(agentIndex) + self.unmute() + return + self.display.finish() diff --git a/HW2_pacman/ghostAgents.py b/HW2_pacman/ghostAgents.py new file mode 100644 index 0000000..9c3b860 --- /dev/null +++ b/HW2_pacman/ghostAgents.py @@ -0,0 +1,79 @@ +from game import Agent +from game import Actions +from game import Directions +import random +from util import manhattanDistance +import util + + +class GhostAgent(Agent): + def __init__(self, index): + self.index = index + + def getAction(self, state): + dist = self.getDistribution(state) + if len(dist) == 0: + return Directions.STOP + else: + return util.chooseFromDistribution(dist) + + def getDistribution(self, state): + "Returns a Counter encoding a distribution over actions from the provided state." + util.raiseNotDefined() + + +class RandomGhost(GhostAgent): + "A ghost that chooses a legal action uniformly at random." + + def getDistribution(self, state): + dist = util.Counter() + for a in state.getLegalActions(self.index): + dist[a] = 1.0 + dist.normalize() + return dist + + +class DirectionalGhost(GhostAgent): + "A ghost that prefers to rush Pacman, or flee when scared." + + def __init__(self, index, prob_attack=0.8, prob_scaredFlee=0.8): + self.index = index + self.prob_attack = prob_attack + self.prob_scaredFlee = prob_scaredFlee + + def getDistribution(self, state): + # Read variables from state + ghostState = state.getGhostState(self.index) + legalActions = state.getLegalActions(self.index) + pos = state.getGhostPosition(self.index) + isScared = ghostState.scaredTimer > 0 + + speed = 1 + if isScared: + speed = 0.5 + + actionVectors = [Actions.directionToVector( + a, speed) for a in legalActions] + newPositions = [(pos[0]+a[0], pos[1]+a[1]) for a in actionVectors] + pacmanPosition = state.getPacmanPosition() + + # Select best actions given the state + distancesToPacman = [manhattanDistance( + pos, pacmanPosition) for pos in newPositions] + if isScared: + bestScore = max(distancesToPacman) + bestProb = self.prob_scaredFlee + else: + bestScore = min(distancesToPacman) + bestProb = self.prob_attack + bestActions = [action for action, distance in zip( + legalActions, distancesToPacman) if distance == bestScore] + + # Construct distribution + dist = util.Counter() + for a in bestActions: + dist[a] = bestProb / len(bestActions) + for a in legalActions: + dist[a] += (1-bestProb) / len(legalActions) + dist.normalize() + return dist diff --git a/HW2_pacman/grading.py b/HW2_pacman/grading.py new file mode 100644 index 0000000..59334bb --- /dev/null +++ b/HW2_pacman/grading.py @@ -0,0 +1,307 @@ +import html +import time +import sys +import json +import traceback +import pdb +from collections import defaultdict +import util + + +class Grades: + "A data structure for project grades, along with formatting code to display them" + + def __init__(self, projectName, questionsAndMaxesList, + gsOutput=False, edxOutput=False, muteOutput=False): + """ + Defines the grading scheme for a project + projectName: project name + questionsAndMaxesDict: a list of (question name, max points per question) + """ + self.questions = [el[0] for el in questionsAndMaxesList] + self.maxes = dict(questionsAndMaxesList) + self.points = Counter() + self.messages = dict([(q, []) for q in self.questions]) + self.project = projectName + self.start = time.localtime()[1:6] + self.sane = True # Sanity checks + self.currentQuestion = None # Which question we're grading + self.edxOutput = edxOutput + self.gsOutput = gsOutput # GradeScope output + self.mute = muteOutput + self.prereqs = defaultdict(set) + + # print 'Autograder transcript for %s' % self.project + print('Starting on %d-%d at %d:%02d:%02d' % self.start) + + def addPrereq(self, question, prereq): + self.prereqs[question].add(prereq) + + def grade(self, gradingModule, exceptionMap={}, bonusPic=False): + """ + Grades each question + gradingModule: the module with all the grading functions (pass in with sys.modules[__name__]) + """ + + completedQuestions = set([]) + for q in self.questions: + print('\nQuestion %s' % q) + print('=' * (9 + len(q))) + print() + self.currentQuestion = q + + incompleted = self.prereqs[q].difference(completedQuestions) + if len(incompleted) > 0: + prereq = incompleted.pop() + print("""*** NOTE: Make sure to complete Question %s before working on Question %s, +*** because Question %s builds upon your answer for Question %s. +""" % (prereq, q, q, prereq)) + continue + + if self.mute: + util.mutePrint() + try: + util.TimeoutFunction(getattr(gradingModule, q), 1800)( + self) # Call the question's function + # TimeoutFunction(getattr(gradingModule, q),1200)(self) # Call the question's function + except Exception as inst: + self.addExceptionMessage(q, inst, traceback) + self.addErrorHints(exceptionMap, inst, q[1]) + except: + self.fail('FAIL: Terminated with a string exception.') + finally: + if self.mute: + util.unmutePrint() + + if self.points[q] >= self.maxes[q]: + completedQuestions.add(q) + + print('\n### Question %s: %d/%d ###\n' % + (q, self.points[q], self.maxes[q])) + + print('\nFinished at %d:%02d:%02d' % time.localtime()[3:6]) + print("\nProvisional grades\n==================") + + for q in self.questions: + print('Question %s: %d/%d' % (q, self.points[q], self.maxes[q])) + print('------------------') + print('Total: %d/%d' % + (self.points.totalCount(), sum(self.maxes.values()))) + if self.points.totalCount() == 80: + print(""" + + ALL HAIL GRANDPAC. + LONG LIVE THE GHOSTBUSTING KING. + + --- ---- --- + | \ / + \ / | + | + \--/ \--/ + | + | + + | + | + + + | + @@@@@@@@@@@@@@@@@@@@@@@@@@ + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + \ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + \ / @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + V \ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ + \ / @@@@@@@@@@@@@@@@@@@@@@@@@@ + V @@@@@@@@@@@@@@@@@@@@@@@@ + @@@@@@@@@@@@@@@@@@@@@@ + /\ @@@@@@@@@@@@@@@@@@@@@@ + / \ @@@@@@@@@@@@@@@@@@@@@@@@@ + /\ / @@@@@@@@@@@@@@@@@@@@@@@@@@@ + / \ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + / @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + @@@@@@@@@@@@@@@@@@@@@@@@@@ + @@@@@@@@@@@@@@@@@@ + +""") + if self.edxOutput: + self.produceOutput() + if self.gsOutput: + self.produceGradeScopeOutput() + + def addExceptionMessage(self, q, inst, traceback): + """ + Method to format the exception message, this is more complicated because + we need to cgi.escape the traceback but wrap the exception in a