Skip to main content

TOAST: Applying Answer Set Programming to Superoptimisation

  • Conference paper
Logic Programming (ICLP 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4079))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. WASP: WP5 Report: Model Applications and Proofs-of-Concept (2004), http://www.kr.tuwien.ac.at/projects/WASP/wasp-wp5-web.html

  4. 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)

    Google Scholar 

  5. 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)

    Chapter  Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. 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)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. Aho, A.V., Sethi, R., Ullmann, J.D.: Compilers: Principles, Techniques and Tools. Addison-Wesley, Reading (1986)

    Google Scholar 

  11. Appel, A.W.: Modern Compiler Implementation in C. Cambridge University Press, Cambridge (2004)

    Google Scholar 

  12. Proebsting, T.: Proebsting’s Law: Compiler Advances Double Computing Power Every 18 Years (1998), http://research.microsoft.com/~toddpro/papers/law.htm

  13. 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)

    Chapter  Google Scholar 

  14. 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)

    Chapter  Google Scholar 

  15. Joshi, R., Nelson, G., Zhou, Y.: The Straight-Line Automatic Programming Problem. Technical Report HPL-2003-236, HP Labs (2003)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. Gelfond, M., Lifschitz, V.: Classical Negation in Logic Programs and Disjunctive Databases. New Generation Computing 9(3-4), 365–386 (1991)

    Article  Google Scholar 

  18. Baral, C.: Knowledge Representation, Reasoning and Declarative Problem Solving. Cambridge University Press, Cambridge (2003)

    Book  MATH  Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. Davis, M., Logemann, G., Loveland, D.: A Machine Program for Theorem-Proving. Communications of the ACM 5(7), 394–397 (1962)

    Article  MATH  MathSciNet  Google Scholar 

  22. Syrjänen, T.: Lparse 1.0 User’s Manual. Helsinki University of Technology (2000)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. Lin, F., Zhao, Y.: ASSAT: Computing Answer Sets of a Logic Program by SAT Solvers. Artificial Intelligence 157(1-2), 115–137 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  25. 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)

    Chapter  Google Scholar 

  26. Kane, G.: MIPS RISC Architecture. Prentice-Hall, Englewood Cliffs (1988)

    Google Scholar 

  27. SPARC International, Inc: The SPARC Architecture Manual, Version 8 (1992)

    Google Scholar 

  28. Mellarkod, V.S.: Optimizing The Computation Of Stable Models Using Merged Rules. Technical report, Texas Tech University (2002)

    Google Scholar 

  29. 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)

    Google Scholar 

  30. Asparagus Project Team: Asparagus Benchmark Project (2004), http://asparagus.cs.uni-potsdam.de/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics