gitextract_015yh1ta/ ├── Project-1/ │ ├── VERSION │ ├── autograder.py │ ├── commands.txt │ ├── eightpuzzle.py │ ├── game.py │ ├── ghostAgents.py │ ├── grading.py │ ├── graphicsDisplay.py │ ├── graphicsUtils.py │ ├── keyboardAgents.py │ ├── layout.py │ ├── layouts/ │ │ ├── bigCorners.lay │ │ ├── bigMaze.lay │ │ ├── bigSafeSearch.lay │ │ ├── bigSearch.lay │ │ ├── boxSearch.lay │ │ ├── capsuleClassic.lay │ │ ├── contestClassic.lay │ │ ├── contoursMaze.lay │ │ ├── greedySearch.lay │ │ ├── mediumClassic.lay │ │ ├── mediumCorners.lay │ │ ├── mediumDottedMaze.lay │ │ ├── mediumMaze.lay │ │ ├── mediumSafeSearch.lay │ │ ├── mediumScaryMaze.lay │ │ ├── mediumSearch.lay │ │ ├── minimaxClassic.lay │ │ ├── oddSearch.lay │ │ ├── openClassic.lay │ │ ├── openMaze.lay │ │ ├── openSearch.lay │ │ ├── originalClassic.lay │ │ ├── smallClassic.lay │ │ ├── smallMaze.lay │ │ ├── smallSafeSearch.lay │ │ ├── smallSearch.lay │ │ ├── testClassic.lay │ │ ├── testMaze.lay │ │ ├── testSearch.lay │ │ ├── tinyCorners.lay │ │ ├── tinyMaze.lay │ │ ├── tinySafeSearch.lay │ │ ├── tinySearch.lay │ │ ├── trappedClassic.lay │ │ ├── trickyClassic.lay │ │ └── trickySearch.lay │ ├── pacman.py │ ├── pacmanAgents.py │ ├── projectParams.py │ ├── search.py │ ├── searchAgents.py │ ├── searchTestClasses.py │ ├── testClasses.py │ ├── testParser.py │ ├── test_cases/ │ │ ├── CONFIG │ │ ├── q1/ │ │ │ ├── CONFIG │ │ │ ├── graph_backtrack.solution │ │ │ ├── graph_backtrack.test │ │ │ ├── graph_bfs_vs_dfs.solution │ │ │ ├── graph_bfs_vs_dfs.test │ │ │ ├── graph_infinite.solution │ │ │ ├── graph_infinite.test │ │ │ ├── graph_manypaths.solution │ │ │ ├── graph_manypaths.test │ │ │ ├── pacman_1.solution │ │ │ └── pacman_1.test │ │ ├── q2/ │ │ │ ├── CONFIG │ │ │ ├── graph_backtrack.solution │ │ │ ├── graph_backtrack.test │ │ │ ├── graph_bfs_vs_dfs.solution │ │ │ ├── graph_bfs_vs_dfs.test │ │ │ ├── graph_infinite.solution │ │ │ ├── graph_infinite.test │ │ │ ├── graph_manypaths.solution │ │ │ ├── graph_manypaths.test │ │ │ ├── pacman_1.solution │ │ │ └── pacman_1.test │ │ ├── q3/ │ │ │ ├── CONFIG │ │ │ ├── graph_backtrack.solution │ │ │ ├── graph_backtrack.test │ │ │ ├── graph_bfs_vs_dfs.solution │ │ │ ├── graph_bfs_vs_dfs.test │ │ │ ├── graph_infinite.solution │ │ │ ├── graph_infinite.test │ │ │ ├── graph_manypaths.solution │ │ │ ├── graph_manypaths.test │ │ │ ├── ucs_0_graph.solution │ │ │ ├── ucs_0_graph.test │ │ │ ├── ucs_1_problemC.solution │ │ │ ├── ucs_1_problemC.test │ │ │ ├── ucs_2_problemE.solution │ │ │ ├── ucs_2_problemE.test │ │ │ ├── ucs_3_problemW.solution │ │ │ ├── ucs_3_problemW.test │ │ │ ├── ucs_4_testSearch.solution │ │ │ ├── ucs_4_testSearch.test │ │ │ ├── ucs_5_goalAtDequeue.solution │ │ │ └── ucs_5_goalAtDequeue.test │ │ ├── q4/ │ │ │ ├── CONFIG │ │ │ ├── astar_0.solution │ │ │ ├── astar_0.test │ │ │ ├── astar_1_graph_heuristic.solution │ │ │ ├── astar_1_graph_heuristic.test │ │ │ ├── astar_2_manhattan.solution │ │ │ ├── astar_2_manhattan.test │ │ │ ├── astar_3_goalAtDequeue.solution │ │ │ ├── astar_3_goalAtDequeue.test │ │ │ ├── graph_backtrack.solution │ │ │ ├── graph_backtrack.test │ │ │ ├── graph_manypaths.solution │ │ │ └── graph_manypaths.test │ │ ├── q5/ │ │ │ ├── CONFIG │ │ │ ├── corner_tiny_corner.solution │ │ │ └── corner_tiny_corner.test │ │ ├── q6/ │ │ │ ├── CONFIG │ │ │ ├── corner_sanity_1.solution │ │ │ ├── corner_sanity_1.test │ │ │ ├── corner_sanity_2.solution │ │ │ ├── corner_sanity_2.test │ │ │ ├── corner_sanity_3.solution │ │ │ ├── corner_sanity_3.test │ │ │ ├── medium_corners.solution │ │ │ └── medium_corners.test │ │ ├── q7/ │ │ │ ├── CONFIG │ │ │ ├── food_heuristic_1.solution │ │ │ ├── food_heuristic_1.test │ │ │ ├── food_heuristic_10.solution │ │ │ ├── food_heuristic_10.test │ │ │ ├── food_heuristic_11.solution │ │ │ ├── food_heuristic_11.test │ │ │ ├── food_heuristic_12.solution │ │ │ ├── food_heuristic_12.test │ │ │ ├── food_heuristic_13.solution │ │ │ ├── food_heuristic_13.test │ │ │ ├── food_heuristic_14.solution │ │ │ ├── food_heuristic_14.test │ │ │ ├── food_heuristic_15.solution │ │ │ ├── food_heuristic_15.test │ │ │ ├── food_heuristic_16.solution │ │ │ ├── food_heuristic_16.test │ │ │ ├── food_heuristic_17.solution │ │ │ ├── food_heuristic_17.test │ │ │ ├── food_heuristic_2.solution │ │ │ ├── food_heuristic_2.test │ │ │ ├── food_heuristic_3.solution │ │ │ ├── food_heuristic_3.test │ │ │ ├── food_heuristic_4.solution │ │ │ ├── food_heuristic_4.test │ │ │ ├── food_heuristic_5.solution │ │ │ ├── food_heuristic_5.test │ │ │ ├── food_heuristic_6.solution │ │ │ ├── food_heuristic_6.test │ │ │ ├── food_heuristic_7.solution │ │ │ ├── food_heuristic_7.test │ │ │ ├── food_heuristic_8.solution │ │ │ ├── food_heuristic_8.test │ │ │ ├── food_heuristic_9.solution │ │ │ ├── food_heuristic_9.test │ │ │ ├── food_heuristic_grade_tricky.solution │ │ │ └── food_heuristic_grade_tricky.test │ │ └── q8/ │ │ ├── CONFIG │ │ ├── closest_dot_1.solution │ │ ├── closest_dot_1.test │ │ ├── closest_dot_10.solution │ │ ├── closest_dot_10.test │ │ ├── closest_dot_11.solution │ │ ├── closest_dot_11.test │ │ ├── closest_dot_12.solution │ │ ├── closest_dot_12.test │ │ ├── closest_dot_13.solution │ │ ├── closest_dot_13.test │ │ ├── closest_dot_2.solution │ │ ├── closest_dot_2.test │ │ ├── closest_dot_3.solution │ │ ├── closest_dot_3.test │ │ ├── closest_dot_4.solution │ │ ├── closest_dot_4.test │ │ ├── closest_dot_5.solution │ │ ├── closest_dot_5.test │ │ ├── closest_dot_6.solution │ │ ├── closest_dot_6.test │ │ ├── closest_dot_7.solution │ │ ├── closest_dot_7.test │ │ ├── closest_dot_8.solution │ │ ├── closest_dot_8.test │ │ ├── closest_dot_9.solution │ │ └── closest_dot_9.test │ ├── textDisplay.py │ └── util.py ├── Project-2/ │ ├── VERSION │ ├── autograder.py │ ├── game.py │ ├── ghostAgents.py │ ├── grading.py │ ├── graphicsDisplay.py │ ├── graphicsUtils.py │ ├── keyboardAgents.py │ ├── layout.py │ ├── layouts/ │ │ ├── capsuleClassic.lay │ │ ├── contestClassic.lay │ │ ├── mediumClassic.lay │ │ ├── minimaxClassic.lay │ │ ├── openClassic.lay │ │ ├── originalClassic.lay │ │ ├── smallClassic.lay │ │ ├── testClassic.lay │ │ ├── trappedClassic.lay │ │ └── trickyClassic.lay │ ├── multiAgents.py │ ├── multiagentTestClasses.py │ ├── pacman.py │ ├── pacmanAgents.py │ ├── projectParams.py │ ├── testClasses.py │ ├── testParser.py │ ├── test_cases/ │ │ ├── CONFIG │ │ ├── extra/ │ │ │ ├── CONFIG │ │ │ └── grade-agent.test │ │ ├── q1/ │ │ │ ├── CONFIG │ │ │ ├── grade-agent.solution │ │ │ └── grade-agent.test │ │ ├── q2/ │ │ │ ├── 0-lecture-6-tree.solution │ │ │ ├── 0-lecture-6-tree.test │ │ │ ├── 0-small-tree.solution │ │ │ ├── 0-small-tree.test │ │ │ ├── 1-1-minmax.solution │ │ │ ├── 1-1-minmax.test │ │ │ ├── 1-2-minmax.solution │ │ │ ├── 1-2-minmax.test │ │ │ ├── 1-3-minmax.solution │ │ │ ├── 1-3-minmax.test │ │ │ ├── 1-4-minmax.solution │ │ │ ├── 1-4-minmax.test │ │ │ ├── 1-5-minmax.solution │ │ │ ├── 1-5-minmax.test │ │ │ ├── 1-6-minmax.solution │ │ │ ├── 1-6-minmax.test │ │ │ ├── 1-7-minmax.solution │ │ │ ├── 1-7-minmax.test │ │ │ ├── 1-8-minmax.solution │ │ │ ├── 1-8-minmax.test │ │ │ ├── 2-1a-vary-depth.solution │ │ │ ├── 2-1a-vary-depth.test │ │ │ ├── 2-1b-vary-depth.solution │ │ │ ├── 2-1b-vary-depth.test │ │ │ ├── 2-2a-vary-depth.solution │ │ │ ├── 2-2a-vary-depth.test │ │ │ ├── 2-2b-vary-depth.solution │ │ │ ├── 2-2b-vary-depth.test │ │ │ ├── 2-3a-vary-depth.solution │ │ │ ├── 2-3a-vary-depth.test │ │ │ ├── 2-3b-vary-depth.solution │ │ │ ├── 2-3b-vary-depth.test │ │ │ ├── 2-4a-vary-depth.solution │ │ │ ├── 2-4a-vary-depth.test │ │ │ ├── 2-4b-vary-depth.solution │ │ │ ├── 2-4b-vary-depth.test │ │ │ ├── 2-one-ghost-3level.solution │ │ │ ├── 2-one-ghost-3level.test │ │ │ ├── 3-one-ghost-4level.solution │ │ │ ├── 3-one-ghost-4level.test │ │ │ ├── 4-two-ghosts-3level.solution │ │ │ ├── 4-two-ghosts-3level.test │ │ │ ├── 5-two-ghosts-4level.solution │ │ │ ├── 5-two-ghosts-4level.test │ │ │ ├── 6-tied-root.solution │ │ │ ├── 6-tied-root.test │ │ │ ├── 7-1a-check-depth-one-ghost.solution │ │ │ ├── 7-1a-check-depth-one-ghost.test │ │ │ ├── 7-1b-check-depth-one-ghost.solution │ │ │ ├── 7-1b-check-depth-one-ghost.test │ │ │ ├── 7-1c-check-depth-one-ghost.solution │ │ │ ├── 7-1c-check-depth-one-ghost.test │ │ │ ├── 7-2a-check-depth-two-ghosts.solution │ │ │ ├── 7-2a-check-depth-two-ghosts.test │ │ │ ├── 7-2b-check-depth-two-ghosts.solution │ │ │ ├── 7-2b-check-depth-two-ghosts.test │ │ │ ├── 7-2c-check-depth-two-ghosts.solution │ │ │ ├── 7-2c-check-depth-two-ghosts.test │ │ │ ├── 8-pacman-game.solution │ │ │ ├── 8-pacman-game.test │ │ │ └── CONFIG │ │ ├── q3/ │ │ │ ├── 0-lecture-6-tree.solution │ │ │ ├── 0-lecture-6-tree.test │ │ │ ├── 0-small-tree.solution │ │ │ ├── 0-small-tree.test │ │ │ ├── 1-1-minmax.solution │ │ │ ├── 1-1-minmax.test │ │ │ ├── 1-2-minmax.solution │ │ │ ├── 1-2-minmax.test │ │ │ ├── 1-3-minmax.solution │ │ │ ├── 1-3-minmax.test │ │ │ ├── 1-4-minmax.solution │ │ │ ├── 1-4-minmax.test │ │ │ ├── 1-5-minmax.solution │ │ │ ├── 1-5-minmax.test │ │ │ ├── 1-6-minmax.solution │ │ │ ├── 1-6-minmax.test │ │ │ ├── 1-7-minmax.solution │ │ │ ├── 1-7-minmax.test │ │ │ ├── 1-8-minmax.solution │ │ │ ├── 1-8-minmax.test │ │ │ ├── 2-1a-vary-depth.solution │ │ │ ├── 2-1a-vary-depth.test │ │ │ ├── 2-1b-vary-depth.solution │ │ │ ├── 2-1b-vary-depth.test │ │ │ ├── 2-2a-vary-depth.solution │ │ │ ├── 2-2a-vary-depth.test │ │ │ ├── 2-2b-vary-depth.solution │ │ │ ├── 2-2b-vary-depth.test │ │ │ ├── 2-3a-vary-depth.solution │ │ │ ├── 2-3a-vary-depth.test │ │ │ ├── 2-3b-vary-depth.solution │ │ │ ├── 2-3b-vary-depth.test │ │ │ ├── 2-4a-vary-depth.solution │ │ │ ├── 2-4a-vary-depth.test │ │ │ ├── 2-4b-vary-depth.solution │ │ │ ├── 2-4b-vary-depth.test │ │ │ ├── 2-one-ghost-3level.solution │ │ │ ├── 2-one-ghost-3level.test │ │ │ ├── 3-one-ghost-4level.solution │ │ │ ├── 3-one-ghost-4level.test │ │ │ ├── 4-two-ghosts-3level.solution │ │ │ ├── 4-two-ghosts-3level.test │ │ │ ├── 5-two-ghosts-4level.solution │ │ │ ├── 5-two-ghosts-4level.test │ │ │ ├── 6-tied-root.solution │ │ │ ├── 6-tied-root.test │ │ │ ├── 7-1a-check-depth-one-ghost.solution │ │ │ ├── 7-1a-check-depth-one-ghost.test │ │ │ ├── 7-1b-check-depth-one-ghost.solution │ │ │ ├── 7-1b-check-depth-one-ghost.test │ │ │ ├── 7-1c-check-depth-one-ghost.solution │ │ │ ├── 7-1c-check-depth-one-ghost.test │ │ │ ├── 7-2a-check-depth-two-ghosts.solution │ │ │ ├── 7-2a-check-depth-two-ghosts.test │ │ │ ├── 7-2b-check-depth-two-ghosts.solution │ │ │ ├── 7-2b-check-depth-two-ghosts.test │ │ │ ├── 7-2c-check-depth-two-ghosts.solution │ │ │ ├── 7-2c-check-depth-two-ghosts.test │ │ │ ├── 8-pacman-game.solution │ │ │ ├── 8-pacman-game.test │ │ │ └── CONFIG │ │ ├── q4/ │ │ │ ├── 0-expectimax1.solution │ │ │ ├── 0-expectimax1.test │ │ │ ├── 1-expectimax2.solution │ │ │ ├── 1-expectimax2.test │ │ │ ├── 2-one-ghost-3level.solution │ │ │ ├── 2-one-ghost-3level.test │ │ │ ├── 3-one-ghost-4level.solution │ │ │ ├── 3-one-ghost-4level.test │ │ │ ├── 4-two-ghosts-3level.solution │ │ │ ├── 4-two-ghosts-3level.test │ │ │ ├── 5-two-ghosts-4level.solution │ │ │ ├── 5-two-ghosts-4level.test │ │ │ ├── 6-1a-check-depth-one-ghost.solution │ │ │ ├── 6-1a-check-depth-one-ghost.test │ │ │ ├── 6-1b-check-depth-one-ghost.solution │ │ │ ├── 6-1b-check-depth-one-ghost.test │ │ │ ├── 6-1c-check-depth-one-ghost.solution │ │ │ ├── 6-1c-check-depth-one-ghost.test │ │ │ ├── 6-2a-check-depth-two-ghosts.solution │ │ │ ├── 6-2a-check-depth-two-ghosts.test │ │ │ ├── 6-2b-check-depth-two-ghosts.solution │ │ │ ├── 6-2b-check-depth-two-ghosts.test │ │ │ ├── 6-2c-check-depth-two-ghosts.solution │ │ │ ├── 6-2c-check-depth-two-ghosts.test │ │ │ ├── 7-pacman-game.solution │ │ │ ├── 7-pacman-game.test │ │ │ └── CONFIG │ │ └── q5/ │ │ ├── CONFIG │ │ ├── grade-agent.solution │ │ └── grade-agent.test │ ├── textDisplay.py │ └── util.py ├── Project-3/ │ ├── VERSION │ ├── analysis.py │ ├── autograder.py │ ├── crawler.py │ ├── environment.py │ ├── featureExtractors.py │ ├── game.py │ ├── ghostAgents.py │ ├── grading.py │ ├── graphicsCrawlerDisplay.py │ ├── graphicsDisplay.py │ ├── graphicsGridworldDisplay.py │ ├── graphicsUtils.py │ ├── gridworld.py │ ├── keyboardAgents.py │ ├── layout.py │ ├── layouts/ │ │ ├── capsuleClassic.lay │ │ ├── contestClassic.lay │ │ ├── mediumClassic.lay │ │ ├── mediumGrid.lay │ │ ├── minimaxClassic.lay │ │ ├── openClassic.lay │ │ ├── originalClassic.lay │ │ ├── smallClassic.lay │ │ ├── smallGrid.lay │ │ ├── testClassic.lay │ │ ├── trappedClassic.lay │ │ └── trickyClassic.lay │ ├── learningAgents.py │ ├── mdp.py │ ├── pacman.py │ ├── pacmanAgents.py │ ├── projectParams.py │ ├── qlearningAgents.py │ ├── reinforcementTestClasses.py │ ├── testClasses.py │ ├── testParser.py │ ├── test_cases/ │ │ ├── CONFIG │ │ ├── q1/ │ │ │ ├── 1-tinygrid.solution │ │ │ ├── 1-tinygrid.test │ │ │ ├── 2-tinygrid-noisy.solution │ │ │ ├── 2-tinygrid-noisy.test │ │ │ ├── 3-bridge.solution │ │ │ ├── 3-bridge.test │ │ │ ├── 4-discountgrid.solution │ │ │ ├── 4-discountgrid.test │ │ │ └── CONFIG │ │ ├── q2/ │ │ │ ├── 1-bridge-grid.solution │ │ │ ├── 1-bridge-grid.test │ │ │ └── CONFIG │ │ ├── q3/ │ │ │ ├── 1-question-3.1.solution │ │ │ ├── 1-question-3.1.test │ │ │ ├── 2-question-3.2.solution │ │ │ ├── 2-question-3.2.test │ │ │ ├── 3-question-3.3.solution │ │ │ ├── 3-question-3.3.test │ │ │ ├── 4-question-3.4.solution │ │ │ ├── 4-question-3.4.test │ │ │ ├── 5-question-3.5.solution │ │ │ ├── 5-question-3.5.test │ │ │ └── CONFIG │ │ ├── q4/ │ │ │ ├── 1-tinygrid.solution │ │ │ ├── 1-tinygrid.test │ │ │ ├── 2-tinygrid-noisy.solution │ │ │ ├── 2-tinygrid-noisy.test │ │ │ ├── 3-bridge.solution │ │ │ ├── 3-bridge.test │ │ │ ├── 4-discountgrid.solution │ │ │ ├── 4-discountgrid.test │ │ │ └── CONFIG │ │ ├── q5/ │ │ │ ├── 1-tinygrid.solution │ │ │ ├── 1-tinygrid.test │ │ │ ├── 2-tinygrid-noisy.solution │ │ │ ├── 2-tinygrid-noisy.test │ │ │ ├── 3-bridge.solution │ │ │ ├── 3-bridge.test │ │ │ ├── 4-discountgrid.solution │ │ │ ├── 4-discountgrid.test │ │ │ └── CONFIG │ │ ├── q6/ │ │ │ ├── CONFIG │ │ │ ├── grade-agent.solution │ │ │ └── grade-agent.test │ │ ├── q7/ │ │ │ ├── CONFIG │ │ │ ├── grade-agent.solution │ │ │ └── grade-agent.test │ │ └── q8/ │ │ ├── 1-tinygrid.solution │ │ ├── 1-tinygrid.test │ │ ├── 2-tinygrid-noisy.solution │ │ ├── 2-tinygrid-noisy.test │ │ ├── 3-bridge.solution │ │ ├── 3-bridge.test │ │ ├── 4-discountgrid.solution │ │ ├── 4-discountgrid.test │ │ ├── 5-coord-extractor.solution │ │ ├── 5-coord-extractor.test │ │ └── CONFIG │ ├── textDisplay.py │ ├── textGridworldDisplay.py │ ├── util.py │ └── valueIterationAgents.py ├── Project-4/ │ ├── VERSION │ ├── autograder.py │ ├── busters.py │ ├── bustersAgents.py │ ├── bustersGhostAgents.py │ ├── distanceCalculator.py │ ├── game.py │ ├── ghostAgents.py │ ├── grading.py │ ├── graphicsDisplay.py │ ├── graphicsUtils.py │ ├── inference.py │ ├── keyboardAgents.py │ ├── layout.py │ ├── layouts/ │ │ ├── bigHunt.lay │ │ ├── oneHunt.lay │ │ ├── openHunt.lay │ │ └── smallHunt.lay │ ├── pacman.py │ ├── projectParams.py │ ├── testClasses.py │ ├── testParser.py │ ├── test_cases/ │ │ ├── CONFIG │ │ ├── q1/ │ │ │ ├── 1-ExactObserve.solution │ │ │ ├── 1-ExactObserve.test │ │ │ ├── 2-ExactObserve.solution │ │ │ ├── 2-ExactObserve.test │ │ │ ├── 3-ExactObserve.solution │ │ │ ├── 3-ExactObserve.test │ │ │ ├── 4-ExactObserve.solution │ │ │ ├── 4-ExactObserve.test │ │ │ └── CONFIG │ │ ├── q2/ │ │ │ ├── 1-ExactElapse.solution │ │ │ ├── 1-ExactElapse.test │ │ │ ├── 2-ExactElapse.solution │ │ │ ├── 2-ExactElapse.test │ │ │ ├── 3-ExactElapse.solution │ │ │ ├── 3-ExactElapse.test │ │ │ ├── 4-ExactElapse.solution │ │ │ ├── 4-ExactElapse.test │ │ │ └── CONFIG │ │ ├── q3/ │ │ │ ├── 1-ExactObserveElapse.solution │ │ │ ├── 1-ExactObserveElapse.test │ │ │ ├── 2-ExactObserveElapse.solution │ │ │ ├── 2-ExactObserveElapse.test │ │ │ ├── 3-gameScoreTest.solution │ │ │ ├── 3-gameScoreTest.test │ │ │ └── CONFIG │ │ ├── q4/ │ │ │ ├── 1-ParticleObserve.solution │ │ │ ├── 1-ParticleObserve.test │ │ │ ├── 2-ParticleObserve.solution │ │ │ ├── 2-ParticleObserve.test │ │ │ ├── 3-ParticleObserve.solution │ │ │ ├── 3-ParticleObserve.test │ │ │ ├── 4-ParticleObserve.solution │ │ │ ├── 4-ParticleObserve.test │ │ │ ├── 5-ParticleObserve.solution │ │ │ ├── 5-ParticleObserve.test │ │ │ ├── 6-ParticleObserve.solution │ │ │ ├── 6-ParticleObserve.test │ │ │ ├── 7-ParticleObserve.solution │ │ │ ├── 7-ParticleObserve.test │ │ │ └── CONFIG │ │ ├── q5/ │ │ │ ├── 1-ParticleElapse.solution │ │ │ ├── 1-ParticleElapse.test │ │ │ ├── 2-ParticleElapse.solution │ │ │ ├── 2-ParticleElapse.test │ │ │ ├── 3-ParticleElapse.solution │ │ │ ├── 3-ParticleElapse.test │ │ │ ├── 4-ParticleElapse.solution │ │ │ ├── 4-ParticleElapse.test │ │ │ ├── 5-ParticleElapse.solution │ │ │ ├── 5-ParticleElapse.test │ │ │ ├── 6-ParticleElapse.solution │ │ │ ├── 6-ParticleElapse.test │ │ │ └── CONFIG │ │ ├── q6/ │ │ │ ├── 1-JointParticleObserve.solution │ │ │ ├── 1-JointParticleObserve.test │ │ │ ├── 2-JointParticleObserve.solution │ │ │ ├── 2-JointParticleObserve.test │ │ │ ├── 3-JointParticleObserve.solution │ │ │ ├── 3-JointParticleObserve.test │ │ │ ├── 4-JointParticleObserve.solution │ │ │ ├── 4-JointParticleObserve.test │ │ │ ├── 5-JointParticleObserve.solution │ │ │ ├── 5-JointParticleObserve.test │ │ │ └── CONFIG │ │ └── q7/ │ │ ├── 1-JointParticleElapse.solution │ │ ├── 1-JointParticleElapse.test │ │ ├── 2-JointParticleElapse.solution │ │ ├── 2-JointParticleElapse.test │ │ ├── 3-JointParticleObserveElapse.solution │ │ ├── 3-JointParticleObserveElapse.test │ │ └── CONFIG │ ├── textDisplay.py │ ├── trackingTestClasses.py │ └── util.py ├── Project-5/ │ ├── VERSION │ ├── answers.py │ ├── autograder.py │ ├── classificationAgents.py │ ├── classificationMethod.py │ ├── classificationTestClasses.py │ ├── data/ │ │ ├── digitdata/ │ │ │ ├── testimages │ │ │ ├── testlabels │ │ │ ├── trainingimages │ │ │ ├── traininglabels │ │ │ ├── validationimages │ │ │ └── validationlabels │ │ ├── facedata/ │ │ │ ├── facedatatest │ │ │ ├── facedatatestlabels │ │ │ ├── facedatatrain │ │ │ ├── facedatatrainlabels │ │ │ ├── facedatavalidation │ │ │ └── facedatavalidationlabels │ │ └── pacmandata/ │ │ ├── contest_test.pkl │ │ ├── contest_training.pkl │ │ ├── contest_validation.pkl │ │ ├── food_test.pkl │ │ ├── food_training.pkl │ │ ├── food_validation.pkl │ │ ├── stop_test.pkl │ │ ├── stop_training.pkl │ │ ├── stop_validation.pkl │ │ ├── suicide_test.pkl │ │ ├── suicide_training.pkl │ │ └── suicide_validation.pkl │ ├── dataClassifier.py │ ├── game.py │ ├── ghostAgents.py │ ├── grading.py │ ├── graphicsDisplay.py │ ├── graphicsUtils.py │ ├── images/ │ │ └── img2 │ ├── keyboardAgents.py │ ├── layout.py │ ├── layouts/ │ │ ├── capsuleClassic.lay │ │ ├── contestClassic.lay │ │ ├── mediumClassic.lay │ │ ├── minimaxClassic.lay │ │ ├── openClassic.lay │ │ ├── originalClassic.lay │ │ ├── smallClassic.lay │ │ ├── testClassic.lay │ │ ├── trappedClassic.lay │ │ └── trickyClassic.lay │ ├── mira.py │ ├── mostFrequent.py │ ├── naiveBayes.py │ ├── pacman.py │ ├── pacmanAgents.py │ ├── pacmandata/ │ │ ├── contest_test.pkl │ │ ├── contest_training.pkl │ │ ├── contest_validation.pkl │ │ ├── food_test.pkl │ │ ├── food_training.pkl │ │ ├── food_validation.pkl │ │ ├── stop_test.pkl │ │ ├── stop_training.pkl │ │ ├── stop_validation.pkl │ │ ├── suicide_test.pkl │ │ ├── suicide_training.pkl │ │ └── suicide_validation.pkl │ ├── perceptron.py │ ├── perceptron_pacman.py │ ├── projectParams.py │ ├── samples.py │ ├── testClasses.py │ ├── testParser.py │ ├── test_cases/ │ │ ├── CONFIG │ │ ├── q1/ │ │ │ ├── CONFIG │ │ │ ├── grade.solution │ │ │ └── grade.test │ │ ├── q2/ │ │ │ ├── CONFIG │ │ │ ├── grade.solution │ │ │ └── grade.test │ │ ├── q3/ │ │ │ ├── CONFIG │ │ │ ├── grade.solution │ │ │ └── grade.test │ │ ├── q4/ │ │ │ ├── CONFIG │ │ │ ├── grade.solution │ │ │ └── grade.test │ │ ├── q5/ │ │ │ ├── CONFIG │ │ │ ├── contest.solution │ │ │ ├── contest.test │ │ │ ├── suicide.solution │ │ │ └── suicide.test │ │ └── q6/ │ │ ├── CONFIG │ │ ├── contest.solution │ │ ├── contest.test │ │ ├── suicide.solution │ │ └── suicide.test │ ├── textDisplay.py │ └── util.py └── README.md