Advertisement

TOAST: Applying Answer Set Programming to Superoptimisation

  • Martin Brain
  • Tom Crick
  • Marina De Vos
  • John Fitch
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4079)

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 3.
    WASP: WP5 Report: Model Applications and Proofs-of-Concept (2004), http://www.kr.tuwien.ac.at/projects/WASP/wasp-wp5-web.html
  4. 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. 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)CrossRefGoogle Scholar
  6. 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)CrossRefGoogle Scholar
  7. 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)CrossRefGoogle Scholar
  8. 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. 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. 10.
    Aho, A.V., Sethi, R., Ullmann, J.D.: Compilers: Principles, Techniques and Tools. Addison-Wesley, Reading (1986)Google Scholar
  11. 11.
    Appel, A.W.: Modern Compiler Implementation in C. Cambridge University Press, Cambridge (2004)Google Scholar
  12. 12.
    Proebsting, T.: Proebsting’s Law: Compiler Advances Double Computing Power Every 18 Years (1998), http://research.microsoft.com/~toddpro/papers/law.htm
  13. 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)CrossRefGoogle Scholar
  14. 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)CrossRefGoogle Scholar
  15. 15.
    Joshi, R., Nelson, G., Zhou, Y.: The Straight-Line Automatic Programming Problem. Technical Report HPL-2003-236, HP Labs (2003)Google Scholar
  16. 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. 17.
    Gelfond, M., Lifschitz, V.: Classical Negation in Logic Programs and Disjunctive Databases. New Generation Computing 9(3-4), 365–386 (1991)CrossRefGoogle Scholar
  18. 18.
    Baral, C.: Knowledge Representation, Reasoning and Declarative Problem Solving. Cambridge University Press, Cambridge (2003)zbMATHCrossRefGoogle Scholar
  19. 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. 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. 21.
    Davis, M., Logemann, G., Loveland, D.: A Machine Program for Theorem-Proving. Communications of the ACM 5(7), 394–397 (1962)zbMATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Syrjänen, T.: Lparse 1.0 User’s Manual. Helsinki University of Technology (2000)Google Scholar
  23. 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. 24.
    Lin, F., Zhao, Y.: ASSAT: Computing Answer Sets of a Logic Program by SAT Solvers. Artificial Intelligence 157(1-2), 115–137 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  25. 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)CrossRefGoogle Scholar
  26. 26.
    Kane, G.: MIPS RISC Architecture. Prentice-Hall, Englewood Cliffs (1988)Google Scholar
  27. 27.
    SPARC International, Inc: The SPARC Architecture Manual, Version 8 (1992)Google Scholar
  28. 28.
    Mellarkod, V.S.: Optimizing The Computation Of Stable Models Using Merged Rules. Technical report, Texas Tech University (2002)Google Scholar
  29. 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. 30.
    Asparagus Project Team: Asparagus Benchmark Project (2004), http://asparagus.cs.uni-potsdam.de/

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Martin Brain
    • 1
  • Tom Crick
    • 1
  • Marina De Vos
    • 1
  • John Fitch
    • 1
  1. 1.Department of Computer ScienceUniversity of BathBathUK

Personalised recommendations