Games for Controller Synthesis

Size: px
Start display at page:

Download "Games for Controller Synthesis"

Transcription

1 Games for Controller Synthesis Laurent Doyen EPFL MoVeP 08

2 The Synthesis Question Given a plant P Tank Thermometer Gas burner

3 The Synthesis Question Given a plant P and a specification φ, Tank Thermometer Maintain the temperature in the range [T min,t max ]. Gas burner

4 The Synthesis Question Given a plant P and a specification φ, is there a controller C such that the closed-loop system C P satisfies φ? Tank Thermometer Maintain the temperature in the range [T min,t max ].? Gas burner Digital controller

5 Synthesis as a game Given a plant P and a specification φ, is there a controller C such that the closed-loop system C P satisfies φ? Inputs a Plant a? Specification Outputs u u! ϕ ϕ1( a1, u1) ϕ2( a2, u2) Plant: 2-players game arena Input (Player 1, System, Controller) vs. Output (Player 2, Environment, Plant) Specification: game objective for Player 1

6 The Synthesis Question Given a plant P and a specification φ, is there a controller C such that the closed-loop system C P satisfies φ? Controller? Controllable actions a a u u Uncontrollable actions Plant a? u! Specification ϕ ϕ1( a1, u1) ϕ2( a2, u2) If a controller C exists, then construct such a controller.

7 Synthesis as a game Controllable actions Controller a a? u u Uncontrollable actions Plant: 2-players game arena Specification: game objective for Player 1 Controller: winning strategy for Player 1 Plant a? u! Specification ϕ ϕ1( a1, u1) ϕ2( a2, u2) We are often interested in simple controllers: finite-state, or even stateless (memoryless). We are also often interested in least restrictive controllers.

8 Example Objective: avoid Bad? hot! cold! Uncontrollable actions

9 Example Objective: avoid Bad? hot! delay? on?, off? cold! Uncontrollable actions

10 Example Objective: avoid Bad off?? hot! cold! delay? delay? on?, off? on?, delay? off?, delay? Uncontrollable actions on?

11 Example Objective: avoid Bad off? hot delay cold delay on Winning strategy = Controller

12 Games for Synthesis Several types of games: Turn-based vs. Concurrent Perfect-information vs. Partial information Sure vs. Almost-sure winning Objective: graph labelling vs. monitor Timed vs. untimed Stochastic vs. deterministic etc. This tutorial: Games played on graphs, 2 players, turn-based, ω-regular objectives.

13 Games for Synthesis This tutorial: Games played on graphs, 2 players, turn-based, ω-regular objectives. Outline Part #1: perfect-information Part #2: partial-information

14 Two-player game structures

15

16 Rounded states belong to Player 1

17 Rounded states belong to Player 1 Square states belong to Player 2

18 belongs to Player 1 belongs to Player 2 Playing the game: the players move a token along the edges of the graph The token is initially in v 0. In rounded states, Player 1 chooses the next state. In square states, Player 2 chooses the next state.

19 belongs to Player 1 belongs to Player 2 Play: v 0

20 belongs to Player 1 belongs to Player 2 Play: v 0 v 1

21 belongs to Player 1 belongs to Player 2 Play: v 0 v 1 v 3

22 belongs to Player 1 belongs to Player 2 Play: v 0 v 1 v 3 v 0

23 belongs to Player 1 belongs to Player 2 Play: v 0 v 1 v 3 v 0 v 2

24 A 2-player game graph consists of: Two-player game graphs

25 Two-player game graphs A play in is an infinite sequence such that:

26 Who is winning? Play: v 0 v 1 v 3 v 0 v 2

27 Who is winning? Play: v 0 v 1 v 3 v 0 v 2 A winning condition for Player k is a set of plays.

28 Who is winning? A winning condition for Player k is a set of plays. A 2-player game is zero-sum if.

29 Winning condition A winning condition for Player k is a set of plays. Reachability

30 Winning condition A winning condition for Player k is a set of plays. Reachability Safety

31 Winning condition A winning condition for Player k is a set of plays. B C Reachability Safety Büchi cobüchi

32 Remark A winning condition for Player k is a set of plays. p=4 p=1 p=3 p=1 p=0 p=2 p=0 p=3 p=1 p=2

33 Strategies Players use strategies to play the game, i.e. to choose the successor of the current state. A strategy for Player k is a function:

34 Strategies outcome Graph: nondeterministic generator of behaviors. Strategy: deterministic selector of behavior. Graph + Strategies for both players Behavior

35 Strategies outcome

36 Winning strategies Given a game G and winning conditions W 1 and W 2, a strategy λ k is winning for Player k in (G,W k ) if for all strategies λ 3-k of Player 3-k, the outcome of {λ k, λ 3-k } in G is a winning play of W k. Player 1 is winning if Player 2 is winning if

37 Winning strategies = Controllers that enforce winning plays

38 Symbolic algorithms to solve games

39 Controllable predecessors

40 Controllable predecessors

41 Controllable predecessors

42 Controllable predecessors

43 Symbolic algorithm to solve safety games

44 Solving safety games To win a safety game, Player 1 should be able to force the game to be in at every step.

45 Solving safety games To win a safety game, Player 1 should be able to force the game to be in at every step. States in which Player 1 can force the game to stay in for the next: 0 step:

46 Solving safety games To win a safety game, Player 1 should be able to force the game to be in at every step. States in which Player 1 can force the game to stay in for the next: 0 step: 1 step:

47 Solving safety games To win a safety game, Player 1 should be able to force the game to be in at every step. States in which Player 1 can force the game to stay in for the next: 0 step: 1 step: 2 steps:

48 Solving safety games To win a safety game, Player 1 should be able to force the game to be in at every step. States in which Player 1 can force the game to stay in for the next: 0 step: 1 step: 2 steps:

49 Solving safety games To win a safety game, Player 1 should be able to force the game to be in at every step. States in which Player 1 can force the game to stay in for the next: 0 step: 1 step: 2 steps:

50 Solving safety games To win a safety game, Player 1 should be able to force the game to be in at every step. States in which Player 1 can force the game to stay in for the next: 0 step: 1 step: 2 steps:

51 Solving safety games To win a safety game, Player 1 should be able to force the game to be in at every step. States in which Player 1 can force the game to stay in for the next: 0 step: 1 step: 2 steps: n steps:

52 Solving safety games

53 Solving safety games

54 Solving safety games

55 Solving safety games

56 Solving safety games

57 Solving safety games

58 Solving safety games

59 Solving safety games

60 Solving safety games This is the set of states from which Player 1 can confine the game in forever no matter how Player 2 behaves.

61 Solving safety games is a solution of the set-equation and it is the greatest solution.

62 Solving safety games is a solution of the set-equation and it is the greatest solution. We say that is the greatest fixpoint of the function, written: greatest fixpoint operator

63 On fixpoint computations

64 Partial order A partially ordered set is a set equipped with a partial order, i.e. a relation such that: is not necessarily total, i.e. there can be such that and.

65 Partial order Let. is an upper bound of if for all. is a least upper bound of if (1) is an upper bound of, and (2) for all upper bounds of. Note: if has a least upper bound, then it is unique (by anti-symmetry), and we write.

66 Partial order Examples: has no

67 Partial order Examples: has no

68 Partial order A set is a chain if The partially ordered set is complete if (1) has a lub, written, and (2) every chain has a lub.

69 Fixpoints Let be a function. is monotonic if implies. is continuous if(1) is monotonic, and (2) for every chain. where Note: is a chain (i.e. ) by monotonicity, and therefore exists.

70 Fixpoints Let be a function. is a fixpoint of if is a least fixpoint of if (1) is a fixpoint of, and (2) for all fixpoints of.

71 Kleene-Tarski Theorem Let be a partially ordered set. If is a complete partial order, and is a continuous function, then has a least fixpoint, denoted and Proof: exercise.

72 Kleene-Tarski Theorem Let be a partially ordered set. If is a complete partial order, and is a continuous function, then has a least fixpoint, denoted and Proof: exercise. Over finite sets S, all monotonic functions are continuous.

73 Kleene-Tarski Theorem Let be a partially ordered set. If is a complete partial order, and and The greatest fixpoint of can be defined dually by where is the greatest lower bound is a continuous function, then operator (dual of ) and has a least fixpoint, denoted Proof: exercise. Over finite sets S, all monotonic functions are continuous.

74 Safety game Winning states of a safety game: Limit of the iterations: Partial order: with.

75 Symbolic algorithm to solve reachability games

76 Solving reachability games To win a reachability game, Player 1 should be able to force the game be in after finitely many steps.

77 Solving reachability games To win a reachability game, Player 1 should be able to force the game be in after finitely many steps. Let be the set of states from which Player 1 can force the game to be in within at most steps:

78 Solving reachability games Tthe limit of this iteration is the least fixpoint of the function, written: least fixpoint operator

79 Symbolic algorithms Let be a 2-player game graph. Theorem Player 1 has a winning strategy

80 Remarks (I) Memoryless strategies are always sufficient to win parity games, and therefore also for safety, reachability, Büchi and cobüchi objectives.

81 Remarks (I) A memoryless winning strategy

82 Remarks (II) Parity games are determined: in every state, either Player 1 or Player 2 has a winning strategy.

83 Remarks (II) Parity games are determined: in every state, either Player 1 or Player 2 has a winning strategy. Determinacy says: More generally, zero-sum games with Borel objectives are determined [Martin75].

84 Remarks (II) For instance, since, Player 1 does not win iff Player 2 wins. Claim: if, then Proof: exercise Hint: show that

85 Remarks (II)

86 Remarks (II) States in which Player 1 wins for. States in which Player 2 wins for.

87 Games of imperfect information

88 The Synthesis Question off hot delay on, delay cold delay on, off off, delay? on The controller knows the state of the plant ( perfect information ). This, however, is often unrealistic. Sensors provide partial information (imprecision), Sensors have internal delays, Some variables of the plant are invisible, etc.

89 Imperfect information Observations Obs 0 off hot delay on, delay on, off cold delay off, delay on

90 Imperfect information Observations Obs 0 Obs 1 off hot delay on, delay on, off cold delay off, delay on

91 Imperfect information Observations Obs 0 Obs 1 off Obs 2 hot delay on, delay on, off cold delay off, delay on

92 Imperfect information Observations Obs 0 Obs 1 off Obs 2 hot delay on, delay on, off cold delay off, delay on When observing Obs 2, there is no unique good choice: memory is necessary

93 Player 2 states Nondeterminism off delay on, delay on, off delay off, delay on Playing the game: Player 2 moves a token along the edges of the graph, Player 1 does not see the position of the token. Player 1 chooses an action (on, off, delay), and then Player 2 resolves the nondeterminism and announces the color of the state.

94 off delay on, delay on, off delay off, delay on Player 2: Player 1:

95 off delay on, delay on, off delay off, delay on Player 2: v 1 chooses v 1, announces Obs 0 Player 1:

96 off delay on, delay on, off delay off, delay on Player 2: v 1 delay Player 1: delay plays action delay

97 off delay on, delay on, off delay off, delay on Player 2: v 1 delay v chooses v 3 3, announces Obs 2 Player 1: delay

98 off delay on, delay on, off delay off, delay on Player 2: v 1 delay v 3 off Player 1: delay off

99 off delay on, delay on, off delay off, delay on Player 2: v 1 delay v 3 off v 2 Player 1: delay off

100 Imperfect information A game graph + Observation structure off on delay delay on, off on, delay off, delay

101 Strategies Player 1 chooses a letter in, Player 2 resolves nondeteminisim. An observation-based strategy for Player 1 is a function: A strategy for Player 2 is a function:

102 Outcome

103 Winning strategies A winning condition for Player 1 is a set of sequences of observations. The set defines the set of winning plays: Player 1 is winning if

104 Solving games of imperfect information

105 Imperfect information Games of imperfect information can be solved by a reduction to games of perfect information. G,Obs G Winning region Imperfect information Perfect information subset construction classical techniques

106 Subset construction After a finite prefix of a play, Player 1 has a partial knowledge of the current state of the game: a set of states, called a cell.

107 Subset construction After a finite prefix of a play, Player 1 has a partial knowledge of the current state of the game: a set of states, called a cell. Initial knowledge: cell

108 Subset construction After a finite prefix of a play, Player 1 has a partial knowledge of the current state of the game: a set of states, called a cell. Initial knowledge: cell Player 1 plays σ, Player 2 chooses v 2. Current knowledge: cell

109 Subset construction Imperfect information Perfect information State space Initial state

110 Transitions Subset construction

111 Transitions Subset construction

112 Parity condition Subset construction

113 Subset construction Parity condition Theorem Player 1 is winning in G,p if and only if Player 1 is winning in G,p.

114 Imperfect information G,Obs G Winning region Imperfect information Perfect information subset construction Exponential blow-up classical techniques

115 Imperfect information G,Obs G Winning region Imperfect implicit Perfect information information Direct symbolic algorithm

116 Symbolic algorithm Controllable predecessor: set of cells set of cells

117 Symbolic algorithm Obs 1 Obs 2 The union of two controllable cells is not necessarily controllable, but

118 Symbolic algorithm If a cell s is controllable (i.e. winning for Player 1), then all sub-cells s s are controllable. copy the strategy from s

119 Symbolic algorithm The sets of cells computed by the fixpoint iterations are downward-closed.

120 Symbolic algorithm The sets of cells computed by the fixpoint iterations are downward-closed. It is sufficient to keep only the maximal cells.

121 Antichains

122 Antichains

123 Antichains is monotone with respect to the following order: Least upper bound and greatest lower bound are defined by:

124 Symbolic algorithms Let be a 2-player game graph of imperfect information, and a set of observations. Games of imperfect information can be solved by the same fixpoint formulas as for perfect information, namely: Theorem Player 1 has a winning strategy

125 Solving safety games o 1 o 2 o 3

126 Solving safety games o 1 o 2 o 3 Has Player 1 an observation-based strategy to avoid v 3? We compute the fixpoint

127 Solving safety games

128 Solving safety games

129 Solving safety games

130 Solving safety games

131 Solving safety games

132 Solving safety games

133 Solving safety games

134 Solving safety games

135 Solving safety games Fixed point

136 Solving safety games Fixed point Player 1 is winning since

137 Solving safety games Fixed point A winning strategy:

138 Remarks 1. Finite memory may be necessary to win safety and reachability games of imperfect information, and therefore also for Büchi, cobüchi, and parity objectives.

139 Remarks 1. Finite memory may be necessary to win safety and reachability games of imperfect information, and therefore also for Büchi, cobüchi, and parity objectives. 2. Games of imperfect information are not determined.

140 Non determinacy o 1 o 2 Any fixed strategy of Player 1 can be spoiled by a strategy of Player 2 as follows: In : chooses if in the next step plays b, and chooses if in the next step plays a.

141 Non determinacy o 1 o 2 Player 1 cannot enforce. Similarly, Player 2 cannot enforce. because when a strategy of Player 2 is fixed, either or is a spoiling strategy for Player 1.

142 Remarks 1. Finite memory may be necessary to win safety and reachability games of imperfect information, and therefore also for Büchi, cobüchi, and parity objectives. 2. Games of imperfect information are not determined. 3. Randomized strategies are more powerful, already for reachability objectives.

143 Randomization o 1 o 2 The following strategy of Player 1 wins with probability 1: At every step, play and uniformly at random. After each visit to {v 1,v 2 }, no matter the strategy of Player 2, Player 1 has probability to win (reach v 3 ).

144 Summary

145 Conclusion Games for controller synthesis: symbolic algorithms using fixpoint formulas. Imperfect information is more realistic, gives more robust controllers; but exponentially harder to solve. Antichains: exploit the structure of the subset construction.

146 Conclusion Games for controller synthesis: symbolic algorithms using fixpoint formulas. Imperfect information is more realistic, gives more robust controllers; but exponentially harder to solve. Antichains: exploit the structure of the subset construction. It is sufficient to keep only the maximal elements.

147 Conclusion The antichain principle has applications in other problems where subset constructions are used: Finite automata: language inclusion, universality, etc. [De Wulf,D,Henzinger,Raskin 06] Alternating Büchi automata: emptiness and language inclusion. [D,Raskin 07] LTL: satisfiability and model-checking. [De Wulf,D,Maquet,Raskin 08]

148 Alaska Antichains for Logic, Automata and Symbolic Kripke Structure Analysis

149 Acknowledgments Credits Antichains for games is a joint work with Krishnendu Chatterjee, Martin De Wulf, Tom Henzinger and Jean-François Raskin. Special thanks to Jean-François Raskin for slides preparation.

150 Thank you! Questions?

151

Static analysis of parity games: alternating reachability under parity

Static analysis of parity games: alternating reachability under parity 8 January 2016, DTU Denmark Static analysis of parity games: alternating reachability under parity Michael Huth, Imperial College London Nir Piterman, University of Leicester Jim Huan-Pu Kuo, Imperial

More information

Reliability Guarantees in Automata Based Scheduling for Embedded Control Software

Reliability Guarantees in Automata Based Scheduling for Embedded Control Software 1 Reliability Guarantees in Automata Based Scheduling for Embedded Control Software Santhosh Prabhu, Aritra Hazra, Pallab Dasgupta Department of CSE, IIT Kharagpur West Bengal, India - 721302. Email: {santhosh.prabhu,

More information

Static Program Transformations for Efficient Software Model Checking

Static Program Transformations for Efficient Software Model Checking Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major

More information

Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary

Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary Today s Agenda Quiz 4 Temporal Logic Formal Methods in Software Engineering 1 Automata and Logic Introduction Buchi Automata Linear Time Logic Summary Formal Methods in Software Engineering 2 1 Buchi Automata

More information

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March

More information

Testing LTL Formula Translation into Büchi Automata

Testing LTL Formula Translation into Büchi Automata Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland

More information

A Partial-Observation Stochastic Games: How to Win when Belief Fails

A Partial-Observation Stochastic Games: How to Win when Belief Fails A Partial-Observation Stochastic Games: How to Win when Belief Fails Krishnendu Chatterjee, IST Austria Laurent Doyen, LSV, ENS Cachan & CNRS, France In two-player finite-state stochastic games of partial

More information

Model Checking: An Introduction

Model Checking: An Introduction Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI

More information

T-79.186 Reactive Systems: Introduction and Finite State Automata

T-79.186 Reactive Systems: Introduction and Finite State Automata T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software

More information

Doomsday Equilibria for Games on Graphs

Doomsday Equilibria for Games on Graphs Doomsday Equilibria for Games on Graphs Krishnendu Chatterjee Laurent Doyen IST Austria LSV, ENS Cachan & CNRS Emmanuel Filiot Jean-François Raskin Université Libre de ruxelles U.L.. Two-player games on

More information

Reading 13 : Finite State Automata and Regular Expressions

Reading 13 : Finite State Automata and Regular Expressions CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model

More information

Automata-based Verification - I

Automata-based Verification - I CS3172: Advanced Algorithms Automata-based Verification - I Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2006 Supporting and Background Material Copies of key slides (already

More information

Class notes Program Analysis course given by Prof. Mooly Sagiv Computer Science Department, Tel Aviv University second lecture 8/3/2007

Class notes Program Analysis course given by Prof. Mooly Sagiv Computer Science Department, Tel Aviv University second lecture 8/3/2007 Constant Propagation Class notes Program Analysis course given by Prof. Mooly Sagiv Computer Science Department, Tel Aviv University second lecture 8/3/2007 Osnat Minz and Mati Shomrat Introduction This

More information

Regular Expressions and Automata using Haskell

Regular Expressions and Automata using Haskell Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions

More information

The Model Checker SPIN

The Model Checker SPIN The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(

More information

Measuring the Performance of an Agent

Measuring the Performance of an Agent 25 Measuring the Performance of an Agent The rational agent that we are aiming at should be successful in the task it is performing To assess the success we need to have a performance measure What is rational

More information

Properties of Stabilizing Computations

Properties of Stabilizing Computations Theory and Applications of Mathematics & Computer Science 5 (1) (2015) 71 93 Properties of Stabilizing Computations Mark Burgin a a University of California, Los Angeles 405 Hilgard Ave. Los Angeles, CA

More information

The positive minimum degree game on sparse graphs

The positive minimum degree game on sparse graphs The positive minimum degree game on sparse graphs József Balogh Department of Mathematical Sciences University of Illinois, USA jobal@math.uiuc.edu András Pluhár Department of Computer Science University

More information

Finite Automata. Reading: Chapter 2

Finite Automata. Reading: Chapter 2 Finite Automata Reading: Chapter 2 1 Finite Automaton (FA) Informally, a state diagram that comprehensively captures all possible states and transitions that a machine can take while responding to a stream

More information

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding

More information

Regular Languages and Finite Automata

Regular Languages and Finite Automata Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a

More information

Omega Automata: Minimization and Learning 1

Omega Automata: Minimization and Learning 1 Omega Automata: Minimization and Learning 1 Oded Maler CNRS - VERIMAG Grenoble, France 2007 1 Joint work with A. Pnueli, late 80s Summary Machine learning in general and of formal languages in particular

More information

Algorithmic Software Verification

Algorithmic Software Verification Algorithmic Software Verification (LTL Model Checking) Azadeh Farzan What is Verification Anyway? Proving (in a formal way) that program satisfies a specification written in a logical language. Formal

More information

MetaGame: An Animation Tool for Model-Checking Games

MetaGame: An Animation Tool for Model-Checking Games MetaGame: An Animation Tool for Model-Checking Games Markus Müller-Olm 1 and Haiseung Yoo 2 1 FernUniversität in Hagen, Fachbereich Informatik, LG PI 5 Universitätsstr. 1, 58097 Hagen, Germany mmo@ls5.informatik.uni-dortmund.de

More information

Informatique Fondamentale IMA S8

Informatique Fondamentale IMA S8 Informatique Fondamentale IMA S8 Cours 1 - Intro + schedule + finite state machines Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech Lille

More information

Software Modeling and Verification

Software Modeling and Verification Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system

More information

Near Optimal Solutions

Near Optimal Solutions Near Optimal Solutions Many important optimization problems are lacking efficient solutions. NP-Complete problems unlikely to have polynomial time solutions. Good heuristics important for such problems.

More information

Runtime Verification for Real-Time Automotive Embedded Software

Runtime Verification for Real-Time Automotive Embedded Software Runtime Verification for Real-Time Automotive Embedded Software S. Cotard, S. Faucou, J.-L. Béchennec, A. Queudet, Y. Trinquet 10th school of Modelling and Verifying Parallel processes (MOVEP) Runtime

More information

Factoring & Primality

Factoring & Primality Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount

More information

4.6 The Primitive Recursive Functions

4.6 The Primitive Recursive Functions 4.6. THE PRIMITIVE RECURSIVE FUNCTIONS 309 4.6 The Primitive Recursive Functions The class of primitive recursive functions is defined in terms of base functions and closure operations. Definition 4.6.1

More information

Formal Verification of Software

Formal Verification of Software Formal Verification of Software Sabine Broda Department of Computer Science/FCUP 12 de Novembro de 2014 Sabine Broda (DCC-FCUP) Formal Verification of Software 12 de Novembro de 2014 1 / 26 Formal Verification

More information

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. 3130CIT: Theory of Computation Turing machines and undecidability (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. An undecidable problem

More information

CSE 135: Introduction to Theory of Computation Decidability and Recognizability

CSE 135: Introduction to Theory of Computation Decidability and Recognizability CSE 135: Introduction to Theory of Computation Decidability and Recognizability Sungjin Im University of California, Merced 04-28, 30-2014 High-Level Descriptions of Computation Instead of giving a Turing

More information

ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear:

ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear: ω-automata ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear: in verification, as encodings of non-terminating executions of a program. in arithmetic,

More information

Polarization codes and the rate of polarization

Polarization codes and the rate of polarization Polarization codes and the rate of polarization Erdal Arıkan, Emre Telatar Bilkent U., EPFL Sept 10, 2008 Channel Polarization Given a binary input DMC W, i.i.d. uniformly distributed inputs (X 1,...,

More information

Lecture 13 - Basic Number Theory.

Lecture 13 - Basic Number Theory. Lecture 13 - Basic Number Theory. Boaz Barak March 22, 2010 Divisibility and primes Unless mentioned otherwise throughout this lecture all numbers are non-negative integers. We say that A divides B, denoted

More information

Formal Verification Problems in a Bigdata World: Towards a Mighty Synergy

Formal Verification Problems in a Bigdata World: Towards a Mighty Synergy Dept. of Computer Science Formal Verification Problems in a Bigdata World: Towards a Mighty Synergy Matteo Camilli matteo.camilli@unimi.it http://camilli.di.unimi.it ICSE 2014 Hyderabad, India June 3,

More information

Embeddability and Decidability in the Turing Degrees

Embeddability and Decidability in the Turing Degrees ASL Summer Meeting Logic Colloquium 06. Embeddability and Decidability in the Turing Degrees Antonio Montalbán. University of Chicago Nijmegen, Netherlands, 27 July- 2 Aug. of 2006 1 Jump upper semilattice

More information

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products Chapter 3 Cartesian Products and Relations The material in this chapter is the first real encounter with abstraction. Relations are very general thing they are a special type of subset. After introducing

More information

6.080/6.089 GITCS Feb 12, 2008. Lecture 3

6.080/6.089 GITCS Feb 12, 2008. Lecture 3 6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my

More information

Chapter ML:IV. IV. Statistical Learning. Probability Basics Bayes Classification Maximum a-posteriori Hypotheses

Chapter ML:IV. IV. Statistical Learning. Probability Basics Bayes Classification Maximum a-posteriori Hypotheses Chapter ML:IV IV. Statistical Learning Probability Basics Bayes Classification Maximum a-posteriori Hypotheses ML:IV-1 Statistical Learning STEIN 2005-2015 Area Overview Mathematics Statistics...... Stochastics

More information

logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?

logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system? 5. LTL, CTL Last part: Alloy logic language, static/dynamic models SAT solvers Today: Temporal Logic (LTL, CTL) Verified Software Systems 1 Overview How can we model check of a program or system? Modeling

More information

Enforcing Security Policies. Rahul Gera

Enforcing Security Policies. Rahul Gera Enforcing Security Policies Rahul Gera Brief overview Security policies and Execution Monitoring. Policies that can be enforced using EM. An automata based formalism for specifying those security policies.

More information

On Recognizable Timed Languages FOSSACS 2004

On Recognizable Timed Languages FOSSACS 2004 On Recognizable Timed Languages Oded Maler VERIMAG Grenoble France Amir Pnueli NYU and Weizmann New York and Rehovot USA FOSSACS 2004 Nutrition Facts Classical (Untimed) Recognizability Timed Languages

More information

LOOKING FOR A GOOD TIME TO BET

LOOKING FOR A GOOD TIME TO BET LOOKING FOR A GOOD TIME TO BET LAURENT SERLET Abstract. Suppose that the cards of a well shuffled deck of cards are turned up one after another. At any time-but once only- you may bet that the next card

More information

Automata on Infinite Words and Trees

Automata on Infinite Words and Trees Automata on Infinite Words and Trees Course notes for the course Automata on Infinite Words and Trees given by Dr. Meghyn Bienvenu at Universität Bremen in the 2009-2010 winter semester Last modified:

More information

1 if 1 x 0 1 if 0 x 1

1 if 1 x 0 1 if 0 x 1 Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or

More information

6.207/14.15: Networks Lecture 15: Repeated Games and Cooperation

6.207/14.15: Networks Lecture 15: Repeated Games and Cooperation 6.207/14.15: Networks Lecture 15: Repeated Games and Cooperation Daron Acemoglu and Asu Ozdaglar MIT November 2, 2009 1 Introduction Outline The problem of cooperation Finitely-repeated prisoner s dilemma

More information

Computationally Complete Spiking Neural P Systems Without Delay: Two Types of Neurons Are Enough

Computationally Complete Spiking Neural P Systems Without Delay: Two Types of Neurons Are Enough Computationally Complete Spiking Neural P Systems Without Delay: Two Types of Neurons Are Enough Rudolf Freund 1 and Marian Kogler 1,2 1 Faculty of Informatics, Vienna University of Technology Favoritenstr.

More information

n 2 + 4n + 3. The answer in decimal form (for the Blitz): 0, 75. Solution. (n + 1)(n + 3) = n + 3 2 lim m 2 1

n 2 + 4n + 3. The answer in decimal form (for the Blitz): 0, 75. Solution. (n + 1)(n + 3) = n + 3 2 lim m 2 1 . Calculate the sum of the series Answer: 3 4. n 2 + 4n + 3. The answer in decimal form (for the Blitz):, 75. Solution. n 2 + 4n + 3 = (n + )(n + 3) = (n + 3) (n + ) = 2 (n + )(n + 3) ( 2 n + ) = m ( n

More information

PETRI NET BASED SUPERVISORY CONTROL OF FLEXIBLE BATCH PLANTS. G. Mušič and D. Matko

PETRI NET BASED SUPERVISORY CONTROL OF FLEXIBLE BATCH PLANTS. G. Mušič and D. Matko PETRI NET BASED SUPERVISORY CONTROL OF FLEXIBLE BATCH PLANTS G. Mušič and D. Matko Faculty of Electrical Engineering, University of Ljubljana, Slovenia. E-mail: gasper.music@fe.uni-lj.si Abstract: The

More information

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010. Class 4 Nancy Lynch

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010. Class 4 Nancy Lynch 6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010 Class 4 Nancy Lynch Today Two more models of computation: Nondeterministic Finite Automata (NFAs)

More information

Handling Fault Detection Latencies in Automata-based Scheduling for Embedded Control Software

Handling Fault Detection Latencies in Automata-based Scheduling for Embedded Control Software Handling Fault Detection atencies in Automata-based cheduling for Embedded Control oftware anthosh Prabhu M, Aritra Hazra, Pallab Dasgupta and P. P. Chakrabarti Department of Computer cience and Engineering,

More information

Load Balancing and Switch Scheduling

Load Balancing and Switch Scheduling EE384Y Project Final Report Load Balancing and Switch Scheduling Xiangheng Liu Department of Electrical Engineering Stanford University, Stanford CA 94305 Email: liuxh@systems.stanford.edu Abstract Load

More information

Midterm Practice Problems

Midterm Practice Problems 6.042/8.062J Mathematics for Computer Science October 2, 200 Tom Leighton, Marten van Dijk, and Brooke Cowan Midterm Practice Problems Problem. [0 points] In problem set you showed that the nand operator

More information

On Omega-Languages Defined by Mean-Payoff Conditions

On Omega-Languages Defined by Mean-Payoff Conditions On Omega-Languages Defined by Mean-Payoff Conditions Rajeev Alur 1, Aldric Degorre 2, Oded Maler 2, Gera Weiss 1 1 Dept. of Computer and Information Science, University of Pennsylvania, USA {alur, gera}@cis.upenn.edu

More information

FEGYVERNEKI SÁNDOR, PROBABILITY THEORY AND MATHEmATICAL

FEGYVERNEKI SÁNDOR, PROBABILITY THEORY AND MATHEmATICAL FEGYVERNEKI SÁNDOR, PROBABILITY THEORY AND MATHEmATICAL STATIsTICs 4 IV. RANDOm VECTORs 1. JOINTLY DIsTRIBUTED RANDOm VARIABLEs If are two rom variables defined on the same sample space we define the joint

More information

Formal Verification and Linear-time Model Checking

Formal Verification and Linear-time Model Checking Formal Verification and Linear-time Model Checking Paul Jackson University of Edinburgh Automated Reasoning 21st and 24th October 2013 Why Automated Reasoning? Intellectually stimulating and challenging

More information

Finite Automata. Reading: Chapter 2

Finite Automata. Reading: Chapter 2 Finite Automata Reading: Chapter 2 1 Finite Automata Informally, a state machine that comprehensively captures all possible states and transitions that a machine can take while responding to a stream (or

More information

Fixed-Point Logics and Computation

Fixed-Point Logics and Computation 1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of

More information

Notes from Week 1: Algorithms for sequential prediction

Notes from Week 1: Algorithms for sequential prediction CS 683 Learning, Games, and Electronic Markets Spring 2007 Notes from Week 1: Algorithms for sequential prediction Instructor: Robert Kleinberg 22-26 Jan 2007 1 Introduction In this course we will be looking

More information

Reinforcement Learning

Reinforcement Learning Reinforcement Learning LU 2 - Markov Decision Problems and Dynamic Programming Dr. Martin Lauer AG Maschinelles Lernen und Natürlichsprachliche Systeme Albert-Ludwigs-Universität Freiburg martin.lauer@kit.edu

More information

Adaptive Online Gradient Descent

Adaptive Online Gradient Descent Adaptive Online Gradient Descent Peter L Bartlett Division of Computer Science Department of Statistics UC Berkeley Berkeley, CA 94709 bartlett@csberkeleyedu Elad Hazan IBM Almaden Research Center 650

More information

Lecture 22: November 10

Lecture 22: November 10 CS271 Randomness & Computation Fall 2011 Lecture 22: November 10 Lecturer: Alistair Sinclair Based on scribe notes by Rafael Frongillo Disclaimer: These notes have not been subjected to the usual scrutiny

More information

Fabio Patrizi DIS Sapienza - University of Rome

Fabio Patrizi DIS Sapienza - University of Rome Fabio Patrizi DIS Sapienza - University of Rome Overview Introduction to Services The Composition Problem Two frameworks for composition: Non data-aware services Data-aware services Conclusion & Research

More information

No: 10 04. Bilkent University. Monotonic Extension. Farhad Husseinov. Discussion Papers. Department of Economics

No: 10 04. Bilkent University. Monotonic Extension. Farhad Husseinov. Discussion Papers. Department of Economics No: 10 04 Bilkent University Monotonic Extension Farhad Husseinov Discussion Papers Department of Economics The Discussion Papers of the Department of Economics are intended to make the initial results

More information

Data Streams A Tutorial

Data Streams A Tutorial Data Streams A Tutorial Nicole Schweikardt Goethe-Universität Frankfurt am Main DEIS 10: GI-Dagstuhl Seminar on Data Exchange, Integration, and Streams Schloss Dagstuhl, November 8, 2010 Data Streams Situation:

More information

6.042/18.062J Mathematics for Computer Science December 12, 2006 Tom Leighton and Ronitt Rubinfeld. Random Walks

6.042/18.062J Mathematics for Computer Science December 12, 2006 Tom Leighton and Ronitt Rubinfeld. Random Walks 6.042/8.062J Mathematics for Comuter Science December 2, 2006 Tom Leighton and Ronitt Rubinfeld Lecture Notes Random Walks Gambler s Ruin Today we re going to talk about one-dimensional random walks. In

More information

Integer Programming Formulation

Integer Programming Formulation Integer Programming Formulation 1 Integer Programming Introduction When we introduced linear programs in Chapter 1, we mentioned divisibility as one of the LP assumptions. Divisibility allowed us to consider

More information

MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.436J/15.085J Fall 2008 Lecture 5 9/17/2008 RANDOM VARIABLES

MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.436J/15.085J Fall 2008 Lecture 5 9/17/2008 RANDOM VARIABLES MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.436J/15.085J Fall 2008 Lecture 5 9/17/2008 RANDOM VARIABLES Contents 1. Random variables and measurable functions 2. Cumulative distribution functions 3. Discrete

More information

Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU

Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU Birgit Vogtenhuber Institute for Software Technology email: bvogt@ist.tugraz.at office hour: Tuesday 10:30 11:30 slides: http://www.ist.tugraz.at/pact.html

More information

Notes on Complexity Theory Last updated: August, 2011. Lecture 1

Notes on Complexity Theory Last updated: August, 2011. Lecture 1 Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look

More information

10.2 Series and Convergence

10.2 Series and Convergence 10.2 Series and Convergence Write sums using sigma notation Find the partial sums of series and determine convergence or divergence of infinite series Find the N th partial sums of geometric series and

More information

Semantics and Verification of Software

Semantics and Verification of Software Semantics and Verification of Software Lecture 21: Nondeterminism and Parallelism IV (Equivalence of CCS Processes & Wrap-Up) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification)

More information

An Introduction to Hybrid Automata

An Introduction to Hybrid Automata An Introduction to Hybrid Automata Jean-François Raskin, email: jraskin@ulb.ac.be Computer Science Department University of Brussels Belgium 1 Introduction Hybrid systems are digital real-time systems

More information

SYNTHESIS FROM PROBABILISTIC COMPONENTS

SYNTHESIS FROM PROBABILISTIC COMPONENTS Logical Methods in Computer Science Vol. 10(2:17)2014, pp. 1 24 www.lmcs-online.org Submitted Feb. 29, 2012 Published Jun. 30, 2014 SYNTHESIS FROM PROBABILISTIC COMPONENTS YOAD LUSTIG a, SUMIT NAIN b,

More information

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation: CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm

More information

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory CSC2420 Fall 2012: Algorithm Design, Analysis and Theory Allan Borodin November 15, 2012; Lecture 10 1 / 27 Randomized online bipartite matching and the adwords problem. We briefly return to online algorithms

More information

Reinforcement Learning

Reinforcement Learning Reinforcement Learning LU 2 - Markov Decision Problems and Dynamic Programming Dr. Joschka Bödecker AG Maschinelles Lernen und Natürlichsprachliche Systeme Albert-Ludwigs-Universität Freiburg jboedeck@informatik.uni-freiburg.de

More information

Lecture Note 1 Set and Probability Theory. MIT 14.30 Spring 2006 Herman Bennett

Lecture Note 1 Set and Probability Theory. MIT 14.30 Spring 2006 Herman Bennett Lecture Note 1 Set and Probability Theory MIT 14.30 Spring 2006 Herman Bennett 1 Set Theory 1.1 Definitions and Theorems 1. Experiment: any action or process whose outcome is subject to uncertainty. 2.

More information

Generating models of a matched formula with a polynomial delay

Generating models of a matched formula with a polynomial delay Generating models of a matched formula with a polynomial delay Petr Savicky Institute of Computer Science, Academy of Sciences of Czech Republic, Pod Vodárenskou Věží 2, 182 07 Praha 8, Czech Republic

More information

Introduction to Logic in Computer Science: Autumn 2006

Introduction to Logic in Computer Science: Autumn 2006 Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding

More information

Regular Languages and Finite State Machines

Regular Languages and Finite State Machines Regular Languages and Finite State Machines Plan for the Day: Mathematical preliminaries - some review One application formal definition of finite automata Examples 1 Sets A set is an unordered collection

More information

Mathematical Induction

Mathematical Induction Mathematical Induction (Handout March 8, 01) The Principle of Mathematical Induction provides a means to prove infinitely many statements all at once The principle is logical rather than strictly mathematical,

More information

Turing Degrees and Definability of the Jump. Theodore A. Slaman. University of California, Berkeley. CJuly, 2005

Turing Degrees and Definability of the Jump. Theodore A. Slaman. University of California, Berkeley. CJuly, 2005 Turing Degrees and Definability of the Jump Theodore A. Slaman University of California, Berkeley CJuly, 2005 Outline Lecture 1 Forcing in arithmetic Coding and decoding theorems Automorphisms of countable

More information

So let us begin our quest to find the holy grail of real analysis.

So let us begin our quest to find the holy grail of real analysis. 1 Section 5.2 The Complete Ordered Field: Purpose of Section We present an axiomatic description of the real numbers as a complete ordered field. The axioms which describe the arithmetic of the real numbers

More information

Solutions for Practice problems on proofs

Solutions for Practice problems on proofs Solutions for Practice problems on proofs Definition: (even) An integer n Z is even if and only if n = 2m for some number m Z. Definition: (odd) An integer n Z is odd if and only if n = 2m + 1 for some

More information

Verification of hybrid dynamical systems

Verification of hybrid dynamical systems Verification of hybrid dynamical systems Jüri Vain Tallinn Technical University/Institute of Cybernetics vain@ioc.ee Outline What are Hybrid Systems? Hybrid automata Verification of hybrid systems Verification

More information

On Winning Conditions of High Borel Complexity in Pushdown Games

On Winning Conditions of High Borel Complexity in Pushdown Games Fundamenta Informaticae (2005) 1 22 1 IOS Press On Winning Conditions of High Borel Complexity in Pushdown Games Olivier Finkel Equipe de Logique Mathématique U.F.R. de Mathématiques, Université Paris

More information

Combining Software and Hardware Verification Techniques

Combining Software and Hardware Verification Techniques Formal Methods in System Design, 21, 251 280, 2002 c 2002 Kluwer Academic Publishers. Manufactured in The Netherlands. Combining Software and Hardware Verification Techniques ROBERT P. KURSHAN VLADIMIR

More information

Exponential time algorithms for graph coloring

Exponential time algorithms for graph coloring Exponential time algorithms for graph coloring Uriel Feige Lecture notes, March 14, 2011 1 Introduction Let [n] denote the set {1,..., k}. A k-labeling of vertices of a graph G(V, E) is a function V [k].

More information

OPRE 6201 : 2. Simplex Method

OPRE 6201 : 2. Simplex Method OPRE 6201 : 2. Simplex Method 1 The Graphical Method: An Example Consider the following linear program: Max 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2

More information

A Network Flow Approach in Cloud Computing

A Network Flow Approach in Cloud Computing 1 A Network Flow Approach in Cloud Computing Soheil Feizi, Amy Zhang, Muriel Médard RLE at MIT Abstract In this paper, by using network flow principles, we propose algorithms to address various challenges

More information

Formal Specification and Verification

Formal Specification and Verification Formal Specification and Verification Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze 2. 5. 2011 Stefan Ratschan (FIT ČVUT) PI-PSC 4 2.

More information

Software Model Checking: Theory and Practice

Software Model Checking: Theory and Practice Software Model Checking: Theory and Practice Lecture: Specification Checking - LTL Model Checking Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course are

More information

Scanner. tokens scanner parser IR. source code. errors

Scanner. tokens scanner parser IR. source code. errors Scanner source code tokens scanner parser IR errors maps characters into tokens the basic unit of syntax x = x + y; becomes = + ; character string value for a token is a lexeme

More information

1 Definition of a Turing machine

1 Definition of a Turing machine Introduction to Algorithms Notes on Turing Machines CS 4820, Spring 2012 April 2-16, 2012 1 Definition of a Turing machine Turing machines are an abstract model of computation. They provide a precise,

More information

A first step towards modeling semistructured data in hybrid multimodal logic

A first step towards modeling semistructured data in hybrid multimodal logic A first step towards modeling semistructured data in hybrid multimodal logic Nicole Bidoit * Serenella Cerrito ** Virginie Thion * * LRI UMR CNRS 8623, Université Paris 11, Centre d Orsay. ** LaMI UMR

More information

Competitive Analysis of On line Randomized Call Control in Cellular Networks

Competitive Analysis of On line Randomized Call Control in Cellular Networks Competitive Analysis of On line Randomized Call Control in Cellular Networks Ioannis Caragiannis Christos Kaklamanis Evi Papaioannou Abstract In this paper we address an important communication issue arising

More information

The Taxman Game. Robert K. Moniot September 5, 2003

The Taxman Game. Robert K. Moniot September 5, 2003 The Taxman Game Robert K. Moniot September 5, 2003 1 Introduction Want to know how to beat the taxman? Legally, that is? Read on, and we will explore this cute little mathematical game. The taxman game

More information