As we discussed in class, an agent is an entity that perceives and acts within an environment. We defined artificial intelligence as the creation and study of agents that behave intelligently. In this lab you will learn how to control a simulated robot (the agent) to traverse through a maze to find a goal marked by a light source.
If you took cs35, you used both breadth-first search and depth-first search to solve various maze problems where the environment was divided into a grid and the agent knew its current (x, y) location within that grid (as in the example shown below).
For this lab, however, the agent will only be able to perceive the maze environment via its sensors and will not know its global location within the maze, so you'll need to use a different strategy.
The objectives of this lab are to:
The process for this week will be very similar to last week; once again you'll be working individually, and you should have a git repo all ready to go. Clone it the same way we did the previous lab:
$ cd cs63 $ git clone git@github.swarthmore.edu:cs63-s24/lab1-USERNAME.git
The starting point code consists of two jupyter notebooks (which have the extension .ipynb).
As a reminder, you can use last week's lab page as a guide for how to activate the CS63 Python environment and launch Jupyter Lab to open the notebooks in your git repo.
You can also use last week's notebook as a reference for Python syntax, reminders about how Jupyter works, etc.
You should begin with the notebook called GettingStarted.ipynb. Once you complete the exercises there, you can then move on to the notebook called Maze.ipynb. All of the lab instructions are provided within the notebooks themselves.
To submit your code, use git to add, commit, and push the files that you modified.