Description
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
- What is the search space for this problem as-is? Be sure to include the following:
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?