Autonomous Agents and Multi-Agent Systems

, Volume 23, Issue 2, pp 224–272 | Cite as

Declarative programming for agent applications

Article

Abstract

This paper introduces the execution model of a declarative programming language intended for agent applications. Features supported by the language include functional and logic programming idioms, higher-order functions, modal computation, probabilistic computation, and some theorem-proving capabilities. The need for these features is motivated and examples are given to illustrate the central ideas.

Keywords

Declarative programming Multi-agent systems Multi-modal logic Higher-order logic Modal programming Probabilistic programming 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Fagin R., Halpern J. Y., Moses Y., Vardi M. Y. (1995) Reasoning about knowledge. MIT Press, CambridgeMATHGoogle Scholar
  2. 2.
    Wooldridge M. (2000) Reasoning about rational agents. MIT Press, CambridgeMATHGoogle Scholar
  3. 3.
    Gabbay D. M., Kurucz A., Wolter F., Zakharyaschev M. (2003) Many-dimensional modal logics: Theory and applications, Studies in logic and the foundations of mathematics. Elsevier, AmsterdamGoogle Scholar
  4. 4.
    Halpern J. Y. (1990) An analysis of first-order logics of probability. Artificial Intelligence 46(3): 311–350CrossRefMATHMathSciNetGoogle Scholar
  5. 5.
    Poole, D. (2003). First-order probabilistic inference. In Proceedings of the 18th international joint conference on artificial intelligence (pp. 985–991).Google Scholar
  6. 6.
    De Raedt L., Kersting K. (2003) Probabilistic logic learning. SIGKDD Explorations 5(1): 31–48CrossRefGoogle Scholar
  7. 7.
    Getoor, L., Taskar, B. (eds) (2007) Introduction to statistical relational learning. MIT Press, CambridgeMATHGoogle Scholar
  8. 8.
    Ng K. S., Lloyd J. W. (2009) Probabilistic reasoning in a classical logic. Journal of Applied Logic 7(2): 218–238. doi:10.1016/j.jal.2007.11.008 CrossRefMATHMathSciNetGoogle Scholar
  9. 9.
    Ng K. S., Lloyd J. W., Uther W. T. B. (2008) Probabilistic modelling, inference and learning using logical theories. Annals of Mathematics and Artificial Intelligence 54: 159–205. doi:10.1007/s10472-009-9136-7 CrossRefMATHMathSciNetGoogle Scholar
  10. 10.
    Fitting M. (2002) Types, tableaus, and Gödel’s God. Kluwer Academic Publishers, DordrechtCrossRefMATHGoogle Scholar
  11. 11.
    Peyton Jones S. (2003) Haskell 98 language and libraries: The revised report. Cambridge University Press, CambridgeGoogle Scholar
  12. 12.
    Lloyd J. W. (1987) Foundations of logic programming (2nd ed.). Springer, New YorkMATHGoogle Scholar
  13. 13.
    Hill P. M., Lloyd J. W. (1994) The Gödel programming language. MIT Press, Cambridge, MAMATHGoogle Scholar
  14. 14.
    Lloyd J.W. (1999) Programming in an integrated functional and logic language. Journal of Functional and Logic Programming 3: 1–49Google Scholar
  15. 15.
    Lloyd J. W. (2003) Logic for learning: Learning comprehensible theories from structured data. Springer, New YorkMATHGoogle Scholar
  16. 16.
    Lloyd, J. W. (2007). Knowledge representation and reasoning in modal higher-order logic. Available at http://rsise.anu.edu.au/~jwl.
  17. 17.
    Muskens R. (2006) Higher order modal logic. In: Blackburn P., van Benthem J., Wolter F. (eds) Handbook of modal logic. Elsevier, AmsterdamGoogle Scholar
  18. 18.
    Andrews P. B. (1986) An introduction to mathematical logic and type theory: To truth through proof. Academic Press, San DiegoMATHGoogle Scholar
  19. 19.
    van Benthem, J., & Doets, K. (1983). Higher-order logic. In D. Gabbay & F. Guenther (Eds.), Handbook of philosophical logic (Vol. 1, pp. 275–330). Reidel.Google Scholar
  20. 20.
    Leivant D. (1994) Higher-order logic. In: Gabbay D., Hogger C., Robinson J., Siekmann J. (eds) Handbook of logic in artificial intelligence and logic programming. Oxford University Press, Oxford, pp 230–321Google Scholar
  21. 21.
    Shapiro S. (2001) Classical logic II—higher-order logic. In: Goble L. (eds) The Blackwell guide to philosophical logic. Blackwell, Oxford, pp 33–54Google Scholar
  22. 22.
    Church A. (1940) A formulation of the simple theory of types. Journal of Symbolic Logic 5: 56–68CrossRefMATHMathSciNetGoogle Scholar
  23. 23.
    Farmer W. (2008) The seven virtues of simple type theory. Journal of Applied Logic 6(3): 267–286CrossRefMATHMathSciNetGoogle Scholar
  24. 24.
    Lloyd J.W., Ng K.S. (2008) Reflections on agent beliefs. In: Baldoni M., Son T.C., Riemsdijk M.B., Winikoff M. (eds) Declarative agent languages and technologies V, fifth international workshop, DALT 2007, LNAI 4897. Springer, New York, pp 122–139CrossRefGoogle Scholar
  25. 25.
    Lloyd J.W., Ng K.S. (2008) Probabilistic and logical beliefs. In: Dastani M., Leite J., ElFallah Seghrouchni A., Torroni P. (eds) Languages, methodologies and development tools for multi-agent systems, international workshop, LADS 2007, LNAI 5118. Springer, New York, pp 19–36CrossRefGoogle Scholar
  26. 26.
    Lloyd, J. W., & Ng, K. S. (2007). Learning modal theories. In S. Muggleton, R. Otero, & A. Tamaddoni-Nezhad (Eds.), Proceedings of the 16th international conference on inductive logic programming, LNAI 4455 (pp. 320–334).Google Scholar
  27. 27.
    Fitting M., Mendelsohn R. L. (1998) First-order modal logic. Kluwer Academic Publishers, DordrechtMATHGoogle Scholar
  28. 28.
    del Cerro L. F., Gasquet O. (2002) A general framework for pattern-driven modal tableaux. Logic Journal of the IGPL 10(1): 51–83CrossRefMATHMathSciNetGoogle Scholar
  29. 29.
    Fitting M. (1990) First-order logic and automated theorem proving. Springer-Verlag, New YorkMATHGoogle Scholar
  30. 30.
    Kohlhase M. (1998) Higher-order automated theorem proving. In: Bibel W., Schmidt P. H. (eds) Automated deduction: A basis for applications. Volume I. Foundations: Calculi and methods. Kluwer Academic Publishers, DordrechtGoogle Scholar
  31. 31.
    Dowek, G. (2001). Higher-order unification and matching. In Handbook of automated reasoning (pp. 1009–1062). Elsevier Science Publishers B.V.Google Scholar
  32. 32.
    Huet G. P. (1975) A unification algorithm for typed λ-calculus. Theoretical Computer Science 1: 27–57CrossRefMathSciNetGoogle Scholar
  33. 33.
    Giese, M. (2001). Incremental closure of free variable tableaux. In R. Goré, A. Leitsch, & T. Nipkow (Eds.), Proceedings of international joint conference on automated reasoning, Siena, Italy, no. 2083 in LNCS (pp. 545–560). Springer-Verlag, New York.Google Scholar
  34. 34.
    Miller, D. A. (1983). Proofs in higher-order logic. Ph.D. thesis, Mathematics Department, Carnegie-Mellon University.Google Scholar
  35. 35.
    Nipkow, T., Paulson, L. C., & Wenzel, M. (2005). Isabelle/HOL: A proof assistant for higher-order logic. No. 2283 in LNCS. Springer-Verlag, New York.Google Scholar
  36. 36.
    Sanner, S. (2008). First-order decision-theoretic planning in structured relational environments. Ph.D. thesis, University of Toronto.Google Scholar
  37. 37.
    Sanner S., Boutilier C. (2009) Practical solution techniques for first-order MDPs. Artificial Intelligence 173: 748–788. doi:10.1016/j.artint.2008.11.003 CrossRefMATHMathSciNetGoogle Scholar
  38. 38.
    Bertsekas D. P., Tsitsiklis J. N. (1996) Neuro-dynamic programming. Athena Scientific, BelmontMATHGoogle Scholar
  39. 39.
    Reiter R. (2001) Knowledge in action: Logical foundations for specifying and implementing dynamical systems. MIT Press, CambridgeMATHGoogle Scholar
  40. 40.
    Riazanov A., Voronkov A. (2002) The design and implementation of Vampire. AI Communications 15(2): 91–110MATHGoogle Scholar
  41. 41.
    Russell S. J., Norvig P. (2002) Artificial intelligence: A modern approach (2nd ed.). Prentice-Hall, Upper Saddle RiverGoogle Scholar
  42. 42.
    Murphy, K. P. (2001). An introduction to graphical models. Technical report.Google Scholar
  43. 43.
    Jordan M. I. (2004) Graphical models. Statistical Science 19: 140–155CrossRefMATHMathSciNetGoogle Scholar
  44. 44.
    Bishop C. M. (2006) Pattern recognition and machine learning. Springer, New YorkMATHGoogle Scholar
  45. 45.
    Xiang Y. (2002) Probabilistic reasoning in multiagent systems: A graphical models approach. Cambridge University Press, CambridgeCrossRefMATHGoogle Scholar
  46. 46.
    Zhang, N. L., & Poole, D. (1994). A simple approach to Bayesian network computations. In Proceedings of the 10th biennial Canadian artificial intelligence conference (pp. 171–178).Google Scholar
  47. 47.
    Kschischang F. R., Frey B. J., Loeliger H. A. (2001) Factor graphs and the sum-product algorithm. IEEE Transactions on Information Theory 47(2): 498–519CrossRefMATHMathSciNetGoogle Scholar
  48. 48.
    Kersting, K., & De Raedt, L. (2007). Bayesian logic programming: Theory and tool. In L. Getoor, & B. Taskar (Eds.), Introduction to statistical relational learning (Chap. 10). MIT Press, Cambridge.Google Scholar
  49. 49.
    Friedman, N., Getoor, L., Koller, D., & Pfeffer, A. (1999). Learning probabilistic relational models. In Proceedings of the 16th international joint conference on artificial intelligence (pp. 1300–1307).Google Scholar
  50. 50.
    de Salvo Braz, R., Amir, E., & Roth, D. (2005). Lifted first-order probabilistic inference. In Proceedings of the 19th international joint conference on artificial intelligence (pp. 1319–1325).Google Scholar
  51. 51.
    de Salvo Braz, R., Amir, E., & Roth, D. (2007). Lifted first-order probabilistic inference. In L. Getoor & B. Taskar (Eds.), Introduction to statistical relational learning (Chap. 15). MIT Press, Cambridge.Google Scholar
  52. 52.
    Grosskreutz, H. (1999). Probabilistic, temporal projections in ConGolog. In Proceedings of IJCAI’99 workshop on robot action planning.Google Scholar
  53. 53.
    Fagin R., Halpern J. Y. (1994) Reasoning about knowledge and probability. Journal of the ACM 41(2): 340–367CrossRefMATHMathSciNetGoogle Scholar
  54. 54.
    Ng R. T., Subrahmanian V. S. (1992) Probabilistic logic programming. Information and Computation 101(2): 150–201CrossRefMATHMathSciNetGoogle Scholar
  55. 55.
    Lakshmanan, L. V. S., & Sadri, F. (1994). Modeling uncertainty in deductive databases. In D. Karagiannis (Ed.), Proceedings of the international conference on database and expert systems applications, DEXA’94 (pp. 724–733).Google Scholar
  56. 56.
    Dekhtyar A., Subrahmanian V. S. (2000) Hybrid probabilistic programs. Journal of Logic Programming 43(3): 187–250CrossRefMATHMathSciNetGoogle Scholar
  57. 57.
    Muggleton S. (1996) Stochastic logic programs. In: De Raedt L. (eds) Advances in inductive logic programming. IOS Press, Amsterdam, pp 254–264Google Scholar
  58. 58.
    Milch, B., Marthi, B., Russell, S., Sontag, D., Ong, D. L., & Kolobov, A. (2005). Blog: Probabilistic models with unknown objects. In L. Kaelbling & A. Saffiotti (Eds.), Proceedings of the 19th international joint conference on artificial intelligence (pp. 1352–1359).Google Scholar
  59. 59.
    Ramsey, N., & Pfeffer, A. (2002). Stochastic lambda calculus and monads of probability distributions. In Proceedings of 29th annual ACM symposium on principles of programming languages. SIGPLAN Notices, 37(1), 154–165.Google Scholar
  60. 60.
    Cole, J. J., Gray, M., Lloyd, J. W., & Ng, K. S. (2005). Personalisation for user agents. In F. Dignum, et al. (Eds.), Fourth international joint conference on autonomous agents and multi agent systems (AAMAS 05) (pp. 603–610).Google Scholar
  61. 61.
    Rivest R. L. (1987) Learning decision lists. Machine Learning 2(3): 229–246Google Scholar
  62. 62.
    Kalman R. (1960) A new approach to linear filtering and prediction problems. Transactions of the ASME: Journal of Basic Engineering 82(D): 35–45Google Scholar
  63. 63.
    Doucet, A. (1998). On sequential simulation-based methods for Bayesian filtering. Technical report TR310. Department of Engineering, University of Cambridge.Google Scholar
  64. 64.
    Arulampalam S., Maskell S., Gordon N., Clapp T. (2002) A tutorial on particle filters for online nonlinear/non-Gaussian Bayesian tracking. IEEE Transactions on Signal Processing 50: 174–188CrossRefGoogle Scholar
  65. 65.
    Henkin L. (1950) Completeness in the theory of types. Journal of Symbolic Logic 15(2): 81–91CrossRefMATHMathSciNetGoogle Scholar
  66. 66.
    Ebbinghaus H., Flum J., Thomas W. (1984) Mathematical logic. Springer-Verlag, New YorkMATHGoogle Scholar
  67. 67.
    Bordini, R.H., Dastani, M., Dix, J., ElFallah Seghrouchni, A. (eds) (2005) Multi-agent programming: languages, platforms and applications. Springer, New YorkMATHGoogle Scholar
  68. 68.
    Bordini R. H., Braubach L., Dastani M., El Fallah Seghrouchni A., Gomez-Sanz J. J., Leite J., O’Hare G., Pokahr A., Ricci A. (2006) A survey of programming languages and platforms for multi-agent systems. Informatica 30: 33–44MATHGoogle Scholar
  69. 69.
    Rao, A. (1996). AgentSpeak(L): BDI agents speak out in a logical computable language. In W. V. de Velde & J. Perram (Eds.), Proceedings of the 7th workshop on modelling autonomous agents in a multi-agent world, LNAI 1038 (pp. 42–55). Springer-Verlag, New York.Google Scholar
  70. 70.
    Bordini, R., Hübner, J., & Vieira, R. (2005). Jason and the golden fleece of agent-oriented programing. In R. Bordini, M. Dastani, J. Dix, & A. El Fallah Seghrouchni (Eds.), Multi-agent programming: languages, platforms and applications (Chap. 1, pp. 3–37). Springer, New York.Google Scholar
  71. 71.
    Hindriks K., de Boer F., van der Hock W., Meyer J. J. C. (1999) Agent programming in 3APL. Journal of Autonomous Agents and Multi-Agent Systems 2(4): 357–401CrossRefGoogle Scholar
  72. 72.
    Leite J., Alferes J., Pereira L. (2002) MINERVA—a dynamic logic programming agent architecture. In: Meyer J.J., Tambe M. (eds) Intelligent agents VIII—agent theories, architectures, and languages, LNAI 2333. Springer, New York, pp 141–157Google Scholar
  73. 73.
    Leite J.A., Alferes J.J., Pereira L.M. (2001) Multi-dimensional dynamic knowledge representation. In: Eiter T., Faber W., Truszczynski M. (eds) Proceedings of the 6th international conference on logic programming and nonmonotonic reasoning, LNAI 2173. Springer, New York, pp 365–378Google Scholar
  74. 74.
    Dix, J., & Zhang, Y. (2005). IMPACT: A multi-agent framework with declarative semantics. In R. Bordini, M. Dastani, J. Dix, & A. El Fallah Seghrouchni (Eds.), Multi-agent programming: languages, platforms and applications (Chap. 3, pp. 69–94). Springer, New York.Google Scholar
  75. 75.
    Dix, J., Kraus, S., & Subrahmanian, V. (2002). Agents dealing with time and complexity. In M. Gini, T. Ishida, C. Castelfranchi, & W. Johson (Eds.), Proceedings of the international joint conference on autonomous agents and multiagent systems (pp. 912–919).Google Scholar
  76. 76.
    Fisher M. (2005) METATEM: The story so far. In: Bordini R., Dastani M., Dix J., ElFallah Seghrouchni A. (eds) Proceedings of the third international workshop on programming multiagent systems (ProMAS-03), LNAI 3862. Springer, New York, pp 3–22Google Scholar
  77. 77.
    Clark K. L., McCabe F. G. (2004) Go!—a multi-paradigm programming language for implementing multi-threaded agents. Annals of Mathematics and Artificial Intelligence 41(2–4): 171–206CrossRefMATHGoogle Scholar
  78. 78.
    Peyton Jones S. L. (1987) The implementation of functional programming languages. Prentice-Hall, New YorkMATHGoogle Scholar
  79. 79.
    Clark K. (1978) Negation as failure. In: Gallaire H., Minker J. (eds) Logic and databases. Plenum Press, New York, pp 293–322Google Scholar
  80. 80.
    Orgun, M. A., & Ma, W. (1994). An overview of temporal and modal logic programming. In D. Gabbay & H. Ohlbach (Eds.), Proceedings of the first international conference on temporal logics (ICTL’94), LNAI (Vol. 827, pp. 445–479). Springer, New York.Google Scholar
  81. 81.
    Gergatsoulis, M. (2001). Temporal and modal logic programming languages. In A. Kent & J. Williams (Eds.), Encyclopedia of microcomputers (Vol. 27, pp. 393–408). Marcel Dekker, New York.Google Scholar
  82. 82.
    Nguyen L. A. (2006) Multimodal logic programming. Theoretical Computer Science 360: 247–288CrossRefMATHMathSciNetGoogle Scholar
  83. 83.
    Gallin D. (1998) Intensional and higher-order modal logic. Kluwer Academic Publishers, DordrechtGoogle Scholar
  84. 84.
    Nanevski, A. (2004). Functional programming with names and necessity. Ph.D. thesis, School of Computer Science, Carnegie Mellon University.Google Scholar
  85. 85.
    Fairtlough M., Mendler M., Moggi E. (2001) Special issue: Modalities in type theory. Mathematical Structures in Computer Science 11: 507–509CrossRefGoogle Scholar
  86. 86.
    Nadathur G., Miller D. (1998) Higher-order logic programming. In: Gabbay D., Hogger C., Robinson A. (eds) Handbook of logic in AI and logic programming, Vol. 5: Logic programming. Oxford University Press, OxfordGoogle Scholar
  87. 87.
    Hanus, M. (Ed.) Curry: An integrated functional logic language. http://www.informatik.uni-kiel.de/~curry.
  88. 88.
    Hanus M. (1994) The integration of functions into logic programming: From theory to practice. Journal of Logic Programming 19&20: 583–628CrossRefMathSciNetGoogle Scholar
  89. 89.
    Hanus, M. (2007). Multi-paradigm declarative languages. In Proceedings of the international conference on logic programming (ICLP 2007), LNCS 4670 (pp. 45–75). Springer, New York.Google Scholar
  90. 90.
    Puterman M. (1994) Markovian decision problems. Wiley, New YorkCrossRefGoogle Scholar
  91. 91.
    Ng, K. S. (2005). Learning comprehensible theories from structured data. Ph.D. thesis, Computer Sciences Laboratory, The Australian National University.Google Scholar
  92. 92.
    Gretton, C., & Thiébaux, S. (2004) Exploiting first-order regression in inductive policy selection. In Proceedings of the 20th conference on uncertainty in artificial intelligence. Morgan Kaufmann, San Mateo.Google Scholar
  93. 93.
    Bridle, R., & McCreath, E. (2004). Improving the learning rate by inducing a transition model. In Proceedings of the 3rd international joint conference on autonomous agents and multi agent systems (pp. 1330–1331).Google Scholar
  94. 94.
    Cole, J. J., Lloyd, J. W., & Ng, K. S. (2003). Symbolic learning for adaptive agents. In Annual partner conference, Smart Internet Technology Cooperative Research Centre (pp. 139–148).Google Scholar
  95. 95.
    Phung, T., Winikoff, M., & Padgham, L. (2005). Learning within the BDI framework: An empirical analysis. In Proceedings of the international conference on knowledge-based and intelligent information and engineering systems.Google Scholar
  96. 96.
    Nguyen, A., & Wobcke, W. (2005). An agent-based approach to dialogue management in personal assistants. In Proceedings of the international conference on intelligent user interfaces (pp. 137–144).Google Scholar
  97. 97.
    Nguyen, A., & Wobcke, W. (2006). An adaptive plan-based dialogue agent: Integrating learning into a BDI architecture. In Proceedings of the international joint conference on autonomous agents and multiagent systems (pp. 785–788).Google Scholar
  98. 98.
    Lespérance Y., Levesque H., Lin F., Marcu D., Reiter R., Scherl R. (1996) Foundations of a logical approach to agent programming. In: Wooldridge M., Müller J., Tambe M. (eds) Intelligent agents II: Agent theories, architectures, and languages, LNAI 1037. Springer, New York, pp 331–346Google Scholar
  99. 99.
    Thielscher M. (2005) FLUX: A logic programming method for reasoning agents. Theory and Practice of Logic Programming 5(4–5): 533–565CrossRefMATHGoogle Scholar
  100. 100.
    Goodman N., Mansinghka V.K., Roy D., Bonawitz K., Tenenbaum J.B. (2008) Church: A language for generative models. In: McAllester D.A., Myllymäki P. (eds) Proceedings of the 24th conference in uncertainty in artificial intelligence. AUAI Press, Corvallis, pp 220–229Google Scholar
  101. 101.
    Zettlemoyer, L. S., Pasula, H. M., & Kaelbling, L. P. (2007). Logical particle filtering. In Proceedings of the Dagstuhl seminar on probabilistic, logical, and relational learning.Google Scholar
  102. 102.
    Hajishirzi, H., & Amir, E. (2008). Sampling first order logical particles. In Proceedings of UAI-08 (pp. 248–255).Google Scholar

Copyright information

© The Author(s) 2010

Authors and Affiliations

  1. 1.College of Engineering and Computer ScienceThe Australian National UniversityCanberraAustralia

Personalised recommendations