Abstract
Answer set programming (ASP) is a form of declarative programming particularly suited to difficult combinatorial search problems. However, it has yet to be used for more than a handful of large-scale applications, which are needed to demonstrate the strengths of ASP and to motivate the development of tools and methodology. This paper describes such a large-scale application, the TOAST (Total Optimisation using Answer Set Technology) system, which seeks to generate optimal machine code for simple, acyclic functions using a technique known as superoptimisation. ASP is used as a scalable computational engine to handle searching over complex, non-regular search spaces, with the experimental results suggesting that this is a viable approach to the optimisation problem and demonstrates the scalability of a variety of solvers.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Niemelä, I., Simons, P.: Smodels: An Implementation of the Stable Model and Well-Founded Semantics for Normal Logic Programs. In: Fuhrbach, U., Dix, J., Nerode, A. (eds.) LPNMR 1997. LNCS, vol. 1265, pp. 420–429. Springer, Heidelberg (1997)
Eiter, T., Leone, N., Mateis, C., Pfeifer, G., Scarcello, F.: The KR System DLV: Progress Report, Comparisons and Benchmarks. In: Proceedings of the 6th International Conference on the Principles of Knowledge Representation and Reasoning (KR 1998), pp. 406–417. Morgan Kaufmann, San Francisco (1998)
WASP: WP5 Report: Model Applications and Proofs-of-Concept (2004), http://www.kr.tuwien.ac.at/projects/WASP/wasp-wp5-web.html
Eiter, T., Faber, W., Leone, N., Pfeifer, G., Polleres, A.: Using the DLV System for Planning and Diagnostic Reasoning. In: Proceedings of the 14th Workshop on Logic Programming WLP 1999, pp. 125–134 (2000)
Nogueira, M., Balduccini, M., Gelfond, M., Watson, R., Barry, M.: An A-Prolog Decision Support System for the Space Shuttle. In: Ramakrishnan, I.V. (ed.) PADL 2001. LNCS, vol. 1990, pp. 169–183. Springer, Heidelberg (2001)
Padget, J.A., De Vos, M., Crick, T., Brain, M., Cliffe, O., Needham, J.: LAIMA: A Multi-agent Platform Using Ordered Choice Logic Programming. In: Baldoni, M., Endriss, U., Omicini, A., Torroni, P. (eds.) DALT 2005. LNCS (LNAI), vol. 3904, pp. 72–88. Springer, Heidelberg (2006)
Giorgini, P., Massacci, F., Mylopoulos, J., Zannone, N.: Requirements Engineering Meets Trust Management. In: Jensen, C., Poslad, S., Dimitrakos, T. (eds.) iTrust 2004. LNCS, vol. 2995, pp. 176–190. Springer, Heidelberg (2004)
Costantini, S., Formisano, A., Omodeo, E.: Mapping Between Domain Models in Answer Set Programming. In: Proceedings of Answer Set Programming: Advances in Theory and Implementation (ASP 2003) (2003)
Massalin, H.: Superoptimizer: A Look at the Smallest Program. In: Proceedings of the 2nd International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 1987), pp. 122–126. IEEE Computer Society Press, Los Alamitos (1987)
Aho, A.V., Sethi, R., Ullmann, J.D.: Compilers: Principles, Techniques and Tools. Addison-Wesley, Reading (1986)
Appel, A.W.: Modern Compiler Implementation in C. Cambridge University Press, Cambridge (2004)
Proebsting, T.: Proebsting’s Law: Compiler Advances Double Computing Power Every 18 Years (1998), http://research.microsoft.com/~toddpro/papers/law.htm
Granlund, T., Kenner, R.: Eliminating Branches using a Superoptimizer and the GNU C Compiler. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 1992), pp. 341–352. ACM Press, New York (1992)
Joshi, R., Nelson, G., Randall, K.: Denali: A Goal-Directed Superoptimizer. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2002), pp. 304–314. ACM Press, New York (2002)
Joshi, R., Nelson, G., Zhou, Y.: The Straight-Line Automatic Programming Problem. Technical Report HPL-2003-236, HP Labs (2003)
Gelfond, M., Lifschitz, V.: The Stable Model Semantics for Logic Programming. In: Proceedings of the 5th International Conference on Logic Programming (ICLP 1988), pp. 1070–1080. MIT Press, Cambridge (1988)
Gelfond, M., Lifschitz, V.: Classical Negation in Logic Programs and Disjunctive Databases. New Generation Computing 9(3-4), 365–386 (1991)
Baral, C.: Knowledge Representation, Reasoning and Declarative Problem Solving. Cambridge University Press, Cambridge (2003)
Denecker, M.: What’s in a Model? Epistemological Analysis of Logic Programming. In: Proceedings of the 9th International Conference on the Principles of Knowledge Representation and Reasoning (KR 2004), pp. 106–113. AAAI Press, Menlo Park (2004)
Leone, N., Pfeifer, G., Faber, W., Eiter, T., Gottlob, G., Perri, S., Scarcello, F.: The DLV System for Knowledge Representation and Reasoning. ACM Transactions on Computational Logic (to appear, 2006)
Davis, M., Logemann, G., Loveland, D.: A Machine Program for Theorem-Proving. Communications of the ACM 5(7), 394–397 (1962)
Syrjänen, T.: Lparse 1.0 User’s Manual. Helsinki University of Technology (2000)
Giunchiglia, E., Lierler, Y., Maratea, M.: SAT-Based Answer Set Programming. In: Proceedings of the 19th National Conference on Artificial Intelligence (AAAI 2004), pp. 61–66. AAAI Press, Menlo Park (2004)
Lin, F., Zhao, Y.: ASSAT: Computing Answer Sets of a Logic Program by SAT Solvers. Artificial Intelligence 157(1-2), 115–137 (2004)
Pontelli, E., Balduccini, M., Bermudez, F.: Non-monotonic Reasoning on Beowulf Platforms. In: Dahl, V., Wadler, P. (eds.) PADL 2003. LNCS, vol. 2562, pp. 37–57. Springer, Heidelberg (2002)
Kane, G.: MIPS RISC Architecture. Prentice-Hall, Englewood Cliffs (1988)
SPARC International, Inc: The SPARC Architecture Manual, Version 8 (1992)
Mellarkod, V.S.: Optimizing The Computation Of Stable Models Using Merged Rules. Technical report, Texas Tech University (2002)
Anger, C., Gebser, M., Linke, T., Neumann, A., Schaub, T.: The nomore++ Approach to Answer Set Solving. In: Proceedings of Answer Set Programming: Advances in Theory and Implementation (ASP 2005) (2005)
Asparagus Project Team: Asparagus Benchmark Project (2004), http://asparagus.cs.uni-potsdam.de/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Brain, M., Crick, T., De Vos, M., Fitch, J. (2006). TOAST: Applying Answer Set Programming to Superoptimisation. In: Etalle, S., Truszczyński, M. (eds) Logic Programming. ICLP 2006. Lecture Notes in Computer Science, vol 4079. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11799573_21
Download citation
DOI: https://doi.org/10.1007/11799573_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-36635-5
Online ISBN: 978-3-540-36636-2
eBook Packages: Computer ScienceComputer Science (R0)