Skip to main content
Log in

Symbolic computational techniques for solving games

  • Special section on Bounded Model Checking
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

Games are useful in modular specification and analysis of systems where the distinction among the choices controlled by different components (for instance, the system and its environment) is made explicit. In this paper, we formulate and compare various symbolic computational techniques for deciding the existence of winning strategies. The game structure is given implicitly, and the winning condition is either a reachability game of the form “p until q” (for state predicates p and q) or a safety game of the form “Always p.”

For reachability games, the first technique employs symbolic fixed-point computation using ordered binary decision diagrams (BDDs) [9]. The second technique checks for the existence of strategies that ensure winning within k steps, for a user-specified bound k, by reduction to the satisfiability of quantified boolean formulas. Finally, the bounded case can also be solved by reduction to satisfiability of ordinary boolean formulas, and we discuss two techniques, one based on encoding the strategy tree and one based on encoding a witness subgraph, for reduction to Sat. We also show how some of these techniques can be adopted to solve safety games. We compare the various approaches by evaluating them on two examples for reachability games, and on an interface synthesis example for a fragment of TinyOS [15] for safety games. We use existing tools such as Mocha [4], Mucke [7], Semprop [19], Qube [12], and Berkmin [13] and contrast the results.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alur R, de Alfaro L, Henzinger T, Mang F (1999) Automating modular verification. In: Proceedings of the 10th international conference on concurrency theory. Lecture notes in computer science, vol 1664. Springer, Berlin Heidelberg New York, pp 82–97

  2. Alur R, Cerny P, Madhusudan P, Nam W (2005) Synthesis of interface specifications for Java classes. In: Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, POPL ’05, Long Beach, California, USA. ACM Press, pp 98–109. ISBN 1-58113-830-X, DOI http://doi.acm.org/10.1145/1040305.1040314

  3. Alur R, Henzinger TA, Kupferman O (2002) Alternating-time temporal logic. J ACM 49(5):1–42

    Article  MathSciNet  Google Scholar 

  4. Alur R, Henzinger TA, Mang FYC, Qadeer S, Rajamani SK, Tasiran S (1998) Mocha: modularity in model checking. In: Proceedings of the 10th internationall conference on computer-aided verification. Lecture notes in computer science, vol 1427. Springer, Berlin Heidelberg New York, pp 521–525

  5. Arnold A, Niwinski D (2001) Rudiments of μ-calculus. Elsevier, Amsterdam

  6. Bertoli P, Cimatti A, Pistore M, Roveri M, Traverso P (2001) MBP: a model-based planner. In: Proceedings of the IJCAI-2001 workshop on Planning under Uncertainty and Incomplete Information, Seattle, USA, August 2001, pp 93–97

  7. Biere A (1997) μcke – efficient μ-calculus model checking. In: Proceedings of the 9th internationall conference on computer-aided verification. Lecture notes in computer science, vol 1254. Springer, Berlin Heidelberg New York, pp 468–471

  8. Biere A, Cimatti A, Clarke EM, Zhu Y (1999) Symbolic model checking without BDDs. In: Proceedings of the internationall conference on tools and algorithms for the analysis and construction of systems (TACAS’99). Lecture notes in computer science, vol 1579. Springer, Berlin Heidelberg New York, pp 193–207

  9. Bryant RE (1986) Graph-based algorithms for boolean function manipulation. IEEE Trans Comput 35(8):677–691

    Article  Google Scholar 

  10. Chakrabarti A, de Alfaro L, Henzinger TA, Jurdzinski M, Mang FYC (2002) Interface compatibility checking for software modules. In: Proceedings of the 14th internationall conference on computer-aided verification. Lecture notes in computer science, vol 2404. Springer, Berlin Heidelberg New York, pp 428–441

  11. Church A (1963) Logic, arithmetics, and automata. In: Proceedings of the international congress of mathematicians, 1962, Institut Mittag-Leffler, Djursholm, Sweden, pp 23–35

  12. Giunchiglia E, Narizzano M, Tacchella A (2001) QUBE: A system for deciding quantified boolean formulas satisfiability. In: Proceedings of the international joint conference on automated reasoning (IJCAR’01), pp 364–369

  13. Goldberg E, Novikov Y (2002) BerkMin: a fast and robust SAT solver. In: Proceedings of Design Automation and Test in Europe (DATE’02), pp 142–149

  14. Gupta A, Ganai M, Wang C, Yang Z, Ashar PN (2003) Learning from BDDs in SAT-based bounded model checking. In: Proceedings of the 40th conference on Design automation (DAC ’03), Anaheim CA, USA. ACM Press, pp 824–829. ISBN 1-58113-688-9, DOI http://doi.acm.org/10.1145/775832.776040

  15. Hill J, Szewczyk R, Woo A, Hollar S, Culler DE, Pister KSJ (2000) System Architecture Directions for Networked Sensors. Architectural Support for Programming Languages and Operating Systems, pp 93–104. citeseer.ist.psu.edu/382595.html

  16. Jensen R, Veloso M (2000) OBDD-based universal planning for synchronized agents in non-deterministic domains. J Artif Intell Res 13:189–226

    Google Scholar 

  17. Junttila T (2003) Boolean circuit package version 0.20. http://www.tcs.hut.fi/∼tjunttil/circuits/index.html

  18. Kupferman O, Vardi MY (1996) Module checking. In: Proceedings of the 8th internationall conference on computer-aided verification. Lecture notes in computer science, vol 1102. Springer, Berlin Heidelberg New York, pp 75–86

  19. Lets R (2002) Lemma and model caching in decision procedures for quantified boolean formulas. In: Proceedings of Automated Reasoning with Analytic Tableaux and Related Methods. Lecture notes in computer science, vol 2381. Springer, Berlin Heidelberg New York, pp 160–175

  20. McMillan KL (1993) Symbolic model checking. Kluwer, Dordrecht

  21. McMillan KL (2002) Applying SAT methods in unbounded symbolic model checking. In: Proceedings of the 14th international conference on computer-aided verification. Lecture notes in computer science, vol 2404. Springer, Berlin Heidelberg New York, pp 250–264

  22. Moskewicz M, Madigan C, Zhao Y, Zhang L, Malik S (2001) Chaff: engineering an efficient SAT solver. In: Proceedings of the 38th conference on design automation (DAC’01), pp 530–535

  23. Ramadge PJG, Wonham WM (1989) The control of discrete event systems. Proc IEEE 77:81–98

    Article  Google Scholar 

  24. Rintanen J (1999) Improvements to the evaluation of quantified boolean formulae. In: Proceedings of the 16th international joint conference on artificial intelligence. Morgan Kaufmann, San Francisco, pp 1192–1197

  25. Rintanen J (1999) Constructing conditional plans by a theorem prover. J Artif Intell Res 10:323–352

    MathSciNet  Google Scholar 

  26. Thomas W (2002) Infinite games and verification. In: Proceedings of the 14th internationall conference on computer-aided verification. Lecture notes in computer science, vol 2404. Springer, Berlin Heidelberg New York, pp 58–64

  27. Wallmeier N, Hütten P, Thomas W (2003) Symbolic synthesis of finite-state controllers for request-response specifications. In: Proceedings of the 8th internationall conference on the implementation and application of automata (CIAA’03). Lecture notes in computer science, vol 2759. Springer, Berlin Heidelberg New York, pp 11–22

  28. Zhang L, Malik S (2002) Conflict driven learning in a quantified Boolean Satisfiability solver. In: Proceedings of the 2002 IEEE/ACM international conference on Computer-aided design (ICCAD ’02), San Jose, California. ACM Press, pp 442–449. ISBN 0-7803-7607-2, DOI http://doi.acm.org/10.1145/774572.774637

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rajeev Alur.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Alur, R., Madhusudan, P. & Nam, W. Symbolic computational techniques for solving games. Int J Softw Tools Technol Transfer 7, 118–128 (2005). https://doi.org/10.1007/s10009-004-0179-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-004-0179-0

Keywords

Navigation