$25
Lab 2 – Uninformed and Informed Search
Overview
You may want to review the code for search.py, in the aima-python repository for additional context.
Code Exploration
Download the py file from the D2L dropbox. This requires the following Python libraries (some of which you may need to install using pip install).os
math
numpy
time
collections à deque
copy à deepcopy
operator à itemgetter Search Space and Environment
Run the program and then answer the following questions:What is the search space for this problem as-is? Be sure to include the following:Initial State
Actions
Transition Model
Give a PEAS description for the searching agents in this example. Be sure to note any differences based on the algorithm. Performance Measure, Environment, Actuators, Sensors
Give an environmental description of the searching agents in this example. Include the following:Observability – Fully or Partially
Agent Type – Single or Multi
Deterministic or Stochastic
Episodic or Sequential
Static or Dynamic
Discrete or Conditinuous
Known or Unknown
Code Description and Performance
Describe the meaning of each character on the screen. What is a “.”, a “C”, an “X” and a “_”?
List the algorithms and the conditions used to run each, and then run each algorithm and record the runtime for each in your writeup document.
Which search algorithm performs best, and under which circumstances (e.g., when diagonals are allowed or not)? Which performs the worst? Why?
Updated Code
Alter the code to add a series of obstacles into the field of dots. Use asterisk characters to denote an obstacle. Each algorithm will need to avoid these obstacles, but still reach the goal.
List the algorithms and the conditions used to run each, and then run each and record runtimes in your writeup document.
Given your obstacles, document any observations that introducing the obstacles caused in the particular search algorithm. How did the behavior change?