diff --git a/coursework/Project Part A/notebook/Cachex AStar Shortest Path.ipynb b/coursework/Project Part A/notebook/Cachex AStar Shortest Path.ipynb index 459b4e2..7d07a93 100644 --- a/coursework/Project Part A/notebook/Cachex AStar Shortest Path.ipynb +++ b/coursework/Project Part A/notebook/Cachex AStar Shortest Path.ipynb @@ -9,24 +9,11 @@ "\n", "Author: Rin Huang, Eric Wei\n", "\n", - "In this first part of the project, you will solve a simple search-based problem on the Cachex game board.\n", - "Before you read this specification, please make sure you have carefully read the entire ‘Rules for the Game\n", - "of Cachex’ document. Although you won’t be writing an agent to play the game just yet, you should be\n", - "aiming to get very familiar with the board layout and corresponding hex coordinate system.\n", - "\n", - "The aims for Project Part A are for you and your project partner to\n", - "- refresh and extend your Python programming skills\n", - "- explore some of the algorithms you have encountered in lectures, and \n", - "- become more familiar with the Cachex task environment.\n", - "\n", - "This is also a chance for you to develop fundamental Python tools for working with the game: Some of the functions and classes you create now may be helpful later (when you are building your full game-playing program for Part B of the project).\n", - "\n", - "To compute this path you are asked to use an A* search and design an **admissible heuristic** to optimise its performance. There are a number of assumptions you should make:\n", - "1. The start and goal cells will always be unoccupied (but any other cells may be occupied).\n", - "2. All given cell coordinates will be within the bounds of a board of size n. More precisely, for any given cell coordinate (r: row, q: column), 0 ≤ r < n and 0 ≤ q < n. You may also assume n ≥ 1.\n", - "3. The cost of a path is defined as the number of cells that form a continuous path from the start cell to the goal cell (including these cells).\n", - "4. If there is a tie, that is, multiple minimal paths of the same cost exist on the same board configuration, any such path is a valid solution.\n", - "5. There may not always be a valid path from the " + "In Part A we had to find the cheapest path between two cells on a Cachex board of size n, where some cells are already occupied and can't be used. The search is A* with a heuristic we designed ourselves and had to keep admissible.\n", + "\n", + "A path's cost is the number of cells in it, counting both the start and the goal. The start and goal are always free and inside the board, a tie between equally short paths can go either way, and some boards have no path at all.\n", + "\n", + "The point of this part was to get comfortable with the hex coordinate system and to build Python helpers we could reuse for the game-playing agent in Part B." ] }, {