Given any of the following problems:
Determine the optimal graph coloring
of a randomly generated
80 node planar graph with the average node connected to 6 arcs such
that at most four colors are used and:
there is not a computer in existence that could examine the
approximately
exhaustive combinations of colorings available.
Unfortunately, there are no non-exhaustive algorithms using techniques
such as constraint satisfaction and/or solution synthesis that can be
of much help either.
The key words in the problem statement are optimal, 80 and 6:
The problem with requiring optimality is, of course, that one can never be sure that the best answer has been discovered until all other possible answers are compared to it. Branch-and-bound algorithms (Lawler, 1966) can reduce this complexity somewhat by ruling out solution paths that can be guaranteed to be sub-optimal. For instance, a sub-solution of 41 nodes with no reds can be eliminated from further consideration when a solution with 40 reds has already been found. However, it is clear that enormous amounts of processing still need to be invested just to find all sub-solutions of length 40.
The other problem with requiring optimality is that most real-world problems do. Very rarely does one hear a traveler say, ``Find me a flight path from here to Los Angeles.'' Usually, the weary vacationer asks for the shortest or cheapest path. Occasionally, a wealthy businessman might ask for any itinerary under X amount of dollars, but all too often these requirements result in near exhaustive searches anyway.
Fortunately, many real world problems do have low inter-connectivity. It is not often that you find potential plans where every decision directly impacts every other decision. And sometimes, like the traveling salesperson, an application of common sense reasoning can reduce an otherwise globally interacting problem to a more local one.
Below, we present a computational strategy which attacks problems of this kind. We integrate three related AI search techniques -- constraint satisfaction, branch-and-bound and solution synthesis -- and direct each at minimally interacting sub-problems. The methodology called HUNTER-GATHERER (HG) was introduced in (Beale, et al, 1996) and can be summarized as follows:
Below, we briefly review some of the earlier work on each of the component computing techniques. Next, we discuss the HG algorithm and apply it to the graph coloring problem mentioned above. An important prerequisite of HG is the ability to break a large problem into sub-problems which are relatively local. In general, this problem is NP-complete in itself, but we show how we can use properties of the HG algorithm to efficiently guide such a decomposition. This decomposition is based on graph topology, which in turn can be linked to a measure of the problem's inter-connectedness, or complexity. We examine these relationships and show how a problem's topology affects HG's efficiency. Finally, we discuss practical applications of this methodology to the field of natural language semantic analysis.