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 s at time t, and the square was “dirty” at time t-1. Suppose the agent performs “Suck” action at time t, then square s will NOT incur cost due to dirtiness at step t (b/c at the end of this time step, square s is already clean.
Define an admissible heuristic function h1 for the vacuum cleaning search problem. h1(n) must be an under-estimate of the real cost from node n to goal state.
Hint: h1(n) clearly should be related to the distance between the current agent location to some dirty square, and to the number of dirty squares at the state s associated with node n.
Define another admissible heuristic function h2 for the vacuum cleaning search problem, such that h2 dominates h1. This means for any node n (associated with state s), we always have h2(n) >= h1(n).
Write a python program to implement the below
1) Run A* algorithm (tree search) for the vacuum cleaning agent’s problem (defined in above question). Your agent should utilize the admissible heuristic function h1 defined above. Run the program for the 5 by 5 grid world with top 5 squares dirty, and agent in the left lower corner square (coordinate (1, 1)) as the initial state. Print out the sequence of actions in the optimal path returned by the program. Also print out the optimal path’s cost.
Print out the number of nodes expanded by the algorithm using h1.
2) Run your A* algorithm for the same problem, using the alternative heuristic function h2 (defined as above). Again, print out the sequence of actions in the optimal path re- turned by the program. Also print out the optimal path’s cost.
Print out the number of nodes expanded by the algorithm using h2.
8 freelancers are bidding on average $96 for this job
I wil be able to develop algorithms to meet the project requirments. I am a PhD Data Scientist with 16years experience in the area of research. Lets discuss the requirments in more details Thanks and have a good day
Hi, I have +5 experience dealing with machine learning algorithms and worked on multiple projects in this field, Please contact me to discuss more. Have a nice day