Apr. 26, 1999 ITHACA, N.Y. -- The world is full of multiple-choice problems in which each choice leads to still more choices in an ever-expanding tree of possibilities. Human beings are able to tackle these problems with intuition, but computers are stuck with trial and error, trying every possible combination until one works.
Cornell University computer scientist Carla Gomes (pronounced "GO-meysh"), has found ways to solve these "combinatorial" problems more quickly. She has received two three-year grants totaling $700,706 from the U.S. Air Force to expand the research, along with a third grant of $158,076 for a new high-performance computing facility that will test new ideas in parallel processing.
The work has applications in industry for such problems as finding the best way to arrange machines in a factory or schedule the distribution of materials. The Air Force is interested in using computers for similar scheduling and distribution problems and for tasks like planning missions from several bases against different targets with the least amount of flying time. Ultimately, Gomes says, the computing methods she is developing could also be applied to problems in biology, the design of cellular phone networks or the layout of microcircuits.
Combinatorial problems can be described as setting values for a number of variables that must meet certain constraints, Gomes explains. The variables might represent the times and places at which certain events are to take place, and the constraints might be that some of those events must take place before others, or that two of them can't happen in the same place at the same time.
The oldest approach to such problems is brute force: Start at the beginning and try every possible combination. Unfortunately, computer scientists agree, for some problems this approach could take longer than the age of the universe.
One way to shorten computing time is an approach called randomized backtracking: The computer picks a random starting point and follows all the possible paths from that point. If the answer isn't reached after a specified number of steps, it stops and tries another random starting point.
Backtracking greatly reduces computing time for many problems, but not always. For certain kinds of problems one run might take seconds, another days, both arriving at the same solution. Gomes, a Cornell research associate in computer science, has discovered that this is because many problems have what mathematicians call "heavy tails." If a lot of random choices are made from a large population, most of them will fall near the average, with just a few being much higher or much lower -- the famous "bell curve." A graph of SAT scores, for example, will look like a tall bell at the center, meaning there are many people whose scores are average or just a little above or below. Then the graph dips to a little "tail" at the right side representing just a few real geniuses, and one at the left side for the few who are not good test-takers.
For combinatorial problems, a graph of the possible combinations versus the time they take to compute is often quite flat in the middle, with long tails, meaning there are almost as many extreme cases as average ones. Gomes and Cornell professor of computer science Bart Selman have shown mathematically that for some combinatorial problems the tail at the right side of the graph can be very long, meaning that there are a vast number of possible starting points leading nowhere. A computer program that starts at random points could spend a lot of time in that region, following one dead end after another.
Once you know this, Gomes says, you can introduce "rapid restarting." The computer keeps track of its random starts, and after a certain number it stops and restarts the entire search with a new set of random starting points. A rapid restart strategy itself always produces a distribution without heavy tails, Gomes said in a paper, Heavy-Tailed Phenomena in Combinatorial Search, written with Selman and Nuno Crato of New Jersey Institute of Technology, to be presented at the Conference on Applications of Heavy Tailed Distributions in Economics, Engineering and Statistics in Washington, D.C. in June.
Gomes and Selman also have explored ways to find out ahead of time whether or not a problem will have heavy tails, and are working on ways to "tune" the search by finding the best number of backtracks to use as a cutoff before restarting.
The research requires a great deal of computing power. In particular, Gomes says, combinatorial problems lend themselves to parallel processing so that several random starting points can be tested at the same time, with the whole process ending as soon as one of the processors finds a solution. Gomes plans to experiment with an array of linked desktop computers. The system will consist of 32 top-of-the-line PCs connected via an ultra high-speed network. For the kinds of problems Gomes is considering, she says, such a configuration can match the performance of a supercomputer at only a fraction of the cost.
The Air Force funding is in the form of three separate grants: "Computer-Intensive Methods for Combinatorial Problems" ($395,871), "Hybrid Approaches for Combinatorial Problems" ($304,835), and "A Platform for the Experimental Study of Computer-Intensive Combinatorial Methods in Planning and Scheduling" ($158,076).
Related World Wide Web sites: The following sites provide additional information on this news release. Some might not be part of the Cornell University community, and Cornell has no control over their content or availability.
-- Carla Gomes' home page at http://www.cs.cornell.edu/gomes/ includes interactive tutorials illustrating the effects of randomized backtracking and rapid restarting.
-- CNN Interactive story on the use of parallel arrays of PCs: http://www.cnn.com/TECH/computing/9903/16/super.idg/
Other social bookmarking and sharing tools:
The above story is reprinted from materials provided by Cornell University.
Note: Materials may be edited for content and length. For further information, please contact the source cited above.
Note: If no author is given, the source is cited instead.