Looking for Java resources? Check out the Java
Coffee Break directory!
How we can use search algorithms in AI systems
In Chapter 2, we indicated that search
techniques are a powerful tool for building some types of AI systems.
Here are two example applications of search techniques:
- Scheduling deliveries - You own a local flower shop, with
two delivery drivers. You receive about 50 orders a day, and you
want to minimize the cost (in time and fuel) for making these
deliveries. You decide to write a program that accepts as input a
list of street addresses, and prints out a suggested route. Your
program contains a network (like the two example applets on the
table of contents page) representing the major streets in your small
town. The "links" in the network represent streets, and
the "nodes" represent intersections. "Links"
might also include average travel speed.
- Computer game - you are writing a computer game that
involves a "dungeon" made up of caves (the
"nodes" in a network) and tunnels (the "links"
in a network). You want "AI" characters to be able to move
in reasonable paths, so you use a simple search (like the breadth
first example applet) to calculate paths for the "AI"
characters to move along. You have a general game engine that moves
the "AI" characters a specified distance along a path each
There are many other possible uses for the search, but I think that
one of these examples would be a good way for you to apply what you
learn in this "book".
Next : A Java Framework for