Waived!
Solved By Verified
Study Co-Pilot
Instant

Description

Here we have a vacuum cleaning agent that can sense the environment and perform actions to move around and vacuum clean dirty squares. We assume a 5 by 5 grid world known to the agent. The environment is fully observable: the percepts give complete information about the Dirty/Clean status of every square and the agent’s location. The environment is deterministic: A clean square remains clean and a dirty square remains dirty unless the agent cleans it up. The actions available for the agent are: Left, Right, Up, Down, Suck. Each action takes place in one time step. The actions and percepts are perfectly reliable. Each of the actions will incur a cost of 1. At the end of each time step, each remaining dirty square will incur a cost of 2. The agent’s performance is measured by the total cost received from start state to reaching a state with all squares being “Clean”. As usual, a rational agent should maximize its performance score and thus minimize the total cost.

Assume the agent is in square (x, y) at time t, and the square was “dirty” at time t1. Suppose the agent performs the “Suck” action at time t, then square (x, y) will NOT incur cost due to dirtiness at step t (because at the end of this time step, square (x, y) is already clean).

Formulate the vacuum cleaning problem as a search problem. In this sub-problem, you would define the states, actions, the successor function, and the goal test. You can assume the initial state has the top 5 squares all dirty, and the agent is located at the bottom left square. You can index each square in the 5×5 grid world by (x, y) with the bottom left square = (1, 1) and the top right square = (5, 5).

How do you represent a state? Hint: A state S should specify two things:

(a) The dirty/clean status for all 25 squares, AND

(b) the current location (x, y) of the agent.

Dirty/Clean Status: 11111 (top 5 squares dirty), 0000000000 (bottom 20 squares clean)

State S = (Dirty/Clean Status for Each Square, Agent’s Location (x, y))

Write (or adapt from open-source implementation) a Python program to implement the A* algorithm (tree search) for the vacuum cleaning agent’s problem (defined in Question 5 of Homework 2). Your agent should utilize the admissible heuristic function h1(n) defined in your answer to Q(5.3) in Homework 2 (or a corrected h1(n) in case your h1(n) answer to Q(5.3) was not correct). Run the program for the 5 by 5 grid world with the top 5 squares dirty, and the agent located in the lower left corner square (coordinate (1, 1)) as the initial state. Print out the sequence of actions in the optimal path returned by the program. In addition, print out the f(n) values for every node n on the optimal solution path (including the node for the initial state and the node for the final goal state). Print out the number of nodes expanded by the algorithm using h1(n).

Part (B) (25%)

Run your A* algorithm for the same problem, using the alternative heuristic function h2(n) defined in your answer to Question (5,4) in Homework 2 (or a corrected h2(n) in case your h2(n) answer to Q(5.4) was not correct). Print out the sequence of actions in the optimal path returned by the program. In addition, print out the f(n) values for every node n on the optimal solution path (including the node for the initial state and the node for the final goal state). Print out the number of nodes expanded by the algorithm using h2(n).

Program documentation (5%)

4 reviews for Here we have a vacuumcleaning agent that can sense the environmen and perform actions to move

Very impressive work and way ahead of time! Thanks!

2. Felicia Schoenthal

I am pleased for the assistance to get a answer to my questions. The service is prompt and provides good value to me.

3. Bob Salerno

It was amazing work and in a very short time.

4. Connie Cannon

Awesome work as usual!!

Only logged in customers who have purchased this product may leave a review.