Newsgroups: comp.constraints
Path: cantaloupe.srv.cs.cmu.edu!das-news.harvard.edu!news2.near.net!MathWorks.Com!europa.eng.gtefsd.com!library.ucla.edu!agate!ames!kronos.arc.nasa.gov!minton
From: minton@kronos.arc.nasa.gov (Steve Minton)
Subject: Re: exceptionally hard problems
Message-ID: <1994Sep3.190743.1104@ptolemy-ethernet.arc.nasa.gov>
Sender: usenet@ptolemy-ethernet.arc.nasa.gov (usenet@ptolemy.arc.nasa.gov)
Nntp-Posting-Host: polya.arc.nasa.gov
Organization: NASA/ARC Information Sciences Division
References: <3473dh$27c@todd-06.cs.strath.ac.uk> <347ra0$jo9@peaches.cs.utexas.edu>
Date: Sat, 3 Sep 1994 19:07:43 GMT
Lines: 38

>It would be interesting to characterize, in detail, which algorithms
>work best on which problems. You could use this knowledge to then
>implement something like a rule-based system for selecting the
>appropriate CSP algorithm for the particular instance. It might even
>choose to run multiple algorithms in parallel if it can't find a
>perfect match.  Sort of a knowledge-based algorithm selector based on
>problem specific features.  Has anybody done such a thing?

The Multi-TAC system has some similarities to what you are suggesting
although it is not exactly rule-based.  The system includes a variety
of CSP methods, which can be combined in different ways, and it can
automatically "experiments" with different strategies to find a good
combination of methods for a given problem class.  (Multi-TAC is best
viewed as a "fancy compiler".)  In practice, we've found this works
quite well. We are currently working on a variety of extensions to the
system, and hope to release an easy-to-use version of the system later
this year for the public.

For a description of the system see, for instance, my AAAI-93 paper,
whose abstract is below. (There are also IJCAI-93 and AAAI-94 papers,
but the AAAI-93 paper contains by far the best overview of our
approach, I think.)

Title: Integrating Heuristics for Constraint Satisfaction Problems: A
       Case Study

Abstract: This paper describes a set of experiments with a system that
synthesizes constraint satisfaction programs. The system, Multi-TAC, is a
CSP ``expert'' that can specialize a library of generic algorithms and
methods for a particular application.  Multi-TAC not only proposes
domain-specific versions of its generic heuristics, but also searches
for the best combination of these heuristics and integrates them into
a complete problem-specific program. We demonstrate Multi-TAC's
capabilities on a combinatorial problem, ``Minimum Maximal Matching'',
and show that Multi-TAC can synthesize programs for this problem that are
on par with hand-coded programs.  In synthesizing a program, Multi-TAC
bases its choice of heuristics on the instance distribution, and we
show that this capability has a significant impact on the results.
