FJK Home CPE/CSC 480 Syllabus Schedule Lecture Notes Assignments Labs Project Other Links
CPE/CSC 480-F06 Artificial Intelligence
Name:
Points: 10
Deadline: Tue, Oct. 17, end of lab

CPE/CSC 480-F06 Artificial Intelligence Lab Exercise 3

This lab exercise builds upon the previous one with the Bot Environment. You should make sure that you have the latest version from the Blackboard Discussion Forum.

In this exercise, you need to systematically explore the environment by employing the breadth-first search algorithm. This algorithm looks at the potential successor nodes of the current node, and selects the next node to be explored. In the case of our Bot Environment, a grid element corresponds to one node, and only those nodes that the agent can actually enter need to be considered.

.

The exploration of these nodes can be depicted as a search tree, with the starting node as the root, the reachable grid elements as successor nodes, and nodes that have no successors as leaf nodes. The search is completed when either a specially marked node, the goal is encountered, or when all reachable options have been exhausted.

Search Strategies

In order to perform a systematic search, the two fundamental strategies are breadth-first and depth-first (in the next lab, you'll implement an agent using this strategy). In addition, the agent needs to select among nodes at the same level in a systematic manner. The most frequently used selections here are left-to-right or right-to-left with respect to the way the nodes are listed in a graphical view. Depending on the type of the nodes, there is also often an obvious ordering, such as alphabetical or numerical. In this task, use a clockwise ordering starting from the "North" position (i.e. in the order North, East, South, West).

Breadth-First Search Algorithm

In this strategy, all direct successor nodes of a given level are explored first, and then the successor nodes of the first node at this level are examined. In the tree, this means that all nodes at a given level are explored before proceeding to the next level.

Tasks

Your task is to implement an agent for the breadth-first strategy; in the next lab, you will implement one that uses the depth-first search strategy.

Search in the Bot Environment

More information on how to use the environment can be found by following the link to the bot search tutorial. If you have problems with it, post your questions on the Blackboard discussion forum.

Approach

I strongly recommend to look at the way the different search algorithms are developed from a generic search method in the textbook (this is also shown on the PowerPoint slides). Using this approach, it is fairly straightforward to modify one agent (e.g. breadth-first) in order to obtain an agent that behaves differently (e.g. depth-first). It is probably a little more difficult to understand and implement the first one this way. The alternative is to develop each agent separately from scratch, causing considerably more work for additional agents.

Administrative Aspects

Please note that this is a two-week exercise, and worth 20 points.

Assignment Submission

This assignment must be submitted electronically via the handin program on hornet by the deadline specified above. You need to submit the following items:

Collaboration

This is an individual assignment. You must figure out and formulate your own answers, and write your own programs. It is fine with me to discuss general aspects of this lab with others (e.g. general aspects of the different search strategies).

Questions about the Assignment

If you have questions or comments concerning the programming aspects of the lab, post them on the Blackboard Discussion Forum for the lab. The grader and I will check that forum on a regular basis, and try to answer your questions.

FJK Home CPE/CSC 480 Syllabus Schedule Lecture Notes Assignments Labs Project Other Links
Lab-3.shtml
last modified:
Tuesday, October, 10, 2006, 11:46:47 PDT
© 2000-2025
Franz Kurfess