Computer Science Artificial Intelligence

Business, Finance, Economics, Accounting, Operations Management, Computer Science, Electrical Engineering, Mechanical Engineering, Civil Engineering, Chemical Engineering, Algebra, Precalculus, Statistics and Probabilty, Advanced Math, Physics, Chemistry, Biology, Nursing, Psychology, Certifications, Tests, Prep, and more.
Post Reply
answerhappygod
Site Admin
Posts: 899604
Joined: Mon Aug 02, 2021 8:13 am

Computer Science Artificial Intelligence

Post by answerhappygod »

Computer Science Artificial Intelligence
Computer Science Artificial Intelligence 1
Computer Science Artificial Intelligence 1 (288.7 KiB) Viewed 28 times
Computer Science Artificial Intelligence 2
Computer Science Artificial Intelligence 2 (191.65 KiB) Viewed 28 times
In this programming assignment, we aim to implement the A∗ search algorithm. 1 Windy 8-Puzzle Problem We consider a variant of the 8-puzzle problem (http://tristanpenman.com/demos/n-puzzle) under a windy condition. The initial state and the goal state are shown as follows: We assume that the wind \begin{tabular}{|lll|} \hline 7 & 6 & 5 \\ 8 & − & 4 \\ 1 & 2 & 3 \\ \hline \end{tabular} Goal state comes from the north. The step cost regarding the agent's moving a non-blank tile to the neighboring blank tile is defined as follows: 1 for moving southward; 2 for moving westward or eastward; 3 for moving northward. The evaluation function f(n)=g(n)+h(n), where g(n) is the path cost and h(n) is the heuristic function. g(n) is defined as the path cost until the current state n by considering the windy step cost. For h(n), we use a modified total Manhattan distance used in class by considering the windy situation. We define h(n)=i=1∑8​hi​(n), where hi​(n) is for each tile. For example, for the initial node, regarding Tile 6, the agent has to move at least 1-step northward and 1-step eastward in order to reach the goal. Therefore, we have h6​(n)=3∗1+2∗1=5 at the initial state. In your implementation, please use a priority queue for the frontier and a hash table for the expored set. The priority is based on the evaluation function f(n). The smaller the value, the higher the priority. When adding children to an expansion node, use such order of moving the non-blank tile to the neighboring blank tiles: first the west neighboring non-blank tile; then north one; then the east one; then the south one. To break tie in picking an expansion node, use FIFO order. In your testing output, please print out all expansion states in the sequence as shown on next page: For the printout of each state, the last 2nd row includes g(n) value at the left and h(n) value at the right, and the last row indicates the expansion order.
In your report, please provide the screenshots of all outcomes, and the highlighted code segments and the detailed explanation on how you implement the followings: - Data structure: priority queue for frontier set and hash table for explored set; - Calculation of f(n)=g(n)+h(n) - Adding leaves for expansion; - Picking the smallest f(n).
Join a community of subject matter experts. Register for FREE to view solutions, replies, and use search function. Request answer by replying!
Post Reply