Intelligent Systems Techniques/Knowledge and Reasoning - Lab exercises

Chris Thornton


Instructions for labs

(NB. labs for the course can only start after I've been able to give the Bugworks lecture. This will probably be in week 2, in which case I'll have to cancel the session in week 1. You can use this slot for background reading etc.)

The arrangement is that you go in the lab at the start of the session and begin work straight away, picking up where you left off previously. Use the first five minutes of each lab to review the most recent lectures. There should be a list of questions and exercises at the end of each lecture page. Use these to test your knowledge.

The first task is an exercise involving the `BugWorks' vehicle simulator. This involves constructing a simulated robot to do obstacle avoidance. The system is downloaded as a jar file. When you open the file, the main BugWorks window should pop up. Press the `Tutor' button (which you'll find along the top edge of the window) to bring up the tutor window and follow the instructions to complete the first three missions. This means all missions up to the one involving obstacle-avoidance.

Be aware that BugWorks is quite a venerable piece of software (from the 90s) and needs gentle treatment. Respect the rule that you should always stop the simulation before starting a new evaluation. If you do not do this, there is a danger the system will put up the dialog announcing a successful completion, and then immediating foreground the arena display, `burying' the dialog under other windows. The system then appears to have frozen, although it is really just waiting from you to respond to the dialog. Proceed with care.

You should aim to complete the three BugWorks exercises by Week 4 or 5. After that, use the lab time to do the on-paper exercises listed at the end of the lectures on route finding, problem solving and heuristic search. Make sure you can answer all the questions listed there. This is good exam practice.

Once I've started giving the programming lectures, you can move on to the Java exercises (using BlueJ, or whichever IDE you prefer). The first Java task is to adapt the CampusSearch program (from the Java lecture on route finding) for use with data derived from the toy map of Brighton (found at the end of the route-finding theory lecture). Check that the program produces valid routes for that map. Then modify the program so that it produces only the shortest route between two locations.

The next task is to modify the WaterJugs program (from the problem solving lecture) so that it implements an iterative-deepening search strategy.

Once you've completed both the above, you are free to select what you work on. Aim to use lab time to fill in any gaps in your knowledge. Check the list of exercises at the end of each lecture and tackle any for which the solution is not immediately obvious.

If you are confident you are fully up to date with the lecture material, and have done (or are fully confident about) all exercises listed at the end of each lecture, you can use lab time to work on the coursework assignment.

It's understood people will progress through the exercises at different speeds. I don't expect everyone to be doing the same exercise at the same time.

Somebody will be on hand (either me or a lab tutor) to answer questions.