Abstract
Multi-tac is a learning system that synthesizes heuristic constraint satisfaction programs. The system takes a library of generic algorithms and heuristics and specializes them for a particular application. We present a detailed case study with three different distributions of a single combinatorial problem, “Minimum Maximal Matching”, and show that Muti-tac can synthesize programs for these different distributions that perform on par with hand-coded programs and that exceed the performance of some well-known satisfiability algorithms. In synthesizing a program, Multi-tac bases its choice of heuristics on an instance distribution, and we demonstrate that this capability has a significant impact on the results.
Similar content being viewed by others
References
Allen, J. & Minton, S. (1996). Selecting the right heuristic algorithm: Runtime performance predictors. In Proceedings of the Canadian AI Conference.
Barstow, D. (1991). Automatic programming for device-control software. In M.R. Lowry and R.D. McCartney, editors, Automating Software Design. AAAI Press.
Bitner, J. & Reingold, E.M. (1975). Backtrack programming techniques. Communications of the ACM, 18:651–655.
Braudaway, W. & Tong, C. (1989). Automated synthesis of constrained generators. In Proceedings of the Eleventh International Joint Conference on Artificial Intelligence.
Brelaz, D. (1979). New methods to color the vertices of a graph. Communications of the ACM, 22:251–256.
Carbonell, J., Etzioni, O., Gil, Y., Joseph, R., Knoblock, C., Minton, S. & Veloso, M. (1995). Planning and learning in Prodigy: Overview of an integrated architecture. In A. Ram and D.B. Leake (Eds.), editors, Goal Driven Learning. MIT Press, 1995.
Cohen, P.R. & Feigenbaum, E.A. editors. (1982). The Handbook of Artificial Intelligence, Volume III, volume Volume 3. William Kaufmann, Inc., Los Altos, California.
Ellman, T. (1993). Abstraction via approximate symmetry. In Proceedings of the Thirteenth International Joint Conference on Artificial Intelligence.
Etzioni, O. & Etzioni, R. (1993). Statistical methods for analyzing speedup learning experiments. Machine Learning, 14(3):333–347.
Fisher, D., Subramanian, D. & Tadepalli, P. editors. (1993). Proceedings of the Third International Workshop on Knowledge Compilation and Speedup Learning.
Galil, Z. (1986). Efficient algorithms for finding maximum matchings in graphs. Computing Surveys, 18(1).
Garey, M.R. & Johnson, D.S. (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman and Co.
Gratch, J. (1995). On efficient approaches to the utility problem in adaptive problem solving.Technical Report 1916, Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, Illinois.
Gratch, J. & DeJong, G. (1991). A hybrid approach to guaranteed effective control strategies. In Proceedings of the Eighth International Machine Learning Workshop.
Kahn, K. (1984). Partial evaluation as an example of the relationship between programming methodology and AI. AI Magazine, 5(1).
Kant, E., Daube, F., MacGregor, W. & Wald, J. (1991). Automatic programming for device-control software. In M.R. Lowry and R.D. McCartney, editors, Automating Software Design. AAAI Press.
Kumar, V. (1992). Algorithms for constraint satisfaction problems. AI Magazine, 13.
Lassila, O. & Smith, S.F. (1994). Flexible, constraint-based tools for complex scheduling applications. In Proceedings of the 4th Annual Dual-Use Technologies and Applications Conference, pages 131–138.
Lauriere, J.L. (1978). A language and a program for stating and solving combinatorial problems. Artificial Intelligence, 10:29–127.
Minton, S. (1988). Learning Search Control Knowledge: An Explanation-based Approach. Kluwer Academic Publishers, Boston, Massachusetts.
Minton, S. (1990). Quantitative results concerning the utility of explanation-based learning. Artificial Intelligence, 42.
Minton, S. (1993). An analytic learning system for specializing heuristics. In Proceedings of the Thirteenth International Joint Conference on Artificial Intelligence.
Minton, S. (1993). Integrating heuristics for constraint satisfaction problems: A case study. In Proceedings of the Eleventh National Conference on Artificial Intelligence.
Minton, S., Johnston, M., Philips, A.B. & Laird, P. (1992). Minimizing conflicts: A heuristic repair method for constraint satisfaction and scheduling problems. Artificial Intelligence, 58:161–205.
Minton, S. & Underwood, I. (1994). Small is beautiful: A brute-force approach to learning first-order formulas. In Proceedings of the Twelfth National Conference on Artificial Intelligence.
Mitchell, T., Keller, R. & Kedar-Cabelli, S. (1986). Explanation-based generalization: A unifying view. Machine Learning, 1(1):47–80.
Mitchell, T.M. (1980). The need for biases in learning generalizations. Technical Report CBM-TR-117, Rutgers University.
Mostow, D.J. (1983). Machine transformation of advice into a heuristic search procedure. In Machine Learning, An Artificial Intelligence Approach, pages 367–403. Tioga Press, Palo Alto, CA.
Mostow, J. (1991). A transformational approach to knowledge compilation. In M.R. Lowry and R.D. McCartney, editors, Automating Software Design. AAAI Press.
Purdom Jr., P.W. (1983). Search rearrangement backtracking and polynomial average time. Artificial Intelligence, 21:117–133.
Selman, B., Levesque, H. & Mitchell, D. (1992). A new method for solving hard satisfiability problems. In Proceedings of the Tenth National Conference on Artificial Intelligence, San Jose, CA.
Setliff, D.E. (1991). On the automatic selection of data structure and algorithms. In M.R. Lowry and R.D. McCartney, editors, Automating Software Design. AAAI Press.
Smith, D.R. & Parra, E.A. (1993). Transformational approach to transportation scheduling. In Proceedings of the Eighth Conference on Knowledge-Based Software Engineering.
Smith, D.R. (1991). KIDS: A knowledge-based software development system. In M.R. Lowry and R.D. McCartney, editors, Automating Software Design. AAAI Press.
Smith, T.E. & Setliff, D.E. (1992). Knowledge-based constraint-driven software synthesis. In Proceedings of the Seventh Conference on Knowledge-Based Software Engineering.
Smullyan, R.M. (1968). First Order Logic. Springer Verlag New York Inc.
Srinivasan, V. & Sterling, L. (1993). A knowledge based framework for developing and customizing schedulers. In Proceedings of the Eighth Conference on Knowledge-Based Software Engineering.
Tong, C. (1991). A divide and conquer approach to knowledge compilation. In M.R. Lowry and R.D. McCartney, editors, Automating Software Design. AAAI Press.
Turner, J.S. (1988). Almost all k-colorable graphs are easy to color. Journal of Algorithms, 9:63–82.
Van Hentenryk, P.,Deville, Y, & Teng, C.M. (1992). A generic arc-consistency algorithm and its specializations. Artificial Intelligence, 57:291–321.
Yoshikawa, M., Kaneko, K., Nomura, Y. & Watanabe, M. (1994). A constraint-based approach to high school timetabling problems: A case study. In Proceedings of the Twelfth National Conference on Artificial Intelligence.
Yoshikawa, M. & Wada, S. (1992). Constraint satisfaction with multi-dimensional domain. In Proceedings of the First International Conference on Planning Systems.
Zweben, M., Davis, E., Daun, B., Drascher, E., Deale, M. & Eskey, M. (1992). Learning to improve constraint-based scheduling. Artificial Intelligence, 58:271–296.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Minton, S. Automatically configuring constraint satisfaction programs: A case study. Constraints 1, 7–43 (1996). https://doi.org/10.1007/BF00143877
Issue Date:
DOI: https://doi.org/10.1007/BF00143877