Workshop on Control of Hybrid and Discrete Event

27 downloads 0 Views 4MB Size Report
Jun 21, 2005 - In the set of computational experiments applying HMPZ to a hybrid ..... SVM tries to find these parameters by maximizing the distance ... In this work, we use this relaxed formulation to find the .... the preceding vehicle when the examinee looks aside from the road ...... ˙m5 + ˙m6 = 0, as already mentioned.
J.M. Colom, R. Sreenivas and T. Ushio (Eds.)

Proceedings

Workshop on Control of Hybrid and Discrete Event Systems Miami, June 21, 2005 Florida, USA a satellite event of the 26th International Conference on Application and Theory of Petri Nets and Other Models of Concurrency

Sponsored by Florida International University School of Computer Science Miami, Florida, USA

Foreword Welcome to the Workshop on Control of Hybrid and Discrete Event Systems (affiliated with ATPN’05). The aim of the workshop is to bring together researchers in the areas of Petri nets and Control of Hybrid and Discrete Event Systems. The workshop has been organized by invitation of the speakers, all of whom are wellknown not only for their contributions to H/DES control but also for their work in the area of Petri nets or related models. The papers assembled in the proceedings present new results from researchers on H/DES Control from North America, Asia, and Europe. The morning sessions focus on Hybrid Systems and Supervisory Control. The afternoon session focuses on Control, Observation and Diagnosis based on Petri nets and their extensions. We would like to thank the speakers and their co-authors for having contributed papers that inform us of their latest results in the area. These results either establish new links between H/DES Control and Computer Science or open new ways to challenge Concurrency, Decentralization and Distribution. The papers are of strong interest for all researchers working on Petri nets, not to mention those active in concurrency theory, including supervisory control. Finally, we owe special thanks to the Florida International University for the local arrangements and for publishing these proceedings.

Ramavarapu Sreenivas, Toshimitsu Ushio, and José-Manuel Colom

Table of Contents Workshop on

Control of Hybrid and Discrete Event Systems

Hybrid Systems Computation of Hybrid Control Laws: From Exponential to Linear Complexity M. Shadid Shaikh and Peter E. Caines.............................................................................1 Modeling and Analysis of Human Behavior based on Hybrid System Model Tatsuya Suzuki ................................................................................................................19 Computational Tools for Designing Hybrid Systems Based on Constraint Satisfaction Kunihiko Hiraishi and Sunseong CHOE ........................................................................41

Supervisory Control A Survey on the Supervision of Petri Nets Marian Iordache and Panos Antsaklis ...........................................................................61 Petri Net Techniques in Supervisory Control of Discrete Event Systems Nidhal Rezg, Xiaolan Xie and Zied Achour....................................................................81 Supervisory Control of Discrete Event Systems for Bisimulation or Simulation Equivalence Changyan Zhou and Ratnesh Kumar ...........................................................................103 Approximation Algorithms, Sensor Selections and Information Sharing Kurt R. Rohloff and Jan H. van Schuppen....................................................................123

Control, Observation and Diagnosis Steady State Control, Zero Valued Poles and Token Conservation Laws in Continuous Net Systems C. Mahulea, A. Ramírez, L. Recalde and M. Silva .......................................................143 Automated Control, Observation, and Diagnosis of Multi-layer Condition Systems Lawrence E. Holloway and Jeff Ashley ........................................................................165 Multi-Agent Distributed Contextual Diagnosis for Large Petri Net Models George Jiroveanu and René K. Boel ............................................................................185

Computation of Hybrid Control Laws: From Exponential to Linear Complexity ⋆ M. Shahid Shaikh and Peter E. Caines Department of Electrical & Computer Engineering Centre for Intelligent Machines, McGill University, Montr´eal, Qu´ebec, Canada H3A 2A7 {peterc,msshaikh}@cim.mcgill.ca

Abstract. In [1–4] necessary conditions were obtained for hybrid optimal control problems (HOCPs) which resulted in a general Hybrid Maximum Principle (HMP) for such problems and in [5] a class of efficient, provably convergent Hybrid Maximum Principle (HMP) algorithms were obtained based upon this HMP. In [5, 3, 4] the notion of optimality zones (OZs) was introduced as a theoretical framework enabling the computation of optimal schedules (i.e. discrete state sequences with the associated switching times and states) for HOCPs. This paper presents the algorithm HMPZ which fully integrates the prior computation of the OZs into the HMP algorithms of [5]. Including the computational investment in the construction of the optimality zones for a given HOCP, the computational complexity of the optimal schedule, optimal switching timestate sequence and optimal continuous control input algorithm (HMPZ) is quadratic (i.e. O(L2 )) in the number of switching times L; this is to be compared with the geometric (i.e. O(|Q|L )) growth of a direct combinatoric search over the set of schedules, where Q denotes the discrete state set of the hybrid system. A computed example of the application of HMPZ to a bilinear quadratic regulator HOCP is presented with ten switching instants, which is believed to be prohibitively expensive by other methods.

1

Introduction

Over the last few years the notion of a hybrid control system with continuous and discrete states and dynamics has crystallized and various classes of optimal control problems for such systems have been formalized (see for example [3, 6, 2, 1, 7–9]). In particular, generalizing the standard Maximum Principle (MP), Sussmann [10] and Riedinger et al. [11], among other authors, have given versions of the Hybrid Maximum Principle (HMP) with indications of proof methods. An explicit theory for the two stage controlled switching optimal control problem was given by Tomiyama in [12] and a complete, rigorous treatment of the HMP is given in [13, 14] for the case of a priori fixed discrete state sequences. In [1–4] a set of necessary conditions for hybrid optimal control problems (HOCPs) was ⋆

Work supported by NSERC Grant 1329-00

1

2

Shaikh & Caines

derived which resulted in a general Hybrid Maximum Principle (HMP); based upon this, a class of efficient Hybrid Maximum Principle (HMP) algorithms has been constructed [5] and their convergence established. Next, in [5, 3, 4] the notion of optimality zones (OZs) was introduced as a theoretical framework enabling the computation of optimal schedules (i.e. discrete state sequences with the associated switching times and states) for HOCPs. The contributions of this paper include the algorithm HMPZ which fully integrates the prior computation of the OZs into the HMP algorithms of [5] and computed examples of the application of HMPZ to a bilinear quadratic regulator HOCP, demonstrating the efficacy of HMPZ. The computational complexity of the optimal schedule and optimal continuous control input algorithm (HMPZ), including the computational investment in the construction of the optimality zones for a given HOCP, is quadratic (i.e. O(L2 )) in the number of switching times L; this is to be compared with the geometric (i.e. O(|Q|L )) growth of a direct combinatoric search over the set of schedules, where Q denotes the discrete state set of the hybrid system. At the end of the paper a computed example of the application of HMPZ to a bilinear quadratic regulator HOCP is presented with ten switching instants; this is believed to be prohibitively expensive by other methods. The notion of optimality zones must be distinguished from the so-called “switching regions” presented in [15–19]; switching regions partition the continuous state space of a given autonomous hybrid system, whereas optimality zones partition the time-state space of a finite horizon hybrid optimal control problem (HOCP). The optimal control problems considered in [15–19] have autonomous linear time-invariant dynamics, quadratic loss function in each location and a fixed finite sequence of locations. We note that other recently proposed hybrid optimization algorithms, for example those of [20, 7, 21–23], do not in their current form perform location sequence optimization. In this paper we consider hybrid systems which in each location are governed by non-linear dynamics of the form H:

x˙ q = fq (xq , u),

q ∈ Q ∆ {1, 2, . . . , |Q|}.

A complete specification of the class of hybrid systems under consideration is given in [24, 4] and in this paper we only provide specification of the HOCP. The reader is referred to [24, 4] for the complete presentation of the formulation, hypotheses and specification of the standard hybrid dynamical systems of the form H under consideration along with a complete specification of the HOCP. Consider the initial time t0 , final time tf < ∞, initial hybrid state h0 = ¯ ≤ ∞. Let SL = ((t0 , σ0 ), (t1 , σ1 ), . . . , (tL , σL )) or equivalently (q0 , x0 ), and L SL = ((t0 , q0 ), (t1 , q1 ), . . . , (tL , qL )) be a hybrid switching sequence and let IL(L) ¯ ∆ ¯ ≤ ∞, be a hybrid input trajec(SL , u), u ∈ U, where U = U 0 or U = U cpt , L tory which subject to the assumptions of [24, 4] results in a (necessarily unique) ¯ controlled and autonomous switchhybrid execution and is such that L ≤ L ings occur on the time interval [t0 , T (IL )], where T (IL ) ≥ tf . Here the set ◦

of admissible input control functions is U 0 ∆ U(U , L∞ ([0, T∗ )), (respectively

2

Hybrid Control Laws: From Exponential to Linear Complexity

3

U cpt ∆ U(U cpt , L∞ ([0, T∗ ))), the set of all bounded measurable functions on o

some interval [0, T∗ ), T∗ ≤ ∞, taking values in the open bounded set U (respectively the compact set U cpt ). Further let the collection of such inputs be denoted {IL(L) ¯ }. We define the hybrid cost function as: ¯ U) ∆ J(t0 , tf , h0 ; IL , L,

¯ L(L) X Z ti+1 i=0

lqi (xqi (s), u(s)) ds + g(xqL (tf )),

ti

where x˙ qi (t) = fqi (xqi (t), u(t)),

i = 0, 1, . . . , L, ¯◦ u(t) ∈ U ⊂ Rn , where in case U = U cpt , U = U , u(·) ∈ L∞ (U ), h0 = (q0 , xq0 (t0 )) = (q0 , x0 ), xqi+1 (ti+1 ) = lim xqi (t), t↑ti+1

tL+1 = tf < ∞,

a.e. t ∈ [ti , ti+1 ),

i = 0, 1, . . . , L, and

¯ ≤ ∞. L≤L

Definition 1. ([24, 4], Hybrid Optimal Control Problem (HOCP)) Given a hybrid system H, loss functions {lq , q ∈ Q}, initial and final times, t0 , tf , the initial hybrid state h0 = (q0 , x0 ), and an upper bound on the number of switch¯ ≤ ∞, the hybrid optimal control problem (HOCP(t0 , tf , x0 , L, ¯ U)), where ings L ¯ U) of the hybrid cost U = U 0 or U = U cpt , is to find the infimum J 0 (t0 , tf , h0 , L, ¯ U) over the family of input trajectories {IL(L) function J(t0 , tf , h0 ; IL , L, ¯ }. 0 ¯ U) it If a hybrid input trajectory IL0 (L) ¯ exists which realizes J (t0 , tf , h0 , L, ¯ is called a hybrid optimal control for the HOCP(t0 , tf , x0 , L, U).  In Theorem 1 we state the necessary conditions upon which the algorithms of this paper are based; the theorem is stated for the cases where the optimal ◦

control takes values in the open bounded set U , or in the compact set U cpt , respectively. The reader is referred to [4] and the associated paper [24] for a complete exposition of the HMP necessary conditions, and the definition of the small time tubular fountain (STTF) condition which is crucial for the proof of the necessary conditions related to autonomous switchings. ¯ U cpt ), Theorem 1. ([24, 4]) Consider a hybrid system H and the HOCP(t0 , tf , x0 , L, 0 cpt where U = U or U = U , and define Hq (x, λ, u) = λT fq (x, u) + l(x, u),

x, λ ∈ Rn ,

o

u ∈U ,

q ∈ Q.

0 ¯ 1) Let J 0 (t0 , tf , h0 , U) = inf {IL(L) ¯ } J (t0 , tf , h0 , IL , L, U) be realized at a min0 0 0 imizing control and trajectory IL0 (L) ¯ , (x , q ). 0 2) Let IL0 (L) ¯ have Lc controlled switchings and La autonomous switchings, ¯ and let La + Lc = L0 (L).

3

4

Shaikh & Caines

3) Let t1 , t2 , . . . , tL0 , denote the switching times along the optimal trajectory (x0 , q 0 ). S k 4) Assume that x0 meets m ˜ = m ˜ p,q , the collection of switching maniT kj i fold subcomponents, transversally and does not meet ∂ m ˜ kp,q ∂m ˜ p,q for any ki , kj , p, q. ¯ < ∞ and L0 (L) ¯ = La + Lc + 2 ≤ L, ¯ or (b) 5) Assume that either (a) L ¯ = ∞ and L0 (L) ¯ < ∞. L Then (i) There exists a (continuous to the right), piecewise absolutely continuous adjoint process λ0 satisfying ∂Hq(j) 0 0 0 λ˙ 0 = − (x , λ , u ), ∂x

t ∈ (tj , tj+1 ),

j ∈ {0, 1, 2, . . . , L0 },

(1)

where tL0 +1 = tf and where the following boundary value conditions hold with λ0 (t0 ) free: (a) λ0 (tf ) = ∇x g(x0 (tf )). (b) If tj is a controlled switching time, then λ0 (tj −) ≡ λ0 (tj ) = λ0 (tj +),

j ∈ {0, 1, 2, . . . , L0 }.

(2)

(c) If tj is an autonomous switching time satisfying mj,j+1 (x(tj )) = 0, then λ0 (tj −) ≡ λ0 (tj ) = λ0 (tj +) + pj ∇x mj,j+1 |t=tj ,

(3)

for some pj ∈ R. (ii) The Hamiltonian minimization conditions are satisfied, i.e. (a) Hq(j) (x0 (t), λ0 (t), u0 (t)) ≤ Hq(j) (x0 (t), λ0 (t), v), a.e. t ∈ [tj , tj+1 ), ∀v ∈ U, j ∈ {0, 1, 2, . . . , L0 }.

(4)

¯ < ∞ and L0 (L) ¯ = L0a + L0c + 2 ≤ L, ¯ then (b1) If L Hq(j) (x0 (t), λ0 (t), u0 (t)) ≤ Hk (x0 (t), λ0 (t), u0 (t)), a.e. t ∈ [tj , tj+1 ), j ∈ {0, 1, 2, . . . , L0 }, ∀k ∈ Q.

(5)

¯ = ∞ and L0 (L) ¯ < ∞, then (b2) If L Hq(j) (x0 (t), λ0 (t), u0 (t)) ≤ Hk (x0 (t), λ0 (t), u0 (t)), a.e. t ∈ [tj , tj+1 ), j ∈ {0, 1, 2, . . . , L0 }, ∀k ∈ Q.

(6)

(iii) If U = U cpt then the following Hamiltonian continuity condition holds at a controlled switching time t = tj H(tj −) ≡ Hq(j−1) (tj −) = Hq(j−1) (tj ) = Hq(j) (tj ) = Hq(j) (tj +) ≡ H(tj +),

4

j ∈ {1, 2, . . . , L0 }.

Hybrid Control Laws: From Exponential to Linear Complexity

5

(iv) If U = U 0 and if almost every continuous state x on the optimal trajectory x0 (·) is a small time tubular fountain with respect to x0 (·) then the following Hamiltonian continuity condition holds at a (controlled or autonomous) switching time t = tj H(tj −) ≡ Hq(j−1) (tj −) = Hq(j−1) (tj ) = Hq(j) (tj ) = Hq(j) (tj +) ≡ H(tj +),

j ∈ {1, 2, . . . , L0 }. 

2

Optimality Zones and Location Sequences

Fig. 1. Relationship between inbound/outbound zones and optimality zones.

2.1

Fundamental Implication of DPP for Optimal Location Sequences

Along an optimal hybrid execution (IL0 , x0 ) the Dynamic Programming Principle implies that the part of the hybrid input IL0 (and correspondingly the hybrid trajectory (q 0 , x0 )) from the j-th switching time-state pair to the j + 1-st switching time-state pair, (t0s , x0s )j → (t0s , x0s )j+1 , is optimal. Hence, in particular, qj0 must be an optimal location for the trajectory from (t0s , x0s )j to (t0s , x0s )j+1 . The implication of this for location sequence HOCP computation is that (u[tj ,tj+1 ] , qj ) generates a trajectory segment between the pair of switching timestates {(t0s , x0s )j , (t0s , x0s )j+1 } which satisfies the necessary conditions for a hybrid optimal HOCP trajectory only if (u[tj ,tj+1 ] , qj ) is optimal between (t0s , x0s )j and (t0s , x0s )j+1 . Now for each q = q((t0s , x0s )j , (t0s , x0s )j+1 ) ∈ Q this optimization is a

5

6

Shaikh & Caines

standard (non-hybrid) optimal control problem which is not linked to an analogous optimization over any other interval. Furthermore, for each time-state pair {(t0s , x0s )j , (t0s , x0s )j+1 } the set-up cost of a search over a set Q to find the optimal q 0 ((t0s , x0s )j , (t0s , x0s )j+1 ) is proportional to |Q| and is not linked to an analogous search over any other interval. 2.2

Basic Idea of the (linear in |Q|, quadratic in L) HMPZ Algorithm

We shall adopt the name P REP (δ, G) for an algorithm performing the following calculation: find the optimal location q o = q o ((tr , xr ), (ts , xs )) ∈ Q, t0 ≤ tr < ts ≤ tf , for all such strictly ordered tr , ts on a δ−discretization of [t0 , tf ], where δ = (tf − t0 )/N , for some N > 0, and for all state pairs (xr , xs ) on the lattice points of a grid G with |G| elements, where the envelope of G is assumed to contain the optimal trajectory (xo (t); t0 ≤ t ≤ tf ). Then let the executions of the basic HOCP algorithm HMP be modified so that, after each iterative shift of the vector of switching time-state pairs (ts , xs )[k] [k+1] [k+1] [k+1] to (ts , xs )[k+1] in RL(n+1) , the location qj on the interval [tj , tj+1 ) is [k+1]

[k+1]

optimal for trajectories from xts to xts and is generated by P REP (δ, G). j j+1 Upon incrementing k to k +1 the modified HMP algorithm (which shall be called the HMPZ algorithm) repeats its basic operation if its halting rule has not been satisfied. 2.3

Optimality and Complexity of HMPZ

The HMPZ algorithm reaches an equilibrium with respect to all possible iterative shifts of the RL(n+1) vector (ts , xs ) and of the associated control inputs I(ts , xs ) only if the necessary conditions for HOCP optimality are satisfied (up to the approximations inherent in the specification of HMPZ). Hence the HMPZ algorithm provides a procedure for solving full hybrid optimal control problems which (necessarily) subsume the problem of finding an optimal discrete location sequence with the associated optimal switching times and states. The time-space regions which correspond to the distinct optimal locations q o are called optimality zones and are formally defined below. The computational cost of the determination of the optimality zones for HOCP by use of P REP (δ, G) in R2(n+1) is O(|G|2 · |Q| · L2 ); hence the HMPZ algorithm resulting from the enhancement of HMP with P REP computes (i) the optimal continuous variables and controls, and (ii) the optimal discrete location sequence with an overall complexity cost of O(|G|2 · |Q| · L2 )+ const. 2.4

Optimality Zones: Definitions and Properties

Throughout this paper the HOCPs under consideration do not have any autonomous switchings defined, in other words the collection of autonomous switching manifold sets is empty.

6

Hybrid Control Laws: From Exponential to Linear Complexity

7

Under the assumptions generating the class of hybrid systems H (and the associated HOCP (see Definition 1) the value function J 0 ((t1 , x1 ), (t2 , x2 ), q) of HOCP is bounded and continuous in ((t1 , x1 ), (t2 , x2 )) for each q ∈ Q. Then it is possible to define a region Zqint of points ((t1 , x1 ), (t2 , x2 )) in the space (R × Rn )2 for which a specific location q ∈ Q corresponds to the optimal hybrid system trajectory starting at (t1 , x1 ) and terminating at (t2 , x2 ). If we now fix the switching time-state (t2 , x2 ) ∇ z2 then the subset of R × Rn corresponding to the location q ∈ Q on the time interval t1 , t2 is a (set-valued) function of z2 . We call this subset the inbound optimality zone and denote it by Zq− . It is seen that Zq− is parametrized by the point z2 in the sense that as z2 varies the zone Zq− varies with it. This dependence of Zq− is continuous as a consequence of continuous dependence of cost functions on the data. A similar (and symmetric) relationship holds between the point (t2 , x2 ) ∇ z2 and the so-called outbound optimality zone Zq+ . The regions Zq− , Zq+ and Zqint have a well defined geometrical structure and once they have been computed (or approximated) they permit the exponential O(|Q|L ) complexity search for optimal location sequences (of length L) to be reduced to the complexity of a single run of the Algorithm HMP. The algorithm HMPZ which performs this optimization is essentially a minor modification of the HMP algorithm. We adopt the convention that if (t2 , x2 ) is not accessible from (t1 , x1 ) and similarly if (t1 , x1 ) is not co-accessible to (t2 , x2 )) when the system H is in the discrete state q ∈ Q then Jq ((t1 , x1 ), (t2 , x2 )) = ∞. Definition 2. The internal zone Zqint and the subsets I(Zqint ) and B(Zqint ) are given by Zqint ∆ {((t1 , x1 ), (t2 , x2 )) ∈ ((t0 , tf ) × Rn )2 : Jq0 ((t1 , x1 ), (t2 , x2 )) ≤ Jq0′ ((t1 , x1 ), (t2 , x2 )), t1 < t2 , ∀q ′ ∈ Q}, I(Zqint ) ∆ {((t1 , x1 ), (t2 , x2 )) ∈ ((t0 , tf ) × Rn )2 : Jq0 ((t1 , x1 ), (t2 , x2 )) < Jq0′ ((t1 , x1 ), (t2 , x2 )), t1 < t2 , ∀q ′ ∈ Q, q ′ 6= q}, B(Zqint ) ∆ {((t1 , x1 ), (t2 , x2 )) ∈ ((t0 , tf ) × Rn )2 : ∃q ′ ∈ Q, q ′ 6= q, Jq0 ((t1 , x1 ), (t2 , x2 )) = Jq0′ ((t1 , x1 ), (t2 , x2 )), t1 < t2 }. The inbound zone Zq− and outbound zone Zq+ are analogously defined when (t1 , x1 ) is set equal to the initial time and state (t0 , x0 ), and, respectively, (t2 , x2 ) is set equal to the terminal time and state (tf , xf ) of the HOCP; the associated sets I(Zq− ), I(Zq+ ), B(Zq− ), B(Zq+ ) are also defined in analogy with the corresponding internal zones.  We observe that the sets I(Zqint ) and B(Zqint ) are not necessarily the topological interior and topological boundary of Zqint unless additional conditions are satisfied (as given for instance below).

7

8

Shaikh & Caines

Definition 2 generalizes to the case of L switchings where there are inbound and outbound zones corresponding to the two end locations and a internal zones Zq0L corresponding to the L intermediate time and location pairs. However it is an important feature of the OZ methodology that these more complex constructions and their properties are not required in the specification of the HMPZ algorithm. Figure 1 shows the relationship between inbound and outbound zones, Zq−0 , + Zq1 , and the optimality zone Zq0 q1 , at a fixed switching time t, where Q = {q0 , q1 }. Notice that for any q ∈ Q, P[1] (Zqint ) = Zq+ and P[2] (Zqint ) = Zq− , where P[1] denotes projection of a set in ((t0 , tf ) × Rn )2 on the first n + 1 coordinates corresponding to (t0 , tf ) × Rn , and analogously for P[2] . The Topology of Optimality Zones We now introduce the basic assumptions concerning the geometry of the zones associated with an HOCP. A6 Nonempty optimality zones corresponding to two distinct location sequences have disjoint topological interiors. A7 An optimality zone corresponding to a location sequence {q0 , q1 , ..., qM } is either empty or is a finite union of C k , 1 ≤ k ≤ ∞ or k = ω, M (n + 1)dimensional manifolds with boundary. A8 Zonal topological boundaries are either (i) empty or (ii) piecewise C k , 1 ≤ k ≤ ∞ or k = ω, M (n + 1) − 1-dimensional manifolds with boundary. Zones satisfying assumptions A6, A7 and A8 are called regular zones. Lemma 1. ([4, 5]) If an optimality zone Zq0M satisfies A6 and A7, then (i) Zq0M is a closed set, and U (ii) Zq0M = I(Zq0M ) B(Zq0M ), U where denotes disjoint union, and I(Zq0M ) ∆ {z ∈ ((0, tf ) × Rn )M : Jq0M (z) < Jp0M (z), 0

0

M M ∀pM 0 ∈ Π(q0 ) − {q0 },

z = {(ti , xi )}M i=1 , 0 < t1 < t2 < · · · < tM < tf }, M M 0 0 B(Zq0M ) ∆ {z ∈ ((0, tf ) × Rn )M : ∃pM 0 ∈ Π(q0 ) − {q0 }, Jq M (z) = JpM (z), 0

0

z = {(ti , xi )}M i=1 , 0 < t1 < t2 < · · · < tM < tf }. Furthermore, (iii) B(Zq0M ) = ∂Zq0M , the topological boundary of Zq0M , and ◦



(iv) I(Zq0M ) =Z q0M , where Z q0M denotes the topological interior of Zq0M , and, S furthermore, ∂Zq0 q1 = (Zq−0 ∩ ∂Zq+1 ) (∂Zq−0 ∩ Zq+1 ), where ∂Zq+1 (respectively ∂Zq−0 ) is the topological boundary of Zq+1 (respectively Zq−0 ).  Proof. See [4, 5].

8

Hybrid Control Laws: From Exponential to Linear Complexity

3

9

Single Pass Schedule Optimization: The Algorithm Class HMPZ

We recall the fundamental implication of the Dynamic Programming Principle as given in the beginning to Section 2: Given that the zonal boundaries divide the (t, x)-space into a finite number of pre-computed connected zones, one may run the Algorithm HMP with the modification that location switchings occur as the values of (ts , xs ) cross the boundaries ∂ZpL0 ; this is the key feature which makes the class of HMPZ algorithms linear in the number of locations. We now present the conceptual algorithm HMPZ. We assume that HMP returns the updated values (tks , xks ) so that the Algorithm may employ these values at each iteration. 3.1

Zonal Algorithm HMPZ

1. Initialization: Set k = 0. Let S¯ be an initial switching sequence, {(t¯si , x ¯si )}L i=1 be initial switching time-state pairs. ¯ {(t¯s , x 2. Increment k by 1. Execute Algorithm HMP with S, ¯si )}L i i=1 as initial data. k+1 3. If HMP stops then STOP; else check whether {(tk+1 si , xsi )} lies in ¯ a zone distinct from ZS¯ . If yes, then set S equal to the location sequence corresponding to the zone to which k+1 k+1 k+1 L ¯ ¯si )}L {(tk+1 si , xsi )} belongs. Set {(tsi , x i=1 = {(tsi , xsi )}i=1 and go to Step 2. A convergence analysis of the HMPZ algorithms can be performed based upon the fact that HMPZ executes HMP a finite number of times in its inner loop, and HMP has been proved in [4, 5] to converge to an optimum solution for HOCP for any given fixed schedule.

4 4.1

Linear Quadratic Regulator (LQR) Case Free Terminal State Case

Again for simplicity we consider the case of two locations, Q = {q1 , q2 }, with a single controlled switch at (ts , xs ), fixed initial and final times, 0 and tf respectively, and fixed initial state x0 . The final state xf is free. Let the dynamics in each location be of the form: x˙ = Ai x + Bi u,

i ∈ {1, 2},

and let the costs associated with the locations Q = {q1 , q2 } in the intervals [0, ts ], [ts , tf ] be: Z 1 ts T (x Qi x + uT Ri u) dt, J1,i ((0, x0 ), (ts , xs )) = 2 0

9

10

Shaikh & Caines

J2,i ((ts , xs ), (tf , xf )) =

1 2

Z

tf

(xT Qi x + uT Ri u) dt,

ts

where Ai , Bi , Qi , Ri , i ∈ {1, 2}, are constant matrices of appropriate dimensions and Ri , i ∈ {1, 2}, are positive and Qi , i ∈ {1, 2}, are nonnegative. The optimal location costs on the time interval [ts , tf ] are given by Ji0 ((ts , xs ), (tf , xf )) =

1 T x Pi (ts )xs , 2 s

where the matrices Pi (t) are solutions to the corresponding matrix Riccati differential equations with Pi (tf ) = 0. Hence, in this case, the optimality zones are separated by boundaries defined by: {(t, x) : xT P1 (t)x = xT P2 (t)x}. Assuming t fixed at an arbitrary ts these boundaries are given by: {x : xT (P1 (ts ) − P2 (ts ))x = 0}. In particular, in the case of a 2-dimensional system where P1 (ts ) − P2(ts ) can be  λ21 0 diagonalized by a coordinate transformation to a matrix of the form , 0 −λ22 the boundaries are two straight lines, λ1 x1 = λ2 x2 and λ1 x1 = −λ2 x2 intersecting at the origin. Example 1 illustrates this situation via numerical computation. Here, due to the nature of solutions to the Riccati equation, the optimal (outbound, inbound and internal) performance indices are quadratic functions of x and are smooth transcendental functions of t; hence the zones are regular, that is to say conditions A6, A7 and A8 hold, and the zonal boundaries are in principle computable. 4.2

Terminal State Cost Case

The LQ case becomes more complicated when either there is a terminal cost term in the cost index or the terminal state is fixed. We add a terminal cost 1 T 2 (x(tf )−xf ) Ni (x(tf )−xf ), i = 1, 2, to the to the costs in the free terminal state case. In this case the zonal boundaries, in general, are not linear manifolds. In the case of fixed terminal state the cost in each location is given by an expression of the form: J 0 ((t, x), (tf , xf )) =

1 1 (x − xf )T P1 (t)(x − xf ) + (x − xf )T P2 (t)xf 2 2 1 + xTf P3 (t)xf , t ∈ [ts , tf ]. 2

where the following expressions for the matrices Pi , i = 1, 2, 3, are obtained by letting the matrix Ni tend to infinity (see [4, 5] for details): d −1 P = P1−1 AT + AP1−1 + P1−1 QP1−1 − BR−1 B T , dt 1

10

P1−1 (tf ) = 0.

Hybrid Control Laws: From Exponential to Linear Complexity

−P˙2 = AT P1 + P2 A + Q − P2 BR−1 B T P1 , −P˙3 = AT P2T + P2 A + Q − P2 BR−1 B T P2T ,

11

P2 (tf ) = 0. P3 (tf ) = 0.

Example 1. (Free terminal state) We consider a system with two locations q1 and q2 , linear dynamics and quadratic cost criteria in each location. The system and weighting matrices are:       1 −1 2 1 10 A1 = , A2 = , B1 = B2 = Q1 = Q2 = R1 = R2 = . 0 2 0 −1 01 T The initial and final times and states are: t0 = 0, tf = 2, x0 = [2 4] , xf free. For any given fixed ts the corresponding optimality zones in Figure 2 are, naturally, infinite triangular regions whose vertices lie at the origin and hence they give rise to regular optimality zones. 

Optimality Zones 2

1.5

1

x

2

0.5

0

−0.5

−1

−1.5

−2 −2

−1.5

−1

−0.5

0 x

0.5

1

1.5

2

1

Fig. 2. Optimality Zones in Example 1: LQ Case with Free Terminal State. o:(q2 , q1 ), +:(q2 , q2 ).

Example 2. (Fixed terminal state) We consider a system with two locations q1 and q2 , linear dynamics and quadratic cost criteria in each location. The system and weighting matrices are:       1 −1 2 1 10 A1 = , A2 = , B1 = B2 = Q1 = Q2 = R1 = , 0 2 0 −1 01 R2 = 1.6R1 . The initial and final times and states are: t0 = 0, tf = 2, x0 = [2 4]T , xf = [1 1]T .

11

12

Shaikh & Caines

Figure 3 shows an R2 (space) slice of the three dimensional space-time R2 ×R which corresponds to the HOCP in Example 2 at the particular switching time ts = 1. It also displays a sequence of values {xkts } generated by an execution of the Algorithm HMPZ (with ts fixed at the value 1). 

Optimality Zones and Trajectory of Algorithm HMP[Z]V 3.5 3 2.5 2 1.5

x

2

1 0.5 0 −0.5 −1 −1.5 −2 −2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

3

3.5

x1

Fig. 3. Optimality Zones in Example 2: LQ Case with Fixed Terminal State. ×:(q1 , q1 ), ∗:(q1 , q2 ), o:(q2 , q1 ).

4.3

Efficient Computation of Optimality Zones

Clearly a key issue in the computational efficiency of HMPZ is the computational cost of P REP which has been given a global upper bound in Section 2.3 in terms of δ, L and |G|. We note immediately that asymptotically in the number of switching times L the HMPZ method must be more efficient than direct combinatoric search over schedules using HMP, since the cost of the latter increases geometrically in L. However, the cost O(|G|2 · |Q| · L2 ) of P REP (δ, G) in its simplest form can be comparatively large with respect to the cost of each cycle of HMP and so methods to reduce the burden of P REP (δ, G) are of importance. There are essentially two ways that this can be done and examples illustrates the methods in each of these two important cases: 1) approximate the boundaries by computed interpolation for problems where they do not have an analytic expression; this essentially constitutes methods to avoid finding a significant number of internal points of the Optimality Zones. 2) identify problems in the so-called rational cost function class as defined below; these constitute a class of problems for which the OZ boundaries are

12

Hybrid Control Laws: From Exponential to Linear Complexity

13

algebraic varieties; this is in contrast, for instance, to the situation where the boundaries for fixed switching time values are algebraic in the switching state variables, but which are transcendental in the time variable, as occurs in the hybrid quadratic linear regulator problems (see [5, 4]). To this end, we may delineate those HOCPs which we shall term the class of Rational HOCPs and their associated Rational Optimality Zones. The rational HOCPs are those which have the property that the value functions (i.e. cost functions evaluated along optimal control trajectories) Jq ((t1 , x1 ), (t2 , x2 )) are rational functions of their arguments t1 , t2 , x1 , x2 for each q ∈ Q. For such rational HOCPs the equations Jp ((t1 , x1 ), (t2 , x2 )) = Jq ((t1 , x1 ), (t2 , x2 )),

p, q ∈ Q,

p 6= q,

defining the OZ boundaries, are then necessarily equations which are rational in t1 , t2 . For such sets of equations the computational cost of P REP is replaced by the cost of solving rational equations. A principle example in this class is the minimum time HOCP [25] which is being investigated in [26] using the Gr¨obner basis theory [27, 25].

5

The Hybrid Bilinear Quadratic Regulator (BLQR) Problem

In the set of computational experiments applying HMPZ to a hybrid system whose discrete state set consists of the two locations corresponding to the bilinear dynamics: x˙ = x + xu, x˙ = −x + xu. The objective is to transfer the state x1 at time t1 to state x2 at time t2 so as to minimize the cost functional: Z 1 t2 2 J(u) = u (s) ds. 2 t1 The program P REP was first applied to the product time-space (R1+1 )2 and this generated the OZ region data which was stored in the main program look-up table. The internal zone boundary between the OZs corresponding to the middle location being 1 or 2 is shown in Figure 4. In this particular case it is possible to obtain closed form expressions for the optimal cost of transferring the system from (t1 , x1 ) to (t2 , x2 ) under the two dynamics (i = 1, 2): Ji ((t1 , x1 ), (t2 , x2 )) =  h  i2 (−1)i  x 1  (t2 − t1 ),  2 1 + t2 −t1 log x21 0,   ∞,

13

if t1 6= t2 ∧ x1 x2 > 0 if t1 = t2 ∧ x1 = x2 ∧ x1 x2 > 0 if (t1 = t2 ∧ x1 6= x2 ) ∨ (x1 x2 ≤ 0).

14

Shaikh & Caines

The interesting case is that of t1 6= t2 and x1 x2 > 0 and in this case equating the costs corresponding to two dynamics gives:  or

1−

1 log t2 − t1



x2 x1

2

 = 1+

1 log t2 − t1



x2 x1



1 log t2 − t1



x2 x1

2

,

= 0,

or x1 = x2 . Hence the switching surface is given in the (t1 , t2 , x1 , x2 )-space by: ∂OZ = {(t1 , t2 , x1 , x2 ) ∈ R4 : x1 = x2 }, which agrees with the computational experiments. Example 3. For the implementation of HMPZ the initial location sequence was arbitrarily chosen to be (1, 1, 1). The initial values of ts1 and ts2 were chosen to be 0.5 and 1.5, and the associated values of the switching states were x(ts1 ) = 1 and x(ts2 ) = 1.5. After just one iteration of HMP the second switching time-state pair passed through an OZ boundary resulting in the location sequence transition from (q1 , q2 , q3 ) = (1, 1, 1) to (q1 , q2 , q3 ) = (1, 1, 2) as shown in the second line of Table 5. Subsequently, at iteration number 3 the two switching time-state pairs passed through an OZ boundary resulting in the location sequence change from (q1 , q2 , q3 ) = (1, 1, 2) to (q1 , q2 , q3 ) = (1, 2, 2) as shown in the third line of Table 5. Finally, after six iterations the algorithm corresponding to the location sequence (1, 2, 2) converged giving the optimal cost 0.16674. The computational time for P REP in this experiment was 7231 seconds (about two hours) for the case where space-time constraints were taken to be 0 < ts1 < 2, ts1 < ts2 < 2, 1 < xs1 < 2, 1 < xs2 < 2, and 121 seconds for the second case where they were taken to be 0.4 < ts1 < 0.8, 1.2 < ts2 < 1.7, 0.5 < xs1 1 < 1, 1.5 < xs2 < 2. For the HMPZ implementation the computation time was 3.6 seconds. All computations were performed in Matlab 6.5 under Windows 2000 SP4 operating system on a P4 3.2 GHz machine with 512 MB of RAM.  Example 4. To demonstrate the power of the HMPZ algorithm we applied it to solve an HOCP involving the BLQR of Example 3 with ten switchings. The problem data was: t0 = 0, tf = 2, x0 = 2.4, xf = 2.6 and number of switchings was set to 10. The algorithm initially computed (i) ten uniformly distributed switching times between t0 = 0 and tf = 2, (ii) ten randomly distributed switching states between x0 = 2.4 and xf = 2.6, and (iii) the initial switching sequence: (1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) which corresponds to the initial choice of switching times and states. The initial cost as computed by the algorithm is J = 0.75653 which drops down to J = 0.31957 by the 15th iteration. In the next (i.e. 16th)

14

Hybrid Control Laws: From Exponential to Linear Complexity

15

Internal Optimality Zones, t1s = 0.7 s

2 1.8 1.6 1.4

x2

1.2 1 0.8 0.6 0.4 0.2 0 1

2 1.5 0.8

1 0.6

0.5

0.4

0.2

0

0 t2

x1

Fig. 4. OZ boundary for x1 , x2 , t2 varying with t1 = 0.7. Asterisks indicate joint time-state switching pairs at HMPZ iterations 3, 4, 5 and 6.

Table 1. Execution of Algorithm HMPZ Iteration Location sequence Cost

(ts1 , xs1 ) (ts2 , xs2 )

1

(2, 1, 1)

1.8342 (0.3, 1.4) (1.6, 1.3)

2

(1, 1, 1)

1.2928 (0.5, 1)

3

(1, 1, 2)

0.56549 (0.5, 0.8) (1.6, 1.6)

4

(1, 2, 2)

0.37839 (0.7, 0.7) (1.7, 1.7)

5

(1, 2, 2)

0.2909 (0.7, 0.7) (1.7, 1.8)

6

(1, 2, 2)

0.22118 (0.7, 0.7) (1.7, 1.9)

7

(1, 2, 2)

0.16674 (0.7, 0.7) (1.7, 2)

(1.5, 1.5)

iteration the algorithm switches to the zone corresponding to the optimal switching sequence: (1, 1, 2, 2, 1, 1, 2, 1, 2, 1, 1) giving the optimal cost J = 0.21897 at the 18th iteration. The running time was 45.596 seconds. The iterations of the program execution are shown in Table 4. 

6

ACKNOWLEDGMENT

The authors would like to thank Sean Meyn of University of Illinois at UrbanaChampaign for valuable discussions.

15

16

Shaikh & Caines Table 2. Execution of Algorithm HMPZ: Ten switchings case Iteration

Location sequence

Cost

1

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.75653

2

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.70324

3

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.68563

4

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.63887

5

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.61678

6

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.60291

7

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.58548

8

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.54783

9

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.49985

10

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.47789

11

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.43679

12

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.39453

13

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.35672

14

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.33756

15

(1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1) 0.31957

16

(1, 1, 2, 2, 1, 1, 2, 1, 2, 1, 1) 0.21986

17

(1, 1, 2, 2, 1, 1, 2, 1, 2, 1, 1) 0.21897

18

(1, 1, 2, 2, 1, 1, 2, 1, 2, 1, 1) 0.21897

References 1. Shaikh, M.S., Caines, P.E.: On trajectory optimization for hybrid systems: Theory and algorithms for fixed schedules. In: Proc. 41st IEEE Int. Conf. Decision and Control, Las Vegas, NV (2002) 1997–1998 2. Shaikh, M.S., Caines, P.E.: On the optimal control of hybrid systems: Optimization of trajectories, switching times, and location schedules. In Maler, O., Pnueli, A., eds.: Proc. sixth international workshop, Hybrid Systems: Computation and Control, LNCS 2623, Berlin, Germany, Springer-Verlag (2003) 466–481 3. Shaikh, M.S., Caines, P.E.: On the optimal control of hybrid systems: Analysis and algorithms for trajectory and schedule optimization. In: Proc. 42nd IEEE Int. Conf. Decision and Control, Maui, Hawaii (2003) 2144–2149 4. Shaikh, M.S.: Optimal Control of Hybrid Systems: Theory and Algorithms. PhD thesis, Department of Electrical and Computer Engineering, McGill University, Montr´eal, Canada (2004) 5. Shaikh, M.S., Caines, P.E.: Hybrid optimization algorithms: Convergence, combinatoric search and optimality zones. IEEE Trans. Automat. Contr. (2004) submitted.

16

Hybrid Control Laws: From Exponential to Linear Complexity

17

6. Shaikh, M.S., Caines, P.E.: On the optimal control of hybrid systems: Optimization of switching times and combinatoric location schedules. In: Proc. American Control Conference, Denver, CO (2003) 2773–2778 7. Xu, X., Antsaklis, P.J.: Optimal control of switched systems based on parameterization of the switching instants. IEEE Trans. Automat. Contr. 49 (2004) 2–16 8. Branicky, M.S., Borkar, V.S., Mitter, S.K.: A unified framework for hybrid control: model and optimal control theory. IEEE Trans. Automat. Contr. 43 (1998) 31–45 9. Branicky, M.S., Mitter, S.K.: Algorithms for optimal hybrid control. In: Proc. 34th IEEE Int. Conf. Decision and Control, New Orleans, LA (1995) 2661–2666 10. Sussmann, H.: A maximum principle for hybrid optimal control problems. In: Proc. 38th IEEE Int. Conf. Decision and Control, Phoenix, AZ (1999) 425–430 11. Riedinger, P., Kratz, F., Iung, C., Zanne, C.: Linear quadratic optimization of hybrid systems. In: Proc. 38th IEEE Int. Conf. Decision and Control, Phoenix, AZ (1999) 3059–3064 12. Tomiyama, K.: Two-stage optimal control problems and optimality conditions. J. Economic Dynamics and Control 9 (1985) 317–337 13. Clarke, F.H., Vinter, R.B.: Optimal multiprocesses. SIAM J. Control and Optimization 27 (1989) 1072–1079 14. Clarke, F.H., Vinter, R.B.: Applications of optimal multiprocesses. SIAM J. Control and Optimization 27 (1989) 1048–1071 15. Giua, A., Seatzu, C., Mee, C.V.D.: Optimal control of autonomous linear systems switched with a pre-assigned finite sequence. In: Proc. 2001 IEEE International Symposium on Intelligent Control. (2001) 144–149 16. Giua, A., Seatzu, C., Mee, C.V.D.: Optimal control of switched autonomous linear systems. In: Proc. 40th IEEE Int. Conf. Decision and Control, Orlando, FL (2001) 2472–2477 17. Bemporad, A., Giua, A., Seatzu, C.: Synthesis of state-feedback optimal controllers for continuous-time switched linear systems. In: Proc. 41st IEEE Int. Conf. Decision and Control, Las Vegas, NV (2002) 3182–3187 18. Bemporad, A., Giua, A., Seatzu, C.: A master-slave algorithm for the optimal control of continuous-time switched affine systems. In: Proc. 41st IEEE Int. Conf. Decision and Control, Las Vegas, NV (2002) 1976–1981 19. Bemporad, A., Giua, A., Seatzu, C.: An iterative algorithm for the optimal control of continuous-time switched linear systems. In: Proc. Sixth International Workshop on Discrete Event Systems. (2002) 335–340 20. Xu, X., Antsaklis, P.J.: An approach for solving general switched linear quadratic optimal control problems. In: Proc. 40th IEEE Int. Conf. Decision and Control, Orlando, FL (2001) 2478–2483 21. Egerstedt, M., Wardi, Y., Axelsson, H.: Optimal control of switching times in hybrid systems. In: MMAR’2003, Miedzyzdroje, Poland. (2003) 22. Egerstedt, M., Wardi, Y., Delmotte, F.: Optimal control of switching times in switched dynamical systems. In: Proc. 42nd IEEE Int. Conf. Decision and Control, Maui, HI (2003) 2138–2143 23. Stursberg, O., Panek, S.: Control of switched hybrid systems based on disjunctive formulations. In Tomlin, C.J., Greenstreet, M.R., eds.: Proc. fifth international workshop, Hybrid Systems: Computation and Control, LNCS 2289, SpringerVerlag (2002) 421–435 24. Shaikh, M.S., Caines, P.E.: On the hybrid optimal control problem: The hybrid minimum principle and dynamic programming theorem. IEEE Trans. Automat. Contr. (2004) submitted.

17

18

Shaikh & Caines

25. Walther, U., Georgiou, T.T., Tannenbaum, A.: On the computation of switching surfaces in optimal control: a Gr¨ obner basis approach. IEEE Trans. Automat. Contr. 46 (2001) 534–540 26. Shaikh, M.S., Caines, P.E.: Optimality zone algorithms for hybrid systems. Technical report, ECE Department, McGill University (2004) 27. Cox, D.A., Little, J.B., O’Shea, D.: Ideals, Varieties, and Algorithms. SpringerVerlag (1996)

18

Modeling and Analysis of Human Behavior based on Hybrid System Model Tatsuya Suzuki Nagoya University, Furo-cho, Chikusa-ku, Nagoya 464-8603, JAPAN, t [email protected], WWW home page: http://www.suelab.nuem.nagoya-u.ac.jp/~ suzuki/index e.html

Abstract. This paper presents a development of the modeling strategy of the human driving behavior based on the Hybrid System model focusing on the driver’s collision avoidance maneuver. In our modeling, the control scenario of the human driver, that is, the mapping from the driver’s sensory information to the operation of the driver such as acceleration, braking and steering, is expressed by Piecewise ARX model. This paper addresses the cases that the switching between sub-ARX models is caused in both deterministic logic-based and stochastic manners. Then, the identification problems for the logic-based/stochastic switched ARX models (LS-ARX and SS-ARX models) are formulated and solved. The LS-ARX model enables us to capture not only the physical meaning of the driving skill, but also the decision-making aspect (switching conditions) in the driver’s collision avoidance maneuver. Also, the SS-ARX model can be used for the behavior recognition which can be regarded as natural extension of the speech recognition.

1

Introduction

Recently, the modeling of driving behavior has attracted much attention by many researchers[1][2][4][9]. In order to model the driver’s driving maneuver, the conventional techniques such as the nonlinear regression models, the neural network and fuzzy systems have been used [17]. These techniques, however, have some problems as follows: (1) the obtained model often results in too complicated model, (2) this makes it impossible to understand the physical meaning of the driver’s maneuver. When we look at the driving behavior, it is often found that the driver appropriately switches the simple control laws instead of adopting the complex nonlinear control law. The switching mechanism can be regarded as a kind of driver’s decision-making in the driver’s driving behavior. Therefore, it is highly recommended that the model of the driving behavior involves both physical skill (motion) and the decision-making aspect (switching condition). This kind of expression can be categorized into a class of Hybrid Dynamical Systems (HDSs). HDSs are systems, which consist of both continuous dynamics and logical conditions. The former are typically associated with the differential (or difference) equations, the latter with combinatorial logics, automata and so

19

on [5][6][7]. Although many literatures have dealt with the description, stability analysis, control verification and parameter identification of the HDS, the application to the human behavior analysis has not been discussed as far as the authors know. In this paper, the Piecewise ARX model, which is a class of the HDS, is adopted to understand the human driving behavior especially focusing on the driver’s collision avoidance maneuver. In our modeling, the relationship among the observed information such as the sensory information of range between cars, range rate, lateral displacement between cars and the steering output of driver is expressed by the Piecewise ARX model. This paper addresses the cases that the switching between sub-ARX models is caused in both deterministic logic-based and stochastic manners. Then, the identification problems for the logic-based/stochastic switched ARX models (hereafter, called LS-ARX and SS-ARX models) are formulated and solved. The LS-ARX model enables us to capture not only the physical meaning of the driving skill, but also the decision-making aspect (switching conditions) in the driver’s collision avoidance maneuver. Although there are several techniques to identify the parameters of LS-ARX model [8][9][10][11], the clustering based approach is introduced in this paper, which is originally developed in [10], since it is applicable to large data set. In this case, the observed data set is categorized into some modes, then the logical switching condition between modes are found by applying Support Vector Machine (SVM) technique. On the other hand, the SS-ARX model can be regarded as a natural extension of the Hidden Markov Model (HMM) which shows great performance in the field of speech recognition[12]. This was partly because that the speech signal inherently has a ‘piecewise’ characteristics in it. The ideas developed for the speech recognition are also applicable to gesture recognition, which is another way of communication. Furthermore, a biometrics based on the behavioral information such as walking, grasping, and so on, is now considered as promissing application area. The motivation of this comes from the fact that complex behavior consists of primitive dynamics, which is often referred as motion primitives [14], movemes [13], and so on. However, in these works, the explicit combination of the continuous dynamics and the stochastic discrete model has not been fully discussed as far as the authors know. In [15], the parameter estimation problem for the stochastic hybrid system was addressed where autonomous state equation is assigned to each discrete state as a generator of the observed signal at each discrete state. However, the input-output relation of the system was not considered explicitly. This may cause inconvenience when this model is applied to behavior recognition. On the other hand, the ARX model directly represents dynamical relationship between input and output signals. Therefore, the SSARX model is expected to play an essential role in the behavior recognition. The parameter estimation algorithm for the SS-ARX model is derived based on the EM algorithm as well as the one for the HMM. In this paper, we also verify the potential performance of the LS-ARX and SSARX models as the basic system model to analyze the human behavior through the experiments on the drivers collision avoidance maneuver. The driving data

20

are collected by using the three-dimensional driving simulator based on CAVE, which provides stereoscopic immersive vision. Thanks to the stereoscopic vision, the examinee can feel almost real driving feelings in our experiments.

2

Parameter estimation of LS-ARX model

In this section, we introduce the parameter estimation algorithm for the hybrid system which consists of sub-ARX models together with the logic-based switching conditions between them (See [10] in detail, hereafter, we call this Logic-based Switched ARX model: LS-ARX model). The mathematical form in the case of the number of modes is three is given as follows:  T if ψ t ∈ C0  yt = ψ t θ0 + et , T yk = yt = ψ t θ1 + et , (1) if ψ t ∈ C1  yt = ψ Tt θ2 + et , if ψ t ∈ C2 where yt and ψ t are an output and regressor vector of the system at t. et is called an equation error, and is supposed to have a Gaussian distribution with variance σ. 2.1

Mode classification by data clustering

In order to identify the parameters in the LS-ARX model, first of all, the input and output data are classified, and categorized into the corresponding modes. The outline of the clustering is described as follows: – Suppose that the sample data series {ot } = {(yt , ψ t )} (t = 0, 1 . . . , T ) is given. For each sample data ot (t = 0, 1 . . . , T ), collect the neighboring c data, generate the data set LDst , and find the feature vector ξt (Fig.1(a)). Here, the feature vector ξt consists of the parameters θ calculated by least mean square method and the mean value of the data among the LDst . – Transform the series of sample data {ot } to the series of feature vectors {ξt } (i = 1, 2 . . . , n) (Fig.1(b)). Apply the K-means algorithm [16] to the {ξi }. (Fig.1(c)). – Transform the clustering results in the feature vector space to one in the original sample data space (Fig.1(d)). The parameters of each ARX model are found by applying the standard least mean square method to the sample data set in each mode defined by the clustering procedure. 2.2

Identification of switching plane by SVM

The next step is to find the switching plane from one cluster to other, that is, the boundaries between regions (C0 , C1 and C2 in (1)). As a useful tool for this,

21

!

Fig. 1. Outline of Clustering

the Support Vector Machine (SVM) is often used, where the plane is restricted to the linear hyperplane. The outline of SVM is briefly reviewed as follows: SVM is a kind of learning procedure which classifies data into two classes by finding linear hyperplane. Suppose that the training data xi and Label for class ti ∈ {−1, 1} are given. If the training data are distinguishable by the linear hyper plane, the following parameters {w, h} exist. wT xi − h ≥ 1 if ti = 1 wT xi − h ≤ −1 if ti = −1

(2)

SVM tries to find these parameters by maximizing the distance between 1 two hyperplanes wT xi − h = 1 and wT xi − h = −1, which is given by kwk (Maximization of margin, see Fig.2). This problem can be formulated as the following quadratic programming. 1 k w k2 2 subject to ti (wT xi − h) ≥ 1, min

L(w) =

i = 1, . . . , N

(3)

If the training data are not distinguishable, the original quadratic programming is reformulated by introducing the nonnegative variable ηi as follows:

22

wTx-h=1

wTx-h=-1

1/||w|| 1/||w||

Fig. 2. Definition of margin in SVM

N

min L(w) = s.t.

X 1 k w k2 +µ ηi 2 i=1

ti (wT xi − h) ≥ 1 − ηi , ηi ≥ 0, i = 1, . . . , N

(4)

The variable ηi represents the penalty for exceeding the hyperplane, and µ denotes the weight for the penalty. This relaxation of the constraints is called a Soft Margin technique. In this work, we use this relaxed formulation to find the switching planes.

3

Parameter estimation of SS-ARX model

In this section, we consider the parameter estimation problem of the stochastic hybrid system which consists of sub-ARX models together with the probabilistic switching between them (Hereafter, we call this Stochastic Switched ARX model: SS-ARX model). The three state SS-ARX model is depicted in Fig.3 3.1

Parameters in SS-ARX model

The parameters in SS-ARX model are specified as follows: – – – – –

Set of discrete states S[= Si , (i=0, 1, · · · , N )] aij : State transition probability (i=0, 1, · · · , N ; j =0, 1, · · · , N ) πi : Initial state probability (i=0, 1, · · · , N ) θ i : Parameters in ARX model assigned to Si (i=0, 1, 2, · · · , N ) σi : Variances of equation error in ARX model assigned to Si (i=0, 1, 2, · · · , N )

N + 1 denotes the number of discrete states.

23

Fig. 3. SS-ARX Model (3states)

3.2

Definition of observed symbol in SS-ARX model

In order to derive the parameter estimation algorithm, a observed symbol and its occurrence probability are defined for the SS-ARX model as follows: By this definition, the parameter estimation algorithm for HMM can be naturally extended to the one for SS-ARX model. First of all, the observed symbol ot at time t is defined as the combination of the output yt and the regressor ψ t , that is, ot = (yt , ψ t ). Then, its occurrence probability bi (ot ) is defined by the assumption of the Gaussian distribution of the equation error. ( ) 1 (ψ Tt θ i − yt )2 bi (ot ) = √ exp − . (5) 2σi2 2πσi By these definitions, the parameter estimation problem for SS-ARX model can be regarded as natural extension of the problem for HMM with continuous observed symbol. 3.3

Parameter Estimation

EM algorithm For the ARX model, in which its parameters are denoted by λ, we consider an unobservable state sequence s = (s0 , s1 , · · · , st , · · · , sT ) and an observable symbol sequence O = (o0 , o1 , · · · , ot , · · · oT ). The maximization of the likelihood value of the s and O, L(s, O; λ) = P (s, O|λ) is achieved by introducing the EM algorithm. EM algorithm can locally maximize the likelihood value L(s, O; λ) = P (s, O|λ) by iterative procedure. Generally, the EM algorithm tries to find the parameter λ0 which maximizes the following Q function: Q(λ, λ0 ) = E[log {P (s, O|λ0 )} |O, λ] X = P (s|O, λ) log {P (s, O|λ0 )} s

24

(6) (7)

by executing following procedures iteratively. 1. Specify an initial parameter λ. 2. Find the λ0 which maximizes the Q(λ, λ0 ). 3. Substitute λ0 for λ, and iterate 2) until λ0 = λ holds. Parameter estimation algorithm The parameters of SS-ARX model before and after the update are supposed to be given by λ = (πi , aij , θ i , σi ) and λ0 = (πi0 , a0ij , θ 0 i , σi0 ). From (7), Q(λ, λ0 ) =

X

P (s|O, λ) log {P (s, O|λ0 )}

(8)

s

=

X 1 P (s, O|λ) log {P (s, O|λ0 )} . P (O|λ) s

(9)

1 Since P (O is constant, the maximization of Q(λ, λ0 ) implies the maximization |λ) ˜ λ0 ) given by of Q(λ,

˜ λ0 ) = Q(λ,

X

P (s, O|λ) log {P (s, O|λ0 )} .

(10)

s By using the definition P (s, O|λ) = πs0 bs0 (o0 ) × as0 s1 bs1 (o1 ) × · · ·× asT −1 sT bsT (oT ),

(11)

˜ λ0 ) can be decomposed as follows: the Q(λ, ˜ λ0 ) = Q ˜ 1 (λ, λ0 ) + Q ˜ 2 (λ, λ0 ) + Q ˜ 3 (λ, λ0 ) Q(λ,

(12)

where ˜ 1 (λ, λ0 ) = Q

N X N X

···

s0 =0 s1 =0

N X

πs0 bs0 (o0 )×as0 s1 bs1 (o1 )×

sT =0

© ª · · · ×asT −1 sT bsT (oT ) log πs0 0 , ˜ 2 (λ, λ0 ) = Q

N X N X

···

s0 =0 s1 =0

N X

(13)

πs0 bs0 (o0 )×as0 s1 bs1 (o1 )×

sT =0

· · · ×asT −1 sT bsT (oT )×

T X

n o log a0st−1 st ,

(14)

t=1

˜ 3 (λ, λ0 ) = Q

N X N X

···

s0 =0 s1 =0

N X

πs0 bs0 (o0 )×as0 s1 bs1 (o1 )×

sT =0

· · · ×asT −1 sT bsT (oT )×

T X t=0

25

© ª log b0st (ot )

(15)

Next, the forward probability α(i, t) and backward probability β(i, t) are defined as follows: N X N X

α(i, t) =

···

s0 =0 s1 =0

N X

πs0 bs0 (o0 )

st−1 =0

×as0 s1 bs1 (o1 ) ×· · ·× ast−1 st bst (ot ) N X

β(i, t) =

N X

···

st+1 =0 st+2 =0

N X

(16)

ast st+1 bt+1 (ot+1 )

sT =0

×ast+1 st+2 bst+2 (ot+2 ) ×· · ·× asT −1 sT bsT (oT )

(17)

The meaning of α(i, t) is the probability for the SS-ARX model λ to generate the symbol sequence O = (o0 , o1 , · · · , ot ) until t and reach the state Si at t (i.e. st = Si ). Also, the meaning of β(i, t) is the probability for the SS-ARX model λ to generate the symbol sequence O = (ot+1 , ot+2 , · · · , oT ) starting from Si at t (i.e. st = Si ) and reach the final state at T . By using eqs. (16) and (17), eqs. (13), (14) and (15) are rewritten as follows: ˜ 1 (λ, λ0 ) = Q

N X

πi log {πi0 } bi (o0 )β(i, 0)

(18)

i=0

˜ 2 (λ, λ0 ) = Q

T X N X N X

© ª log a0ij α(i, t − 1)aij bi (ot )β(j, t)

(19)

t=1 i=0 j=0

˜ 3 (λ, λ0 ) = Q

T X N X

log {b0i (ot )} α(i, t)β(i, t)

(20)

t=0 i=0

˜ 1 (λ, λ0 ), Q ˜ 2 (λ, λ0 ) and Q ˜ 3 (λ, λ0 ), Q(λ, ˜ λ0 ) can be maximized. By maximizing Q 0 0 ˜ Therefore, λ which maximizes the Q(λ, λ ) can be obtained as follows: πi bi (o0 )β(i, 0) πi0 = PN k=0 πk bk (o0 )β(k, 0) PT α(i, t − 1)aij bj (ot )β(j, t) 0 aij = PN t=1 PT k=0 t=1 α(i, t − 1)aik bk (ot )β(k, t) ( T ) ( T ) o −1 X Xn 0 T θi = ψ t ψ t α(i, t)β(i, t) {ψ t yt α(i, t)β(i, t)} t=0

(22)

(23)

t=0

o n T 0 2 − y | α(i, t)β(i, t) θ |ψ t t i t=0 PT t=0 {α(i, t)β(i, t)}

PT σi02 =

(21)

(24)

By iterating three steps in the EM algorithm together with (21), (22), (23) and (24), the parameter λ is locally optimized. Note that eq. (23) can be regarded as the weighted least mean square solution in which the weight parameters are specified by the sojourn probability at the state Si .

26

4 4.1

Application to drivers behavior modeling Configuration of Driving Simulator

The configuration and appearance of the developed DS based on the CAVE are shown in Figs. 4(a) and (b). The display unit in the CAVE system provides the 3D virtual environment, and it is controlled by ONYX2. The display program was developed by making use of the CAVE library and the Performer. The cockpit is built by installing a handle, an accelerator and a brake in the CAVE system. The information on the driver’s output to the handle, accelerator and brake is transferred to the PC through the USB terminal, and the vehicle position and motion are calculated based on these inputs and vehicle dynamics implemented on the PC using the CarSim software. The results of the calculation are transferred to ONYX2 through the Internet (TCP/IP), and the 3D visual image based on the position and motion of the vehicle is displayed. 4.2

Data acquisition in collision avoidance maneuver

Experimental environment and conditions In this paper, we focus on the driver’s collision avoidance behavior at the instance of the sudden stopping of the preceding vehicle when the examinee looks aside from the road ahead. In order to model the driver’s collision avoidance maneuver, the following sensory information is captured as the inputs: 1. Range between cars (x1,t ) 2. Range rate (x2,t ) 3. Lateral displacement between cars (x3,t ) The outputs of drivers are also specified as follows: 1. Steering amount (yt ) The selection of sensory information was motivated by the result in [9]. One may argue that the braking operation should be taken into account the model. However, thanks to the enough range between cars, the influence of the braking is smaller than that of steering. In our modeling, the regressor vector was specified as follows: ψ

t

= (x1,t−m , x2,t−m , x3,t−m )T

(25)

where m represents the time delay from the perception to the operation in human behavior. In the analyses shown in the later sections, m was set to be twelve. Since the sampling interval was 16[msec], this implies that we have specified about 200[msec] time delay, which is known as a reasonable value in the field of human engineering. Also, the number of discrete states (modes) in both the LS-ARX and SS-ARX models was set to be three. Note that although the autoregression terms, i.e. the past values of the output yt are not included in the regressor vector, extension to such case is straightforward.

27

USB

Direct Input Speaker

Magnetic Sensor Handle Accelerator Brake

PC Control Program Vehicle Dynamics TCP/IP ONYX2 (UNIX) Display Program CAVE Lib. Performer

CAVE (a)

(b) Fig. 4. The developed driving simulator beaed on CAVE.

28

Procedure of experiment The examinee drives the car with keeping constant distance to the preceding truck. The operator set the red or green parking vehicles on the right side at the intersection. The examinee are supposed to take a look at the right side at each intersection, then the examinee answers what colors the parking vehicle is and/or whether there are any parking vehicles. When the examinee looks right side at some intersection, the preceding truck is supposed to stop suddenly with maximum deceleration. Then, the collision avoidance behavior of the examinee is observed. 4.3

Identification as LS-ARX model

In this subsection, the LS-ARX model is introduced as a mathematical model of the driving behavior. We consider the following LS-ARX model which consists of three modes: mode A (Avoidance) yt = θ0,1 x1,t−m + θ0,2 x2,t−m + θ0,3 x3,t−m if ψ

t

∈ C0

(26)

t

∈ C1

(27)

t

∈ C2

(28)

mode B (Overtake) yt = θ1,1 x1,t−m + θ1,2 x2,t−m + θ1,3 x3,t−m if ψ mode C (Recovery) yt = θ2,1 x1,t−m + θ2,2 x2,t−m + θ2,3 x3,t−m if ψ

where θi,j represent parameters in mode i (i = 0, 1, 2), and C0 , C1 and C2 represent subspaces in the space of regressor vector. In this modeling, θi,j (i = 0, 1, 2, j = 1, 2, 3) are unknown parameters. Also, the boundaries between subspaces C0 , C1 and C2 are unknown. This point makes the identification problem much more difficult than the standard parameter identification for the simple linear model. By introducing this LS-ARX model, it becomes possible to capture not only the motion aspect (represented by coefficients θi,j (i = 0, 1, 2, j = 1, 2, 3) but also the decision making aspect(represented by boundaries between C0 , C1 and C2 )of the human behavior.The time interval to be analyzed was set to between the beginning of the steering operation and the ending of it. Results of clustering and identified parameters We have analyzed the driving data of two male examinees (20s years old). The driver A carried out the avoidance with only steering, whereas the driver B used lots of braking together with the steering. The driving data used for the analysis is shown in Figs.5 to 10. Each data shows the profiles of three trials in each experiment set. The horizontal axis represents the range between cars, the vertical axes of the top, middle and bottom figure represent the steering, lateral displacement between cars and range rate, respectively. The right turn of the steering takes

29

mode A mode B mode C

50 0 −50 −100 30 −1 0 1 2 3

Range rate(m/s)

Lateral displacement(m)

Steering(degree)

Trial 1

100

30 20

20

10

0

−10

−20

−30 mode A mode B mode C

20

10

0

−10

−20

−30 mode A mode B mode C

15 10 5 0 30

20

10

0 Range(m)

−10

−20

−30

Trial 2

100

mode A mode B mode C

50 0 −50 −100 30 −1 0 1 2 3

Range rate(m/s)

Lateral displacement(m)

Steering(degree)

Fig. 5. Examinee A — Set 1

30 20

20

10

0

−10

−20

−30 mode A mode B mode C

20

10

0

−10

−20

−30 mode A mode B mode C

15 10 5 0 30

20

10

0 Range(m)

−10

Fig. 6. Examinee A — Set 2

30

−20

−30

mode A mode B mode C

50 0 −50 −100 30 −1 0 1 2 3

Range rate(m/s)

Lateral displacement(m)

Steering(degree)

Trial 3

100

30 20

20

10

0

−10

−20

−30 mode A mode B mode C

20

10

0

−10

−20

−30 mode A mode B mode C

15 10 5 0 30

20

10

0 Range(m)

−10

−20

−30

Trial 4

100

mode A mode B mode C

50 0 −50 −100 30 −1 0 1 2 3

Range rate(m/s)

Lateral displacement(m)

Steering(degree)

Fig. 7. Examinee A — Set 3

30 20

20

10

0

−10

−20

−30 mode A mode B mode C

20

10

0

−10

−20

−30 mode A mode B mode C

15 10 5 0 30

20

10

0 Range(m)

−10

Fig. 8. Examinee A — Set 4

31

−20

−30

mode A mode B mode C

50 0 −50 −100 30 −1 0 1 2 3

Range rate(m/s)

Lateral displacement(m)

Steering(degree)

Trial 1

100

30 20

20

10

0

−10

−20

−30 mode A mode B mode C

20

10

0

−10

−20

−30 mode A mode B mode C

15 10 5 0 30

20

10

0 Range(m)

−10

−20

−30

Trial 2

100

mode A mode B mode C

50 0 −50 −100 30 −1 0 1 2 3

Range rate(m/s)

Lateral displacement(m)

Steering(degree)

Fig. 9. Examinee B — Set 1

30 20

20

10

0

−10

−20

−30 mode A mode B mode C

20

10

0

−10

−20

−30 mode A mode B mode C

15 10 5 0 30

20

10

0 Range(m)

−10

Fig. 10. Examinee B — Set 2

32

−20

−30

positive value. The lateral displacement between cars takes positive value when the driver’s vehicle moves to right side against the preceding vehicle. The range rate is the difference of the speed between the drivers vehicle and the preceding truck. All data are normalized before analysis. We can see that all data are appropriately decomposed into three modes, i.e. the ‘Avoidance’, ‘Overtake’ and ‘Recovery’ show up in reasonable fashion. The parameter identification results for each mode are shown in Table 1. From Table 1, we can figure out the following driving characteristics: Mode A (Avoiding) The sign of θ0,1 (gain for the range) is negative, the sign of θ0,2 (gain for the range rate) is positive, and the sign of θ0,3 (gain for the lateral displacement) is almost negative. This is the common characteristics between drivers. On the other hand, we can see some difference between drivers in the magnitude of the gains in the mode A. Although the magnitude of the gain θ0,3 tends to be large in the driver A, the magnitude of the gain θ0,2 tends to be large in the driver B. This implies that the driver A signifies the information on the lateral displacements, whereas the driver B signifies the range rate in the mode A. This difference may be caused by the difference in the experience of riding the DS. Mode B (Overtake) The magnitude of θ1,1 (gain for the range) tends to become large compared with mode A. This indicates the fact that the drivers pay more attention to the range in the mode B than in the mode A. Mode C (Recovery) The parameter set found in this mode shows large variances. This implies that no common control theoretic understanding exists. This is probably because the drivers cannot find any clear target during the mode C, i.e. in the recovery mode.

Table 1. Identification results of parameters

θ0,1 θ0,2 θ0,3 θ1,1 θ1,2 θ1,3 θ2,1 θ2,2 θ2,3

A-1 -0.550 1.604 0.743 3.012 -1.140 -0.367 -1.366 -0.840 0.100

A-2 -0.763 1.873 -1.000 1.077 -0.482 -0.805 -1.153 -0.720 0.028

A-3 -0.695 1.791 -3.302 -0.288 -0.790 0.344 0.024 0.523 -0.865

33

A-4 -0.918 1.767 -3.705 -1.088 0.689 -1.139 -0.078 0.562 -1.003

B-1 -0.534 1.294 0.905 2.289 -0.701 0.807 -1.679 -0.453 -1.360

B-2 -1.122 2.314 -0.335 2.143 -0.886 -0.780 -0.408 -0.349 -0.540

Identified switching plane The identification results of the switching planes from one mode to other mode is shown in Table 2. The plane was supposed to have the form ax1 + bx2 + cx3 = h. (29) One of the obtained plane is shown in Fig.11. Note that x1 , x2 and x3 are normalized. The driver can be considered to switch the control law when he crosses this plane. Table 2. Parameter on Hyperplane mode A → B

a b c h mode B → C

a b c h

A-1 1.00 -1.28 -1.30 -0.50

A-2 1.00 -1.00 -0.83 -0.12

A-3 1.00 -1.42 -0.45 -0.72

A-4 1.00 -1.15 -0.71 -0.59

B-1 1.00 -1.24 -0.06 0.47

B-2 1.00 -0.93 -0.23 0.60

A-1 1.00 -0.80 -0.01 -0.59

A-2 1.00 -0.81 -0.08 -0.62

A-3 1.00 -0.07 -0.15 -0.41

A-4 1.00 -0.49 -0.13 -0.65

B-1 1.00 -0.58 0.17 -0.08

B-2 1.00 -1.22 -0.03 -0.69

Both drivers show the opposite sign in the coefficients a and b in the switching plane from the mode A (avoidance) to the mode B (overtake). This implies that the larger range rate leads to the earlier switching. Also, we can see the similar tendency in the relationship of coefficients a and c. However, it is found that there is the difference in the magnitude of coefficient c. The driver B shows the smaller magnitude of c than that of the driver A. This indicates that the driver B feels less significance in the lateral displacement in the case of switching from the mode A to the mode B. In the switching plane from the mode B to the mode C, both driver shows the large magnitude in the coefficients a and b, and the small magnitude in the coefficient c. This indicates that the switcing from the mode B to the mode C is decided by referring the range and range rate. The switching planes projected on x1 − x3 are shown in Fig.12 together with the behavior of the vehicles. 4.4

Identification as SS-ARX model

In this subsection, the SS-ARX model (three states, left-to-right model) is introduced as a mathematical model of the driving behavior. Another three drivers carried out the same experiment under virtual environments described in the previous section. The profiles of the observed steering and the estimated steering calculated from the obtained parameters of the corresponding SS-ARX model are depicted in Fig.13. The obtained parameters are listed in Table 3. Note

34

Fig. 11. Switching hyperplane

OQFG

OQFG

OQFG

Fig. 12. Mode switching plane with vehicle bahevior

35

that the two vertical lines in Fig.13 represent the most likely switching points calculated by using the following Viterbi algorithm (Recall that the number of discrete states is three). δ(i, t) = max {δ(j, t − 1)aji bi (ot )}

(30)

γ(i, t) = arg max {δ(j, t − 1)aji bi (ot )}

(31)

0≤j≤N

0≤j≤N

where γ(i, t) represents the most likely state Si at time t. The estimated steering profile in Fig.13 is generated by regarding the SS-ARX model as a deterministic switched ARX model specified by θi and switching points (given by γ(i, t)). From Fig.13, we can see that the parameter estimation algorithm works well. The identified parameters show similar tendency to the results obtained by applying the LS-ARX model. Drivers behavior recognition Now, the obtained SS-ARX model for each driver is used as the ‘behavior recognizer’. The list of Logarithm of the likelihood value of each SS-ARX model for all observed data are listed in Table 4. In Table 4, SS-ARX(*) denotes the SS-ARX model obtained from the corresponding driver’s data profile. Also, O∗ denotes the observed symbol sequence of the corresponding driver. As shown in this table, the likelihood values for other drivers data are smaller than that for corresponding drivers data (designated by underlines). These results clearly show the potential ability of the SS-ARX model to be used as the behavior recognizer of human being.

5

Conclusions

In this paper, we have developed the modeling strategy of the human driving behavior based on the Hybrid System model focusing on the driver’s collision avoidance maneuver. In our modeling, the control scenario of the human driver, that is, the mapping from the driver’s sensory information to the operation of the driver such as acceleration, braking and steering, was expressed by Piecewise ARX model. We have considered the cases that the switching between sub-ARX models is caused in both deterministic logic-based and stochastic manners. Then, the identification problems for the logic-based/stochastic switched ARX models (LS-ARX and SS-ARX models) were formulated and solved. Our experiments have clearly shown that the LS-ARX model enables us to capture not only the physical meaning of the driving skill, but also the decision-making aspect (switching conditions) in the driver’s collision avoidance maneuver. This can be an important guideline for the design of the driving assist system. Our experiments also have shown that the SS-ARX model can be used for the behavior recognition which can also be exploited to understand the humans intention. Although there exist some trial and error in the decision of the initial parameters in the EM algorithm, the data clustering idea developed for the LS-ARX model can be used for this purpose. Finally, the open problems are listed below:

36

(a)

(b)

(c) Fig. 13. Steering profiles of three drivers (observed and estimated)

37

Table 3. Identified parameters

Parameters θ0 = (−0.824773, θ1 = (−3.483122, θ2 = (−3.936077,

" aij =

SS-ARX(A) in ARX model Variances 2.244757, 0.603667) σ0 = 0.037493 4.816041, −5.470960) σ1 = 0.011330 4.499318, −4.582369) σ2 = 0.024018 A matrix

0.999716 0.000284 0.000000 0.000000 0.977819 0.022181 0.000000 0.000000 1.000000

#

SS-ARX(B) Parameters in ARX model Variances θ0 = (−1.581261, 1.887177, −4.802167) σ0 = 0.032215 θ1 = ( 1.878792, −1.140327, 0.043192) σ1 = 0.008611 θ2 = (−1.100865, 0.516427, −1.362143) σ2 = 0.018346 A matrix

"

aij =

0.994427 0.005573 0.000000 0.000000 0.998804 0.001196 0.000000 0.000000 1.000000

#

SS-ARX(C) Parameters in ARX model Variances θ0 = (−2.523657, 2.362553, −7.386183) σ0 = 0.149673 θ1 = ( 0.609914, −1.271813, 1.165948) σ1 = 0.004568 θ2 = (−0.066241, 0.187735, −0.645891) σ2 = 0.007644 A matrix

"

aij =

0.999743 0.000257 0.000000 0.000000 0.992420 0.007580 0.000000 0.000000 1.000000

#

Table 4. Recognition results

SS-ARXmodel SS-ARX(A) SS-ARX(B) SS-ARX(C)

OA Log likelihood -731.673661 -2887.603213 -3397.165848

38

OB Log likelihood -4600.403127 -726.257733 -2780.210061

OC Log likelihood -4910.527209 -3711.502708 -725.213853

– The mathematical structure of each submodel may be different in the human behavior. Especially, it is known that the human appropriately switches the ‘Feedforward control’ and ‘Feedback control’. This mechanism must be included in the system model. – The selection mechanism of the sensory information (xi ) must be developed. In this work, the sensory information were specified in advance. In more complicated situation, it is highly recommended to capture them automatically. – Some higher level model such as language model must be introduced to represent more complicated behavior.

Acknowledgment This work was supported by the Space Robotic Center in the Toyota Technological Institute, where CAVE is installed. The authors would like to thank the researchers involved in the Space Robotic Center for their helpful suggestions.

References 1. M.C. Nechyba and Y. Xu : Human Control Strategy: Abstraction, Verification and Replication, IEEE Control Systems Magazine, vol. 17, no. 5, pp. 48-61(1997) 2. Hiroshi Uno, Kaneo Hiramatsu :Aged Driver’s Avoidance Capabilities in an Emergent Traffic situation, SAEJ, Vol.32, No.1, 113∼118, January(200l) 3. M.Koashi et al.: Measurement and Modeling of Collision Avoidance Behavior of Drivers Using Three Dimensional Driving Simulator; SICE Annual Conference, pp.1779-1783, 2003 4. M.Akamatsu, S.Doi, M.Okuwa, K.Takuguchi : Behavior Based Human Environment Creation Technology, Project International Workshop on ITS Human Interface, Japan (ITS HMI symposium 2000) 5. Hybrid Systems: Computation and Control, Lecture Notes in Computer Science (LNCS), Springer, -2005 6. A.Bemporad and M.Moarari: Control of Systems integration logic, dynamics, and constraints; Automatica, Vol.35, pp.407-427, March, 1999 7. A. Bemporad et al.: Observability and Controllability of Piecewise Affine and Hybrid Systems; IEEE Trans. on Automatic Control, Vol.45, No.10, pp.1864-1876, October, 2000 8. T.Roll, A.Bemporad, L.Ljung: Identification of piecewise affine systems via mixedinteger programming, Automatica, Vol.40, pp.37-50, 2004 9. Kim Jong-Hae, Soichiro Hayakawa, Tatsuya Suzuki et al.: Modeling of Driver ’ s Collision Avoidance Behavior based on Piecewise Linear Model, Proceedings of IEEE CDC2004, pp.2310-2315 10. Giancarlo Ferrari-Trecate et al., A clustering technique for the identification of piecewise affine system, automatica39(2003), p205-217 11. A.Bemporad, A.Garulli, et.al: A greedy approach to identification of piecewise affine models, Hybrid Systems - Computation and control LNCS 2643, HSCC2003, pp.97-112, 2003

39

12. Lawrence R. Rabiner: A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition, IEEE, Vol.77, 1989 13. C.Bregler and J.Malik: Learning and recognizing human dynamics in video sequences, Proc. Int. Conf.on Computer Vision and Pattern Recognition, pp.568-674, 1997 14. D.D.Vecchio., R.M.Murray, P.Perona: Decomposition of human motion into dynamics-based primitives with application to drawing tasks, Automatica, Vol.39, pp.2085-2098, 2003 15. H.Balakrishnan et.al: Inference Methods for Autonomous Stochastic Linear Hybrid Systems ”LNCS2993, HSCC2004, pp.64-79, 2004 16. S.Z.Selim, M.A.Ismail: K-means type algorithms: A generalized convergence theorem and characterization of local optimality, IEEE Trans. on PAMI, Vol.6, No.1, pp.81-87, 1984 17. J.Sjoberg, Q..Zhang, et.al: Nonlinear Black-Box Modeling in System Identification: a Unified Overview, Automatica, Vol.31, No.12, pp.1691-1724, 1995

40

Computational Tools for Designing Hybrid Systems Based on Constraint Satisfaction Kunihiko Hiraishi and Sunseong CHOE School of Information Science, Japan Advanced Institute of Science and Technology 1-1 Asahidai Nomi-shi Ishikawa, 923-1292, Japan hira@ jaist.ac.jp

Abstract. Hybrid systems are widely used as formalism for dealing with complex systems in the real world. We are developing a computer tools, called KCLP-HS, for design, verification and analysis of hybrid systems. The tool is based on constraint logic programming language equipped with a linear constraint solver and liner/quadratic optimizers. It also has built-in predicates for calling convex polyhedral library Polka. In this paper, we give design and verification problems of hybrid systems, and demonstrate how to solve them with KCLP-HS. We are also trying to use quantifier elimination, a symbolic computation technique for removing quantifiers from a first-order formula, to solve the problems. For some instances of the problems, it is observed that these tools can solve them drastically faster than mixed integer quadratic programming based on MLD system representation.

1. Introduction Hybrid systems are dynamical systems including both discrete and continuous dynamics, and are widely used as formalism for dealing with complex systems such as traffic systems, chemical plants, robotics and computer networks. In early works on the computation theory of hybrid systems, reachability problem, which is one of most important problems in verification and analysis, was shown to be undecidable for restricted subclasses of hybrid systems [1-3]. This means that algorithms implemented on verification tools are semi-decision procedures, i.e., termination is not guaranteed. There are several computer tools developed for the verification of real-time/hybrid systems, such as HyTech [4], UPPAAL [5], KRONOS [6], STeP [7], CheckMate [8], and d/dt [9]. Most of these verification tools are based on model checking technique which was originally developed for discrete-state systems. On the other hand, hybrid systems are also studied in control theory. They are treated as switched systems, i.e., continuous systems are switched by occurrence of some events. Typical examples are piecewise linear/affine systems. One of main interests in control theory is how to compute control inputs and values of parameters that optimize a given objective function. Model checking tools are not suitable for this purpose, because optimization is not considered and the classes of hybrid systems they can deal with are restricted to linear hybrid automata, where a linear hybrid

41

2

Kunihiko Hiraishi and Sunseong CHOE

automaton is not a linear system in the sense of control theory. In a linear hybrid automaton, every continuous variable changes at a constant rate. One of approaches to solve such optimal control problems of hybrid systems is to formalize them as mixed logical dynamical (MLD) systems and compute the solution by mixed integer quadratic programming (MIQP) [10]. It is reported in literature [11] that in some situations solving problems by MIQP is quite slow and not scalable. We are developing a computer tool, called KCLP-HS, for design, verification and analysis of hybrid systems based on a different idea. The tool is a constraint logic programming (CLP) language. CLP is a hybrid computer language that can deal with both logical and numerical constraints. There are only a few researches on application of CLP to analysis of hybrid systems (e.g, [12, 13]). KCLP-HS simulates the behavior of a hybrid system as follows: It evaluates a set of constraints on state variables at every step time elapses, where the constraints are represented as a conjunction of linear formulas. If there are more than one alternative in the next time step, then KCLP-HS generates all possibilities by backtracking mechanism. In addition, KCLP-HS can search the optimal value of a given linear/quadratic formula in every alternative. The computation stops at a given time limit or when a periodic behavior is found. KCLP-HS also has build-in predicates for calling convex polyhedral library Polka [12]. This enables us to manipulate a region of states as a convex polyhedron. Intersection, change of dimension, inclusion test, emptiness test, and computing convex hull of polyhedra are supported. Polka function is useful to find invariant sets and periodic behavior of hybrid systems. In the analysis of linear hybrid systems, we often deal with state transition of a finite union of convex polyhedra, called a region. The basic operation in computing state transition of regions is quantifier elimination, a symbolic computation technique for removing quantifiers from a first-order formula. We are also trying to use quantifier elimination tool SyNRAC [15] implemented on Maple. The paper is organized as follows. In Section 2, several notable functions of KCLP-HS are described, and examples of designing hybrid systems using KCLP-HS are shown. We also show results of computer experiments comparing with existing approaches. In Section 3, computation by quantifier elimination is described. Section 4 is the conclusion.

2. Constraint Logic Programming

2.1 KCLP-HS Original version of KCKP-HS is Keyed CLP [16] developed for solving various complex decision making problems that appear in operations research. It is written by ANSI C language and is running on Unix/Linux environment. Most of the basic functions of KCLP-HS are similar to well-know CLP language CLP(R) [17]. One can write numerical constraints directly in the program and the system solves it (if

42

Computational Tools for Designing Hybrid Systems Based on Constraint Satisfaction

3

possible). For example, a query |?- X + Y = 2, X – Y = 3. results in “X = 2.5, Y = –0.5”. The followings are distinct properties of KCLP-HS: (1) Higher-order predicates for linear optimization. KCLP-HS has higher order predicates min(Expr, Goal) and max(Expr, Goal) for solving linear optimization problems, where Expr is a linear formula. The predicate min() (max()) finds the minimum (maximum) value of Expr satisfying the Goal. In fact, min(Expr, Goal) is equivalent to “Expr = v, Goal”, where v is the unknown minimum value of Expr for Goal. If Goal has more than one alternative, then min() calculates every optimum value for each alternative and then finds the optimum one among them. Even if the region represented by given constraints is the union of some convex polyhedra, the predicate min() (max()) works correctly. Branch-and-bound like method is implemented for searching the optimum value. Let us consider the following CLP code. region(X, Y):- X >= 0, Y >= 0, X + Y = 0, X = 0, Y = 0, X + Y = 0, A(: A), Y1 = A, spec(Y1), l1(0, Y1, T + D, TT). l1(X, Y, T, TT):X1 = X + D, Y1 = Y + D, D >= 0, X1 = 2, spec(Y1), l2(X1, Y1, T + D, TT).

45

6

Kunihiko Hiraishi and Sunseong CHOE

l2(X, Y, T, TT):X1 = X + D, Y1 = Y –2 * D, D >= 0, B(: B), Y1 = B, spec(Y1), l3(0, Y1, T + D, TT). l3(X, Y, T, T + D):X1 = X + D, Y1 = Y –2 * D, D >= 0, X1 = 2, spec(Y1). spec(Y):- 1 = –10, – 0.5 * B + 0.5 * A >= –1]. The fourth argument TT in predicates li(X, Y, T, TT), i = 0, 1, 2, 3 indicates the total time elapsed so far. To minimize the number of switches during a fixed period, it suffices to maximize the total time for one round of execution. To do this, we execute a query |?- A(: A), B(: B), min(TT, l0(_, 1, 0, TT)), fourier([A, B], Z). and obtain A = 10, B = 5.

2.3 Example 2: Two-wheeled Vehicle We consider the line following control of two-wheeled vehicle (Fig. 3) [11]. The

46

Computational Tools for Designing Hybrid Systems Based on Constraint Satisfaction

7

vehicle is equipped with two binary actuators U1 and U2, and two binary sensors Y1 and Y2. The actuators U1 and U2 command “turn right” and “turn left”, respectively, by specifying the angular velocity of each wheel. The sensors Y1 and Y2 are on both sides of the nose of the vehicle, and are located at a distance α from the center. Each sensor is ON if and only if they are on the line. The control logic is simply described as follows: If one sensor is out of the line, then turn in the reverse direction. The system is modeled by a hybrid automaton shown in Fig. 4, where yv, φv : lateral displacement and direction of the vehicle, W : distance between the center of gravity and each wheel, Rw : radius of the wheel, l : distance between the center of gravity and the head, WL : width of the line, R : radius of the line, ωH, ωL : high and low speeds of the wheel,

0 0 0 a1  A= , ∆1 =  , ∆ 2 =  ,  0 0   a2  a3  Rw a1 = ( wH + wL ), 2 R  w + wL wH − wL  a2 = − w  H + , R W 2   Rw  wH + wL wH − wL  a3 = − −  . R W 2  

yv

R WL

φv

α

xv

CG

W

Rw l

Fig. 3. Two-wheeled vehicle.

47

8

Kunihiko Hiraishi and Sunseong CHOE

x = [yv = 0, φv = 0]T y −α ≤ −

x& = Ax + ∆1

WL 2

y = Cx

x& = Ax + ∆ 2 y = Cx

W y −α > − L 2

y +α
– WL/2 → x := Adx + ∆d1, t := 0

t = T ∧ y + α < WL/2→ x := Adx + ∆d2, t := 0

Fig. 5. An equivalent hybrid automaton.

48

Computational Tools for Designing Hybrid Systems Based on Constraint Satisfaction

9

Now let T = 0.1, W = 0.095, Rw = 0.029, l = 0.215, WL = 0.1, R = 3, ωH = 9.85 and ωL = 5.85. Then the optimal value for α is computed by the following CLP code: l1(X1, X2, T, J, J1):- FinalTime(: FT), T >= FT, !, J = J1. l1(X1, X2, T, J, J1):- J -0.05, l1(X1 + 0.022765*X2 + 0.000781306, X2 - 0.068640965, T + 0.1, J + X1 * X1 + X2 * X2, J1). l1(X1, X2, T, J, J1):- J = 2, X – Y 0


"

-

-) 1 ∀ = > +6

+?

16

1?

$" ' 1

-

,* 5- )7 0 3 , * 0 )1 "5-

7I

5- ) 7 N

, 3 0

$&

R →

0

,-

* -

0

*

, I

517 J

5?7

*

0

,

* ? ) ) -

=

7H

)

S =6

-; 2 ;

N

=

2

=6

90

2 ,

*0 , 3 ) , * ,) C 5 6 ? )) 7 0 35 67 2 35 67

, 3 5- ; )7 N

5!7

-

5-; )7 * *

"5-

-

0

-

C ,, ?D 1 ,0

&

')

" )1

60

7I

.

* -

6) , $)

5-

,

$

*

'' = L

$

-

D

-

6

5!7) 1 5- 7

5- ) 7 N D *

#% ,

C

, 5?7

2

4 7 **

1

#)

- * 9

D*

6D 1 5

- 0 , **

,-

$&"

5( 7

)

9 0

2 * * 3 *

* ) 9

5- ; )7 = *

S =6

;

2

S ; 5 N 7 = S 1; ), )

) D

-;

*

,=

2

(

6N ?N - 2 , -

* 2 @)6)

)))

)

N

0

2 -

+6 1 E *

, 2

* ,

-

2 )

$ ,* 9 3 2 , ; * - 0 ,)

)% ,

, 3

C ,, @D % , 1 5-;7 I "5-;7 H S ; ), ∀ ∈ ) C

)

"

--

-

0

$

* ** 0 2 * ,-

, 10

-

0

2 0

*

, 3

-;

+ *

-

$

*-

* 0 ,

!)

2 3 -

+6) ) -

0 ) " "

" " "

)

"

1

! + +!

1 "

0 16

1?

1

!

+4

+6

1?

"

6

16

1?

1

?

16 1

5 7

1

507

$ " ( ) % 1+ $ ,-

∃ λ8 Σ3λ3 I 6 #

0 ,

,6

)))

2 $

,0 ∈

2 2

3∈

$

5) 7

T3,3 ) 3= >

- * 0 5- )7 6 * , -) 5- )7 I

* 5- )7 5Γ 5- )7

* ) % , Γ 37 ≤ 6 ∀ 3I6 * 6

)

=6

Σ$ 5 Γ 9

,I

Γ 37 ≤ 6 ∀ 3I6 ))) D

5, J ,371 ≤ 6 ∀ 3I6)) , 5 -) ,37 0 , 3 D

*

91

5

-)

37)

+

,

$* ,

!



2

*

2

% , 0 % 3 ∃

≥"

I

38

3

67

5 −

?7

5 −

7

3 ≤ −2 )

="

6) * ,5 7

Σ3

3

, I Σ3 3,3

Σ3

3

,5 7

) *

*

Q ") C V 0

** ∃ V ≥ "

,5 7

∃ V ≥ " ,0

5 7

9 * 3 4 C ,, =U>

3 5, − , 3 7

3 =6

Σ; ;)

5 −

3 =6

3

3 5, − , 3 7

I 6 2

="

,-

Σ; ; I 6 ⇔ ,

$

* ,3) P)/).)

% , C ,, @ ?D 1 , 3 C

$

,-

, *

$ ,0 $ ,** 3

* -

0 2 D

*

,?)

"

(-

1

* 0 * *, 3 !) C " + 3 * , 6 * 9

16) + 5- 1?7 = "

5- 17 = "

1 1

* 6 0

," =

6N

,6 =

6N 6

= 6F

,? =

6N ?

= ?)

$

0

, 3

$*

* 2

, 0 ) , 3 ? 0 2 3 +) 1 5 6 17) 1 *

6

*

5

)

,0

*

0

6

7

I 56 6 "7)

2D

= "F

"

,6 *

0 ) " 4

$

,0

*, 3 -

5

," 6 17)

,?

,-

-

" "

"

5

"

92

5

#

)

"

! + +!

1 "

∃ λ6 Σ λ 7 #

*

D , , 3 2

%

0

$ * ,5 7

%

7 Σλ

5

-

-

)

, 3

*

-

0 A) 1

*

,-

D

(- ) = --

"

0

"

5- 7 =

,

(- ) + (- ⋅ )N ≥ " ∀ ∈ ) )< " " (- ) + (- ⋅ ) N 4 + (-

,

-

* *1

,@

) P)/).) % , C ,, @ @D 1 , 3

, "-) 1

$

-

-

*

* 0 *

$ ,0 , 3

, 3

,0

$

"

* 2 ?8@ " H 68@

'

@

* 0

W) 1

6

?

* *

,

5

, 3

"

)

** 0 ) - 0 , % + * G- @- 6* 0 #7) $ ,0 * , 0

-

@

* 0 , 3

0

#

@)

"

+

0

?

6

0

#

0 @

0

?

-

$" ) -

/$ ,- D , $ ,-

% + 2

$

*

,

, * $ ,, 3 * ) $ * * - 0 , 0 0

0

93

0

, 3

*

0

G , 5 ? 17) 1

0

6

*

0

?

- 0 , ** )

@

G

%

#&

.

C ,, 2 0 5- )7)

0

- 0 ,, , 3

0

+G

0 -

0

16

1#

+6

+@ +

1?

-

0

2 5

0

* "

#

57 " 1G 1#

+!

1

1@

1

/' 16 /( 1@ 1G

/&

1

1?

/+ 16

+?

+#

/

1@

1G

1@

$" * +

U) % 1+ * 7) C * 3 -)- 2

/! 1#

1? /%

/# 1 1G

$ ,, ? * 9

*

(-

0

*

16) + 5- 1?7 + 5- 1@7 = "

5- 1#7 + 5- 1 7 + 5- 1G7 = "

1 *

0 *

* D

2

5- 7 =

B

0 *

"

0 *

-

"

5* 7

0 *

9

5 !7

1# ) < " )

)/-

D

)

1# * ,

(- ) + (-

2

* 0 0

161?1#1@ 2

,

0

$-

, 3 * , 3 0 * 2

D 5- 7 = K

"

(- ) + (-

16) +

9

(-

1? ) +

(-

* ?

1@) +

(-

1# ) ≥ " )

5 +7

56"7

*

2

D 5- 7 =

"

(- ) + (-

1# ) ≥ " )

5U7 5667 * 0 1# ) 2 * * $ ,- 0 ,) - 2 0 * 0 , 3 5- )7 5- )7) , ? * * 2 ) 57 ≥" " ) "5- 7 H 5- 167 ≥" ) "5- 7 H 5- 167 H 5- 1?7 ≥" ) "5- 7 H 5- 167 H 5- 1?7 H 5- 1#7 ≥"

5

7

)

$

94

-

- *

, "5-

0

7 D

&

) ) ) ) $)

"5-

7 H 5- 167 H 7 H 5- 167 H "5- 7 H 5- 167 H "5- 7 H ? 5- 167 H "5- 7 H 5- 167 H "5-

%

$)

B

"5-

D

5- 1?7 H 5- 1?7 H 5- 1?7 H 5- 1?7 H 5- 1?7 ≥

1# 7 Q 5- 1#7

"

0 * 7I" 5- 1#7 I 6 2 * 66)

2

,

"5-

-

5- 1#7 H 5- 1#7 H 5- 1#7 H 5- 1#7 H 5- 1#7 $-

0 D

* ? 9 5- )7 I 5" 6 6 " " "7) 1

16

+@ +

1?

+# 1G

1@

*

+

+!

1

+?

$"

5 7 5$7 -

1#

+6 +G

5- 1@7 ≥" 5- 1 7 ≥" 5- 1@7 H 5- 1 7 ≥" 5- 1@7 H 5- 1 7 ≥"

% 1+ * *

U

%
0 ,

"

"7

"

,

/

10 /7

)∈

5 ) ′7 )

)= )′

96

* *

(

1

,

,

)

1 /

12 , 1 ,,

, *

" 0 + +5 ! +2 / ) ! / +2 ) C $ ,&

&

** I

"

0

,

0

9:5%

-

"7

* 95%

"7

,D

,

&

)

7

$

&'

, ,

/

" + 1 ! $ ! /' 1 , !"

+ +:

0 %

6?)

/? " ) ,6 6) 1 5)"7 I &)"') 1 ,

0 -

0

9 2D

6

)∈ " )= 6 ) 4

5 ) ′7 I

5)67I&$6 $? $@')

0

0

-

* , 6I&)6 )? )@' 9:5% "7 2

)"

*

,

1 *

0

*

* 0

1

0

*

6

0 )1

*

)

2

6I

*

,

*, 0

*

"

+

!

+

+ , * 0

* ,

6?)

" I&)"' 6

)6

6

@

?

)?

$"

!

95%

*

* /

* /

0% * @ * *

9:5%

"7

0

6 I&)6

)@ "7

*

+

@

0

0

,

@

0 ,

,

,

,

,, ); 0 0

0

*

, )1

0

1

0

66)

= L A)

,

, 0

**

0 * ,

0 0

)? )@'

,-

- )

0

)

, ,

,

97

0 **

*

3+ B ,

*

4)

)

%! 1


)

,

0 " 9 9

* 0

9*:5% ,

0

- , 0 * 0 8 * 0 8 0 0 3

,"

80 3 80 3 C ,

, , 0: -

9:$%!

" ,

9 *:$%! *: 9 $%! &'+

" " *

&'

&'

*

:

:

"7

0 0 , $, - , 0 * , * Ω * , * 9*:5% "7 9*: 5% "7) % , * Ω I &5  → ′7  ∈CC ∧ A∉CC') / )

0 * ) C CC 0

2

%%

)1 C : * ,

0

0

0

"

% 1 % 1+ * 0 + 5% "7 , 0 0 * 0 5 "5 7 *H5 )7 * 5 )77 2 5 7 " *H5 ) 7 5 -) * 5 ) 77 2 * * , 5 -) * , * %7) 0 0 2 0 2 0 0 ) + , 5% "7 9*:5% "7) 0 $ 0 5  → ′7 Ω *:

9 5% 0 0 0 0

"7

5 %&

0 0

0

)< @)@7)

, * , -

0

0

9*:5% ,-

0

0 *

0

,

*

0

,

* , 3 *%

7 " ,

*

-

-

.

, $ ) 9 , 3 ) ) @= = A) 1 W= = AA) C

0

0 $ ,-

, 3 ** 6#) , 0 0 0 * , @ 2

0 *

- ,

+

2 0 ) C 5 @ → 4 7 ) C , )

*

99

, -

*

@

A 0 AA 0

*

!+

9*:5% -

0

"7

*

6#

0

6

"

>

@

#

G #

6

6

6

!

?

-6

>

. >

@

?

-6

@

@

.6

. > G

#

5 7

- 0 ,? 0

5?) 7

5@7 * , AAD

2

7 + *5

"5

0

#

AAD

7 + *5

-

67

+ *5

*,

→ 4 7 D

7 + *5

"5

9 - 0 ,) E 2 5*

- ,

7≥")

AD

67

+ *5

#

7 + *5

)

$

#

# "

>

@

G #

6

!

?

6

6

-6

>

. >

?

@

G

G

@

5 7

5 7

-

&

0 1

#

- 0 , *%

$

= σ = A * " 6 * ) σ6 = σ ? * , 2 A

0 -

"=σ?= ?

→ 6

= 4?) % , 7 *5 ! + 77

?=

5

&5

4 67

2

,6

* 0

6@ *

$

* ,

AA

0 : 9*:5% , "=σ6= 6) C ?

B0 5

G

6

#

, , = " σ?= AA

0

6 7)

6

*

7A@~ô^ñÏIEXv@-ö¿O -sJPñÏô~@EöÀO1BAõ O&MN>A@-M"@EXNOùABPO X|M\>A@-BWM\>PO ö¬@-BPCFJA@-CFO¹O -sJPñÀôƒ@EöÀO1BAõ O8>A@~ôFOUý¿O1O BðPX\IEðHIFQNO1. K 'Sÿ ðPXNIƒô^ñ¬K›O1Q@Wõ öÏ@FQNQNñÀù¿õ @-MNñÏIEBÉI-÷!MN>PORQSO O -FJAñÀôƒ@-öÏO B¿õ O ) ú $ B)M\>PñÏQ"ð¿@-ðHO X"ò?OUQSMNJAK›D(MN>PO8õ IFBsMNX\IEöžI-÷*BAIEBAK›O MNO1XNVñÏBPñÏQSMNñ¬õ4ðPö¬@-BsM\Q"QNJPý›ü þcORõnM4MNI)X\O -sJPñÏX\O VO BsM¹IE÷œýPñ¬QSñÏVJPö¬@ƒM\ñÀIFBÊIEXUQNñÀVJPöÏ@-MNñÏIEBÊO -sJPñÀôƒ@EöÀO1BAõ OòñjM\>±X\O1QNð¿ORõnM&M\I@ BPIFBAK›O MNO X\VñÀBAñÏQSMNñ¬õUQSðHO1õ ñjù¿õ1@ƒM\ñÀIFBÉJ¿QSñÏBPCBPIEB¿K›O M\O X\VñÏBPñ¬QcM\ñÏõUQNJPðHO X\ôsñ¬QNIEXvQ ú / ñÏQNñÏVJPö¬@ƒM\ñÀIFBO -FJAñÀôƒ@-öÏO B¿õ O"ñÏQMN>PO"ùABAO1QSMœósBAIƒòBBPIEMNñÏIEBI-÷Hý¿O1>A@~ô^ñÀIFX\@EösO -sJPñÀôƒ@EöÀO1BAõ O @EBAK ñjMò|@FQ8ùAXvQcM9ñÏBsMNX\I›K›JAõ ORK ñÀB‡õ IEVVJPBPñ¬õ @ƒM\ñÀBACÊQSD›QSMNO VWQýsD ï ñÏöÀBAO Xÿ x#ú 0^ñÀVJPö¬@ƒü M\ñÀIFBO -FJAñÀôƒ@-öÏO B¿õ O"ñÏQùABPO X M\>A@-Bö¬@-BPCFJA@-CFO?O -FJAñÀôƒ@-öÏO B¿õ O"ýPJ›Mtõ IF@-XvQNO X!MN>A@EBýAñÏQNñÀVJPö¬@ƒMNñÏIEB O -FJAñÀôƒ@-öÏO B¿õ OE2 ú 1Å>PñÏöÏOö¬@-BPCFJA@-CFOO -FJAñÀôƒ@-öÏO B¿õ OðHIFQNO1Q4BPI:õ IFBAQSMNXv@-ñÏBFMvQIFBÊMN>AOBAIEBAK›O MNO1XSü VñÏBPñÏQSMNñ¬3 õ '°ýPXv@-BAõv>AñÀBPC )ýHO >¿@~ôsñÏIEX ¿@EBAKÊýAñÏQNñÀVJPö¬@ƒMNñÏIEB²O -sJPñÏôƒ@-öÏO BAõ OQNð¿ORõ ñÀùAO1Q¹MN>AOO ›@FõnM ýPXv@-B¿õv>PñÀBAC²ýHO >A@~ô^ñÏIEX QSñÏVJPö¬@ƒM\ñÀIFBO -FJAñÀôƒ@-öÏO B¿õ O@-ö¬QSI @-öÏöÏIƒòQ@EB^5 D 4NQNVW@-öÏöÀO1*X 6±ýPX\@EBAõv>›ü ñÏBPCWýHO >A@~ô^ñÏIEXR7ú 0^ñÏVJPö¬@ƒM\ñÀIFBÉO -sJPñÀôƒ@EöÀO1BAõ O8ðPX\O1QNO X\ôEORQ"JPBPñÏôEO1X\Q\@-öž÷°Xv@-CFVO1BsMI-÷ 8žü…õ1@-ö¬õ JPöÏJAQ QNð¿ORõ ñÀù¿õ @-MNñÏIEBAQ ƒò>Pñ¬õv>ñÏQVIFXNO"CEO1BPO Xv@-ö^M\>A@-9B ›û!:'ÃðPXNORQSO1XNôFO1KJPBAK›O1Xœö¬@-BPCFJA@-CFO?O -FJAñÀôsü @EöÀO1BAõ O )4ýPJ›MöÏO1Q\Q9CFO BPO1X\@Eö MN>A@E: B 8žü…õ1@-ö¬õ JPöÏJA9Q '°ðAXNORQSO1XNôFO1KJPBAK›O1X9ýPñ¬QSñÏVJAöÏ@-MNñÏIEB O -sJPñÏôƒ@ƒü öÏO BAõ O ) ú û">POœñÏBPðPJPMSü…IEJ›M\ðPJ›M*VI›K›O öFVW@ƒM\õv>AñÀBPCõ IEBsMNX\IEö-QSMNJ¿K›ñÀORKUñÀB(ÿ ^@-ö¬QSIJAQNO1Q”MN>POœBAI-MNñÏIEBUIE÷ QNñÀVJPö¬@ƒMNñÏIE;B E@-BAK@FQQS>PIƒòBñÏBPO"ðPX\IEýPöÏO VÆIE÷AùAB¿K›ñÀBAC4@ õ IEBsMNX\IEöÏöÀO1X*QNJAõv>UMN>A@-M*M\>PO?õ IEBsMNX\IEöÏöÀORKUQSD›QSMNO V ñ¬Q*QNñÀVJPö¬@ƒMNORK8ý^D&M\>PO?QNðHO1õ ñÀù¿õ1@ƒMNñÏIE;B  ò>PO1XNO M\>PO8ðPö¬@-BsMñÏQ@FQNQNJPVO1K)MNIýHO8ðAQSO1JAK›IEüxBPIFBAK›O MNO X\VñÀBAñÏQSMNñ¬õU@-BAKÉQSðHO1õ ñjùHõ @ƒM\ñÀIFBñ¬Q@-öÏöÏIƒò?ORK M\IýHOBPIEBAKPO MNO1XNVñÏBPñ¬QcM\ñÏõEú / ñ¬QNñÀVJPöÏ@-MNñÏIEB²XNO1öÏ@-MNñÏIEBÊ>A@FQ4ý¿O1O BJAQSORK²@FQU@(M\O1õv>PBP=ñ -sJPO÷°IEX QNJPðHO X\ôsñ¬QNIEX\D)õ IFBFM\XNIFöiI-÷tKPO MNO1XNVñÏBPñ¬QcM\ñÏõ9QND›QcM\O VWQ&QNJPý›þcORõnM¹MNI(ö¬@-BPCFJA@-CFO8O -sJPñÏôƒ@-öÏO BAõ O8ñÀB ÿ >2 ?…ú $ Bÿ ?žMN>POUõ IFBsMNX\IEöÏöÏ@EýPñÀöÏñÀMcD@EBAKWIEý¿QSO1XNôƒ@-ýAñÀöÏñjMcDñ¬Q?õv>¿@-Xv@EõnM\O X\ñ 1O1KW@FQ?@ ýPñ¬QNñÀVJPöÏ@-MNñÏIEBWMcD^ðHO¹X\O ö¬@ƒM\ñÀIFBiú¿ÿ ?”QSMNJ¿K›ñÀORKWM\>PO¹ðAXNIFýPöÀO1V I-÷*QNDsBsM\>PO1QNñ 1ñÀBAC@QNJPðHO X\ô^ñÏQNIEX QNIÉMN>A@-M9MN>POõ IEBsM\XNIFöÀöÏO1KQSD›QSMNO1V ñ¬Q8ýPñ¬QSñÏVñÀö¬@-XUM\IÊ@K›O M\O X\VñÏBPñ¬QcM\ñÏõ)QSðHO1õ ñjù¿õ1@ƒM\ñÀIFBiú*û">PO O1ôEO BsM8QSO M8I-÷tM\>POWQSD›QSMNO1V @-BAKQNð¿ORõ ñÀù¿õ @-MNñÏIEB±BAO O1K²BPIEMUýHO(Q\@-V O ”@-B¿K²@EöÀöO1ôEO BsMvQ4@EXNO M\XNOR@ƒMNORKÊõ IFBsMNX\IEöÏöÏ@EýPöÀOFú!ÿ QSMNJ¿K›ñÀORK²õ IEBsMNX\IEö*÷°IEX8QNñÀVJPöÏ@-MNñÏIEB²IEX4ýPñÏQNñÏVJPö¬@ƒM\ñÀIFBÊO -sJPñÏôƒ@ƒü

104

öÏO BAõ O÷°IEX?@8ðA@-XNMNñ¬@-öHQSðHO1õ ñjùHõ @ƒM\ñÀIFB@'ÃK›O ùABPORKWIƒôEO1Xœ@-B:4SO^MNO X\BA@EöPO ôFO BsM?QNO M*6 )núsû">POðPö¬@-BsM ñ¬Q|M\@-óFO BMNIýHOUKPO MNO1XNVñÏBPñ¬QcM\ñÏõU@-B¿K@EöÀö”O1ôEO BsMvQ|@EXNO¹MNX\O1@-MNORKõ IEBsMNX\IEöÏöÏ@EýPöÏOEú +PJPXNMN>PO1XñjMñ¬Q X\O -sJPñÏXNORKWMN>¿@ƒM@-öÏöžñÀBAKPñÏQSMNñÏBPCEJAñÏQN>A@-ýAöÀOUO ôFO BsM\Q|ýHOUO ñÀMN>PO1X@-öÏöHO1BA@-ýAöÀORK)IFX"@EöÀö”K›ñ¬Q\@-ýPöÏO1K@ƒM @QcMv@ƒMNOFú 0^JAõv>@X\O -sJPñÏXNO1VO1BsM|K›I^O1Q?BPIEM|VW@-óFO4QNO B¿QSO¹ñÀB:QSJAð¿O1XNô^ñ¬QSIFXNDõ IFBFM\XNIFöHõ IEBsMNO ^M1ú ÿ  QcM\JAK›ñÏO1KÉMN>AOõ IFBFM\XNIFöÀöÏO XQND^BFM\>PO1QNñ¬QðPX\IEýPöÏO V0÷°IEX&K›O MNO1XNVñÏBPñÏQSMNñ¬õ8ðPö¬@-BsMvQQSJAý›þcO1õ MMNI @9ðHIFQ\QNñÀýPöÏDBPIEB¿K›O M\O X\VñÏBPñ¬QcM\ñÏõ&ðA@-XNMNñ¬@-öHQSðHO1õ ñjùHõ @ƒM\ñÀIFB(QSJ¿õv>WMN>A@-MtM\>PO4õ IEBsMNX\IEöÏöÏO1KWQND^QSMNO1V ñ¬Q"ýPñÏQNñÏVJPö¬@ƒM\ñÀIFB)O -sJPñÏôƒ@-öÏO BsM"MNIMN>PO8QNð¿ORõ ñÀù¿õ @-MNñÏIEBiúPû">AñÏQ|ñ¬Q|MN>PO8Q\@-VO¹ðAXNIFýPöÀO1V @EQ?MN>¿@ƒM QSMNJAK›ñÏO1KÉñÏB£PO9@ƒ÷°IFXNO1VO1BsMNñÏIEBPORK)õ IFBsMNX\IEöžXNO -sJPñÀX\O VO1BFMñ¬Q"XNO1VIƒôEO1Kiú LORQcMI-÷M\>POð¿@-ðHO Xñ¬QIEX\CF@EBPñ 1O1K @EQ÷°IEöÏöÏIƒòQ ú 0^O1õ MNñÏIE( B ÊðPX\O1QNO BsM\QBPI-Mv@ƒM\ñÀIFBÇ@-BAK ðPX\O öÏñÀVñÏBA@-X\ñÏO1Q1 ú 0^ORõnMNñÏIEBB O1QSM\@EýPöÀñ¬QN>PO1Q M\>A@ƒM?MN>PO4QSO M?IE÷”@EJ›MNIFVW@ƒM\@K›O ùABAO1KWIƒôFO Xt@9õ IEVü VIEB‡O ôEO1BsMQNO Mò>PO BÛO BAKPIƒò?ORK£òñjM\>ÇM\>POÉQNñÏVJPö¬@ƒM\ñÀIFBX\O ö¬@ƒMNñÏIEBÇ÷°IEX\VQ@²ðPXNO1öÏ@-MSM\ñÏõ OEú 0^ORõnMNñÏIEC B  ðPX\O1QNO BsM\QQNJPð¿O1XNô^ñ¬QSIFXNDÇõ IEBsMNX\IEö?÷°IEXWýAñÏQNñÀVJPö¬@ƒMNñÏIEBÛO -sJPñÏôƒ@-öÏO BAõ OEDú 0^ORõnM\ñÀIFE B  QSMNJAK›ñÏO1QQSJPðHO X\ô^ñÏQNIEX\Dõ IFBFM\XNIFö!÷°IEX9QNñÀVJPöÏ@-MNñÏIEB²O -sJPñÏô~@EöÀO1BAõ OF;ú 0^O1õ MNñÏIEF B :õ IEB¿õ öÏJAK›O1Q4M\>PO ðA@Eð¿O1X1ú G

êèI!èPîcêtçJIç&ëLK²éM;NNîPO îSçQI!é¿îRM;S H

 JPMNIEVW@-M\@Ê@EXNOWJAQNO1KM\IÊVI›K›O ö|K›ñÏQ\õ X\O M\OWO ôFO BsMQND^QSMNO1VWQ9@ƒM9M\>PO)öÏIECFñÏõ1@-ööÏO ôFO öxú  BPIFBAK›O M\O X\VñÀBPñ¬QSMNñ¬õ²@EJ›MNIFV@-MNIFBÅñÏQ:@(ƒüM\JPðPöÏO‡ÿ> T!UWVX'ZY@[]\^[`_a[PYcb[PY9de)]"ò>PO1XNO Y ñÏQMN>AO:QNO MWIE÷4QSM\@ƒM\O1Q a\'ñ¬QMN>PO@-öÏðP>A@Eý¿O MWI-÷¹O1ôEO1BFMvQ _gfYih \kjlm ñÏQM\>PO QSM\@ƒM\OM\X\@EBAQNñjM\ñÀIFBÊ÷°JPBAõ MNñÏIE&B ”ò>AO X\O \nfoVp\rq.s tuòñÀMNF > t¹ýHO ñÏBPC@(ö¬@-ýHO ö ÷°IF^X 4\QSñÏöÏO Bs*M 6 MNXv@-B¿QSñÀMNñÏIEBAQ vY bxw Y ñ¬Q)MN>PO QSO MIE÷9ñÀBPñÀMNñ¬@-öUQSM\@ƒM\O1Q |@EBAy K Y dWw Y ñ¬QMN>POQSO MI-÷ ùABA@Eö&QSM\@ƒM\O1Q1vú \9z:K›O1BPI-M\O1QM\>POÊQNO M(I-÷8@-öÏöùABAñjM\OÊöÀO1BPC-M\>ÙO ôEO1BsM)QSO -FJAO BAõ O1QñÏBAõ öÏJAK›ñÏBPC MN>A{O 1O X\I-ü…öÀO1BPC-M\>²QNO -sJPO1BAõ cO tRú  B²O1öÀO1VO BsM8I-!÷ \9zñ¬Q8õ @EöÀöÏO1K²@(M\X\@Fõ O@-BAK²@ÉQNJPýAQNO MUI-÷ \9z¹ñ¬Qõ @-öÏöÏO1KÉ@ö¬@-BACEJA@ECEOEú›û">POUö¬@-BPCFJA@-CFO&CFO BPO1X\@-MNO1| K '°X\O1QNði}ú ›V@EXNóFO1K )?ý^~D UcPK›O1BPI-M\O1K @EcQ €'U‚)3'°X\O1QNði}ú  d 'U‚)P)Aœ@-X\OÉKPO ùABPORK‡@FQJAQSJ¿@-‚ö 'Sÿ ƒ„) úœû">P… O tSüaõ öÏIFQNJPX\O)IE€÷ †r‡ˆY‰ K›O1BPI-M\O1‰ K tAz 'Z†,) w Y‰!ñÏQMN>AOQNO MIE÷&QcMv@ƒM\O1Q9X\O1@Fõv>PO1K ý^F D  O1XNI±IEXVIFXN~O tNüxMNXv@-BAQNñÀMNñÏIEBAQ ÷°X\IEg V †ú / D)JAQNñÏBPCMN>P‚O tNüaõ öÏIFQNJPXNO4VW@-&ð PMN>PO9K›O ùABPñÀMNñÏIEB:I-÷!MNXv@-B¿QSñÀMNñÏIEB÷°JPBAõ MNñÏIEBõ @EBÉýHO AO ^M\O BAK›ORKÇ÷°X\IEVPO9QSO MI-÷ O ôEO1BsM\QK›O ùABPO1K:@-MQSM\@-MNž O †ú r¡£¢ 02Põ1@-öÏöÀORK@ðPö¬@-BsM AñÏQõ IEBsMNX\IEöÏöÀORKWM\IWXNORQcM\XNñ¬õnM"ñjM ¤ Qý¿O1>A@~ô^ñÀIFX"QNIW@EQ|M\IðAXNO1ôEO BsM @-B^D JPBAKPO1QNñÀXv@-ýPöÏO)ýHO >¿@~ôsñÏIEXý^D KPDsB¿@-VñÏõ1@-öÏöÀD£K›ñ¬Q\@-ýPöÏñÀBAC²õ O1XSMv@-ñÏBõ IFBsMNX\IEöÏöÏ@EýPöÀO)O ôEO1BsM\Q ÿ > …, ú 0^J¿õv>Ê@Wõ IEBsM\XNIFöÀöÏO Xñ¬Qõ @EöÀöÏO1K@WQNJPðHO X\ô^ñÏQNIEXRúPû">POQNJPðHO X\ôsñ¬QNIEXõ @EB:ý¿O9VI›K›O1öÀORK@EQ @-BAI-MN>AO X@-JPMNIEVW@-MNIEBÉIEðHO Xv@ƒM\ñÀBACñÏBQSD^BAõv>PX\IEBAIEJAQ"õ IFVð¿IsQSñÀMNñÏIEBÉòñjM\>ÉMN>PO8ðPö¬@-BsMRú û">P^O ¥]¦§,¨–©ª`«§,«¬¥B¨–«­Q®«¥]¯„°˜¯«§I-÷?@EJ›MNIFV@-M\3 @ UŒ±ŒV²'ZY~±[–\^[`_± [`Ycb]±[PY9d³±A)¹@-BAK Už´9VJ'ZY9´[]\^[`_´[PYcb–´[`Ycdš´)&ñ¬Q¹MN>PO(@EJ›MNIFVW@ƒMNIF| B UŒ± µAUž´{VJ'Y~±‚h›Yc´ [–\^[*_D[`Y{bA±‚h Ycb*´ [PY9d³±£h3Ycdš´)][Pò>PO1XNO4÷°IF! X †2±£‡3Y~± [P†,´ž‡3Yc´ [`”|‡ \B _ ± 'Z† ± [*”&)šh3_ ´ '† ´ [`”&) ñÀ÷ ”ŠV   t _a'`'Z† ± [`† ´ )A[`”&)DV·¶ '_±'†2±[`t])šh|s†7´u )q.'¸s†2± u‚h3_´'†7´[`t])P)!ñÀ ÷ ”…V t 1O9@-ö¬QSIWK›O ùABPOUMN>A9 O ¬§¯«§IE#÷ UŒ±4@EBA^K Už´8@FQ|MN>PO9@EJ›MNIFVW@ƒMNIFB U ± q3U ´ V5'ZY ± q^Y ´ [–\^[*_¹;[PY bA± q^Y b*´ [PY d³± q~Y dš´ )A[

105

ò>PO1XNO4÷°IFX!†…‡3Y~±#q^Y9´A@EBAK3”|‡

\^

œñj÷ ñj÷ ñj÷ 1O8BPOA^MñÏBFM\XNI›K›J¿õ O4MN>PO9õ IEBAõ O ð›MIE÷!@QNñÀVJPöÏ@-MNñÏIEBÉXNO1öÏ@-MNñÏIEBiú @ ¥]¯„­Ê¬Ḛ̈˜¯«§…ª`ÍḚ̈%¯«§ñÏQ?@9ýPñÏBA@-X\D À3Á ÂÃÄZÅāÆ,ÃÈÇ É ñÏôEO1BMcò?I@EJ›MNIFVW@ƒM\@žUŒ±&@-B¿K9Už´^c X\O ö¬@ƒM\ñÀIFB^Î w 'Y ± q~Y ´ ) ´ QNJAõv>ÉMN>A@-Mž'† ± [P† ´ )v‡…·ñÀVðPöÏñÀORQ Fúš”|‡ \~†7ϱ ‡_¹z '†2±[`”&)³ÐÒц7´Ï ‡…_¹z '†7´[`”&)"QNJAõv>MN>A@-Œ M 'Z†7ϱ [P†,Ï´ )v‡…Î"ú Púv†±£‡3Ycd³±!Ðӆ,´ž‡3Ycdš´Eú U ± ¯=¥£¥Ì¯Ôc°¸«BՖͣ¥]¯„­Ê¬Ë}̰¸Í*Ô9Õ¦žU ´ ›K›O1BPI-M\O1K@Ev Q U ±€Ö!× U ´ ^ñÀ÷*M\>PO X\O¹O ›ñÏQSM\Q|@QNñÏVJPö¬@ƒü M\ñÀIFBÉX\O ö¬@ƒM\ñÀIF3 B Î w 'ZY~±q^Y9´) ´ QNJAõv>ÉMN>A@-M÷°IEX&@EöÀ&ö †7b]±e‡…Y{bA± AAO ›ñÏQSM\³Q †b–´‚‡Ycb*´UòñÀMN> '†bA±[`†b–´)v‡Î"úAû">Pñ¬Qö¬@EQSM|÷Ã@FõnMñ¬Qõ IFBAõ ñ¬QSO1öÀD)òXNñÀMSM\O B@Eš Q YcbA± Ö ×~Ycb*´Eú 1O9òX\ñjM\ž O † ±eÖ!× † ´ '°IEX¹QSñÏVðPöÀ^D † ±žÖ † ´ ò>PO1@ B ·ñ¬Qõ öÀOR@-X"÷°X\IEVÈõ IEBsMNO ^–M )|M\I(K›O BPIEMNO M\>A@ƒMMN>PO1XNO?AO ›ñÏQSM\Q@&QNñÀVJPö¬@ƒMNñÏIEB8X\O ö¬@ƒM\ñÀIF‚B ÎòñÀMN~> '† ± [P† ´ )v‡…Κ1X\O1@FK8@E;Q † ± ñÏQ!QSñÏVJAöÏ@-MNO1K ý^ŒD † ´ ú +PJPXNMN>AO X E@8QSñÏVJAöÏ@-MNñÏIEBWX\O ö¬@ƒMNñÏIEBñ¬Qtõ @EöÀöÏO1KB@ Õ¯=¥]¯„­Ê¬Ḛ̈˜¯«§O -FJAñÀôƒ@-öÏO B¿õ OX\O ö¬@ƒM\ñÀIFB ñÀ÷*ñÀM|ñ¬Q"QSD^VVO MNX\ñ¬õ-ú +PIFX|@ýPñÏQNñÏVJPö¬@ƒM\ñÀIFB)O -sJPñÏôƒ@-öÏO BAõ O&X\O ö¬@ƒM\ñÀIF~B ΣñÀv÷ 'Z†±[`†7´)š‡3ΚsM\>PO B †±@-BA. K †,´)@-X\OWõ @EöÀöÏO1y K Õ¯=¥–¯„­{¯„Ë̪]!òX\ñÀMSMNO1BÇ@EžQ †±9؀׉†7´|'°IFXQSñÏVðPöϛ D †2±~ØÙ†7´)ò>PO B ÎñÏQ8õ öÀOR@-X4÷°XNIFV õ IFBsMNAO ^]M )n& ú UŒ±@-B¿| K Už´@-X\OWQN@EñÏKÊMNI:ýH› O ÕA¯=¥]¯„­{¬Ḛ̈%¯«§EÍ*Ú¬¯„ÛÌËͧ°³'ÃIEX Õ¯=¥]¯„­Ê¯„Ë̪P)]žK›O BAI-MNORK:@Eš Q UŒ±³Ø€×^Už´ PñÀ#÷ ·ñÏQQND^VVO MNX\ñÏõ8QNIMN>A@-!M Y{bA±³Ø€×BYcb–´-ú @ U ± @EBA@ K U ´ ,Î w 'Y ´ ± qY ´ ) ´ ñ¬Q¹@ @ ¥–¯„­{¯„Ë̪]¯„°˜¦ À3Á ÂÃÄZÅāÆ,ÃyÜŽÉ ñÏôEO1BMcò?I@-J›M\IEVW@ƒMvB ª`ÍḚ̈˜¯«§ñÀ÷*AO ›ñ¬QcM"QSñÏVJAöÏ@-MNñÏIEB(X\O ö¬@ƒM\ñÀIFBAD Q Î ± [`Î ´ew 'ZY ± qÊY ´ ) QNJAõv>WM\>A@ƒ!M Î:V Î ± qÊÎ ´  @EBAK _ ± 'Z†;[*”&);q3_ ´ 'Z† [`”&) #†…‡Y ±#¾ Y ´ _#¹ '†;[*”&)aV»¼ º½ _ ± 'Z†;[*”&) #†… ‡ Y ±a¿ Y ´ _ ´'Z†;[*”&) #†… ‡ Yc´ ¿ Y~±

'†;[Ýo)š‡…ÎÞ ÐßÑ&'RÝ}[P†,)!‡3Î à[R,á–[%â{‡.s  [*u[`áaV(  â™

@EBAF K Už´)@EXN3 O ¥]¯„­Ê¬Ë}̰%¯«§yÍ*Ú¬¯„ÛÌËͧ°£'°IEXB¥–¯„­{¯„Ë̪Tã K›O1BPI-M\O1KFUŒ±Bä€×ŠUž´*ñÀ÷OA›ñ¬QcM QNñÀVJPö¬@ƒMNñÏIEB‡XNO1öÏ@-MNñÏIEBAQ{Î ± @-BAK(Î ´ œQNJAõv>ÇM\>A@ƒMBηVåÎ ± q|Î ´ @EBAKŠU ±|Ö!×7æ U ´ @-BAK U ´eÖ!×ç U ± ú 1OWòXNñÀMNc O † ± ä × † ´ M\I:KPO BPIEMNOMN>A@-MUMN>PO1XNOAO ›ñ¬QcMvQ8@QNñÏVñÏö¬@-X\ñjMcDX\O ö¬@ƒM\ñÀIF. B Î%QSJAõv> M\>A@ƒcM 'Z† ± [P† ´ )€‡.Î"2ú &I-M\O9MN>¿@ƒM4@QSñÏVñÀö¬@-X\ñÀMcDX\O ö¬@ƒM\ñÀIF@ B ÎÙBPO ORKBPI-M4ý¿O@-BÊO -sJPñÀôƒ@EöÀO1BAõ O X\O ö¬@ƒM\ñÀIF› B 'Ã@FQtñÀM|BAO O1K)BPI-M"ýHO4QND^VVO MNX\ñÏõ )]s>PIƒò?O1ôEO1XœMN>AO4QNñÀVñÏöÏ@EXNñÀMcDI-÷@EJ›MNIFVW@ƒM\@9ñÏQ"@-B O -FJAñÀôƒ@-öÏO B¿õ OUXNO1öÏ@-MNñÏIEBiú è¹JPX"õ IFBAQcM\XNJ¿õnMNñÏIEB)I-÷*@9ýAñÏQNñÀVñÏöÏ@EXNñÀMcDO B›÷°IFX\õ ñÀBACõ IFBFM\XNIFö¿X\O -sJPñÏX\O1QœVO1XNCFO XtIE÷*QcMv@ƒM\O1Q IE÷!@Wõ O1XSMv@-ñÏB@EJ›MNIFV@-MNIFBÉ@FQK›O ùABAO1KÉý¿O1öÀIƒò8ú B UßVß'ZY›[–\^[`_a[PYcb[PY9d£)A Ucêë ì ëíîcVï' Y‰[]\^[ _a[ Y…b[ Y@de)KPO ü À3Á ÂÃÄZÅāÆ,ÃEéˆÉ ñÏôEO1( BPIEMNOR€Q U òñÀMN>²Mcò|IQSM\@ƒM\O1€Q †;[`†7Ïa‡.Y$VO1XNCFO1K”2ú ð&QN O ñZ†;[`†7τò&MNIÉK›O BPIEMNOMN>POVO X\CEO1X¹IE÷ Mcò|I8QcMv@ƒMNOR#Q †(@-BA{K †,ÏÃúEû">AO &B  Y•V—'ZY ¿ s†;[`†7ρu )qŒsñZ†;[`†7Ï=ò–u [E@-BA‚K ! ó† [ …ô† ‡3Y ¿ s†;[`†7ρu UŒ±

”@‡ \Ùf

|ñÀB ‡3_v'A ô† [`”&)"ñÏBUrÐiñZ†;[`†

|ñÏB _a' ô† [*”&)|ñÀB

†…‡…_a' ó† [*”&) …UrÐiñZ† [P† Ï òv‡ _v'ó† [`”&)

Ucêë ì ëí}î–[

† Ï

Ucê}ëì ë í î–[

106

Ï òš‡

ñÀB "ñÏB Ucê}ëì ëíî][ @ ô† ‡3_v'Z† Ï [`”&)|ñÏB…UˆÐõ› ô† ‡ _š'Pñ†;[`† Ï ò][*”&)"ñÀB Ucê}ëì ë í î–[ @ ô† ‡3_v'#ó† [*”&)|ñÀ… B UrÐX@ô† ‡ _a' ó† [*”&)|ñÀB Ucêë ì ë í î–[ †@‡3_v'Z† Ï [`”&)|ñυ B UˆÐöñ†;[`† Ï òv‡ _v'`ñZ† [P† Ï òA[`”&)|ñÏB Ucêë ì ë í î–[ † Ï ‡…_v'Z† [`”&)"ñυ B UˆÐöñ†;[`† Ï òv‡ _v'`ñZ† [P† Ï òA[`”&)|ñÏB Ucêë ì ë í  $ Mñ¬Q"ósBAIƒòB.'QSO1Oÿ ƒ„)?M\>A@ƒMVO X\CEO1X"I-÷ýAñÏQNñÀVñÏöÏ@EXQcMv@ƒM\O1Q"ñÏB:@EBÉ@EJ›MNIFVW@ƒMNIFB)D^ñÏO ö¬KPQ @ýPñ¬QSñÏVñÀö¬@-X@EJ›MNIFV@-MNIFBiú B UcFñj&÷ † [P†7Ï;‡^Y/@EXNOQNJAõv>MN>A@-DM †3Øy†7Ï%-M\>PO B ÷‚ø ÁÆùÁú»Ç ÿ ƒ  É ñÀôFO BW@-B(@EJ›MNIFV@-MNIF{ U5Ø Ucê}ëì ëíîvú @ ó† ‡3_v'Z† [`”&) …UrÐõ@ ó† ‡ _a'`ñZ†;[`† Ï òA[`”&)

û

±é !èsèPîNí2Mqêü^ýÅìè›êDOpIèI—þç&ë³M*éxÿîPO ì€NRI!èPîcêtçEM;NRI!èPîcêtç K M;NPI

$ BMN>Pñ¬QQNO1õnM\ñÀIFB)ò|O4QN>PIƒòÙM\>A@ƒM"MN>AO4QNñÀVJPö¬@ƒMNñÏIEBXNO1öÏ@-MNñÏIEBÉQSO1XNôFO1Q|@EQ|@ðPX\O IFX\KPO X?÷°IEX MN>AO¹QNO MtIE÷”@EöÀö¿@-J›M\IEVW@ƒMv@8K›O ùABAO1KIƒôEO1Xt@8õ IFVVIFBWO ôFO BsMtQSO Ms@-BAKW@EöÏQNIUMN>A@-MœMN>AO&QSO MtI-÷ @-JPMNIEVW@-M\@8K›O ùABPO1KIƒôFO Xœ@8õ IFVVIFBO ôEO1BsMtQSO MMNIECFO M\>PO XœòñÀMN>M\>POQNñÀVJPöÏ@-MNñÏIEBX\O ö¬@ƒMNñÏIEB ðPX\O IFX\K›O1Xõ IEB¿QcM\ñjM\J›MNORQ@ðPXNO1öÏ@-MSM\ñÏõ OEú M Y‰R@ðPX\O IFX\KPO XiIƒôFO &X Y‰~K›O1BPI-M\O1K  w Y ´ RñÏQ!@"M\X\@EBAQSñÀü À3ÁÂ#ÃÄZÅĘÆ7à ÿ ƒ  É ñÏôEO B9@¹QSO MNñÏôEO"@-B¿K9X\O AO ^ñÏôEO?XNO1öÏ@-MNñÏIE&B RñÏBò>Pñ¬õv>õ1@EQNOtM\>PO?ð¿@-ñÏvX 'Y@[Q)*ñÏQ õ1@-öÏöÀORK³@ ®,ª`͖«ª*Ô Íª`͖ԣ¥ÍA°xú B w Y‰†@‡3YÈñ¬QœQ\@-ñ¬K9M\I8ý¿OÊ@ ¥]¬®,ª`Í­9ÌË,« ñÀ#÷ 'Ã=ñ )š'ÃJPðPðHO XtýHIEJABAK )]f B‡ Ùf É ñÏôEO 

E†;¿@EBA:K '°ñτñ )ž'°öÏO1@FQcM&JAðPð¿O1XýHIEJPBA7K )]f9‡…Yßfžÿ  ~‡ f &Ð ÿ † x,ú 0^ñÀVñÀü ö¬@-X\öÀD †›‡…Yñ¬Qõ @EöÀöÏO1K:@-: B ¯„§­9ÌË#«  w YñÀ!÷ 'Ã=ñ )Œ'°öÏIƒò?O1Xý¿IFJPBAK )Af ~‡ f† 2 @-B¿. K 'ÃñÀ„ñ )e'°CFXNOR@ƒM\O1QSM"öÏIƒò|O X"ý¿IFJPBAK )Afc‡3YÓfAÿ  B‡ pf ,Ð ÿ (†…ú IEMNOMN>¿@ƒM9QSJAðPXNO1VW@-ö@-BAK²ñÏB›ùAVW@-öò>PO1BKPO ùABPORKòñjM\>²X\O1QNð¿ORõnMUMNI@ðPX\O IEXvK›O1XNORK @-X\OBPIEMtJPBP=ñ -sJPOE!ú Iƒò|O ôFO XñÀ&÷ † ± @-BA9K † ´ @EXNO"Mcò|IQNJPðPX\O VW@-ö¿IEXœñÏB›ùAVW@-öHO öÏO VO1BFMvQœIE"÷ ~ MN>AO B:ñjM>AIEö¬KPQ|MN>A@-³M † ± († ´ @EBA3 K † ´ C† ± ú 1²O9K›O1BPI-M\O4MN>PO9QNO MIE÷!@-öÏöiQNJPðPX\O VW@-ö¬Q"@-BAK ñÏB›ùAVW@-ö¬QI-#÷ ý^%D $'&)(9'* Œ)"@-BA K +-,.9'/ Ê)]PX\O1QNð¿ORõnM\ñÀôFO öÏDEú M 'Y@[Q)!ñ¬QQ\@-ñ¬K9M\I8ý¿O€@ ®,ª*ÍAḚ̈˜°%¯¨–Í ñÀ"÷ $'&1(9'/ Œ) ¾ À3ÁÂ#ÃÄZÅĘÆ7Ã0 ÿ ƒ   ðAXNO1IEXvK›O X\O1KQSO ! Y V   ŸA@-BA K +-,.9'/ {) ¾ YkVÈ  Ÿ9÷°IFX@-B^DWùABAñjM\2 O w YÇú 1OÉBAAO ^M(õ IEB¿QSñ¬K›O XM\>POÊQSO MWI-÷4@EöÀö@EJ›MNIFVW@ƒM\4 @ 3 IƒôEO X@²ù ›O1KÛ@-öÏðP>A@Eý¿O ~M \AOÉQNñÀVJPö¬@ƒMNñÏIEB‡XNO1öÏ@-MNñÏIEB£IƒôFO X9M\>Pñ¬QQNO MRú $ Mñ¬QósBAIƒòB£MN>A@-MM\>PO:QSñÏVJPö¬@ƒM\ñÀIFBÇX\O ö¬@ƒMNñÏIEB ñ¬QMNXv@-BAQNñjM\ñÀôF O !ñú OE}ú CEñÏôEO1B@-JPMNIEVW@-M\› @ UŒ±[`Už´:@EBAŠ K U15 ñje÷ UŒ± Ö Už´:@-BA( K Už´ Ö U15  MN>AO x B UŒ± Ö U15-ú  ö¬QS7I œ÷°IFX@-B^DÛ@-J›M\IEVW@ƒM\IE  B Uc|ñjM)>AIEö¬KPQWM\>A@ƒ M U Ö Uc?ñÏVðPöÀD^ñÏBPC MN>AOX\O AO ›ñÀô^ñÀMcDIE÷œMN>POQSñÏVJAöÏ@-MNñÏIEBÊX\O ö¬@ƒM\ñÀIFBi6ú &Iƒò?O1ôEO £X UŒ± Ö Už´@-BA› K Už´ Ö UŒ±9IEBPöÏD ñÏVðAöÀñÏO1!Q U ± ä U ´ ýPJ›MBPIE!M U ± VxU ´ ›ñxú OE}ú P@-BsMNñ¬QSD^VVO M\XND(K›I^ORQ?BAI-M>PIEö¬K”ú›û">PO1XNO ÷°IEX\ O  MN>AO8ðA@-ñςX '/39[ Ö )|ñÏQ&@ðAXNO1IEXvK›O X\O1KQSO M1ú B '°X\O1QNði}ú &@-J›M\IEVW@ƒMv@ƒü $ B MN>POÇ÷°IEöÏöÀIƒòñÏBPCÙò?O£ORQcMv@-ýPöÏñ¬QS> MN>¿@ƒMMN>AO@-J›M\IEVW@ƒMv@ƒü…JPBPñÏIEÙ QNDsB¿õv>PXNIFBP}ñ 1@ƒM\ñÀIF7B )tDsñÏO ö¬KPQ@QNJPðPX\O VW@-ö 'ÃXNORQSð*ú P@EBñÏB›ùAVW@-„ö )|O öÏO VO1BFMRú B U ± @EBA^K U ´ U ± q3U ´ ‡$'&)({s U ± [`U ´ uFú ÷‚ø ÁÆùÁúXÜŽÉ ñÏôEO 

107

7eùÆ&Æ8:9$ Mœñ¬Q O1@FQSDUM\IUQNO O|÷°X\IEV

M\>POK›O ù¿BPñjM\ñÀIFBIE÷H@EJ›MNIFV@-M\@4JPBPñÏIEBMN>¿@ƒMUŒ± Ö UŒ±qQUž´ E@ BAKBUž´ Ö UŒ±&q{Už´ sñxú OFúUŒ±qcUž´¹ñÏQ|@-B)JPðPðHO X"ý¿IFJPBAK÷°IFXQs UŒ± [*Už´usú &OA^M^ò|O¹QN>PIƒò M\>A@ƒM!ñjM*ñ¬Q!@öÀOR@EQSM*JPðPðHO X!ýHIEJPBAK&1ñxú OFúUŒ± Ö U15t@-B¿KžUž´ Ö U15tñÀVðPöÏñÀORQa'˜UŒ± qUž´ ) Ö U15Fú IEMNñ¬õ OMN>A@-‚ M UŒ± Ö U15ñÏVðPöÏñÀOR€Q YcbA± Ö Ycb:5@-BAK|Už´ Ö U15ñÀVðPöÏñÀORQeYcb*´ Ö Ycb:5Fú û">Pñ¬QñÏVðPöÀñÏO1Q÷°IEX áV5 [–~÷°IFXœO1@FõvÊ> †7b Þ ‡Ycb Þ OA›ñÏQSM\Q†b;5ž‡^Ycb;5QNJAõv>MN>A@-M†b Þ Ö †7b:5Fú 0^ñÏBAõ OMN>PO¹QSO MtI-÷žMNXv@-B¿QSñÀMNñÏIEBAQœI-& ÷ UŒ±q‚Už´ñ¬QMN>AO&JPBPñÏIEBWIE÷¿M\>PO¹QNO M?I-÷žMNXv@-BAQNñÀMNñÏIEBAQ IE÷HM\>PO Mcò|I@EJ›MNIFVW@ƒM\@ ^MN>Pñ¬QñÏVðPöÀñÏO1Q|M\>A@ƒM÷°IFXO1@Fõv^> †…‡Y b]± q~Y b*´ ›MN>AO X\O4O ›ñÏQSM\šQ † b:5 ‡3Y b:5  QNJAõv>MN>A@-³M † Ö † b:5 7ú 0^ñÏBAõ OUMN>PO8ñÏBPñÀMNñ¬@-ö*QSM\@-MNO8QSO MI-÷ U ± q3U ´ ñϳQ Y bA± q^Y b*´ PñÀM÷°IEöÏöÀIƒòQ M\>A@ƒŒM '˜U ± q3U ´ ) Ö Uú B U ± @EBA^K U ´ U ± µAU ´ ‡+,.{sU ± [*U ´ usú ÷‚ø ÁÆùÁú éˆÉ ñÏôEO … 7eùÆ&Æ8:9 1O:ùAXvQcMWðPX\IƒôEO)MN>A@-9M U ± µAU ´ ñ¬QW@öÀIƒò|O Xý¿IFJPBAK tñú OE}ú U ± µU ´:Ö!×=< UžÞ4÷°IEX áQVg [–›ú / DMN>POX\O AO ›ñÀô^ñÀMcDðPXNIFð¿O1XSMcDIE÷?QNñÀVJPöÏ@-MNñÏIEBXNO1öÏ@-MNñÏIE& B HM\>PO X\OO ›ñÏQSM\žQ Î%QSJAõv> M\>A@ƒQM UŒ±µAUž´ Ö ×3UŒ± µUž´-ú ¡ O ù¿BPO@QSñÏVJAöÏ@-MNñÏIEB:XNO1öÏ@-MNñÏIE B Î Þ ý^^D Î Þ Vrs'P'†2± [`†7´ )][`†7ÏÞ )Qœ '`'Z†2±[P†,´)A['†7ϱ [P†7Ï´ )P)B‡EÎvu ;á‚Vå[*Pú*û">PO BñjMõ1@-B£ýHO)QNO O B M\>A@ƒ{ M Î Þ ñ¬Q@QNñÀVJPö¬@ƒMNñÏIEB X\O ö¬@ƒM\ñÀIF&B ›@-BAK:QNcI UŒ± µAUž´ Ö × < U Þ á#Vˆ[*Pú O ^M žò?OðPX\IƒôEO8M\>A@ƒž M UŒ±µAUž´9ñ¬QU@(CFXNOR@ƒMNORQcM4öÀIƒò|O X¹ý¿IFJPBAK žñxú OFú U15 Ö × < U Þ 'Zá!V [* )?ñÏVðPöÀñÏO1! Q U15 Ö ×^UŒ±µUž´-ú $ B:IFX\K›O1X|MNIWQS>AIƒÈ ò U15 Ö ×›'˜UŒ± µUž´)AAK›O ù¿BPO ÎÓfVös'Z† 5 ['† ± [P† ´ )`)‰œ‚'† 5 [P† ± )F‡·Î ± ['Z† 5 [P† ´ ):‡pÎ ´ [*Ñ“x‡ \9zUQ ú M1 ú †7ޅ‡ _Þz 'ZY b ÞR[*“ )A[¸,á#Vr[*[*usú U 53Ö!×=< UžÞñÏVðPöÏñÀORž Q Y b:53Ö!×=< Y b Þ"÷°IEžX á€VJ[*Pú;0^ñÀB¿õ BO U 53Ö!×=< UžÞ`iñÀM8÷°IEöÏöÀIƒòQ¹MN>¿@ƒM €'U15) w Q'˜U Þ )A^MN>Pñ¬Q"÷°JPXNMN>AO XñÏVðAöÀñÏO1! Q €'U15) w Q'˜UŒ±A) ¾ Q'˜Už´)VxQ'UŒ± µAUž´)núAû">Pñ¬Q VO1@EBAQ4÷°IEXO ôEO1XN… D †5‡(Y5WQNJAõv>²MN>A@-M9MN>PO1XNOO ^ñ¬QSM\ŒQ “‡y\9zòñÀMNF > †65‡E_#5z 'ZYcb;5 [–“ )] O ^ñ¬QSM\! Q † Þ ‡…Y Þ AQNJAõv>ÉMN>¿@ƒQM † Þ ‡@_Þz 'Y{b Þ [*“ )|÷°IEQX á#V— [–›ú0^BI ÎÙ@-ýHIƒôEOUñ¬Qò|O öÏö*K›O ù¿BPO1K @EBAKQNO X\ôEORQ"@EQ@QSñÏVJAöÏ@-MNñÏIEBÉXNO1öÏ@-MNñÏIEB÷°IEXO1QSM\@EýPöÏñÏQN>PñÏBP9C U15 Ö ×~UŒ±µAUž´-ú û">POU÷°IFöÀöÏIƒòñÀBACõ IEX\IEöÏöÏ@EXND÷°IFöÀöÏIƒòQ?÷°XNIFV0û">PO IFXNO1p V Aú > Æ7ù Æ?/?*@ùBAxÇ É ñÏôEO BÉ@-J›M\IEVW@ƒMvÊ@ U ± [`U ´ [`U 5 U 5eÖ U ± µAU ´ ñÀVðPöÏñÏO1!Q U 5žÖ!×7æ U ± @-BAK U 5eÖ!×ç U ´ ú

C

"ìEDžMiéGFîPSsêœéGHJI²êtç?è›éPêDNÊüvêœéK£î`S^îPO îPNPI!é¿îaèLH $ BM\>PñÏQ4QNO1õnM\ñÀIFB&Hò?OQSMNJ¿K›DÉMN>POõ IEBsM\XNIFö*I-÷t@(ðPöÏ@EBsM&MNI)O BAQNJPX\OýPñ¬QSñÏVñÀö¬@-X\ñÀMcDIE÷!M\>PO õ IEBsMNX\IEöÏöÀORK(ðPö¬@-BsM&@EBAK(M\>PO8CEñÏôEO1BÉQNðHO1õ ñÀù¿õ1@ƒMNñÏIEB*ú ÿ

NMÇ OQP—ÆÅÄSR=@ÅāÃUT4VXWY@ú[Z#?Á

1O9CEñÏôEO8@-B:O ›@EVðPöÀO4M\IWñÀöÏöÀJ¿QcM\X\@-MNO9QNIEVOUI-÷!MN>PO8ñ¬QNQNJPORQ"MN>A@-M&@-X\OUðPXNO1ôƒ@-öÏO BsMò>PO B õ IEBsMNX\IEöÏöÀñÏBPC@BPIEBAKPO MNO1XNVñÏBPñ¬QcM\ñÏõ8QND›QcM\O V:ú VXWY@ú[Z#?Á.Ç =?IEBAQNñ¬K›O X9@EB@EJ›MNIFV@-MNñ¬õõv>PO1õvósü…IEJ›M8QNõ1@-BPBAO XUñÀB£@:QN>PIEðPðAñÀBPCõ O BsMNO1Xi@ QSM\@-MNOœVW@Eõv>AñÀBPOtVI›K›O1ö UÙIE÷^ò>AñÏõv>8ñ¬QQN>PIƒòBUñόB +!ñÀCFJPXNŒO Eú $ BAñjM\ñÏ@EöÀöÏ D ~@õ JAQSMNIFVO X*ðAXNORQNQNO1Q M\>POÉQSM\@EXSMýPJ›MNMNIFBM\IQSM\@EXSMMN>POõv>PORõvósüxIFJ›MðPX\I›õ ORQNQ1ú!û">AO BñÀM(QNõ1@-BAQ@EBñÀMNO  V  JPðHIEB ò>Pñ¬õv&> ”IƒòñÏBPC(M\I@VW@Eöj÷°JPB¿õnMNñÏIE;B žMN>POWQ\õ @-BABPO XUBPIFBAK›O M\O X\VñÀBPñ¬QSMNñ¬õ @-öÏöÏD:MNXv@-BAQNñjM\ñÀIFBAQ¹MNI

108

IEBAOWI-÷|Mcò?IQSM\@ƒM\O1Q1ú $ BMN>POù¿X\QSMQcMv@ƒM\O ”M\>PO(QNõ1@-BPBAO X9@-öÏöÏIƒòQ4MN>PO(õ JAQcM\IEVO X9MNI:O ñÀMN>PO1X ðPJ›MMN>PO)ñjM\O VñÀBÇ@ÊýA@-C7iIEXõ1@-BAõ O ö%‘*ò>PO1XNOR@EQ8ñÏB MN>AO)QSORõ IFBAK£QcMv@ƒM\OWMN>PO)IEBPöÏD²IFð›MNñÏIEB IL\žO X\O1Kñ¬Q!MNIUðPJ›MM\>PO"ñjM\O VøñÏBMN>PO"ýA@ECAú&I-MCEñÏô^ñÀBPCU@-BIEðPMNñÏIEBMNI8õ @EBAõ O1ö›ñÀBMN>POQNO1õ IEBAK QSM\@ƒM\Oñ¬Q4JPBA@Fõ õ O1ð›M\@EýPöÏOEú  X\O1QNO MUýPJ›MNMNIFB±VW@~D:ý¿OðPX\O1Q\QSORKñÏB±O ñÀMN>AO XUI-÷œM\>POWQcMv@ƒM\O1Q&MNI X\O MNJAXNB£M\IÊM\>PO(ùAXvQSMQSM\@ƒM\OEú  ÷®M\O XMN>Pñ¬Q *M\>POÉQ\õ @EBPBPO1Xò"@-ñÀM\Q8÷°IFXO1ñjM\>PO X@X\O -sJPORQcM÷°IEX @ÊBAAO ^MñÀMNO13 V  IFXñÀ÷MN>PO1XNOñÏQBPI²VIFXNO)ñjM\O VWQ9M\>PO BÛ@ÊX\O -sJPORQcM9M\I±ðA@~DFú $ BÇMN>POÉöÏ@-MSM\O X õ @FQSO HQ\õ @EBPBPO1XXNO MNJPX\BAQ&MNIñjMvQ&ñÏBPñÀMNñ¬@-ö QcMv@ƒMNO H@EBAKñÏBMN>AO9÷°IEX\VO XUõ @FQSO9ñÀM¹CFI^O1Qý¿@EõvóMNI MN>AOQSM\@ƒM\O8÷°X\IEV ò>PO X\Oõv>PORõvósüxIFJ›MðPX\I^õ O1Q\QX\O1QNJPVO1Q1,ú 0^ñÏBAõ O@(õ JAQSMNIFVO X&VJAQSM¹ðA@~DÉ@ƒM MN>AO8O BAKÉI-÷!MN>AO9õv>PO1õvósü…IEJ›MðPX\I›õ O1Q\Q FM\>PO9O1ôEO Bs9M 4Sð¿@~D 6ñ¬QK›O O1VORKÉJPBAõ IFBsMNX\IEöÏöÏ@EýPöÀOFú  öÏö I-M\>PO XO1ôEO1BFMvQ@-X\O8õ IEBsM\XNIFöÀö¬@-ýPöÏOEú û">POœð¿@-XNMNñ¬@-öEQNð¿ORõ ñÀù¿õ @-MNñÏIE2B ]{1@EöÏQNIQN>PIƒòBUñÀŒB +!ñÏCEJPX\‚O  ñ¬QiCEñÏôEO1BUñÀB8IFX\K›O1X”MNI&XNORQcM\XNñ¬õnM MN>AO¹ðPö¬@-BsMœM\IO ^>AñÀýPñÀM"IEBPöÏD@EB)@Eõ1õ O1ð›M\@EýPöÀO&ý¿O1>A@~ô^ñÀIFX1ú  õ õ IEXvK›ñÏBPCUMNIMN>POUQSðHO1õ ñjùHõ @ƒM\ñÀIF&B  @ƒ÷®M\O X|QcMv@-XNMt@-BAKWQ\õ @E&B -Mcò|I8ð¿IsQNQNñÏýPöÀO¹QcMv@ƒMNORQVW@~DýHO&X\O1@Fõv>PO1KBPIFBAK›O M\O X\VñÀBPñ¬QSMNñ¬õ @-öÏöÏDEú $ B ýHI-MN>QcMv@ƒMNORQ ^õ @EBAõ O1öAñ¬Qt@EB)@~ôƒ@-ñÏöÏ@EýPöÀOIFð›MNñÏIEB)ò>PñÏõv>Wñ¬Q?ò>A@ƒMtò|O¹KPO1QNñÀX\OI-÷žM\>PO¹Q\õ @EBPBPO X  ò>PñÏöÀOðPJPMUñ¬QU@-B@EKPK›ñÀMNñÏIEB¿@-ö IEð›M\ñÀIFB²@-M¹M\>POùAX\QSM8QcMv@ƒMNOFú”û">POXNORQcM4I-÷tM\>POý¿O1>A@~ô^ñÀIFX¹ñ¬Q MN>AO¹Q\@-VO@EQ M\>PO&IFBPO"÷°O1@FQSñÏýPöÏOñÏBMN>PO&Q\õ @EBPBPO1X1 ú &I-M\OMN>A@-MtM\>PBO 4SX\O1QNO –M 64O ôEO1BsM?K›I^O1QBAI-M @-ðAð¿OR@-X|ñÀBMN>POUQNð¿ORõ ñÀù¿õ @-MNñÏIEBQSM\@-MNO4VW@Eõv>PñÏBPOUQSñÏBAõ O4@-BI^õ1õ JPX\X\O BAõ O&IEX|BPIFB›üxI›õ1õ JPX\XNO1BAõ O I-÷?ñjM8ñ¬Q¹ñÏVVW@ƒMNO1XNñ¬@-öMNIMN>AOQNðHO1õ ñÀù¿õ1@ƒMNñÏIEB*úžû">AñÏQ4ñÏVðAöÀñÏO1Q¹MN>¿@ƒM4MN>POWQNð¿ORõ ñÀù¿õ @-MNñÏIE B ] ñ¬Q ÷°IEX&MN>POðPöÏ@EBs£M U ðPX\I-þcO1õ MNORKIFB:MNIWM\>POO1ôEO1BFM4QSO M \²ó foVr\ ¿ s_^a`“`b–u¿KPO BPIEMNO1… K UXc \)ó ú ó XNO1ðPöÏ@Fõ ORQOR@Eõv>‡O ôEO1BsMö¬@-ýHO öIFJ›M\QNñÏKPO \ ó I-÷&M\>PO '/dtXNIEþcO1õ MNñÏBPC@EB‡@EJ›MNIFV@-MNIFBIEBsM\I \< @-JPMNIEVW@-MNIEBÉý^~D tRú )

q0

x0

start

start x1

scan

scan

reset next

reset x2

put

q1

pay

cancel x4

e fhg ™Bi^™ á*hj] d-`kj

x3

put

scan q2

pay

scan cancel

put

q3

next

cancel q4

³®hmZ\fÀ`Nµt] d^a[›Z\kvl¢¡^kn] `clje1dml ³¬_clmuRŒƒ`Nµ

ó ñ¬QUö¬@-BPCFJA@-CFOO-FJAñÀôƒ@-öÏO BsM4MNI]úiû">^JAQUñj÷ IEMNOMN>¿@ƒM‚Q'*]e)£VpQ'˜Unc \{ó )]”ñxú OEú};Unc \È ò|O¹JAQNOUöÏ@EBPCEJ¿@-CEO&O-sJPñÏô~@EöÀO1BAõ OU@EQ"@BPI-M\ñÀIFB)IE÷ýHO >A@~ô^ñÏIEXv@-öAO-sJPñÀôƒ@EöÀO1BAõ OFM\>PO BMN>AO X\O¹ñ¬Q BPIWBPO1O1KMNI(õ IEBsMNX\IEöxúGIƒò|O ôFO X^@FQVO BsMNñÏIEBAO1K:@-ýHIƒôEOU õ @EB:OA›>PñÏýPñjM&QNIEVO8ýHO >A@~ô^ñÏIEX MN>¿@ƒM8ñÏQUBAI-M9@Eõ1õ O ðPM\@-ýAöÀ O '°ñxú OFú ”BAI-M9@-öÏò|@~D›Q¹CEñÏô^ñÀBPCMN>AOIFð›MNñÏIEB²MNIõ1@-BAõ O ö@ƒ÷®M\O X9Q\õ @-,B )nú 1OK›O1ôEO1öÀIFðÊ@MN>PO1IEX\DñÏBM\>PñÏQ¹ðA@Eð¿O1X&M\>A@ƒM4öÀO M\Q¹JAQ¹KPO1QNñÀCFBÊ@)QNJPð¿O1XNô^ñ¬QSIFX X $ÙQNJAõv>MN>¿@ƒM 'UBµ_$)oc \ ó ñ¬Q"ýPñ¬QSñÏVñÀö¬@-X"M\m I ]ú 

109

NM=Ü >

? 68p…Æ,ÃUq Á ÅÁ ùú‰Ä˜Ã Ä*rÅÄ/s71?/@Ã2Åm8%Æ7ùut{Ä/rāú‰Ä*?/@ùāÅ:A +PIFX4õ IEBsMNX\IEöðPJPX\ð¿IsQSOAM\>POQSO M¹I-÷?O ôEO1BsM\Qñ¬Q4ðA@-XNMNñÀMNñÏIEBAO1KñÏBsMNI›¬§2¨–«§°%ª`«˄ËÌ ÕËÍ4@-BAK ¨–«§7°˜ª*«˄ËÌÕAËÍcÍÛ Í§°˜¥]f,\pVŽ\w£ v q.'%\ ¿ \wv )nú¿û">PO8O ôFO BsM\Q"ñÏB›\ ¿ \w(v õ1@-B:ý¿O9KPñÏQ\@-ýPöÏO1K ò>PO1BK›ORQSñÏX\O1K~ò>PñÏöÀO?MN>AIFQNO?ñÏBc\wUv @-X\OtO1ôEO1BFMvQMN>A@-MM\>POQSJPðHO X\ô^ñÏQNIEX\DUõ IEBsM\XNIFöÀöÏO X!õ @-BABPI-M K›ñ¬Q\@-ýPöÏOEúsû">PñÏQtñÏQtO BAQNJPX\O1Ký^DX\O-sJPñÏX\ñÀBPCUM\>PO¹QNJPðHO X\ô^ñÏQNIEX M\I9ý¿Ož\ v üaõ IFVðA@ƒM\ñÀýPöÏOEú ðBPöÏO1Q\Q IEMN>PO1XNòñ¬QSOQSM\@-MNORK-ò|OòñÀöÏöAJ¿QSOQUrV—'ZY@[]\^[`_a[PY b [PY d )]-Ž ] V—'*cx []\^[zy [;x b [:x d )]s@-BAK $ Vp'*D []\^[ { [: b [z d )MNI)KPO BPIEMNO8M\>PO9ðPö¬@-BsM¿MN>AOQSðHO1õ ñjùHõ @ƒM\ñÀIFB&¿@EBAKÉMN>AOQSJAð¿O1XNô^ñ¬QSIFX Š X\O1QNð¿ORõnM\ñÀôFO öÏDEúû">POõ IFBFM\XNIFöÀöÏO1K‡QSD›QSMNO1V ñÏQWKPO BPIEMNO1K‡ý^DŠUBµ· $ Vk'ZYih|a [–\^[ } [`Y b h b [`Y d h d ) ú  QNJPð¿O1XNô^ñ¬QSIFXkÇ$ ñÏQ|QN@EñÏK(MNIý¿OŒ\ v6~ ¨*«­³®Ì°%¯ÕËÍ|ñj÷O1@Eõv>)JPBAõ IFBsMNX\IEöÏöÏ@EýPöÀO O1ôEO BsMñ¬QK›O ùABAO1K:@ƒMOR@Eõv>:QcMv@ƒMNOUIE÷"$ ú O^M!ò?OWðPX\O1QNO BsM9IFJPXVW@-ñÏB XNORQSJAöjMIFB£OA›ñ¬QcM\O BAõ OWI-÷QSJAð¿O1XNô^ñ¬QSIFX€ $ ÷°IEXðAöÏ@EBFMŒU QNJAõv>MN>A@-MQUBµ $ ñÏQýAñÏQNñÀVñÏöÏ@EX"MNIWQNð¿ORõ ñÀù¿õ @-MNñÏIEB] ú  É ñÏôEO B%BPIEB¿K›O M\O X\VñÏBPñ¬QcM\ñÏõ|U @-B¿K{] tM\>PO X\O±O^ñ¬QSM\QÉ@C\wEv ü…õ IEVðA@ƒM\ñÀýAöÀO ÷‚ø ÁÆùÁúr QNJPðHO X\ôsñ¬QNIEX‚ø $ QSJ¿õv>ÇMN>¿@ƒM9UBµÙ$ ؃] ñj÷U@-BAKIEBPöÏD ñj÷¹MN>PO1XNOÉOA›ñ¬QcMvQ@.\wEv ü…õ IEVðA@ƒM\ñÀýAöÀO @EJ›MNIFV@-MNIFB%% „ òñjM\>:QSM\@-MNO9QNðA@Eõ O‚m2…Gۆ QSJ¿õv>)M\>A@ƒMQUBµy„ ؇] ú 7 ùÆ&Æ8:9 'šˆ §ː¦…¯ R ) É ñÏôEO1B.UcNÊ] @-BAK‰$ QSJAõv>²MN>¿@ƒMŒUBµŽ$ ؊{] iò|Oõ IEBAQSMNX\JAõ M@…\ v ü e õ IEVðA@ƒM\ñÀýAöÀOm„ QNJAõv>£M\>A@ƒMcUBµ‹² „ ،] @-B¿KÇQcMv@ƒM\O)QSð¿@Eõ OI-÷„ ñ¬Q{ m1…=† ú1²OÉ@EQ\QSJPVO òñÀMN>PIFJ›MtöÏIFQ\QI-÷”CFO BPO1X\@EöÀñÀMcD9M\>A@ƒM?@EöÀöAMNXv@-BAQNñÀMNñÏIEBAQIE÷ޱ $ ð¿@-XNMNñ¬õ ñÏðA@ƒM\OñÀBM\>PO&õ IEVð¿IsQSñÀMNñÏIEB òñÀMN>…Uú $ ÷@MNXv@-BAQNñÀMNñÏIEBÉI-÷#‡ $ BPO1ôEO1X|ð¿@-XNMNñ¬õ ñÏðA@ƒM\O1Q"ñÏBUBµ_š$ ›M\>PO B:ò|OUõ1@-BÉXNO1VIƒôEO¹MN>Pñ¬Q M\X\@EBAQSñÀMNñÏIEB÷°XNIFVš$ œ@-B¿K‡õ1@-öÏö?M\>PO:XNORQSJAöjM(@EQñ$ ònúœû">PO1BCUBµ ñ*$ ò^V•UBµ_$ @-B¿KO1ôEO X\D M\X\@EBAQSñÀMNñÏIEB±I-÷£ñ$ ò&ðA@-XNMNñ¬õ ñÏðA@ƒM\O1Q4ñÏBÊMN>AOõ IEVðHIFQNO1K±@EJ›MNIFVW@ƒMNIFB›UBµñ$ ònú1OWõ IFVðAJ›MNO „ ÷°XNIFVgUc‘] @EBAK$ @FQ|÷°IEöÏöÀIƒòQf % Fúš+AIEX^

‡~ ›ò?O9K›O ùABPO Ym’”“ • 'S )šfVŽs†…‡YߜÑ“‚‡@\ z [P†@‡_ z 'Y b [*“ )"@EBAKu^ ‡%{ z '* b [*“ )]u[ M\Iý¿O8M\>PO9QSM\@ƒM\O1Q"ñÏB…U M\>A@ƒM&@EXNOUX\O1@Eõv>¿@-ýPöÏO¹ý^D)@Q\@-VO4MNXv@Eõ OU@FQ"ñÏQMN>PO9QSM\@-MNO)) IE÷ $ ú $ B²IEMN>PO1X8ò?IFX\KPQ,†(‡‰Ym’”“• 'S )4ñj÷"@-BAK²IEBAöÀDÊñÀ÷ž'Z†;[z )&ñ¬Q8@ÉXNOR@Eõv>A@EýPöÏOQSM\@-MNOñÀB UBµ_" $ ú 0›ñÀBAõ OQUBµF$ ؇Ê] FO1@Fõv>QNJAõv>(QSM\@-MNO‚'Z† [  )ñ¬QœýAñÏQNñÀVñÏöÏ@EXMNIQSIFVO¹QcMv@ƒMNO{– ‡x ú =?IFöÀöÏO1õ MNñÏIEBÉI-÷ @-öÏöiQSJAõv>:QSM\@ƒM\O1Q"ñ¬QK›O BAI-MNORK@FQx ¸’ Þ dÊ'/ )]Pñxú OFú‘x ¸’ Þ dc'/ )vfVrsʖ ‡Ù x œ ц@‡^Y ’”“• 'S

)]['Z†;[z )DØ – u ™ Púš@-ýHO ö O1@Fõv>±QSM\@ƒM\On

IE÷kÙ$ ý^D—*˜‹`— 'S ) w YÒhcx HQNJAõv>±MN>A@-Mc'†;[z– )ž‡‰—˜‹P— '/ )ñÀ÷?@-BAK IFBPöÏD(ñj÷#†@‡3Y ’”“• 'S )A[zʖ ‡x ¸’ Þ d{'S )"@EBAKF'Z†;[z )Ø^– ú Aú ¡ O ù¿BPOÿ  $ =bžfoV™"$ ú+AIEX›šuEœ ƒHÿ #$ o‹ž ±"ñ¬QtIFý›M\@EñÀBPORKý^DVO X\CEñÏBPC8Mcò|I9QSM\@ƒM\O1QtI-÷tÿ $ o õ1@-X\XND^ñÏBPCMN>PO9Q\@-VOUöÏ@Eý¿O1ö˜PQSMNIFð:ò>PO B ÿ #$   Vøÿ $  ‹ ž ± VÊfPÿ $ …ú ¡ O ùABAO „ M\I8ý¿O9ÿ $ …úEû">PO BOR@Eõv>QcMv@ƒMNOIE÷ل õ @EXNX\ñÏO1Q @4JPBPñ=-FJAOöÏ@Eý¿O1ö›MN>A@-MœñÏQt@-BO öÏO VO BsM IE÷& m2…G!† s@-BAKWQNI8MN>AO&QcMv@ƒM\O&QSð¿@Eõ O&I-÷"Å „ õ @-BWýHOM\>PIEJPCF>sMœMNI9ýHO£ m2…G† ú OA^M|ò?OðPX\IƒôEO M\>A@ƒMQUBµEÿ $ ,Ø‡Æ ] ý^D)ñÏBAK›J¿õnMNñÏIEB:IFB)M\>PO8B^JPVýHO XIE÷!VO X\CEO1X\Q1ú $  b V™"$ ú0^I9UBµEÿ $  b VxUBµF$ Ø] ú / @EQNOUõ @EQNOcf*ÿ  š UBµ-ÿ $   Ø] ú ¡ O1BPI-M\OUMN>PO8QSM\@-MNO8‹I-  ÷"ÿ #$     @EQ› Ÿ ‹  $ BAKPJAõnM\ñÀIFB:QSMNO1ð&f0^JPðAð¿IsQSO9@-MQSMNO1ð2 ‹    òñÀMN>Wö¬‹@-  ýHO ö‘—˜‹—P'/ Ÿ ‹)n  ú  M?QcM\O ðmš'¡|IE÷HVO X\CEñÏBPC7-QSJPðAð¿IsQSOò|OVO X\CEO Ÿ [z   Ï Ÿ -ò>PO1XN‹O   —˜‹P— '/ Ÿ )šV¢—*˜‹`— 'S Ï Ÿ )nú&IƒòÆò?O9ðAXN‹Iƒ  ôFOŒUBµ-ÿ $ S‹ ž ±e‹  ØrUBµEÿ $ S^ ú ï O X\CEñÏBPCm Ÿ @-BAK ‹Ï Ÿ  õ1@-JAQNO1QžM\>POtVO1XNCFO XiIE÷›QSM\@-MNORQD'Z† [ Ÿ )i@-B¿K9'Z†;[z Ï Ÿ )žIE÷UBµ-ÿ $ S? ÷°IEX@EöÀö†…‡Y ’“• 'S Ÿ ) ú ¡ O ùABAO9@-J›M\IEVW@ƒMv@‚ ( ± [™™}™ (¤£ m¥*¦§ Ÿ “¨ª© «   P£ @FQ|÷°IEöÏöÀIƒòQf Æ,Ã2ÅùÆ šÆ

110

Eú›¬.foVxƒ=( • foVxUBµ-ÿ $S Y • fVEY ’”“• 'S Ÿ ‹  ) ú ›ú $ ÷Y • V   Ÿ M\>PO Bn( • ž ±€fV ( •!­ Rò>PO1XNO†›‡^Y • Y • ž ±€foV Y • ¿ s†;u ¬.foV¬m¡y‘PO ö¬QSO8QSMNIFð&P@-BAKUB¨¯µE®‹°ÿ ¦ $¨¯© S‹« «±ž ° ¨¯±!®‹° ¦V‡í ¨ª©z( « «h• ² ú 0^ñÏBAõ k O —*˜‹—`'S Ÿ ‹  )V‡—*˜‹—`'S Ï Ÿ ‹  )]1ñjM÷°IE‹öÏöÀ  IƒòQ”MN>A@-M*ý¿IE MN>~'†;[z Ÿ ‹  )”@EBAK9'Z† [ Ï Ÿ ‹  )*@-X\OýPñÏQNñÏVñÏö¬@-X MNIQ\@-VOQSM\@-MNOI-÷ xcžñú OE}ú 'Z†;[z Ÿ )€Øg'†;[z Ï Ÿ )n&ú +AXNIFV MN>POX\O ðHO1@ƒM\O1K²@-ðPðPöÏñ¬õ @ƒM\ñÀIFBÊI-÷ û">PO1IEX\O J V ñjM(÷°IFöÀöÏIƒòQMN>¿@ƒ^M UBµEÿ $  VQ( b ØQ( ± Øk™}™™Qس(U•ÈVÓUBµ-ÿ $ ‹ž ± útû">Pñ¬Q ðPX\IƒôEORQ MN>PO¹ñÀB¿K›JAõnM\ñÀIFB(QcM\O ðiú $ M?X\O VW@EñÀBAQMNIQN>PIƒò‡MN>A@-M4ÿ $¿ñ¬!Q \ v üaõ IFVð¿@ƒMNñÏýPöÏOEú 0^ñÀB¿õ XO $ ñ¬£Q \ v ü…õ IEVðA@ƒM\ñÀýAöÀO A@-BAKQNñÏBAõ ÊO \ v ü…õ IEVðA@-MNñÏýPñÀöÏñÀMcD)ñ¬QðPX\O1QNO X\ôEORK)JPB¿K›O X&QSM\@-MNO9VO1XNCFO XvQ  ÿ $2V„%ñ¬QQ \wv-üaõ IFVðA@ƒM\ñÀýPöÏOEú '*´/ µo)û">PO8X\O1QNJPöÀM|÷°IFöÀöÏIƒòQ"ý^D(öÏO MSM\ñÀBAu C $ŠfV„ú ¶~Áú|@ù·xÇ +AXNIFV/û">PO IFXNO1V 7¿@-B±AO ›>A@-J¿QcM\ñÀôFO9QSOR@-Xvõv>:õ1@-BÊýHOðHO XN÷°IEX\VO1KÉM\IK›O MNO XNü VñÀBAOUMN>POUAO ›ñ¬QcM\O ´BA¹ ºUõ OU¹ª»-I-¹ ¼÷!¹ @QNJPðHO X\ôsñ¬QNIEX $ÇIƒôFO X?MN>PO9QSM\@-MNO8QNðA@Eõ eO m1…=†!^MN>AO9õ IEVðPöÏAO ›ñÀMcD I-÷Hò>Pñ¬õv>ñ¬ Q ¸c'˜ ) ú 0^ñÀB¿õ O|MN>PO1XNO"VW@~D9O ^ñ¬QSM VIFXNO"QSD›QSMNO1V@-MNñ¬õtò"@~D›Q!I-÷HQNO1@EX\õv>AñÀBPC ÷°IEX@WKPO1QNñÀX\O1 K $š^MN>AOUMNñÏCE>sMNBPORQNQ"IE÷M\>PO8JPðPðHO XýHIEJABAK:õ IEVðPöÏAO ›ñÀMcD(X\O VW@-ñÏBAQ"IEðHO B*ú Iƒò%ò?OUX\O ô^ñ¬QSñÀM"MN>PO8VI-M\ñÀôƒ@-MNñÏBPCWAO P@-VðPöÏOEú VXó WY@ú[Z#?Á›Ü 1²ó OWBAO O1KM\I:ùABAK£›@ \ v ü…õ IEVðA@-MNñÏýPöÀOWQNJPðHO X\ôsñ¬QNIEnX $ QSJ¿õv>²M\>A@ƒ3M 'UBµ$D)ªc \ÙØ]{Pò>PO X\O \pVŽ\ ¿ s_^a`“`_b–us ú 0^JAõv>@WQNJPð¿O1XNô^ñ¬QSIFEX $‡ñÏQQN>PIƒòB:ñϏ B +!ñÏCEJPX\€O PúAû">PO QNDsB¿õv>PXNIFBPIEJ¿Q|õ IEVðHIFQNñjM\ñÀIFBIE÷ U @-BA K $ñÏQKPX\@~òBñÀ… B +!ñÀCFJPX\QO Pú 

pay

y0

y0

start

pay

y1 pay

scan

pay

y2

reset y4

scan pay

reset pay cancel

put

{(x2 , q2 ), (x3 , q2 )}

y3

y2

pay y5

next

{(x2 , q2 )}

y4

y1

{(x0 , q0 )} {(x1 , q1 )} {(x2 , q3 ), (x3 , q3 )} y3 {(x2 , q3 )} y5

cancel y6

y5 {(x4 , q4 )}

e fhg ™_½A™ z-rs[›Z\_c}-lmae1_k¾£³®hjZNfÏ`Nµ]1dshj] ´ Zvhmlmdsu8e fil¢`ct…`S] `cZv³¬_clmuRŒƒ`Nµ û">PO4÷°IEöÏöÏIƒòñÀBPCýPñ¬QNñÀVJPöÏ@-MNñÏIEBÉXNO1öÏ@-MNñÏIEBÎO›ñÏQSM\Q"ýHO Mcò|O O1BF'˜UBµ$ )Sc \ ó @-BAK]{f ΉVrs 'Z† b b [z– b )]['Z† ± ± [z– ± )A['Z† ´ ´ [z– ´ )A['Z† ´ 5 [z– 5 )A['Z† 5 ´ [z– ´ )A['† 5 5 [:– 5 )A[ 'Z†7´_ L¿ [z– ´)]['Z†7´_ Á À [z–5 )]['Z†‘¿ Á  [z–¿ )]['/– b [P†7b_

b)]['/ – ±[`†2±;

±A)]['/– ´ [`†7´_

´)][ '/– ´ [P†5

´)]['/–5 [P†,´ Á5 )]['/– 5 [P†5 5 )]['/– ´[P†,´ Á¿ )]['/–_ 5 [`†7´ À )]['/–¿ [`†‘¿ Á )–u ™ û">^JAQ¿M\>POõ IEBsMNX\IEöÏöÏO1KÊQND›QcM\O V ñÏQ¹ýPñ¬QSñÏVñÀö¬@-X¹MNI)MN>POQNð¿ORõ ñÀù¿õ @-MNñÏIEBÊòñÀMN>²XNORQSðHO1õ M&MNI \)ó ú 0sMv@ƒMNORQ9ñÏBÃ$ õ @EB£ý¿OöÏ@Eý¿O1öÀORK ýsD²O öÏO VO BsMvQ9I-÷Q m1…=Æ † @EQCEJA@EX\@EBFM\O ORK±ý^D û">PO IFXNO1V 

111

'QS>PIƒòBñÏ~ B +!ñÀCFJPX\€O ) ú  QSM\@-MNŒO '†;[:–)š‡^Y²h‚x%ýHO öÏIEBPCsQ MNI8M\>PO&ö¬@-ýHO ö¿I-÷i@9QSM\@-MNO ^‡ EI ÷U$£ñÀ÷v'†;[ )|@-ðAð¿OR@-XvQtñÏB3UBµ_$ 'Ãñú OEú}^OA›ñÏQSM\Q"@õ IFVVIFB(MNXv@Eõ O&÷°X\IEV·†7b4MNI{†ÉñÏB^U @-BAK ÷°X\IEVƒ bMNI ñÏB‰$QSI.'Z†;[z )&ñ¬QU@)X\O1@Fõv>A@-ýAöÀOQcMv@ƒMNOI-÷vUBµ$)Až@EBAKŠ'†;[z )¹ñ¬Q4ýPñÏQNñÏVñÏö¬@-X M\I:QSM\@-MNO–I-÷k]ú  öÀöœQSM\@-MNORQUI-÷$qòñÀMN> ñ¬K›O BsMNñ¬õ @EööÏ@Eý¿O1öÏQ9V@~DýHOWVO X\CEORKÊM\IÉIFý›M\@EñÀB M\>PO(QcMv@ƒM\OVW@Fõv>PñÀBA‚O „ QSM\@ƒM\O1K²ñÀB£û">PO1IEX\O p V A"ú „ ñÏQ8Q\@-VOW@E2Q $ñÏB²M\>Pñ¬Q8õ @EQN O i@EBAKQSI UBµ„yV UBµ$"ú

x0y0 start x1y1 scan

scan scan scan pay

x2y2

x3y2

ε

x2y3

ε x2y4

cancel

x3y3

ε put

next

ε x2y5 cancel

x4y6

e fhg ™ÄP™ p!e1dƒ`a_ceRhmhmZn…€E…`cZvb /³ j)Å;¾iµ±ÆÇÈ NM}é >

? 68

/r *sm71?/@Ã2Åm8%Æ7ùut{Ä/rāú‰Ä*?/@ùāÅ:A

Æ,Ã2ÅùÆ šÆ ³À3Á ÅÁ ùú‰ÄÃÄ ÅÄ

B tò|OÊQcM\JAK›D‡MN>PO±QNðHO1õ ñ¬@-öÏ}ñ  O1KÙõ1@EQNOò>PO BÅðPö¬@-BsM)ñ¬Q)KPO MNO1XNVñÏBPñ¬QcM\ñÏõ $ BÙMN>AñÏQQSORõnMNñÏIE; @EBAKWQSðHO1õ ñjùHõ @ƒM\ñÀIFBñÏQ€'°ðHIFQ\QSñÏýPöÏD)BPIEBAKPO MNO1XNVñÏBPñ¬QcM\ñÏõEú $ BWM\>PO&K›O MNO X\VñÀBAñÏQSMNñ¬õQNO MSM\ñÀBAC-M\>PO õ IEBsMNX\IEöÏöÏ@EýPñÏöÀñÀMcD¹IE÷Aö¬@-BPCFJA@-CFaO Q'*]ž)iòñÀMN>XNORQSðHO1õ MM\I¹ö¬@-BPCFJA@-CFaO €'U‚)@-BAcK \ v ñ¬Q K›O ù¿BPO1K @FQ fQ'*]ž)`\ v¾ Q'˜U‚) w Q'/]ž)A™~û">AñÏQK›O ùABPñÀMNñÏIEBI-D÷ 4NöÏ@EBPCEJ¿@-CEO ü…õ IEBsMNX\IEöÏö¬@-ýPñÏöÀñÀMcD 6|XNO -FJAñÀX\O1Q M\>POt÷°IFöÀöÏIƒòñÏBPC&O sM\O BAQNñÏIEB8M\I&M\>PO?BAIEBAK›O MNO1XNVñÏBPñÏQSMNñ¬õ|QSO MSMNñÏBPC4ò>PO X\OtñÏBAQSMNOR@EK9IE÷PöÏ@EBPCEJ¿@-CEO VI›K›O ö¬Q P@-J›M\IEVW@ƒMv@VI›K›O1öÏQ@EXNOUJAQNO1K÷°IEXðAöÏ@EBFM@EBAK:QSðHO1õ ñjù¿õ1@ƒM\ñÀIFBiú M U @-BAK±@-BÊ@-JPMNIEVW@-MNIE… B UžÏ;VÙ'Y›Ï˜[–\^[`_Ϙ[PY›b Ï [`Y›d Ï )òñÀMN> À3Á ÂÃÄZÅāÆ,ÃÉˆÉ ñÏôEO1BðPöÏ@EBs€ €'UžÏ=) w €'U‚)]Aò?O8Q\@~~ D UžÏ”ñ¬eQ ¥]°T̰TÍ ~ ¨–«§°%ª`«˄ËÌ ÕËÍnʯ„°„©@ª`ÍA¥˜®͖¨A°a°T«ŒU•̧2ÔÊ\wvWñÀ÷ “‚‡3€'U Ï )][*”|‡@\ v QNJAõv>ÉMN>A@-Q M “”.‡Q'˜U‚)DÐn,† Ï ‡_ ϐz 'ZY b Ï [–“ )][`”.‡@\3'Z† Ï )A™ Cf $ Bõ IFBFM\X\@FQcM sMN>PO8ö¬@-BPCFJA@-CFO üaõ IFBFM\XNIFöÀö¬@-ýAñÀöÏñjMcDX\O -sJPñÏXNORQ|MN>POU÷°IFöÀöÏIƒòñÀBA “ž‡…Q'˜U Ï )A[`”.‡…\wv)QSJAõv>MN>¿@ƒ€ M “”.‡3€'U‚)Ðßц Ï ‡…_ Ïoz 'ZY b Ï [*“ )][*”›‡›\3'† Ï )]™ &I-MNOUò>PO13 B UžÏiñÏQK›O MNO1XNVñÏBPñÏQSMNñ¬õ PQSM\@-MNO ü…õ IEBsMNX\IEöÏöÏ@EýPñÏöÀñÀMcDI-÷ UžÏiòñjM\>ÉX\O1QNðHO1õnM|MN9I U @-BAK \ v X\O1KPJAõ ORQtM\IWöÏ@EBPCEJ¿@-CEO ü…õ IEBsMNX\IEöÏö¬@-ýPñÏöÀñÀMcDI- ÷ €'UžÏ„)|òñÀMN>:XNORQSðHO1õ M"MNBI Q'˜U‚)"@-BA… K \ vú M \ v ü…õ IEVðA@ƒM\ñÀýAñÀöÏñjMcDñÏVðPöÏñÀORQ4QSM\@-MNO ü…õ IEBsMNX\IEöÏöÏ@EýPñÏöÀñÀMc D ¿ñú OE}ú HMN>POöÏ@-MSM\O X $ M8ñÏQ4õ öÏO1@EX&M\>A@ƒŒ ñ¬Q@Êò?OR@-óEO1X9BPIEMNñÏIEC B è¹B M\>POIEMN>PO1X>A@EBAK  @ÊQSM\@ƒM\O üaõ IFBFM\XNIFöÀö¬@-ýAöÀO(@EJ›MNIFV@-MNIFBÇõ @-B£ýHO õ IEB^ôEO1XSM\O1KMNI{@ \ v ü…õ IEVðA@ƒM\ñÀýAöÀO¹IEBPO¹òñjM\>PIEJ›M"@-öÀMNO1XNñÏBPC8M\>PO4õ IEBsMNX\IEöÏöÏO1KýHO >A@~ô^ñÏIEXRúFû">PO ÷°IFöÀöÏIƒòñÀBAC8öÀO1VVW@UORQcMv@-ýPöÏñÏQN>PORQœ@UMcD^ð¿O&I-÷žO -sJPñÏô~@EöÀO1BAõ O&ý¿O Mcò?O1O ^B \ v ü…õ IEVðA@ƒM\ñÀýAñÀöÏñjMcD@-BAK QSM\@-MNO üaõ IFBsMNX\IEöÏöÏ@EýPñÀöÏñÀMcDEú

112

ËDÁú‰úÌ@:Ç 0^JPðPðHIFQNO)Ç$ ñÏQ"QSM\@-MNO üaõ IFBsMNX\IEöÏöÏ@EýPöÀO&òñjM\>X\O1QNð¿ORõnM|MNIcU @-B¿K3\w¿v ú ¡ O ùABPO1$ Ï @EQ›£ $ @EJPCEVO BsM\O1KòñÀMN>QNO öÀ÷®ü…öÀI^IEð¿Qt@ƒM|O1@Fõv>)QcMv@ƒM\O&IEB)JPBAK›O ùABPO1K(JPBAõ IFBsMNX\IEöÏöÏ@EýPöÀO&O ôEO1BsM\Q @ƒMM\>PO9QSM\@ƒM\OEúPû">PO1B$ ϔñ¬QQ\w-v üaõ IFVð¿@ƒMNñÏýPöÏO8@-BAKUBµF $ ØxUBµ$ ρú 7eùÆ&Æ8z9 0^ñÏBAõ O1£$ ñ¬QQSM\@ƒM\O üaõ IFBFM\XNIFöÀö¬@-ýAöÀO-÷°IEX"@-B^D(QSM\@-MNOc'Z†;[z )tIE÷ UBµ$ QSJ¿õv>(MN>¿@ƒMš†É>¿@EQ JPBAõ IEBsMNX\IEöÏö¬@-ýPöÏOO ôEO1BsM\Q8K›O ùABPO1K&N$ @-ö¬QSI:>A@FQ4MN>PIsQSOWO1ôEO BsMvQ8K›O ùABAO1K @ƒM2ž úiû">PO1XNO ÷°IEX\O  @EKAK›ñÀBACQNO öÀ÷®üxöÏI^IEðAQ|@ƒM"O1@Fõv>QSM\@-MNO&IFB)JPB¿K›O ùABAO1KJPBAõ IFBsMNX\IEöÏöÏ@EýPöÀO¹O ôFO BsM\Q?ñÀB£ $ K›I^ORQ?BAI-M õv>A@EBPCEO?MN>POX\O1QNJPöÀMI-÷HQND^BAõv>PX\IEBPIFJAQ!õ IEVðHIFQNñjM\ñÀIFBiú $ M÷°IEöÏöÀIƒòQM\>A@ƒMUBµ: $ VxUBµ$ ÏÃúEû">^JAQ UBµ: $ Ø UBµ$ ρú

1OQS>AIƒòM\>A@ƒMUQcMv@ƒMNO ü…õ IEBsMNX\IEöÏö¬@-ýPñÏöÀñÀMcDWñ¬QðPX\O1QNO X\ôEORK)JPB¿K›O X4QSD^BAõv>PX\IEBAIEJAQõ IEVð¿IsQSñÀü MNñÏIEB:IE÷ @EJ›MNIFV@-M\@Aú ËDÁú‰úÌ@|Ü 0^JPðPðHIFQNOQUŒ±"@EBAKcUž´@-X\OQcMv@ƒMNO ü…õ IEBsMNX\IEöÏö¬@-ýPöÏO?òñÀMN>WX\O1QNðHO1õnMtMNI‚U @-BAKB\wv¿ú û">PO1B:QNIñÏ!Q U ± µAU ´ ú 1O¹ðPX\O1QNO BsM|ý¿O1öÀIƒòq@EB)@-öÏCEIFXNñÀMN>PV I-÷ð¿IFöÀD^BPIFVñ¬@-öHõ IFVðAöÀO ^ñÀMcD÷°IEX|ôEO1XNñÀ÷°D^ñÀBPCQcMv@ƒM\O ü õ IFBsMNX\IEöÏöÏ@EýPñÀöÏñÀMcDWI-÷@-B:@-J›M\IEVW@ƒM\IE B UžÏ”òñjM\>:XNORQSðHO1õ MMNIW@ðPöÏ@EBsQM Uú Ou?*T7Æ7ùÄZÅ ø úõÇ  öÀCFIEX\ñjM\>PV/÷°IEXUM\O1QSMNñÏBPCQcMv@ƒM\O üaõ IEBsM\XNIFöÀö¬@-ýPñÏöÏñjMcD:I-!÷ U Ï òñÀMN> XNORQSðHO1õ MUMNI Uú Eú&=?IFBAQcM\XNJ¿õnM U Ï ý^D8@-JACEVO BsMNñÏBP£ C UžÏ^òñjM\>@BAO òQSM\@-MNO?õ1@-öÏöÀORnK ÍÎ6ςÐ;~@-B¿K8ý^D9@EKPK›ñÏBPC M\X\@EBAQSñÀMNñÏIEB¿Q!@-MO1@Eõv>QcMv@ƒM\O|IE,÷ UžÏ^IFBOR@Eõv>JABAK›O ù¿BPO1KJPBAõ IEBsMNX\IEöÏöÏ@EýPöÏO?O1ôEO BsM@ƒM MN>¿@ƒM QSM\@-MNOUMNIM\>P2O ÍÁÎςÐ:QSM\@-MNOFú ›úQè¹ý›Mv@-ñυ B UBµ U Ï ú P! ú UžÏ*ñÏQQSM\@-MNO ü…õ IEBsMNX\IEöÏöÏ@EýPöÏO¹òñÀMN>X\O1QNð¿ORõnMM\BI UøñÀ÷œ@-BAKÉIEBAöÀDñj÷!MN>PO1XNO9KPIsORQBPIEMAO ›ñÏQSM †@‡3YQSJAõv>ÉM\>A@ƒ‚ M ' †[zÍÎπÐ2)tñ¬QX\O1@Fõv>A@-ýPöÏO4ñÀ… B UBµ U Ï ú û">PO4÷°IEöÏöÏIƒòñÀBPCM\>PO IFXNO1V O1QSM\@EýPöÀñ¬QN>PO1Q|M\>PO9õ IFXNX\O1õ MNBPORQNQ|I-÷  öÏCEIFXNñÀMN>PL V Fú V 8ñ¬Qõ IFXNX\O1õ M1ú ÷‚ø ÁÆùÁúÑ0  öÏCEIFXNñÀMN>A² 7eùÆ&Æ8z9 iO šM '†;[`† Ï )v‡Y5h³Y Ï ýHO|@4QcMv@ƒM\O?X\O1@Fõv>A@-ýPöÏOtñÏÊB UBµU Ï ú~û">AO BñÀMñÏQ!IFýsô^ñÏIE¾ JAQ*MNv>¿@ƒw M 'Z† [P†,ÏZ)Q‡|Ym’”“•'Z†,τ)!hFs†,ÏZu H@EBAKQNIW÷°IEXUQcMv@ƒM\O üaõ IEBsM\XNIFöÀö¬@-ýPñÏöÏñjMcDWM\I)>PIFöÏ& K \3'†,) \ \3'Z†,τ) ¾ \ v VJAQcM9>AIEö¬K” ú è¹B²MN>PO(IEMN>PO1X8>A@-B¿K iñÀ÷?M\>PñÏQõ IFBAK›ñÀMNñÏIEBñÏQ8ô^ñÏIEö¬@ƒM\O1K iñxú OE}ú iñj÷ AO ›ñ¬QcMv9 Q ”p‡ \3'Z†,) ¾ \wv ¿ \3'†7Ï=)]M\>PO BÙ@²MNXv@-BAQNñÀMNñÏIEˆ B 'Z†;[*”2[ †)÷°IEX(QNIEVO †—‡ˆY,ñ¬Q K›O ùABPO1KÊñÀ@ B U @EBAKÉMN>PO9MNXv@-BAQNñjM\ñÀIF: B 'Z† Ï [*”2[zÍÎ6ςÐ,)ñÏQ¹K›O ùABAO1K:ñÏB U Ï ú 0^IM\>PO9M\X\@EBAQSñÀMNñÏIEB 'P'†;[`†7ÏZ)][*”2[' †[:ÍÁÎςÐ,)P)WñÏQK›O ùABAO1KÅñÏx B UBµ U Ï ú $ M)÷°IEöÏöÏIƒòQMN>A@-MÉ@ÇQSM\@-MNŠ O ' † [:ÍÁÎςÐ,)ñ¬Q Ï X\O1@Eõv>¿@-ýPöÏO&ñÏ3 B UBµ U ñÀ÷!@-B¿K(IEBAöÀD(ñÀ÷ UžÏžñ¬Q"BPIEMQSM\@-MNO ü…õ IEBsMNX\IEöÏöÏ@EýPöÏOòñjM\>X\O1QNðHO1õnM"M\cI Uú ¶~Áú|@ù·EÜ 0›ñÀBAõ 3O U/@EBA´ ‰K UžÏ"@-X\O)BAIEBAK›O MNO1XNVñÏBPñÏQSMNñ¬õ MN>AO ñÏXB^JPVý¿O1XIE÷MNXv@-BAQNñjM\ñÀIFBAQ Ï ñ¬€Q ¸c'`œ Y(œ ´ ´ )9@-BA| K ¸c'*œ Y›Ï¸œ )9XNORQSðHO1õ MNñÏôEO öÏDEú 0^IMN>AOõ IFVðPöÀO ›ñjMcD²I-÷õ IFBAQcM\XNJ¿õnMNñÏBP› C UBµ U ñ¬EQ ¸c'`œ Y(œ hFœ Y Ï œ ´ )]H@-BA´K)MN>PO9õ IE´ VðPöÏAO ›ñÀMcD)I-÷ õv>PO1õvó^ñÏBPCMN>PO8X\O1@Fõv>A@-ýAñÀöÏñjMcDWIEš÷ 'PÝ[:ÍÁÎςÐ,) ñϛ B UBµ U Ï ñÏQ¹@-ö¬QSuI ¸c'*œ Y(œ hŠœ Y›Ï%œ )nú 0^IWMN>AOõ IFVðAöÀO ^ñÀMcDÉ´ I-÷ MN>PO´ @-öÏCEIFXNñÀMN>PV0÷°IEXM\O1QSMNñÏBPC QSM\@ƒM\O üaõ IFBFM\XNIFöÀö¬@-ýAñÀöÏñjMcD4I-,÷ UžÏFòñÀMN>X\O1QNð¿ORõnM!MN€I UñÏ#Q ¸c'`œ Y(œ hŒœ Y›Ï%œ )]~ñxú OFú ~ñÀM ñ¬Q -FJ¿@EK›Xv@ƒM\ñÏõ ñÏBMN>POB^JPVýHO X¹I-÷tQSM\@ƒM\O1Q&I-÷œýHI-MN| > U @-BA… K UžÏv'°O -FJAñÀôƒ@-öÏO BsM\öÀD ¿öÏñÀBAO1@-X¹ñÀB²QS}ñ  O9IE÷ U @-BAK UžÏ„)nú

113

> Æ,Ã2ÅùÆ6?#Æ8DÀ3Á ÅÁ ùú‰ÄÃÄ/rÅÄ*sn71?/@Ã2Ån8TÆù‚tÊÄ*rĘú‰Ä/?*@ùÄZÅ;A dœX\ñÀIFX MNI9IFý›M\@EñÀBAñÀBPCUM\>PO VW@-ñÏB XNORQSJAöjM9IE÷?M\>PñÏQQSORõnMNñÏIEB;iò?OWBAO O1K²M\IÊðPX\IƒôEOMN>POW÷°IFöÀöÏIƒòñÏBPCÉMcò?I:öÏO VVW@EQ1ú*û">PO ñÏX ðPX\I^I-÷ÃQ@EXNO"IEVñÀMSM\O1K”úEû">AO"ùAX\QSMœöÏO VVW@UðPXNIƒôFO1QMN>¿@ƒMtQSM\@ƒM\O üaõ IFBFM\XNIFöÀö¬@-ýAñÀöÏñjMcD8ñ¬Q ðPX\O1QNO X\ôEORK JPB¿K›O XýPñ¬QNñÀVJPöÏ@-MNñÏIEBiú ËaÁ úŠú|@@é +PIFX Mcò?I8ýPñ¬QNñÀVñÏöÏ@EXt@-J›M\IEVW@ƒMve@ U ± ØyU ´ -ñÀ÷ U ± ñÏQœQSM\@-MNO ü…õ IEBsMNX\IEöÏöÏ@EýPöÏO?òñÀMN> X\O1QNð¿ORõnM"MNBI UcPMN>PO1 B U ´ ñ¬Q@-ö¬QNIQSM\@-MNO ü…õ IEBsMNX\IEöÏöÏ@EýPöÏO&òñÀMN>:XNORQSðHO1õ MMN9I Uú û">POU÷°IFöÀöÏIƒòñÀBACöÏO VVW@>PIEö¬KPQ|÷°IFX@WK›O M\O X\VñÏBPñ¬QcM\ñÏõ4ðPö¬@-BsMýPJPMBPI-MñÏBCFO BPO1X\@Eöú ËaÁ úŠú|@ iO M UÅýHO?@K›O MNO1XNVñÏBPñÏQSMNñ¬õœðAöÏ@EBFM R@EBA2K $:ýHO?€@ \wvEüaõ IEVðA@-MNñÏýPöÏOtQSJAð¿O1XNô^ñ¬QSIFX1ú û">PO1… B UBµ$ñÏQQSM\@-MNO üaõ IFBsMNX\IEöÏöÏ@EýPöÀOFú Iƒò ò|OÊ@-X\OXNOR@EK›DMNI£ðPX\O1QNO BsM)@£BAO1õ ORQNQ\@-X\D@EBAKÅQS= J ÒWõ ñÀO1BsM)õ IEB¿K›ñjM\ñÀIFBÙ÷°IEXWM\>PO O^ñ¬QSMNO B¿õ OUI-÷@ýPñÏQNñÏVñÏö¬@-X\ñjMcD(O1B›÷°IEXvõ ñÏBPCQSJAð¿O1XNô^ñ¬QSIFX?÷°IFX@WK›O M\O X\VñÀBPñ¬QSMNñ¬õUðPöÏ@EBsM1ú M U2@-BAK @Ûð¿IsQNQNñÏýPöÀDBPIEBAKPO MNO1XNVñÏBPñ¬QcM\ñÏõ ÷‚ø ÁÆùÁúÓÉˆÉ ñÏôEO B @ÙK›O M\O X\VñÀBPñ¬QSMNñ¬õ ðPöÏ@EBs… QNð¿ORõ ñÀù¿õ @-MNñÏIE B ]{¿MN>PO1XNOAO ›ñ¬QcMvQ¹ @ \ v üaõ IFVðA@ƒM\ñÀýPöÏOQNJPðHO X\ôsñ¬QNIEwX $QSJ¿õv>MN>A@-£M UBµ_$EØ¢] ñÀ÷ @EBAKIEBPöÏD)ñÀš÷ 'Ã=ñ )›] ñÏQQSM\@-MNO ü…õ IEBsMNX\IEöÏöÏ@EýPöÏ O ^@-BAF K '°ñτñ )›] Ö Uú 7eùÆ&Æ8:9 '´S R) ¡ O ùABPO@QSJPðHO X\ô^ñÏQNIEX $ M\I ý¿OMN>PO@EJ›MNIFV@-MNIFÃB ] òñÀMN>ÛO1@Eõv>ÛQcMv@ƒM\OIE÷ ]@-JACEVO BsMNORKÅòñÀMN>%QNO öÀ÷®ü…öÀI^IEðÅIFBqJPBAKPO ùABPORKqJPB¿õ IEBsM\XNIFöÀö¬@-ýPöÏOÊO1ôEO BsMvQ)IE÷8MN>PO QcMv@ƒM\OEú =?öÏO1@EXNöÏ D B$:ñÏQ \wvFü…õ IEVðA@-MNñÏýPöÀOFú 0^ñÏBAõ kO ]Ûñ¬QQSM\@-MNO üaõ IFBsMNX\IEöÏöÏ@EýPöÀO n÷°X\IEr V iO1VVW~@   UBµ$FØ UBµ]D ú 0›IñÀM)QNGJ Ò(õ O1QM\I£QS>PIƒò0MN>A@-~M UBµ]ߨ€×Ô]úœû">Pñ¬Q÷°IEöÏöÏIƒòQýsD‡õv>PI^IFQNñÀBPF C ÎLfV s'P'Z† [z–)A[z–)]['/–['Z†;[:–)P)|œ#†r‡ÈY ’”“• '/–)–us ú IEMNOMN>A@-MWKPJPO)M\IMN>PO:K›O M\O X\VñÀBPñ¬QNV I-€÷ U @EBA K ] Ö Ucœ Y ’”“• '*–)œV59@EBA@ K \3'P'†;[z–)`)vVˆ\3'*–)nú $ M&ñ¬QOR@EQNñÀöÏD)ôFO X\ñjùAORK(M\>A@ƒ£M ·ñ¬Q@ ýPñ¬QNñÀVJPöÏ@-MNñÏIEBÉXNO1öÏ@-MNñÏIEBiú 'ˆš§7ː¦B¯ R)³0^ñÏBAõ Œ O UBµ$:ؙ] ñÏVðPöÀñÏO1XQ ] Ö UBµ$!Pý^D:=?IEX\IEöÏö¬@-X\~D  Aò?O8>A@~ôF1O ] Ö Uú M ] ñÏQQSM\@ƒM\O üaõ IFBFM\XNIFöÀö¬@-ýAöÀOF;ú 0^ñÀB¿õ  O $ ñÏ9Q \ v ü…õ IEVðA@ƒM\ñÀýAöÀO *ý^D $ MXNO1V@EñÀB¿Q8MNIQS>AIƒò M\>A@ƒ *O VVWž@ UBµ_$Æñ¬QWQcMv@ƒMNO ü…õ IEBsMNX\IEöÏö¬@-ýPöÏOE#ú 0^ñÀB¿õ … O UBµ$·ØJ]Ê ý^Š D *O VVW‚@ ñÀM÷°IEöÏöÀIƒòQ M\>A@ƒEM ]Æñ¬QQSM\@ƒM\O üaõ IFBFM\XNIFöÀö¬@-ýAöÀOFú ¶^Á úÌ@ùB·(é +PX\IEV û">PO IFXNO1pV œM\>POõ IEVðPöÏAO ›ñÀMcD÷°IFXÉõv>PORõvó^ñÀBPCÇMN>PO²AO ›ñÏQSMNO1BAõ O²I-÷´ @ QNJPðHO X\ôsñ¬QNIEX¹÷°IEXUO B›÷°IFX\õ ñÀBACýPñ¬QNñÀVñÏöÏ@EXNñÀMcD:÷°IEX8@ÉK›O M\O X\VñÏBPñ¬QcM\ñÏõðPö¬@-BsM8ñ¬)Q ¸c'*œ YCœ,hŠœ xBœ )A ò>Pñ¬õv>ÙñÏQ(öÀñÏBPO1@EX(ñÏB‡M\>POÊB^JPVý¿O1X(I-÷8QcMv@ƒM\O1QWIE÷4ðPö¬@-BsM)@EBAE K -FJ¿@EK›Xv@ƒM\ñÏõÉñÏBÅBsJAVýHO X(IE÷ QSM\@-MNO1QœI-÷iQSðHO1õ ñjùHõ @ƒM\ñÀIFBiú ï IFXNO1IƒôEO1X ~ò>PO1BMN>POO ›ñÏQSMNO1BAõ Oõ IEBAK›ñÀMNñÏIEB¿Qœ@-X\OQN@-MNñ¬Qcù¿O1K ƒM\>PO QNð¿ORõ ñÀù¿õ @-MNñÏIEBñjMvQSO1öj÷"QSO1XNôFO1QU@EQU@:QNJPð¿O1XNô^ñ¬QSIFX Hñxú OFú ”M\>POWõ IFVðAöÀO ^ñÀMcDÊIE÷|QNDsBsM\>PO1QNñ 1ñÀBACÉ@ QNJPðHO X\ôsñ¬QNIEX&ñ¬£Q -FJ¿@EK›Xv@ƒM\ñÏõñÀB±MN>POQSðHO1õ ñjùHõ @ƒM\ñÀIFB±QSM\@ƒM\O1Q1ú $ MUñ¬Q¹ñÏBsMNO1XNORQcM\ñÀBPC(MNIÉBPI-M\O9MN>¿@ƒM ò>PO1B(QSðHO1õ ñjùHõ @ƒM\ñÀIFBñÏQ?K›O M\O X\VñÏBPñ¬QcM\ñÏõýPJ›M?ðAöÏ@EBFMœñ¬QœBAIEBAK›O MNO1XNVñÏBPñÏQSMNñ¬õ EMN>PO¹õ IEVðPöÏAO ›ñÀMcD IE÷AO ›ñÏQSMNO1BAõ OÉñ¬Q@ECF@-ñÏBÇðHIEöÏD^BPIEVñ¬@-öUÿ  …ú $ B‡õ IEBsMNXv@EQSM *MN>PO:QSñÀMNJ¿@ƒMNñÏIEB‡QSO1O VWQK›¯ñ \žO X\O BsM ò>PO1B:ý¿IEMN>:ðPö¬@-BsM@-BAKÉQSðHO1õ ñjùHõ @ƒM\ñÀIFB@-X\O¹BPIFBAK›O MNO X\VñÀBAñÏQSMNñ¬õ-ú Õ

"ìEDžMiéGFîPSsêœéGHJI²êtç?è›éPêDNÊüvêœé ÿîPO ì€NRI!èPîcêtçÖ×|ì¹î”F#INRM*ç¹í2M $ B:MN>AñÏQ¹QSORõnMNñÏIEB;Pò?O9QSMNJ¿K›D(M\>POõ IFBsMNX\IEö”I-÷œ@…'ÃBPIEBAKPO MNO1XNVñÏBPñ¬QcM\ñÏõ)"ðPö¬@-BsMMNIWO1BAQSJAXNO QNñÀVJPö¬@ƒMNñÏIEBO -sJPñÀôƒ@EöÀO1BAõ OI-÷œõ IFBFM\XNIFöÀöÏO1K:ðAöÏ@EBFMU@-BAK:CFñÀôFO ‰ B 'ÃBPIEBAKPO MNO1XNVñÏBPñ¬QcM\ñÏõ )&QNð¿ORõ ñÀùPü õ1@ƒMNñÏIEB*ú ÿ

114

0YMÇ P5ÆÅÄSR=@ÅāÃUT‰VEWY@ú|ZU?˜Á

û">PO÷°IFöÀöÏIƒòñÀBAC8OAP@-VðPöÏO&QNO X\ôEO1Q!M\I9VI-M\ñÀôƒ@ƒM\OMN>AO¹QNñÀVJPöÏ@-MNñÏIEBWO-FJAñÀôƒ@-öÏO B¿õ OO BP÷°IEXvõnü ñÏBPC(õ IFBFM\XNIFöú VXWY@ú[Z#?Á@é =?IEBAQNñ¬K›O Xi@QNñÏVðAöÀOôFO BAK›ñÏBPCVW@Eõv>AñÀBPOœMN>A@-M*K›O öÏñÀôFO XvQi@õ I^IFósñÏOIEX@õ @-B¿K›D ñÏB±AO Põv>A@EBPCEOU÷°IFX4@õ IFñÀ&B Hò>PIsQSOQSM\@-MNOV@Fõv>PñÏBPOVI›K›O ö!ñ¬Q¹QN>PIƒòBñÏ| B +!ñÀCFJPX\³O A2ú ððHIEB CEO MSM\ñÀBPC²@õ IEñÏ&B ”M\>PO(ôFO BAK›ñÏBPCVW@Eõv>AñÀBPOWBAIEBAK›O MNO1XNVñÏBPñÏQSMNñ¬õ @EöÀöÏDÊM\X\@EBAQNñjM\ñÀIFBAQUMNIIFBPOWI-÷ Mcò|IQcMv@ƒM\O1Q1ú  MOR@Eõv>ÅQcMv@ƒM\ O tJ¿QSO1Xõ @EBÅò|@EñjMW÷°IFX@ÇKPO öÏñÀôFO X\DIEX)ðPJAQN>@ ýPJ›MNMNIEB*ú $ B MN>AO)ùAXvQSMQSM\@ƒM\O)ñÀ÷MN>AOJAQNO Xõv>PI^IFQNO1Q9MNI²ò|@EñjM *M\>POVW@Fõv>PñÀBAOWMNñÏVO1QIEJ›MK›O öÏñÏôEO X\ñÏBPC²@ õ I^IFósñÏ O ‘”ò>AO X\O1@EQUñÀ÷"MN>POWJ¿QSO1X9õv>PI^IFQNO1Q4MNIðAJAQS>M\>POWýPJ›MNMNIEB M\>POWVW@Eõv>PñÏBPOM\X\@EBAQSñÀMNñÏIEB MNI)MN>POQSORõ IEB¿KQcMv@ƒMNO@-BAK:X\O VW@EñÀBAQMN>PO1XNOòñjM\>±@EKPKPñjM\ñÀIFBA@-öðPJAQN>PO1Q&I-÷ MN>POýPJ›MNMNIEB*ú $ B MN>AOQNO1õ IEBAK²QcMv@ƒM\ O HMN>POðPJ¿QS>PñÏBPC:I-÷tMN>POýPJ›MNMNIFBK›I^ORQ¹BAI-M8õ @-J¿QSO@QSM\@-MNOõv>A@-BACEOýPJ›M ò>PO1B(MN>AO¹JAQNO X|IEðPM\Q?MNIò|@EñjM FM\>PO4V@Fõv>PñÏBPOM\ñÀVO1Q|IFJ›M"@EBAK(K›O1öÀñÏôEO1X\Q?O ñÀMN>AO X"@@õ @-B¿K›D IEXÉ@Çõ I^IFósñÏOEšú è¹BAõ O±@K›O öÏñÀôFO X\D‡ñ¬Q)õ IEVðPöÏO M\O1K ?MN>PO±V@Fõv>PñÏBPOÊX\O MNJAXNBAQ(MNIÇñÀM\QñÏBPñjM\ñÏ@Eö QSM\@ƒM\OEú^û">POM\ñÀVO1IEJ›M"O ôFO BsMtñ¬Q?K›O1O VO1K(JPBAõ IFBsMNX\IEöÏöÏ@EýPöÀO Eò>PO1XNOR@EQ M\>PO4I-MN>AO XtO1ôEO1BFMvQt@EXNO õ IFBsMNX\IEöÏöÏ@EýPöÀOFú x1 get coin x2

q1 get coin

push

push

timeout

x4

q2

x3

cookie timeout

get coin

get coin

cookie candy

push

cookie timeout

q4

x5

timeout

q3 push push

candy

q5 timeout q6

e fhg ™ØH™6Ù e-FZvhjÛe1fi}~Z\d^FlmdFu4b9]1kSŒslmdFZU³®hmZ\fÏ`Nµ]1dsl¢`‹Ú ?a[›Z\kvl¢¡^kn] `clje1dl

³¬_clmuRŒƒ`Nµ

IEMNO&MN>A@-M|ñÏB(M\>PO4@Eý¿IƒôFOôEO1BAK›ñÏBPCVW@Fõv>PñÀBAO&AO P@EVðAöÀO4ñjM|ñÏQ|BPIEM?ðHIFQ\QSñÏýPöÏO&÷°IFX|@JAQNO X MNI8X\O1õ O ñÏôEO"@8õ @EBAK›D9òñÀMN>Wõ O1XSMv@-ñÏBsMcD ƒò>Pñ¬õv>ñÏQ@UJPB¿K›O1QNñÀXv@-ýAöÀO"ýHO >A@~ô^ñÏIEXRú~ûIUXNORõnM\ñj÷°DMN>Pñ¬Q QNñjM\JA@ƒM\ñÀIF&B *@K›ORQSñÏXNORK²QNðHO1õ ñÀù¿õ1@ƒMNñÏIEB ñ¬Q9QN>PIƒòB²ñÏ: B +!ñÀCFJPXN€O Aú  õ õ IFX\KPñÀBPCÉM\I:MN>PO(QNð¿ORõ ñÀü ù¿õ1@ƒMNñÏIE;B !@-÷®MNO X@ÊJ¿QSO1XñÏBAQNO XNM\Q@Êõ IFñÀ&B !M\>PO)ôFO BAK›ñÏBPC²V@Fõv>PñÏBPO)BPIFBAK›O MNO X\VñÀBAñÏQSMNñ¬õ @EöÀöÏD MNXv@-B¿QSñÀMNñÏIEBAQ|M\IWIEBPO8IE÷Mcò|IWQcMv@ƒM\O1Q1‘ú Iƒò|O ôFO X sX\O Cs@-XvK›öÏO1Q\Q?IE÷M\>POQSM\@-MNOUXNOR@Eõv>PORK ›ñÀ÷!M\>PO JAQNO X&õv>AIsIsQSORQ|MNIWò"@-ñÀM ›M\>PO9VW@Eõv>AñÀBPO9KPO öÏñÀôFO XvQ@Wõ I^IEó^ñÏ O ‘›ò>PO1XNOR@EQ"ñÀ÷ MN>PO9J¿QSO1X&õv>PI^IFQNO1Q MNI8ðAJAQS>M\>POýPJ›MNMNIFB(@ƒMœöÏO1@EQSMMcòñ¬õ ‚O '°ýHO ÷°IFXNO"M\ñÀVO1IEJ›]M )]-M\>POVW@Eõv>PñÏBPOK›O1öÀñÏôEO1X\Q@8õ1@-BAKPDEú $ ÷žJAQSO1X IEð›MvQ!MNIUðPJAQN>MN>PO"ýPJ›MNMNIFBIFBAõ O@EBAKò"@-ñÀM RM\>PO BMN>AOV@Fõv>PñÏBPO|KPO öÏñÀôFO XvQ!@Uõ IsIFó^ñÀO IEX@Uõ @EBAK›DKPO ðHO BAK›ñÏBPCUIEBMN>AOñÀBPñÀMNñ¬@-ö›BAIEBAK›O MNO1XNVñÏBPñÏQSMNñ¬õ?MNXv@-BAQNñÀMNñÏIEBVW@FK›OEú &I-MNOQNñÀB¿õ O MN>AO4QNð¿ORõ ñÀù¿õ @-MNñÏIEB)@EöÀöÏIƒòQ|QSJAõv>@9BPIFBAK›O M\O X\VñÀBPñ¬QSMNñ¬õ&õv>PIFñÏõ

O sñjM"ñÏQ|BPIEM|@FK›O -sJA@-MNOM\IJAQNO @öÏ@EBPCEJ¿@-CEO¹MNI(õ1@-ð›M\JPX\O¹M\>PO8ýHO >A@~ô^ñÏIEX"I-÷!MN>PO9QNðHO1õ ñÀù¿õ1@ƒMNñÏIEB*ú û">PO@Eý¿IƒôFO"QNðHO1õ ñÀù¿õ1@ƒMNñÏIEBWõ1@-Bý¿OO ›ðPXNORQNQNO1KñÏB(@4MNO VðHIEXv@-öPöÏIECFñÏõ"QND^BFMv@ @FQ f  ÷®MNO1X X\O1õ O1ñÀô^ñÏBPC8@Uõ IEñÏ&B ~÷°IFXœ@-öÏöPðA@ƒM\>AQ -K›O öÏñÀôFO Xœ@Uõ I^IFósñÏO"ñj÷HMN>AOýPJ›MSM\IEBñ¬QBPI-MðPJ¿QS>POR K '°ýHO ÷°IEX\O

115

M\ñÀVO IFJ›M–)A‘sKPO öÏñÀôFO Xt@8õ1@-BAK›DñÀ÷HM\>PO&ýAJ›MSM\IEBWñ¬QœðPJAQN>PORK(@ƒMœöÏO1@FQcMœMcòñ¬õ OÊ'°ýHO ÷°IEX\OM\ñÀVO IFJ›M–)A‘ K›O1öÀñÏôEO1X¹@(õ I^IEó^ñÀOIEX¹@õ @EBAK›DÉñj÷œM\>POýAJ›MSM\IEBÊñ¬Q&ðAJAQS>AO1KIFBPöÀD:IFBAõ ~O 'Ãý¿O ÷°IEX\O9M\ñÀVO IFJ›–M ) ú û">Pñ¬Q4ñÏQ4@-B²ñÀB¿QcMv@-BAõ OI-÷|~@ 6-JABPñÀôFO XvQN@E}ö 6WMNO VðHIEXv@-ö!öÀIFCEñ¬õQNð¿ORõ ñÀù¿õ @-MNñÏIEŠ B 'ÃBPIÉAO ›ñÏQSMNO1BsMNñ¬@-ö -sJA@EBFM\ñjù¿O X!ñÏQ!BPO1O1K›ORK8MNIUO ^ðAXNORQNQiMN>POQNð¿ORõ ñÀù¿õ @-MNñÏIE7 B ) ú 0›ñÀBAõ O|@¹JPBPñÏôEO1X\Q\@-öFMNO1Vð¿IFX\@EösöÏIECFñÏõ QNð¿ORõ ñÀù¿õ @-MNñÏIEBñ¬QðPX\O1QNO X\ôEO1KJPBAK›O1XtQNñÀVJPöÏ@-MNñÏIEBO -sJPñÏôƒ@-öÏO BAõ

O -ñÀMtQNGJ Ò(õ O1QMNI8X\O -sJPñÏXNO|MN>¿@ƒM M\>PO4õ IEBsMNX\IEöÏöÏO1KðPö¬@-BsM|@EBAK)QNðHO1õ ñÀù¿õ1@ƒMNñÏIEB)ý¿O4QSñÏVJPö¬@ƒM\ñÀIFB(O -sJPñÏôƒ@-öÏO BsM1ú $ BWM\>Pñ¬Q?ð¿@-ðHO X|ò?O K›O1ôEO1öÀIFðÉ@MN>AO IEX\DW÷°IFX"MN>PO9QNñÀVJPö¬@ƒMNñÏIEBÉO -sJPñÏôƒ@-öÏO BAõ OUO B›÷°IFX\õ ñÀBPCWõ IEBsMNX\IEöxú

0YM=Ü >

? 68p…Æ,ÃUq Á ÅÁ ùú‰Ä˜Ã Ä*rÅÄ/s71?/@Ã2Åm8%Æ7ùÛ;āú‰Ä*?/@ùāÅ:A

Æ,Ã2ÅùÆ šÆ

B sò?OUQcM\JAK›DWM\>POUõ IEBsM\XNIFö¿IE÷!~@ 'ÃBPIEB¿K›O M\O X\VñÏBPñ¬QcM\ñÏõ )?ðPöÏ@EBsM?M\IO1BAQSJAXNO $ B)MN>Pñ¬QQNO1õnM\ñÀIF& QNñÀVJPö¬@ƒMNñÏIEBO-sJPñÀôƒ@EöÀO1BAõ OI-÷œõ IFBFM\XNIFöÀöÏO1K:ðAöÏ@EBFMU@-BAK:CFñÀôFO B‰'ÃBPIEBAKPO MNO1XNVñÏBPñ¬QcM\ñÏõ)&QNð¿ORõ ñÀùPü õ1@ƒMNñÏIEB*ú @ -sJPO1QSMœM\IUùABAKW@8QNJPð¿O1XNô^ñ¬QSIFXò?OO P@-VñÀBAO"MN>PO&õ öÏ@FQNQœI-÷”@-öÏ6ö $ QSJ¿õv>M\>A@ƒvM UBµ$Fä $ B(ž ]{~@-BAKñjM MNJAXNBAQIEJPMM\>A@ƒM!MN>Pñ¬Q õ ö¬@EQ\Q*ðHIFQ\QNO1Q\QSORQ@EB9ñÀBPùAVW@-ö^O öÏO VO BsMRú $ Bû">PO1IEX\O ÙV Rò?O QN>PIƒò|O1K4MN>¿@ƒM@-BñÏB›ùAVW@Eö^@EJ›MNIFVW@ƒMNIFB9IƒôEO1X@¹QSO M!IE÷¿@-J›M\IEVW@ƒMv@O ^ñ¬QSM\Q!@-BAKõ @-Bý¿O?M\@EóEO B M\I)ýHO9MN>AOQNDsB¿õv>PXNIFBPIEJ¿Qõ IFVðHIFQNñÀMNñÏIEBÊIE÷MN>PO@-J›M\IEVW@ƒMv@WñÀB±MN>POQSO M1úi=?IEVýPñÀBAñÀBPC(MN>Pñ¬Q IFýAQSO1XNôƒ@-MNñÏIEBòñÀMN| > *O VVWÊ@ ›'°ò>Pñ¬õv>²QN>PIƒòQM\>A@ƒM8QSM\@ƒM\O üaõ IFBFM\XNIFöÀö¬@-ýAñÀöÏñjMcDI-÷?@EJ›MNIFVW@ƒM\@ ñ¬QðPX\O1QNO X\ôEORKÉJPBAK›O1X¹QNDsB¿õv>PXNIFBPIEJ¿Qõ IEVðHIFQNñjM\ñÀIFBI-÷œ@-JPMNIEVW@-M\@ )APò|Oõ @EBÊK›O1K›J¿õ O9M\>A@-B @EBñÏB›ùAVW@-öQcMv@ƒMNO ü…õ IEBsMNX\IEöÏö¬@-ýPöÏO¹@EJ›MNIFV@-M\@AO ›ñ¬QcMvQ ú B UÈ@-BA K ]ÊY]eÏ ñ¬Q8@-( B ¯„§_­9ÌËY] ~ ¥]¯„­{¬Ḛ̈%¯„§-݅¥–°¸Ì°¸Í ~ ¨*«§°%ª`«˄Ë}Ì ÕËÍ À3Á ÂÃÄZÅāÆ,ÃÜŽÉ ñÏôEO1. ¥]¦ ¥]°TÍ­ ñÀ‚ ÷ '°„ñ )1]eϜñ¬Q9QcMv@ƒM\O üaõ IEBsM\XNIFöÀö¬@-ýPöÏ O 'ÃñÀ„ñ )1] Ö ]eρiñxú OE}ú N]eÏñ¬nQ ]¹ü…QNñÏVJPö¬@ƒM\ñÀBP7C i@-BAK 'ÃñÀñÏ=ñ )›]eÏ Ï”ñ¬QQcMv@ƒM\O üaõ IEBsM\XNIFöÀö¬@-ýPöÏO4òñjM\>ÉX\O1QNðHO1õnM"M\B I U @EBA%K ] Ö ]eÏ ÏžñÏVðAöÀñÏO1Q ]eÏ Ö ]eÏ ÏÃú 1O)K›O BAI-MNOM\>PO)QNO M9IE÷"@EöÀöœñÏB›ùAVW@E¤ ö ]¹ü…QNñÏVJPö¬@ƒM\ñÀBPCQSM\@-MNO üaõ IFBsMNX\IEöÏöÏ@EýPöÀOQND^QSMNO1VWQ8@EQ +-,. $ Þ{'/]ž) ú û">POU÷°IFöÀöÏIƒòñÀBACM\>PO IFXNO1V ÷°IEöÏöÏIƒòQ ú B U/@EBA[ K ]{iM\>PO X\O(AO ›ñ¬QcMvQ| @ \ v üaõ IEVðA@-MNñÏýPöÏO(QSJPðHO X\ô^ñÏQNIE‚X $ QSJAõv> ÷‚ø ÁÆùÁúßÜŽÉ ñÏôEO ‰ M\>A@ƒ… M UBµ$Óäà]ñj÷@-BAKIEBPöÏDÅñj ÷ '°„ñ )] Ö Uc"@EBAp K '°ñÏ=ñ )3UBµ ] ó Ö ]'÷°IFX:@EB^D ] ó ‡ +-,. $ Þ{'/]ž) ú 7eùÆ&Æ8:9 'ˆš§ː¦Ê¯ R) / DK›O ùABAñjM\ñÀIF&B  UBÖ µ_$.ä‡]%ñÀVðPÖ öÏñÀOR'Q ] Ö UBµ_$('@-BAKWv @EöÏQN‚I UBµ$ Ö ]ž)nú 0^7 I ”ý^D=?IEX\IEöÏöÏ@EXN~D  ”ò|O>¿@~ôEO ] UÈ@EBA K ] $;ú 0^ñÀB¿õ mO $qñ¬ŒQ \ ü…õ IEVðA@ƒM\ñÀýAöÀO ”ò?O >A@~ôFOMN>A@-€M $ñ¬2Q ]¹üaQSñÏVJPö¬@ƒM\ñÀBAC:@EBAK QcMv@ƒM\O üaõ IEBsM\XNIFöÀö¬@-ýPöÏOE&ú 0^ñÏBAõ O ] ó ñ¬Q9@-B ñÏB›ùAVW@-ö?QSJAõv> QND›QcM\O V ñÀMW÷°IEöÏöÀIƒòQM\>A@ƒM ] ó Ö $"úœû">^JA9Q UBµ ] ó Ö UBµ$"Dú 0^ñÏBAõ  O UBµ_$ äá]Êò|O:>A@~ôEO UBµ_$ Ö ]ú $ M÷°IEöÏöÀIƒòQ|M\>A@ƒQ M UBµ ] ó Ö UBµ_$ Ö ]ú '*´/ R)9=?>PI^IFQN‚ O $ÏM\IýHO ]ó ú”û">PO1XNO ÷°IEX\ O "$Ï!ñÏQUQSM\@ƒM\O üaõ IFBFM\XNIFöÀö¬@-ýAöÀOFú  ö¬QNIý^ D ] Ö ]{ó  ò|O&>A@~ôFEO ] Ö $Ϙ^ò>PñÏõv>(MNIECFO M\>PO X|òñjM\%> ] Ö UÆñÏVðPöÀñÏO1›Q ] Ö UBµ_$Ï 'Ãý^D(û">PO IFXNO1p V  )nú &AO ^M 2UBµ]eÏ Ö ] ñÏVðPöÀñÏO1e Q UBµ_$Ï Ö ]ú 0^I(ò|OIEýPM\@-ñϛ B UBµ_$Ï;äâ]2ú IƒòÆò|OK›O ùABP‚O $ M\IWý¿€O $ÏiòñÀMN>O1@Fõv>QcMv@ƒMNO9@EJPCEVO1BFM\O1KÉòñÀMN>±QNO öÀ÷®üxöÏI^IEðAQ"IFBÊ@-öÏö”MN>AO9JPBAK›O ùABPORK:JPBAõ IFB›ü M\XNIFöÀö¬@-ýPöÏO9O1ôEO BsMvQI-÷M\>POQSM\@-MNOFúHû">PO1 B $Ùñ¬eQ \ v üaõ IEVðA@-MNñÏýPöÏO@-B¿… K UBµ$EØrUBµ$ϰ&ú 0^ñÏBAõ O UBµ_$Ï7ä] MN>Pñ¬Q"ñÏVðAöÀñÏO1³ Q UBµ_$:ä]ú ûO1QSMNñÏBPC±M\>POÉAO ›ñÏQSMNO1BAõ OI-÷&@QSñÏVñÀö¬@-X\ñÀMcD²O1B›÷°IEXvõ ñÏBPC²QNJPðHO X\ô^ñÏQNIEXJAQSñÏBPCû">PO IFXNO1· V

X\O -sJPñÏXNORQM\>POõ IEVðPJ›Mv@ƒM\ñÀIFBÊI-÷t@EBÊO öÏO VO BsMUI-'÷ +-,. $ Þc'*]e) ú I-M\O9M\>A@ƒM8@-B^D:O öÏO VO BsM ñÏ B +-,. $ Þc'/]ž)¹õ @EBý¿OQSO1öÀORõnM\O1K:÷°IFX&M\>POM\O1QSM1,ú 1²OðPX\O1QNO BsM&ýHO öÏIƒò @-B±@EöÀCFIEX\ñjM\>PVÈ÷°IEX õ IEVðPJ›M\ñÀBPCW@EBÉO1öÀO1VO BsMI-÷ +,. $'Þc'/]ž)?JPBAK›O1XMN>PO9@FQNQNJPVð›M\ñÀIFB)M\>A@ƒEM ] Ö Uú

116

B U @EBAKu] òñÀMN>] Ö UcsM\>PO&÷°IFöÀöÏIƒòñÏBPC@EöÀCFIEX\ñjM\>PV õ IEVðPJPMNO1Q"@ ÜŽÉ ñÏôEO1^ õ O1XSMv@-ñÏBO1öÀO1VO BsMñÀB+-,. $ Þc'*]e)A›ò>Pñ¬õv>Éò|O8K›O BAI-MNO9@FQšá㬎ä $ Þ{'/]ž)nú Eú  KPK@BPO ò%QcMv@ƒMN) O ÍÎ6ςÐ)ñÏB%]ú+PIFX?O1ôEO X\DQcMv@ƒMNO)–8IE÷N]{FñÀ÷”|‡…\ v ñ¬Q|BPI-MK›O ù¿BPO1K @-M –P@FKPK)MNXv@-BAQNñjM\ñÀIF| B '*–[`”2[zÍÎπÐ2)nú  KAK)M\X\@EBAQNñjM\ñÀIFBA€Q '*ÍÁÎςÐ;[`”2[:ÍÁÎςÐ,)t÷°IEXO1ôEO X\D ”.‡@\wvA ú 1O9õ @EöÀöžM\>Pñ¬Q@-J›M\IEVW@ƒM\IE B ]Xv¿ú ›úšá㬎ä $ Þ{'/]ž)€fVåÍ`bA'˜U‚)µ]wv,¿ò>AO X\nO Í`bA'˜U‚)ñ¬QIFý›M\@EñÀBPORKý^Dö¬@-BACEJA@ECEO8ðPX\O1QNO X\ô^ñÀBPC K›O MNO1XNVñÏBPñ R@ƒM\ñÀIFBÉIE÷*M\>PO9@-J›M\IEVW@ƒM\IE B Uú û">PO4÷°IEöÏöÏIƒòñÀBPCM\>PO IFXNO1V ðPX\IƒôEO1Q?M\>PO9õ IFXNX\O1õ MNBPORQNQ?I-÷!MN>PO9@EöÀCFIEX\ñjM\>PV:ú V ñ¬Qõ IFXNX\O1õ M1ú ÷‚ø ÁÆùÁúßæ  öÏCEIFXNñÀMN>AÙ 7eùÆ&Æ8z9 1OùAXvQSMtQS>PIƒò‡MN>¿@ƒ¤M Í-`bA'U‚)µ]XvñϤQ ]¹ü…QNñÀVJPö¬@ƒMNñÏBPC8@-B¿KQSM\@-MNO ü…õ IEBsMNX\IEöÏöÏ@EýPöÏOEú / D 0sM\O C ð  ]XvÉñ¬Q4QSM\@-MNO ü…õ IEBsMNX\IEöÏöÏ@EýPöÏOEú  öÏQNIý^… D iO1VVŒ@ Í`bA'˜U‚)µ]wv:ñ¬Q¹QSM\@-MNOõ IEBsM\XNIFöjü ö¬@-ýPöÏOòñÀMN>(X\O1QNð¿ORõnMœM\nI Í-`_bA'˜U‚)]FMN>Pñ¬Qt÷°JPXSM\>PO X?ñÀVðPöÏñÏO1'Q Í-`bA'U‚)µ] v ñ¬Q?QSM\@-MNO ü…õ IEBsMNX\IEöÏöÏ@EýPöÏO òñÀMN>ÇX\O1QNð¿ORõnM9M\› I U ú +AXNIFV'õ IEBAQSMNX\JAõ MNñÏIEB I-÷ ] v U] Ö ] v ú  ö¬QSI²QSñÏBAõ %O ] Ö U @-BAK U Ö Í`bA'˜U‚)]*ò|O>A@~ôE O ] Ö Í`bA'U‚) ú 0^ I ] Ö Í`bA'U‚)µ] v ú*û">^JA1Q Í`bA'˜U‚)µ] v ñ¬2Q ]¹ü QNñÀVJPöÏ@-MNñÏBPC:@-BAK²QcMv@ƒMNO ü…õ IEBsMNX\IEöÏö¬@-ýPöÏOE2ú O sM8ò|OðAXNIƒôFnO Í`bA'˜U‚)µ] v ñ¬QU@-B±ñÏB›ùAVW@EöœQSJAõv> QND^QSMNO1V:ú iO M ]Èý¿ O ]¹ü…QNñÀVJPö¬@ƒMNñÏBPC±@EBAKÇQSM\@-MNO üaõ IFBsMNX\IEöÏöÏ@EýPöÀOFúiû">PO Bò?OBPO ORKMNI²QN>PIƒò MN>¿@ƒM Í-`_bA'˜U‚)µ] vŠÖ ]ú / D²û">PO1IEX\O ÙV ŽÍ-`bA'U‚)µ] Ö ]úû">Pñ¬QUMNIFCEO MN>PO1X9òñjM\[> ] Ö!×=ç ] ñÏVðAöÀñÏO1mQ Í-`bA'U‚)µ] Ö!×7æ ]ú &I-MNOÉ÷°X\IEVPOK›O M\O X\VñÀBPñ¬QNV$I-)÷ Í`bA'˜U‚)@-BAKMN>POÉ÷Ã@FõnM MN>¿@ƒ2M ] Ö U Ö Í`bA'U‚)A&ÎD±õ @-B±ý¿OWõv>PIsQSO1B±QSIMN>¿@ƒ9M 'P' YŠó [z–)][ –)e‡‰ÎD±9ñj÷"@-BAK±IEBPöÏDñj÷ '/–[ – )v‡Î#bFú LORõ @-öÏö!MN>A@-)M ]wvÉñÏQ4IFý›M\@EñÀBPORK÷°X\IEè V ] ý^DÊ@EKAK›ñÀBACõ O1XSMv@-ñÏB±JPB¿õ IEBsM\XNIFöÀö¬@-ýPöÏO8M\X\@EBAQSñÀü MNñÏIEB¿Q sQSIFVOIE÷Hò>AñÏõv>WVW@~D9IFXœBPI-MœýHO÷°OR@EQNñÀýPöÏOñÏBðPöÏ@EBsM1 ú 0›I8ò?OBPO1O1KM\I8IEBPöÏDõ IEBAQNñÏKPO X QNJAõv>É@FKPK›ORK)JPB¿õ IEBsM\XNIFöÀö¬@-ýPöÏOM\X\@EBAQNñjM\ñÀIFBAQ?MN>A@-M@EXNOU@-ö¬QNI÷°OR@EQNñÀýPöÏOEú +AIEžX 'P' Y‰ó [z–)A[ –)v‡…ÎD± ó ñÏ[ õ IFBAQNñÏK›O1X9@MNXv@Eõ OIE÷|JPB¿õ IEBsM\XNIFöÀö¬@-ýPöÏOO ôFO BsM\)Q ΠM\>A@ƒM9ñ¬Q9K›O ùABPO1K @-M Y2 B Í`bA'U‚)8ýPJ›M JPBAKPO ùABPORK@-kM –8ñÏ%B ]ú iO M|JAQ"K›O1BPI-M\OM\>PO¹JABP}ñ -sJPOUQNJAõ õ O1Q\QSIFX?QSM\@ƒM\O¹IEY÷ Î:ñÀ B Í`bA'U‚)µ] v ó v ý^^ D ' Y [zÍÎπÐ2)n ú +AXNIFVøQcMv@ƒM\O üaõ IEBsM\XNIFöÀö¬@-ýPñÏöÏñjMcD8IE÷ ]{LÎWñ¬QœK›O ùABPO1K@-M –&ñÏB ]qòñÀMN>W@8QSJ¿õnü õ ORQNQNIEXQSM\@-MN O ƒQ\@~D – v ú ¡ O ù¿BP³O Î ´ MNIUý¿Oõ IEöÏöÀORõnMNñÏIEBI-÷HðA@-ñÏX\Q fÎ ´ fVˆs'P' Y ó v [zÍÎ6ςÐ,)A[ – v )!œ ó [:–[ – [ α@FQK›O ù¿BPO1KÉ@-ýHIƒôEO u ™Fû">PO1B(ñÀM|õ @EB(ýHO&ôEO1XNñÀùAORKMN>A@-k Y‰ M Í-`_bA'˜U‚)µ] v9Ö!×7æ ¹ ×ç ]ú û">PO(õ IEVðPJ›Mv@ƒMNñÏIEB IEš÷ á㬎ä $ Þ{'*]e)4J¿QSñÏBPC  öÏCEIFXNñÀMN>A· V ÉX\O -sJPñÏX\O1Q8K›O MNO X\VñÀBAñ R@ƒMNñÏIEB I-2÷ UÅò>Pñ¬õv>>¿@EQ @&õ IEVðPöÏAO ›ñjMcDUM\>A@ƒMñ¬Q!AO ›ð¿IFBPO BsM\ñÏ@EösñÏBMN>PO"QS}ñ  O"IE7÷ Uú $ MM\JPX\BAQ IEJ›M!MN>¿@ƒM UBµ]á㬎ä $ Þ{'*]e)”ñÏQiQNñÏVñÏö¬@-X”M\I@-BPIEMN>PO1XiQSD›QSMNO  V UBµ] v '°ò>Pñ¬õv>8ò|OðPXNIƒôFO ñÀBUM\>PO ÷°IEöÏöÀIƒòñÏBPC MN>AO IEX\O BV ) ú 0^IñÏBAQcM\O1@FK²IE÷?M\O1QSMNñÏBPCò>PO MN>PO1ŒX UBµ]á㬎ä $ ÞÊ'/]ž) Ö ]{iñÀMñ¬Q8O -sJPñÏôƒ@-öÏO BsMUMNI MNORQcM4ò>PO M\>PO £X UBµ]wv Ö ]Ê¿ò>PO X\O8M\>PO9ö¬@ƒMSM\O X4õ @-BýHOðHO XN÷°IEX\VO1KÉöÏñÀBPOR@-X\öÀDÉñÏB:MN>POQS}ñ  O I-÷ U @-BA3 K -sJA@EK›Xv@ƒM\ñÏõ1@-öÏöÀDWñÏBÉMN>PO9QN}ñ  OUI-÷ ]ú B U @-B¿ K ]{PñÀM&>PIFöÏKAQ"MN>A@-QM UBµ] v äxUBµ]á㬎ä $ Þ{'*]e)AAò>PO1XN2O ] v ñ¬Q ÷‚ø ÁÆùÁúßéˆÉ ñÏôEO … @EQõ IEBAQSMNX\JAõ MNO1KñÏB  öÀCFIEX\ñjM\>PV ›ú ÛY·7Á Å_s ø Æ87eùÆ&Æ8z9 &I-MNOUM\>A@ƒM

Ou?*T7Æ7ùÄZÅ ø ú

㬎ä $ Þ{'/]ž)VxUBµ'*Í`bA'U‚)µ] v )aVr'/Í-`bA'U‚)µAU‚)µ] v ØyUBµ] v ™ 0^IWñÀM÷°IEöÏöÀIƒòQ?M\>A@ƒMQUBµAᐬŽä $'Ê Þ '*ž] )ä UBµ] v ú û">PO÷°IEöÏöÀIƒòñÏBPC(X\O1QNJPöÀM4ñ¬Q4ñÀVVO1KPñÏ@-MNO@-BAKðAXNIƒô^ñ¬K›O1Q4@-BÊOR@EQNñÀöÏDÉMNORQcMv@-ýPöÏOBAO1õ ORQNQ\@-X\D @-B¿KÉQNJG(Ò õ ñÏO BsMõ IFBAK›ñÀMNñÏIEBÉ÷°IEX"M\>PO8OA›ñ¬QcM\O BAõ OUI-÷@QNñÏVñÏö¬@-X\ñjMcD(O1B›÷°IEXvõ ñÏBPCQSJAð¿O1XNô^ñ¬QSIFX1ú UBµ]á

117

B U @-B¿ K ]Ê¿MN>AO X\O9AO ›ñ¬QcMvQ&^@ \wvEü…õ IEVðA@-MNñÏýPöÀOQSJPðHO X\ô^ñÏQNIEwX $ÙQSJAõv> ÷‚ø ÁÆùÁúõÇGêˆÉ ñÀôFO @ M\>A@ƒM€UBµ_$‰äÔ] ñÀ÷t@-BAKÉIFBPöÀDÉñÀ÷UBµ]Xv Ö ] Ö UcAò>PO1XNO2]wv)ñ¬Q@FQõ IFVðAJ›MNORK:ñÀB›0sM\O ð ¹I-÷  öÏCEIFXNñÀMN>AVÙPú +AJPXSM\>PO X"ò>PO1BWMN>AO¹O^ñ¬QSMNO B¿õ O¹õ IEBAKPñjM\ñÀIFB(>PIEö¬KPQ-]wvõ @EB(ý¿OUõv>PIsQSO1B @FQ@KPO1QNñÀX\O1KÉQSJAð¿O1XNô^ñ¬QSIFX1ú 7eùÆ&Æ8:9 '*´/ R)€0›ñÀBAõ ‚O ] Ö ] v @EBAK ] v ñϞQ \ v ü…õ IEVðA@ƒM\ñÀýAöÀO Aò|Oõ @EBÊðPñ¬õvó $EV¢] v ”@-BAK QNIMN>PO9QNGJ Ò(õ ñÏO BAõ DW÷°IEöÏöÏIƒòQ|÷°XNIFV0û">PO IFXNO1p V ?Aú 'ˆš§7ː¦…¯ R)žUBµ$Žäë] ñÏVðPöÏñÀOR2 Q ] Ö Uú / Dû">PO IFXNO1· V &UBµ]á㬎ä $ Þ{'/]ž) Ö ]ú / D û">PO1IEX\O Ù V >UBµ] v ä UBµ]á㬎ä $ Þ{'/]ž)nvú 0^I ò?O:>A@~ôF3 O UBµ] v ä UBµ]á㬎ä $ Þ{'/]ž) Ö ]{ ò>Pñ¬õv>ÉñÀVðPöÏñÀOR³Q UBœ}œ ] vBÖ ]ú "û >PO4õ IEVðPöÏOA›ñÀMcDIE÷*õv>PO1õvó^ñÏBPCÊUBµ]Xv Ö ] ñ¬Q?öÏñÏBPO1@EX?ñÏB)IE÷”MN>POUQSñ} O4I-÷”M\>PO ðPö¬@[email protected]@EKPX\@-MNñ¬õñÏB±M\>POWQSñ} OIE÷œMN>PO(QNðHO1õ ñÀù¿õ1@ƒMNñÏIEB*ú  öÏQNI”ðAXNI^I-÷?I-÷|û">AO IEX\O VJƒ K›O1VIEBAQSMNXv@ƒM\O1Q?MN>A@-ME]Xvõ @EBýHO8JAQNO1K:@EQQNJPðHO X\ôsñ¬QNIEXFM\>PO9õ IFVðPöÀO›ñjMcDI-÷ò>AIFQNOUõ IEVü ðPJPM\@ƒM\ñÀIFBñ¬QöÏñÀBAO1@-XñÏBÉMN>PO9QN}ñ  OUI-÷ QSðHO1õ ñjù¿õ1@ƒM\ñÀIFBiú

¶^Á úÌ@ùB·Ì

O8ôsñ¬QNñjMM\>PO8VI-MNñÏôƒ@ƒM\ñÀBPCO›@EVðPöÀO8IE÷#0^ORõnM\ñÀIFB^›ú}Eú VXWY@ú[Z#?Á è¹JPXUCEIs@-ö!ñÏQ¹MNIùABAK²@ \wvEüaõ IEVðA@-MNñÏýPöÏOQNJPðHO X\ôsñ¬QNIEXw$Å÷°IEX4MN>AOôFO BAK›ñÏBPC VW@Eõv>AñÀBPOQSJAõv>:M\>A@ƒeM UBµ$Cäå]7ú 1O9ùAXvQSM÷°IEJPB¿K:MN>A@-wM ] Ö Uå'ÃK›O M\@-ñÏö¬Q&@-X\O9IFVñÀMSM\O1K ) ú &AO ^M iò|O(õv>PORõvóÊò>PO M\>PO Ê X UBµ]wv Ö ]&ú 1²O(õ IEBAQSMNX\JAõ nM ]XvJ¿QSñÏBPC  öÏCEIFXNñÀMN>AÙ V *@-BAK M\>PO²X\O1QNJPöÀMÉñ¬Q:K›O ðAñÏõ MNO1KñÀŽ B +!ñÀCFJPXNeO ›ú"û">PO QSD^BAõv>PX\IEBAIEJAQõ IEVðHIFQNñjM\ñÀIFBIE€÷ ] v òñÀMN> ðPö¬@-BsM sB¿@-VO öÏ~D UBµ] v ›ñÏQ"QN>PIƒòB)ñÏ3 B +!ñÏCEJPX\€O Pú è¹BAOUõ1@-BôEO X\ñÀ÷°DMN>A@-!M UBµ] vBÖ!×ç ]ú $ M 1

x1q1

q1 get coin q2 timeout

get coin

get coin

q3

push x2q2 push x2q3

push

timeout

q5

cookie timeout

q4 timeout

candy push

candy

timeout x4q4

timeout

dump timeout

timeout

push

cookie

get coin

push

timeout

x3q5

get coin x3q3

get coin push x3q2

cookie

timeout push timeout x5q4 push

timeout q6

x5q6

e'fìg ™_íA™ lkî(³®hmZ\fÏ`Nµ] d^j)Åzlkî(³¬_clmuRŒƒ`Nµ

÷°IFöÀöÏIƒòQ÷°XNIFVøû">PO IFXNO1V²ƒ¹MN>A@-M!M\>PO X\O"OA›ñ¬QcMvQ@ž\ v üaõ IFVð¿@ƒMNñÏýPöÏO|QNJPðHO X\ô^ñÏQNIEX!MNIUO1B›÷°IEXvõ O QNñÀVJPö¬@ƒMNñÏIEB)O -sJPñÏô~@EöÀO1BAõ O¹ý¿O Mcò?O1O BWM\>POUõ IEBsM\XNIFöÀöÏO1KWQND›QcM\O V @-B¿KMN>POUQNð¿ORõ ñÀù¿õ @-MNñÏIEB&^@-BAK ]wv(QNO X\ôEO1Q"@FQQSJAõv>:@QSJAð¿O1XNô^ñ¬QSIFX1ú

118

0YM}é >

? 8 /r *su71?/@Ã2Å8TÆ7ùÛ;āú‰Ä*?/@ùÄZÅ;A $ BW@4ðPXNñÏIEXœQNO1õ MNñÏIEB&ƒò|OQN>PIƒò?ORK9M\>A@ƒMt@4BPORõ ORQNQ\@-X\D9@-BAKQNJGÒ(õ ñÏO BsMtõ IFBAK›ñÀMNñÏIEB÷°IEX M\>PO OA›ñ¬QcM\O BAõ O?IE÷A@e\ v üaõ IEVðA@-MNñÏýPöÏO?QNJPð¿O1XNô^ñ¬QSIFXU$±QSJAõv>9MN>A@-M#UBµ_$.؇]Û÷°IEX @&K›O MNO1XNVñÏBPñÏQSMNñ¬õ U @EBAKÇ@²ð¿IsQNQNñÏýPöÀD BPIFBAK›O MNO X\VñÀBAñÏQSMNñ¬õ%] ñ¬QMN>A@-M] ýHO:QSñÏVJPö¬@ƒM\O1KýsD:U @EBAKÌ] ýHO QSM\@ƒM\O üaõ IFBFM\XNIFöÀö¬@-ýAöÀOFú $ BÙM\>Pñ¬Q(QSORõnM\ñÀIFBÛò|OÊQN>PIƒò M\>A@ƒM)ñÀ÷8ò?OIFBPöÏDÇXNO-sJPñÀX\OF¥]¯„­Ê¬Ë}̰%¯«§ ͖ÚA¬¯„ÛÌË}ÍA§2¨*͜I-÷”õ IFBFM\XNIFöÀöÏO1KðPö¬@-BsMDUBµ $ @EBAKQSðHO1õ ñjù¿õ1@ƒM\ñÀIFB‚{] ƒM\>PO B(@4ò|O1@-óFO Xõ IFBAK›ñÀMNñÏIEB Æ,Ã2ÅùÆ aÆ ³À3Á ÅÁ ùú‰ÄÃÄ ÅÄ

MN>¿@-BQcMv@ƒM\O üaõ IEBsM\XNIFöÀö¬@-ýPñÏöÏñjMcDñ¬QXNO-sJPñÀX\O1K|'Ã@FQOA›ðHO1õnM\O1K) ú 1OUùAX\QSMñÀBsM\XNI›K›JAõ O4MN>PO8BPIEMNñÏIEB:I-÷ @QcMv@ƒMNO ü…õ IEBsMNX\IEöÏö¬@-ýPöÏO üaQSñÏVñÀö¬@-X"QND^QSMNO1V:ú @ ¥–°¸Ì°¸Í ~ ¨*«§°%ª`«˄Ë}Ì ÕËÍ ~ ¥]¯„­{¯„Ë̪wïðNñUð ã ñÀ÷^ñÀM*ñ¬QiQNñÀVJPöÏ@-MNñÏIEB8O -FJAñÀôƒ@-öÏO BsM À3ÁÂ#ÃÄZÅĘÆ7Ãæ ]‡ñÏQiž MNI(@QND›QcM\O  V ] Ï M\>A@ƒMñ¬QQcMv@ƒM\O üaõ IEBsM\XNIFöÀö¬@-ýPöÏOEú û">PO4BPI-M\ñÀIFB(I- ÷ 0¿š= 0Wñ¬Q?QSMNX\IEBPCFO XtMN>A@EB(öÏ@EBPCEJ¿@-CEO ü…õ IEBsMNX\IEöÏö¬@-ýPöϞO '!=š)?@-B¿KWò?OR@-óFO XM\>A@-B QSM\@ƒM\O üaõ IFBFM\XNIFöÀö¬@-ýAöÀcO '˜0Aš= ) ú O ^M ›ò|O4ORQcMv@-ýPöÏñ¬QS>:@BPO1õ O1Q\QN@EXND(@EBAKQNG J Ò(õ ñÏO BsMõ IFBAK›ñÀMNñÏIEB÷°IEX"M\>POUAO ›ñÏQSMNO1BAõ OUIE÷ @ QNñÀVñÏöÏ@EXNñÀMcDWO B›÷°IFX\õ ñÀBACõ IEBsMNX\IEöH÷°IEXK›O MNO1XNVñÏBPñÏQSMNñ¬õ4ðPö¬@-BsM\Q1ú 1²O9õ1@-öÏö ] ñϚQ U4üaQSñÏVJPö¬@ƒM\O1Kñj÷ ] Ö Uú M U @-BAKð¿IsQNQNñÏýPöÀDWBAIEBAK›O MNO1XNVñÏBPñÏQSMNñ¬õ8QNð¿ORõnü ÷‚ø ÁÆùÁú»Ç,Ç É ñÀôFO B:K›O M\O X\VñÏBPñ¬QcM\ñÏõ4ðPö¬@-Bs³ ñÀù¿õ @-MNñÏIE%B ]{›O ^ñ¬QSM\Q"c@ \wvEüaõ IEVðA@-MNñÏýPöÏO4QNJPðHO X\ôsñ¬QNIEkX $‡QNJAõv>(M\>A@ƒ!M UBµ$:ä] ñj÷@EBAKIEBPöÏD ñÀ#÷ ]øñÏ!Q U4üaQSñÏVJAöÏ@-MNO1K:@EBAKQSM\@-MNO ü…õ IEBsMNX\IEöÏöÏ@EýPöÏO üaQSñÏVñÀö¬@-X?òñjM\>ÉX\O1QNðHO1õnMM\9I Uú V ƒ&UBµ$ŽäŠ] ñÏVðPöÀñÏO1ŒQ UBµ] vFÖ ] Ö Uú 0^ñÀB¿õ O 7eùÆ&Æ8z9 'ˆš§ː¦m´S R)‚+PX\IEV û">AO IEX\O J ] Ö U @EBAK ] Ö ] v '°÷°XNIFV õ IEB¿QcM\XNJAõ MNñÏIEBÊIE¤÷ ] v )A”ñjM4÷°IEöÏöÀIƒòQ&MN>¿@ƒ1M ] Ö UBµ] v &ú 0^7I  UBµ] v ä]ú / Dõ IEB¿QcM\XNJAõ MNñÏIE& B -] v ñ¬vQ \ v üaõ IEVðA@-MNñÏýPöÏO&@-BAKWQNI9÷°X\IEÙ V iO1VVŒ@ ~'°ò>AñÏõv> X\O -sJPñÏXNORQWK›O M\O X\VñÏBPñ¬QSV2I-e÷ U‚)]aUBµ] v ñÏQ(QSM\@-MNO ü…õ IEBsMNX\IEöÏöÏ@EýPöÏOEú 0^ñÀB¿õ  O ] ñ¬QWQNñÀVñÏöÏ@EXMNI UBµ] v ›ñjM÷°IFöÀöÏIƒòQ|MN>¿@ƒE M ]Æñ¬QQ 0Aš= 0žú '*´/ R)Œ*O  M ]ÈýHOQNñÏVñÏö¬@-X9M\ I ] Ï MN>A@-Mñ¬{Q 0A=¹ú ¡ O ùABP O $ MNI²ý¿ O ] Ï òñÀMN>ÇOR@Eõv>ÇQSM\@-MNO @-JACEVO BsMNORKÙòñjM\>QNO öÀ÷®üxöÏI^IEðAQWIFBq@-öÏöM\>PO±JPB¿K›O ùABAO1KÅJPB¿õ IEBsM\XNIFöÀö¬@-ýPöÏOO ôFO BsM\Q)I-÷UMN>¿@ƒM QSM\@ƒM\OEúû">PO1C B UBµ_$pؕUBµ]eÏe'°ý^Š D iO1VVB@ )nDú 0›ñÀBAõ  O ]eπäè] Ö UcñÀM÷°IEöÏöÀIƒòQMN>¿@ƒM ]eÏ Ö Uú  ö¬QS7I ]eÏ Ö ]eϘž@EBAK±QN%I ]eÏ Ö UBµ]£Ï;ú è¹BMN>AOIEMN>PO1X¹>¿@-BAK UBµ]£Ï Ö ]eÏ!ý^D û">PO1IEX\O Ù V ^@-BAKQSI9ò|O&>¿@~ôE€O UBµ]eÏä]eρú $ M?÷°IEöÏöÀIƒòQtMN>¿@ƒvM UBµ_$:Ø UBµ]£Ïä‡]{Fò>AñÏõv> õ IFVðPöÀO MNORQ"MN>PO8ðAXNI^I-÷cú û">POBAAO ^MœMN>AO IEX\O V ðPX\O1QNO BsM\Qœ@UVO MN>PI›KM\I8ôEO X\ñÀ÷°DM\>POðPX\IEðHO XNMcD9I-;÷ 0Aš= 0IEY÷ ]òñÀMN> X\O1QNð¿ORõnMMN9I Uú $ MvQðPX\I^I-÷*÷°IFöÀöÏIƒòQ?÷°XNIFVÈû">PO1IEX\O VW!Q ƒ@EBAK   P@EBAKÉñÏQ"IFVñjMNMNO1Kiú õ Uø@EBAuK ] Ö UcG] ñ¬šQ 0¿š= 0(òñÀMN>ÉXNORQSðHO1õ M?M\{I Uøñj÷ ÷‚ø ÁÆùÁú»ÇÜŽÉ ñÀôFO BKPO MNO1XNVñÏBPñ¬QcM\ñÏ£ @-B¿KIFBPöÏD(ñj÷ UBµ]wv Ö ]ú V 8ò?O&õ1@-BM\O1QSM?ò>PO MN>PO1¤X ]%ñÏvQ 0Aš= 0ý^DM\O1QSMNñÏBPC9ò>PO MN>PO1X ¶~Áú|v @ùÖ ·0 +AXNIFV û">AO IEX\O J UBµ] ]ú $ MÉ÷°IEöÏöÀIƒòQ)MN>A@-MM\>PO õ IEVðPöÏAO ›ñÀMcDÙI-÷õv>PORõvó^ñÀBPCC 0Aš= 0Åñ¬QÉöÀñÏBPO1@EXñÏBqM\>PO QNñ 1O(I-Q÷ U @-B¿‰ K -sJA@EK›Xv@ƒM\ñÏõñÏB£M\>PO)QNñ 1O(I-E÷ ]úû">AO)õ IFVðAöÀO ^ñÀMcDI-÷&õv>PORõvósñÏBP C ]ÈñÏÊQ U4ü QNñÀVJPöÏ@-MNORKÇñ¬QöÏñÏBPO1@EXñÏBÙQS}ñ  ORQIE€÷ U @EBAÌ K ]úû">^JAQMN>POõ IFVðPöÀO ›ñjMcD£IE÷¹õv>PO1õvó^ñÏBPCÊM\>PO AO ›ñ¬QcM\O BAõ OI-÷”@8QSJAð¿O1XNô^ñ¬QSIFX ÷°IEXœ@8QNñÀVñÏöÏ@EXNñÀMcD9O BP÷°IEXvõ ñÏBPC8õ IEBsM\XNIFö›I-÷”K›O M\O X\VñÏBPñ¬QcM\ñÏõðPöÏ@EBsM\Q ñ¬EQ ¸c'`œ UBœh:œ ]cœ ´ ) ú $ BWM\>PO÷°IFöÀöÏIƒòñÀBACõ IFXNIFöÀö¬@-X\D9ò|O&QS>AIƒò‡M\>A@ƒM|ò>PO B(MN>PO¹AO ›ñÏQSMNO1BAõ O¹õ IEB¿K›ñjM\ñÀIFB(I-÷*û">AO ü IEX\O J V  U>PIFöÏKAQ =] v õ @EB:ý¿O9õv>PIsQSO1B@FQ@KPO1QNñÀX\O1KÉQSJAð¿O1XNô^ñ¬QSIFX1ú $ MvQ"ðPXNI^IE÷ñ¬QIEVñÀMSMNORK”ú

119

> Æ7ù Æ?/?*@ùBAEÜŽÉ ñÏôEO BK›O MNO1XNVñÏBPñÏQSMNñ¬õUðPö¬@-BsM³U @-BAKÉðHIFQ\QSñÏýPöÏD(BPIEB¿K›O M\O X\VñÏBPñ¬QcM\ñÏõ8QNðHO1õ ñÀü ù¿õ1@ƒM\ñÀIFB]{PñÀ÷#] ñÏQ³U4üaQNñÀVJPöÏ@-MNORK@EBAK:QcMv@ƒMNO ü…õ IEBsMNX\IEöÏö¬@-ýPöÏO üaQSñÏVñÀö¬@-X?òñjM\>:XNORQSðHO1õ MMNI9Uc M\>PO B ]wv9@EQ õ IFVðPJ›MNORKñÀBB0sM\O ð"I-÷  öÀCFIEX\ñjM\>PV·¹õ1@-BQSO1XNôFO|@FQ@UQSñÏVñÀö¬@-X\ñjMcDO B›÷°IFX\õ ñÀBPC QNJPðHO X\ôsñ¬QNIEX sñxú OEú}UBµ]wvÊä‡]ú ¶^Á úÌ@ùB·ÃÉ 1²O)QN>PIƒò|O1K²ñÀBÇû">AO IEX\O VJ)M\>A@ƒMò>AO B‰UÈñÏQK›O M\O X\VñÏBPñ¬QcM\ñÏõW@EBAK[] ñ¬Q U4üaQSñÏVJAöÏ@-MNO1& K k]'ýHO ñÏBPE C 0¿š= 0Åñ¬Q)O -FJAñÀôƒ@-öÏO BsMÉMNC I UBµ] v—Ö ]ú $ BCEO1BPO Xv@-%ö t>AIƒò?O1ôEO X 'Ãò>PO : B UÈñÏQUBPIFBAK›O MNO X\VñÀBAñÏQSMNñ¬õ )AŽ] ýHO ñÏBP› C 0Aš= 0±ñÏQQcM\XNIFBPCEO1X¹M\>A@-: B UBµ] v.Ö ]ú*û">Pñ¬Q õ1@-BqýHO²ñÏöÏöÀJAQSMNXv@ƒM\O1KýsDqõ IEBAQNñ¬K›O X\ñÀBAC@-J›M\IEVW@ƒM\IEx B U Và]PO1K(ýsDM\X\@Fõ XO óñÏB ]ú +PJPXNMN>AO X|÷°IEX?MN>PO4X\O1@EQNIEBM\>A@ƒM ] ñ¬vQ 0A€= ^O1ôEO BsM ˜VJ¿QcM ýHO(K›O ù¿BPO1K @ƒM8M\>Pñ¬Q9QcMv@ƒM\OEú $ ú OE}ú ”MN>AO X\OWVJAQSM9AO ›ñ¬QcM@:QSM\@ƒM\OWñÀB ] X\O1@Fõv>PO1K²ý^DÊM\X\@Fõ O ó ò>PO1XNOO ôFO BsM\)Q ˜8@-B¿ K ò@EXNO9ýHI-M\>²K›O ùABPORK”&ú 0^ñÀB¿õ OBPIEBPOI-÷œM\>POQcMv@ƒMNORQ&IE'÷ ] XNOR@Eõv>A@EýPöÀO ý^DWM\X\@Fõ 1O óW>A@~ôFO4ýHI-M\>:O ôEO1BsM\Q ˜¹@-BA K òUK›O ùABAO1K ‘]øõ @-BABPI-M&QNñÀVJPö¬@ƒMNO ]ú a

a

a

B

C

b

a

a a

a a

BB

b

B

CB

C BC

c D

AA

A

A

b dump

e'fìg ™ôA™ l4³®hmZ\fÀ`NµN‚!l î

c

b

b

b

CC

c

Ddump

b

D

DD

³®b8ljFFhmZ µN‚F]1ds‚l)Åzl î ¬³ _clju1Œƒ`Nµ

õ I²êtç¹íNSìQS^îSêtç $ BMN>Pñ¬Q ðA@-ðHO X ~ò?O|AO ^M\O BAK›ORK9M\>PO"ðPX\ñÀIFXò|IEX\óUIEBQNJPðHO X\ô^ñÏQNIEX\D8õ IEBsM\XNIFöFñÏBKPO MNO1XNVñÏB›ü ¬ñ QcM\ñÏõ¹@EQtò?O1öÀöž@EQtBPIEBAKPO MNO1XNVñÏBPñ¬QcM\ñÏõ¹QSO MSMNñÏBPCýsDW@EöÀöÏIƒòñÀBAC8ý¿IEMN>)ðAöÏ@EBFM|@-BAK(QNðHO1õ ñÀù¿õ1@ƒMNñÏIEB M\I(ý¿OBPIEB¿K›O M\O X\VñÏBPñ¬QcM\ñÏõ ¿@EBAK:XNO-sJPñÀX\ñÏBPC(õ IFBFM\XNIFö*QNð¿ORõ ñÀù¿õ @-MNñÏIEB:MNI)ý¿OýPñÏQNñÏVñÏö¬@-X\ñjMcDÉIEX QNñÀVñÏöÏ@EXNñÀMcDI-÷”M\>PO8QSðHO1õ ñjù¿õ1@ƒM\ñÀIFB)@-BAK(MN>POUõ IFBsMNX\IEöÏöÀORKðPöÏ@EBsM1ú $ M|ñ¬Q|ó^BPIƒòBWMN>¿@ƒM|MN>PO4öÏ@EB›ü CFJA@-CFO&O -sJPñÏôƒ@-öÏO BAõ O&ñ¬Q"BPI-M@-BÉ@EK›O -sJA@ƒM\O&BPIEMNñÏIEB)IE÷*O -sJPñÏôƒ@-öÏO BAõ O&÷°IFX"BPIEBAKPO MNO1XNVñÏBPñ¬QcM\ñÏõ QND›QcM\O VWQ ú +PIFX"ýPñÏQNñÏVñÏö¬@-X\ñjMcDO BP÷°IEXvõ ñÏBPCõ IEBsMNX\IE%ö Fò|O&IFý›M\@EñÀBAO1K)@QNV@EöÀöHVI›K›O öHMN>AO IEX\O V QN>PIƒò"ü ñÏBPCMN>A@-M)@ QSJPðHO X\ô^ñÏQNIEXO ^ñ¬QSM\QñÀ÷4@-B¿K‡IFBPöÏDÇñj÷UñÀMO ›ñÏQSM\QWIƒôFO X@ õ O XNM\@EñÀB‡ùABPñÀMNOÊQSM\@-MNO QNðA@Eõ OE ú 1²O8@EöÏQNIIFý›M\@EñÀBPORK)@BPO1õ O1Q\QN@EXNDW@EBAK)QNGJ Ò(õ ñÏO BsMõ IEB¿K›ñjM\ñÀIFB(÷°IFX?M\>POUAO ›ñ¬QcM\O BAõ O¹IE÷ @8ýAñÏQNñÀVñÏöÏ@EXNñÀMcDO1B›÷°IEXvõ ñÏBPC9QNJPðHO X\ôsñ¬QNIEX÷°IFXMN>PO4QSðHO1õ ñÏ@Eö¿õ1@EQNOI-÷iK›O M\O X\VñÀBPñ¬QSMNñ¬õðPö¬@-BsM\Q1ú $ B M\>PñÏQ8õ1@EQN O HMN>AO(õ IEVðPöÏAO ›ñÀMcDI-÷|ôEO X\ñÀ÷°DsñÏBPCÉAO ›ñ¬QcM\O BAõ OJ¿QSñÏBPC:IEJPX8õ IEBAK›ñÀMNñÏIEBñ¬QUöÀñÏBPO1@EXUñÀB QNñ 1OIE÷œðPöÏ@EBsM4@-B¿KÊQSðHO1õ ñjùHõ @ƒM\ñÀIFBiú  ö¬QS7I ¿ñÏBÊM\>PñÏQUõ1@EQN O PM\>POQSðHO1õ ñjù¿õ1@ƒM\ñÀIFB±õ @EBÊñjMvQSO1öj÷œýHO

120

JAQNO1K@EQ|@QNJPð¿O1XNô^ñ¬QSIFX FñÀVðPöÏD^ñÀBAC9MN>AO4QNñ 1O&IE÷QSJAð¿O1XNô^ñ¬QSIFXtñ¬QtöÏñÀBAO1@-X|ñÏB)QS}ñ  O4I-÷*QNðHO1õ ñÀù¿õ1@ƒü MNñÏIEB*ú,1OO^MNO B¿K›O1KÊMN>POõ IFBFM\XNIFöÀö¬@-ýAñÀöÏñjMcDÉõ IFBAõ O1ð›M¹ñÏB±ö¬@-BPCFJA@-CFOQNO MSM\ñÀBAC(MNIÉ@)QSMNX\IEBPCFO X BPIEMNñÏIE&B Põ1@-öÏöÀORKQSM\@-MNO üaõ IFBsMNX\IEöÏöÏ@EýPñÀöÏñÀMc D ^@EQ|ðA@-XNM"I-÷*M\>PO8BPORõ O1Q\Q\@-X\D@EBAKÉQSGJ Ò(õ ñÀO1BFMõ IEBAK›ñÀü MNñÏIEB(÷°IEX?MN>PO¹AO ›ñÏQSMNO1BAõ O¹I-÷*@9QNJPðHO X\ô^ñÏQNIEX|@-BAKWðAXNIƒô^ñ¬K›O1KW@8ðHIEöÏD^BPIEVñ¬@-öžõ IFVðAöÀO ^ñÀMcDMNO1QSM ÷°IEXñÀM1ú 1O&QS>AIƒò?ORKM\>A@ƒMtMN>PO&QNñÏVJPö¬@ƒM\ñÀIFBO -sJPñÀôƒ@EöÀO1BAõ OX\O ðPX\O1QNO BsMvQœ@UBPñ¬õ O&õ IEVðPX\IEVñÏQNO"ý¿O ü Mcò|O O BÊMN>POõ IFVðAöÀO ^ñÀMcD:I-÷?õ IEBsMNX\IEöô›Q úHñjMvQ¹ùABPO BAO1Q\Q ,ú 1Å>PñÏöÀOýPñ¬QSñÏVñÀö¬@-X\ñjMcD:ñ¬QM\>POùABPO1QSM ýHO >A@~ô^ñÏIEXv@-öiO -FJAñÀôƒ@-öÏO B¿õ O AMN>POý¿ORQcM4ósBAIƒòB:õ IEVðPöÏAO ›ñÀMcD)÷°IFX¹QNJAõv>Ê@Wõ IFBFM\XNIFöiñ¬Q&K›IFJPýPöÏD AO ›ðHIEBPO1BsMNñ¬@-ö ñÀB²MN>AOQN}ñ  O1QUIE÷œMN>AOðAöÏ@EBFM9@EBAKM\>POWQSðHO1õ ñjù¿õ1@ƒM\ñÀIFBi ú è¹BÊM\>POI-MN>AO XU>A@-B¿K  ò>PñÏöÀO@²öÏ@EBPCEJ¿@-CEO)O -sJPñÏô~@EöÀO1BAõ O:õ IFBsMNX\IEö|ñÏQðHIEöÏD^BPIEVñ¬@-öÏöÀD£QNIEöÏô~@EýPöÏ O  ñjMñ¬QMN>PO:õ Is@-XvQcü O1QSM9ýHO >A@~ô^ñÏIEXv@-ö!O -sJPñÏô~@EöÀO1BAõ OFú  QSñÏVJAöÏ@-MNñÏIEBO -sJPñÏô~@EöÀO1BAõ OWQNð¿ORõ ñÀù¿õ @-MNñÏIEBñÏQ4ù¿BPO XUM\>A@-B @öÏ@EBPCEJ¿@-CEO¹O -sJPñÏôƒ@-öÏO BAõ OUQNðHO1õ ñÀù¿õ1@ƒMNñÏIE;B ›DEO MñÀMXNO1V@EñÀB¿Q?ðHIEöÏD^BPIEVñ¬@-öÏöÀDQSIFöÀôƒ@-ýAöÀOF2ú 'û">PO õ IFVðPöÀO ›ñjMcD4MNJAXNBAQ*MNI¹ý¿O|@-B9IFX\KPO X*>AñÀCF>PO XñÀB8M\>PO"QSðHO1õ ñjù¿õ1@ƒM\ñÀIFB9QS}ñ  O?ò>PO Bõ IEVðA@EXNORK4MNI @¹öÏ@EBPCEJA@ECEOœO -sJPñÀôƒ@EöÀO1BAõ O|QSðHO1õ ñjù¿õ1@ƒM\ñÀIFBiú )û">Pñ¬Q!V@EóEORQQNñÀVJPö¬@ƒMNñÏIEBO -sJPñÏô~@EöÀO1BAõ O|@&J¿QSO ÷°JPö BPIEMNñÏIEB±IE÷týHO >A@~ô^ñÏIEXv@-ö!O -sJPñÏô~@EöÀO1BAõ O÷°X\IEV MN>AOðHIEñÏBsMUIE÷tô^ñÀO1ò I-÷|õ IEBsM\XNIFö,ú 1²OðPX\O1QNO BsM BPORõ O1Q\Q\@-X\D±@-BAK QNGJ Ò(õ ñÏO BsMõ IFBAK›ñÀMNñÏIEBAQ4÷°IFX8MN>AOWAO ›ñÏQSMNO1BAõ OWIE÷"QNñÏVñÏö¬@-X\ñjMcDÊO1B›÷°IEXvõ ñÏBPCÊQNJ›ü ðHO X\ôsñ¬QNIEXvQt÷°IFXBPIEB¿K›O M\O X\VñÏBPñ¬QcM\ñÏõ8@EBAKÉ@-ö¬QSI÷°IEXKPO MNO1XNVñÏBPñ¬QcM\ñÏõUðPö¬@-BsMvQ 7ú è¹JPXX\O1QNJPöÀM\Q@EXNO õ IFBAQSMNX\JAõnM\ñÀôFOU@EBAKÉõ IEVðPJPMNO9@QSJAð¿O1XNô^ñ¬QSIFX|ò>AO B:IEBPOUO ^ñ¬QSM\Q1ú ié *ç¹í2M;S ‰1ö¹F¾ ] _a_cZN`a`U] d^:z›÷H] fÏe1_a`crFdsZR¾!lmalmb4rFhÀ] `clmeRd¿‚¿`cŒsZUarF[›Z\_c}-lmae1_a€)kveRdƒ`a_ce1h![F_ce ´ hmZvb ] d^ …`a_ceRdFub8e-EZvh”b9] `ckSŒslmdsu9f¬e _¡^dsl¢`cZ¹…`S] `cZUb9] kNŒFljdFZvv€ ø-¥1¸-©N¤^»Rº!¥ ùEú«¬­N¯\©c§N¨X§ û½1§N¤F¨¤üý1­ þ ¨§Nª4:­ ÿs§a¥1 © ý»1¤›¦ ›º «°¯c»1¨®«°¥1¤F­c‚› Ý àRßR ß ~ŠƒÞ ÜE‚i‰nÜ1ÜRÝE ރ Ù FY4-Y"lP¾!ZvdFZnFZN`a`ceF‚E„& ÷iFzF]1dFuRlme }R] dsdFlmŸ ?ljdFkvZvdƒ`cZvhmhml®‚E]1d^ š  |lmhmhj]E Ù e-FZ\hAb9] `ckNŒFlmdsu f¬e _¡sdsl¢`cZ…`S] `cZœb9] kNŒFljdFZvv ãûŽûŽûs©a»1¤F­N»~¯\¨®«°¥1¤F­"¥1¤ t¸-¨Ã¥1ªU»1¨®«°¯ *¥1¤F¨®©a¥Rº ‚RŠ~ ä m‰nßRÞ1 ä ^‰nß Š~à-‚ Þ1ˆ1ˆE‰1 à- Ù  |Z\€Eb9]1dFdÙ] d^qÄ! ÷¿lmd¿ Y"lmak\_cZ\`cZ\ŸÃZv}RZvdƒ`Ékve1dƒ`a_ceRhUe fdFeRd^EZ\`cZ\_cb8lmdslm…`clmkÊ…€E…`cZvb8v ãûŽûNûF©a»1¤F­\»R¯\¨®«°¥1¤s­¹¥1 ¤ t¸-¨Ã¥1ªU»1¨®«°¯ *¥ ¤s¨®©a¥1º ‚^Š~àE³…‰ µ à s‰ ߃‚ ~]1d-r^] _a€(‰nÜRÜ1ÝE ŠE UEwxds]1d¿²Ú|e1d^EZ\`cZ\_cb8lmdslm…`clmkarF[›Z\_c}-ljalme1drsdsFZ\_U[^] _a`clj] h?e ´ aZ\_c}1] `clmeRdFv w[ d ö|rF€²p!e Ÿ ŒsZ\d] d^ RZn] dFŸá*lmZ\_a_c!Z |r^]R-_S] `n‚PZnEl¢`ce1_cv#‚ "ž§a¯\¨®¸-©c§ $¥1¨§N­¹«¬% ¤ *¥1¤F¨®©a¥Rº*»1¤^¦ S‹¤ ùv¥ ©NªU»1¨®«°¥1¤ ü›¯\«°§N¤›¯S§N'­ &()(1‚F[^] uRZv?àR Ü ƒŠRÝEAz-[F_clmdsu1Z\_aŸ Z\_chj] uF‚FÚ|Z\+y *e1_c›‚P‰nÜRÜ ŠF †ƒzP Rlj] dsu] d^²â  rsb9] _n£z-rs[›Z\_c}-lmae1_a€Êkve1dƒ`a_ceRhte1fdFeRd^EZ\`cZ\_cb8lmdslm…`clmkElmak\_cZ\`cZWZv}~Z\d-` …€E…`cZvb8?yœl¢`cŒE_clm}~ZvdWZ\}~Zvdƒ`c|}-lj]b9] a~Zn[E_clje _cl¢`clj‹\Zn…€EdskSŒF_ce1dslm‹n] `clje1d¿' ãûŽûŽû,s©…»1¤s ­ þ »~¯\¨®«°¥ ¤s­&¥1-¤ t¸-¨Ã¥1ªU»1¨®«°.¯ *¥1¤F¨®©a¥Rº ‚sŠƒß-³°Ü~µ m‰vŠRàRÝ s‰vŠ1Š~ÜE‚žÞ1ˆ1ˆ~ރ ä-zP Rlj] dsu9]1dsâ/ rsb9] _nzErs[›ZN_c}Elmae _a€k\eRdƒ`a_ceRhAe1fiElmak\_cZ\`cZZv}~Z\d-`œ…€E…`cZvb8 yœl¢`cŒp š ÷10 `cZvb8[›e _S]1h!hme1uRlmka[›Z\kvl¢¡^kn] `clje1d¿  ü 243³ø-¥1¸-©N¤^»Rº¥15 ¤ *¥1¤s¨®©…¥Rº»1¤^7 ¦ 68s¨®«¬ª4:« 9n»1¨®«®¥1¤s‚”Þ1ˆRˆ1àE „?k\kvZv[F`cZvA ߃zP  Œs] `a_cl®‚ „&EÚ|] _S]v€-]1dA‚ z› "_clmaŒFd^]1dA‚ U Ù k Ù lmhmhÀ] d¿‚PâF¾_S]v€E`ce1d¿‚P] d^W„FzF]1dFuRlme }R] dsdFlmŸ ?ljdFkvZvdƒ`cZvhmhml®|gidsu1lmdsZvZ\_clmdFukSŒ^] dsu1Z&lmd ]4dFeRdFŸEZ\`cZ\_cb8lmdslm…`clmkÄiz Ù aZN`a`cljdFuF*wxdɦ~»~¯\‚s[^]1u1ZvtŠƒ†-;‰ ƒŠ~†1äE d S¤F¨§N©N¤^»1¨®«°¥1¤^»R›º ü-ý ?ª E¥ ­S«Ï¸EA ª @B37$›ü5C D)DC En‚œ[^]1u1Zvɉn Þ ^‰väE‚ Ú|e `a_cZY]1b8Z1‚s„trsu1rs…`?Þ1ˆ1ˆ~ރ Ü-= F eRb8Zvdss]-*p!eRb8[FrF`S] `clme1de1fiarF[F_cZvb9] hPar ´ hj] dsuRrs]1u1Zv?e f”ars[›ZN_c}Elmae _a€kve1dƒ`a_ceRhArsalmdsu kveR]1hmuRZ ´ _S]EwG d F¥ I© H J­ F¥ £¥1 ¤ ú"«¬­N¯\©c§N¨:§ þhû½1§N¤FX¨ üý1­c¨§Nª4­ @FK6Žú¤û#üL DMCNE ‚ž[^]1u1Zv9Þ ä -à1àE‚ OP] _S]1u1eR‹n]-‚Aã|k\`ce ´ Z\_|Þ1ˆRˆRÞ-

EM&ü–M M

121

‰nˆ-"ârFb9] _"]1d^P &U6ö"] _cuF3¥n¦ƒ§\º «Ï¤/Q»1¤^¦R*¥1¤s¨®©…¥Rº*¥ãù="H¥IQ1«°¯c»Rºú"«¬­N¯\©c§N¨§Eû½1§N¤F¨'üý1­ þ ¨§Nª4­cS hmr-y!Z\_t„?kv]RFZ\b8ljk"á*r ´ hmlmaŒsZ\_cv‚^¾!eR…`ce1d¿‚ Ù „‚¿‰vÜRÜR†- ‰R‰1"⏠rFb9] _¹]1ds Ù  |Z\€Eb9]1dFd¿ Ù ]1a~Zn:[E_clme1_cl¢`clm‹vZn…€EdskSŒF_ceRdFlm‹n] `clmeRd:fÏe1_4ljdƒ`cZ\_S] k\`clmeRd ]1dsWkveRdƒ`a_ceRhHe1fFlmak\_cZ\`cZ¹Zv}~Zvdƒ`t…€E…`cZvb8v ãûNûŽûGs©a» ¤s­N»~¯\¨®«°¥1¤F­U¥ ¤ t¸-¨Ã¥1ª8» ¨®«°-¯ *¥1¤s¨®©…¥Rº ‚ Šƒ†-³…‰R‰nµ j‰vÜ~ß ˆ ^‰vÜRÝRÞ-‚iÞ ˆRˆ1ˆE ‰ ރ"⏠rFb9] _n‚Fz›T 1lÀ] dsuE‚›p?U OPŒFeRrA‚s] d^9ÌÙT |ljrA*ážeRh¢€Edse1b8lÀ] hP…€Fdƒ`cŒFZvalme1fžarF[›Z\_c}-lmae1_œf¬e _ [^] _a`clj]1hmh¢€Ée ´ aZ\_c}~ZvEljakN_cZ\`cZ\ŸÃZv}~Zvdƒ`…€E…`cZvb8 ´ €)] hmhjenyœlmdsudseRdsFZ\`cZN_cb8ljdFlmab lmdÉkve1dƒ`a_ceRh® ãûŽûNûVs©…»1¤s­N»~¯\¨®«®¥1¤s­&¥1 ¤ t¸-¨Ã¥1ªU»1¨®«°.¯ *¥1¤F¨®©a¥Rº ‚^†1ˆE³®Šƒµ Š~ä1à ~ŠƒßR†ƒ‚HÞ1ˆRˆR†- ‰nà-"⏠rFb9] _!]1ds Ù F„&Fz-Œ^]v€Eb9]1dAip!Zvdƒ`a_S]1hmlm‹vZn]1ds9FZvkvZ\d-`a_S] hmlj‹\ZnarF[›Z\_c}-lmae1_a€9kve1d-`a_ce1h e1f!dse1d^FZN`cZ\_cb8lmdslm…`clmk¹…€E…`cZvb8?rsd^EZ\_"[s] _a`clj]1hie ´ aZ\_c}1] `clmeRdA1 ü 243Jø-¥1¸-©S¤›»Rº*㥠ù.*¥ ¤s¨®©a¥1º »1¤^W¦ 68s¨®«¬ª4:« 9n»1¨®«®¥1¤s‚^à~†E³ÃÞ1µ àRäR à -à1ÝRàE‚ Ù ] _ckNŒ:‰vÜRÜRß- ‰vŠEត Ù ]1FŒ-rsarss] dÇ]1d^ត zP š ŒFlÀ] u~] _S] Ѕ]1d¿ ¾_S] dskSŒslmdsuÊ`clmb8Zkve1dƒ`a_ceRhmhmZ\_cf¬e _(Flmak\_cZ\`cZ Zv}~Z\d-`œ…€E…`cZvb8vX F§c¥ ©c§N¨®«°¯c»RYº *¥ ?ª ^¸-¨§N© ü›¯\«Ã§N¤^¯S§N‚PÞRß Š m‰R‰n ß s‰vŠ~Ü-‚HÞ1ˆRˆRÞ- ‰ †ƒ ¹ Ù ] _ckNŒs]1d^¹]1ds4z›sáilmdskSŒslmd^] `n*zErF[›Z\_c}-lmae1_a€kve1d-`a_ce1h-[F_ce ´ hmZvbÙrsalmdFu|…€Eb ´ e1hjlmk ´ lmalmbUŸ rshj] `clje1d%`cZvkSŒsdFljÁ-rFZvvwZ d C D)D)D[tª8§N©N«®¯S» \ ¤ *¥1¤F¨®©a¥Rº *¥1;¤ ùn§N©c§N¤^¯S§N‚¹[s]1u1ZvŠ~ˆ1ä~ ß ~Š~ˆRß-‰R‚ p!Œslmkn] uReE‚›wxhmhmlmdseRlmv‚s{zF„‚ RrsdFZ&Þ1ˆRˆ1ˆE ‰nä-"⏠٠lmhmdsZN_n ]*»1ºm¯\¸Fº ¸-­¥ ù!*¥ ª4ª4¸-¤F«°¯c»1¨®«¬/¤ Q1ü-ý ­c¨§Nª4­cz-[F_clmdsu1Z\^_ *Z\_chj]1uF‚¿‰nÜ1ÝRˆE ‰ ߃„&sã|}~ZN_cR] b8[¿z-rs[›Z\_c}-lmae1_a€kveRdƒ`a_ce1h*fÏe1_¹dseRdsFZ\`cZN_cb8ljdFlm…`cljk8…€E…`cZvb8vw d ö|rF€Ép!e1ŒsZvd ]1dsW RZn]1dEŸá*lmZ\_a_cZ |r^]R-_S] `n‚›ZvFl¢`ce1_cv‚ "H§c¯\¨®¸-©a§ $¥1¨§N­&«¬_ ¤ *¥ ¤s¨®©a¥1ºi»1¤›`¦ S;¤ ùv¥1©Sª8»1¨®«®¥1%¤ ü^¯\o« þ §N¤›¯S§N'­ &((1‚^[s]1uRZ\|† Ü ƒä~†-PzE[F_clmdFuRZ\_aŸ *Z\_chj]1uF‚FÚ|ZN5 y *e1_c›‚P‰nÜ1Ü1ŠE ‰nÝ- ¹T |lmdÊ]1dsáž- ÷AZ\yœlmv:Äs]1k\`ce _clj‹v] `clmeRd±e1fœ¡^dFl¢`cZ…`S] `cZb9] kNŒFlmdsZv&rsdsFZ\_&e ´ aZ\_c}1] `clmeRds]1h ZnÁƒrslm}1]1hmZvdFkvZRwxWd "ž§a¯\¨®¸-©cX§ $¥1¨§N?­ Sa ¤ *¥1bª ^¸-¨§NE© ü^¯\«Ã§N¤›¯S§N‚›}ReRhmrsb8Z"Š~†1Ý-PzE[E_clmdsuRZN_acŸ *Z\_chj]1uE‚ ‰nÜ1ÜRˆ- ‰nÜ-ážU E›â|] b9]REuRZ&]1dsÌُ Ù ›Ì:eRdFŒ^] b š ŒsZkveRdƒ`a_ce1h”e1fFlmak\_cZ\`cZ&Zv}~Z\d-`?…€E…`cZvb8v? d©…¥ þ ¯S§c§c¦ «¬/¤ Q1­&㥠ù?ãûŽûNû'ÿ6üF§a¯\«°»Rs©…»1¤s ­ þ »~¯\¨®«°¥ ¤s­&¥1¤ t¸-¨Ã¥1ª8» ¨®«°¯ *¥1¤F¨®©a¥Rº ‚sŠRŠF³…‰nˆ~µ m‰vÝRä1Š ^‰vÝRäRÜ-‚‰vÜRÜ1ÜE Þ ŠEត š ] ´ rs]RF]E|ã|[›ZvdWb9]1[Fv‚›] hm`cZN_cd^] `clmdFualmb¹rshj] `clmeRdF"] d^kve1d-`a_ce1h”…€Ed-`cŒFZvalmvtwxd S¤F¨§N:© þ ¤›» ¨®«°¥1¤›»1Sº *¥1;¤ ùn§N©c§N¤^¯N§¹¥1a ¤ *¥1¤›¯\¸-©S©c§N¤›:¯ ýKs§a¥1 © ý1‚s[^] uRZvtŠ~ä1ä ƒŠRÝRˆ-‚AÞ1ˆ1ˆ1ŠF ÞR†ƒ"âF}1]1[ d ö|hÀ] ´s´ ZvZ\P š ŒsZ(hmlmdsZn] _`clmb8ZŸ ´ _S] dskSŒslmdsu`cljb8ZWa[›Z\k\`a_crsbwx[ d S_ ¤ d©…¥n¯S§S§a¦ þ «¬l¤ Q1=­ 6S$=m 0 unless N P ⊆ DT IM E(npolylog n ).

131

γ, λ

˜ ∅: M 1,1,1

α

1,2,2

α

β, γ β, γ 1,3,3 β, λ

β, γ

2,1,1

β, γ

β, λ

α α

γ, λ

β, γ

α

2,3,3

β, λ

β, λ β, γ β, γ

3,2,2

β, γ

4,1,1

β, λ γ, λ β, γ

α

4,2,2

β, γ

γ, λ γ, λ

γ, λ 5,1,1

2,4,4

α

α

d

α γ, λ

2,5,5

β, γ

β, λ 3,3,3

β, λ β, λ

β, λ

1,5,5

α

α 2,2,2

3,1,1

1,4,4

β, γ

γ, λ 3,4,4

3,5,5

γ, λ γ, λ β, λ 4,3,3

β, λ γ, λ β, γ 5,2,2

β, λ

β, λ 4,4,4

γ, λ

4,5,5

γ, λ γ, λ

γ, λ β, λ 5,3,3

γ, λ 5,4,4

5,5,5

˜ ∅ automaton constructed from G and H of Example 1. Fig. 5. The M

It follows that if solutions to any of the colored cut or sensor selection prob1− lems discussed in this paper can be approximated with better than a 2(log n) approximation, then a method for solving NP-complete problems in quasipolynomial time has been found. This lower bound is generally considered to be a very poor lower bound in the computer science community. Indeed, as approaches 1− approaches n. So far, for all problems admitting this bound, 0, then 2(log n) the best existing approximation known is n for some constant > 0. Such an approximation for a special case of the graph-cutting problem is shown in [7].

6

Heuristic Approximation Methods

Heuristic algorithms are now shown to approximate solutions to the sensor se˜ ∅ . After lection problem. These algorithms are based on graph cuttings of M ˜ constructing M∅ , events are iteratively assigned to be observed by the conM ˜ ∅ . The first algorithm, called troller in order to cut all paths from x ˜0 ∅ to d in M DetGreedyAprx, is a deterministic greedy algorithm that uses a utility function ˜Σ . to identify and iteratively cut transitions associated with event labels in M o 6.1

A Deterministic Greedy Algorithm

˜ ∅ , suppose it is desirable to find the “probaStarting with a trim version of M ˜ ˜∅o to d contains an edge bility” P(σ, M∅ ) that a “randomly” selected path from x labelled by Ψ1 (σ) ∈ Σ1 or Ψ2 (σ) ∈ Σ2 corresponding to σ ∈ Σ. By selecting an

132

M

event which occurs with a relatively high probability on paths from x ˜0 ∅ to d, then that event should have a high utility of being observed by the controller. The terms “probability” and “randomly” are used here in a loose and intuitive manner in order to develop an understanding for the solution method for this problem while avoiding the explicit definition of a probability distribution function at this time. ˜ ∅ , it would be desirable to first cut In order to remove all paths to d in M ˜ ∅ ). After an transitions associated with events with the highest utility P(σ, M ˜ ∅ , the utility function P(·, ·) is updated to reflect event is selected to be cut in M the changes in the sensor selections and another event is then chosen to be observed. This procedure, seen in Algorithm DetGreedyAprx, is iterated until there are no paths to d. As DetGreedyAprx iteratively chooses events to be selected for observa˜ T automaton is continually trimmed. Therefore, as Σo is updated, tion, the M Σo ˜ the next MTΣo can be calculated in polynomial time. The relative probabilities {ρ1 , . . . , ρk } associated with the events selected for observation, {σ 1 , . . . , σ k }, are stored for later analysis of the accuracy of the found approximation |Σo |. Algorithm 1 Deterministic Greedy Approximation Algorithm (DetGreedyAprx) ˜ ∅; Input: M Σo ← ∅, i ← 1; ˜ Σ ); ˜ T ← T rim(M M o Σo ˜T ; While d reachable in M Σo {    ˜T ; σ i ← arg maxσ∈(Σo ) P σ, M Σo   ˜T ; ρi ← P σ i , M Σo Σo ← Σo ∪ {σ i }; k ← i; i ← i + 1; ˜Σ ; Reconstruct M o T ˜ Σ ); ˜ MΣo ← T rim(M o } Return Σo ;

  ˜T is calculated. At each state It remains to be discussed how P σ, M Σo T ˜ , suppose there are κx output transitions. M ˜ T is converted into a x in M Σo Σo stochastic automaton by assigning a probability of occurrence κ1x to each output ˜ T ) denote the probability that a random walk in transition of x. Let P(σ, M Σo ˜ T traverses a σ transition from the initial state to d. It should be noted that M Σo this probability can be computed in polynomial time using standard methods from [5]. Therefore, this approximation algorithm runs in polynomial time. Algorithm DetGreedyAprx is now analyzed to obtain a bounds on accuracy of the approximation returned by the algorithm. The set Σomini denotes the

133

minimum cardinality sensor selection sets that could be chosen at iteration i given that events in Σoi are already observed. Naturally, Σomin1 = Σomin . Lemma 1. In DetGreedyAprx, on the ith iteration, 1 P



˜ σi , M

Σoi

 ≤ |Σomini |

Lemma 1 can be used to show the following result on the closeness of the approximation returned by DetGreedyAprx. Theorem 3. For the set Σo returned by DetGreedyAprx and a minimal sensor selection Σomin , |Σo |  |Σo | ≤ ρi min |Σo | i=1

where {ρ1 , . . . ρk } are the iterative probabilities stored during the operation of DetGreedyAprx. Because of Theorem 3, a bound on the closeness of the  approximation rek turned by DetGreedyAprx can be calculated. Unfortunately i=1 ρi can be on the order of n − in the worst case where n is the number of system events and is some constant greater than 0. A lower bound on the closeness of the bound on the approximation ratio shown in Theorem 3 is now shown. Theorem 4. From a set {ρ1 , . . . , ρk } from a running of DetGreedyAprx, k 

ρi ≥ Hk =

i=1

k  1 j=1

j

.

Although Theorem 4 puts a lower bound on the guarantee of the approximation ratio shown in Theorem 3, DetGreedyAprx may return a solution with an approximation ratio better than Hk . A randomized version of DetGreedyAprx is also shown in [13] where on each iteration of the algorithm, the event selected to be made observable is choosen with a weight random distribution. This algorithm returns a different solution every time it is run so that it can be run multiple times to boost the probability that a good approximate solution will be found. 6.2

Integer Programming

It is now shown that another approach to approximating the minimal cost sensor selection is to use integer programming based methods. The integer programming problem is a general optimization problem from the field of the combinatorial optimization that has been well explored in the literature [9]. This section

134

discusses how to convert the minimal cost colored cut problem to an integer programming problem. Therefore, using the reduction methods discussed above to convert the sensor selection problem into a colored cut problem, integer programming methods can also be used for the sensor selection problem. First the integer programming problem is introduced. Problem 3. The Integer Programming Problem: Given a z element row vector C, a y × z matrix A and a y element column vector B, find a z element column vector x ∈ {0, 1}z that minimizes Cx subject to Ax ≥ B. The integer programming problem is known to be NP-complete, but there is a vast literature on calculating approximate solutions to this problem as outlined in [9, 17]. Unfortunately, the integer programming problem is known to be NPOcomplete [1] which means that it is in the most difficult class of NP-complete optimization problems. However, because of the problem conversion methods discussed in this section, already developed and mature methods for the well understood integer programming can be used to find solutions to the sensor selection problem. 6.3

Problem Conversion

It is now shown how to convert the minimal cost colored cut problem into an integer programming problem. Suppose an edge-colored directed graph D = (V, A, C) is given with a cost function cost : C → + ∪ {0}. Suppose V = {v1 , v2 , . . . , vnV }, A = {a1 , a2 , . . . , anA } and C = {c1 , c2 , . . . , cnC }. Without loss of generality assume that for the graph cutting problem the task is to find the minimal cost colored v1 vnV -cut I ⊆ C. For the colors C, let there be a set of boolean variables {bc1 , bc2 , . . . , bcnC } and for the set of vertices V , let there be another set of boolean variables {bv1 , bv2 , . . . , bvnV }. For a cut I, values can be assigned to {bc1 , bc2 , . . . , bcnC } nC such that bci = 1 if and only if ci ∈ I. Note that by definition, i=1 bci cost(ci ) is the cost of the colored cut I. For a cut I, values are assigned to {bv1 , bv2 , . . . , bvnV } such that bv1 = 1, and for all i, j ∈ {1, . . . , nV } and k ∈ {1, . . . , nC } such that if (vi , vj ) ∈ Ack , then (bvi = 1) ∧ (bck = 0) ⇒ (bvj = 1). These constraints on the assignment of values to {bv1 , bv2 , . . . , bvnV } can be thought of as a form of a reachability condition. That is, for a vertex vi , if bvi = 1, then for all vertices vj that are reachable from vi along edges in A \ AI , it must hold that bvj = 1. Therefore, because bv1 = 1, these constraints imply that if vj is reachable from v1 along edges in A \ AI , then bvj = 1. Note that if it is necessary to assign bvnV = 1 with the above constraints, then I is not a v1 vnV -cut in D. However, if it is possible to assign bvnV = 0 with the above constraints, then I is a v1 vnV -cut in D. This is demonstrated in the following lemma. If the constraint is added that bvnV = 0, then all vertices vk which can reach vnV along edges in A \ AI , it must hold that bvk = 0. Note that for any vertex vj not reachable from v1 with the colored cut I, or which cannot reach vnV with the colored cut I, bv1 = 1 and bvnV = 0, then the corresponding boolean variable bvj can be assigned arbitrarily.

135

Note that because {bc1 , bc2 , . . . , bcnC } and {bv1 , bv2 , . . . , bvnV } are boolean variables, (bvi = 1)∧(bck = 0) ⇒ (bvj = 1) holds if and only if −bvi +bvj +bck ≥ 0, bv1 = 1 holds if and only if bv1 ≥ 1 and bvnV = 0 holds if and only if −bvnV ≥ 0. It is now shown how to construct the matrices A and B and a vector x such that Ax ≥ B if and only if the linear inequalities bv1 ≥ 1, −bvnV ≥ 0 and for all (vi , vj ) ∈ A, if (vi , vj ) ∈ Ack , then bck − bvi + bvj ≥ 0 are satisfied. First, let x be the boolean (nC + nV )-element column vector defined as follows:   xT = bc1 , bc2 , · · · , bcnC , bv1 , bv2 , · · · , bvnV , .

To encode the constraints that for all (vi , vj ) ∈ A, if (vi , vj ) ∈ Ack , then bck − bvi + bvj ≥ 0, suppose that the edges in A are given an arbitrary ordering and suppose without loss of generality that the mth edge corresponds to the constraint that bckm − bvim + bvjm ≥ 0. Note that the km th entry in x is bckm , the (nC + im )th entry in x is bvim and the (nC + jm )th entry in x is bvjm . Construct the (nC + nV )-element row vector Am such that the km th entry in Am is 1, the (nC + im )th entry in Am is −1, the (nC + jm )th entry in Am is 1 and all other entries in Am are 0. Also define the variable Bm to be 0. Note that due to construction of Am and Bm , Am x ≥ Bm if and only if bck − bvi + bvj ≥ 0. To encode the constraint that bv1 ≥ 1, note that the (nC + 1)th entry in x is bv1 . Therefore, construct the (nC + nV )-element row vector Av1 such that the (nC + 1)th entry in Av1 is 1 and all other entries are 0. Also define the variable Bv1 to be 1. Therefore Av1 x ≥ Bv1 if and only if bv1 ≥ 1. Finally, to encode the constraint that −bvnV ≥ 0, note that the (nC + nV )th entry in x is bvnV . Therefore, construct the (nC + nV )-element row vector AvnV such that the (nC + nV )th entry in AvnV is −1 and all other entries are 0. Also define the variable BvnV to be 0. Therefore AvnV x ≥ BvnV if and only if −bvnV ≥ 0. Note that Av1 x ≥ Bv1 , AvnV x ≥ BvnV and for all m ∈ {1, . . . , |A|}, Am x ≥ Bm if and only if bv1 ≥ 1, −bvnV ≥ 0 and for all (vi , vj ) ∈ A, if (vi , vj ) ∈ Ack , then bck − bvi + bvj ≥ 0. With this in mind, define A and B as follows:   AT = AT1 , AT2 , · · · , AT|A| , ATv1 , · · · , ATvn V

  B = B1 , B2 , · · · , B|A| , Bv1 , · · · , BvnV .

Due to the construction of A and B, Av1 x ≥ Bv1 , AvnV x ≥ BvnV and for all m ∈ {1, . . . , |A|}, Am x ≥ Bm if and only if Ax ≥ B. This implies the following theorem. Theorem 5. Suppose an edge-colored directed graph D = (V, A, C) is used to construct A and B as described above. A set of colors I ⊆ C is a colored v1 vnV cut in D if and only if Ax ≥ B where bci = 1 if and only if ci ∈ I and   xT = bc1 , bc2 , · · · , bcnC , bv1 , bv2 , · · · , bvnV .

136

Because of Theorem 5, if the set of colors I ⊆ C corresponds to a set of boolean variables {bc1 , bc2 , . . . , bcnC } such that bci = 1 if and only if ci ∈ I, then the nCminimal cost colored cut problem is to find the the set I ⊆ C that minimizes i=1 bci cost(ci ) subject to Ax ≥ B. Now define the (nC + nV )-element row vector C as follows:   C = cost(c1 ) cost(c1 ) · · · cost(cnC ) 0 0 · · · 0 0 .

nC Note that Cx = i=1 bci cost(ci ). The above definitions imply the following corollary of Theorem 5. Corollary 2. For the constructions of A, B and C from D = (V, A, C) and some constant k, a boolean vector x subject to the constraint that Ax ≥ B exists such that Cx= k if and only if there is a colored cut I ⊆ C is a v1 vnV -cut in nC bci cost(ci ) = k where in x, (bci = 1) ⇐⇒ (ci ∈ I). D subject to i=1

An example of the construction of the integer programming matrices from an instance of the minimal cost colored cut problem is now given. Example 4. Consider the edge-colored directed graph seen in Figure 3. With the directed graph in Figure 3, let:   xT = cα , cβ , cγ , cλ , r0 , r1 , r2 , r3 , r4 , r5 , .

Suppose the edges in the directed graph in Figure 3 are given the arbitrary ordering (0, 1), (3, 1), (0, 2), (4, 3), (1, 4), (2, 4), (2, 5), (3, 5), (4, 5). Also note that Aα = {(0, 2), (1, 4)}, Aβ = {(0, 1), (3, 1), (4, 3)}, Aγ = {(2, 5), (4, 5)} and Aλ = {(2, 4), (3, 5)}. With the above ordering on the edges and the construction methods given above, the following assignments are made to the integer programming matrices: ⎡ ⎤ 0 1 0 0 1 −1 0 0 0 0 ⎢ 0 1 0 0 0 −1 0 1 0 0 ⎥ ⎢ ⎥ ⎢ 1 0 0 0 1 0 −1 0 0 0 ⎥ ⎢ ⎥ ⎢ 0 1 0 0 0 0 0 −1 1 0 ⎥ ⎢ ⎥ ⎢ 1 0 0 0 0 1 0 0 −1 0 ⎥ ⎢ ⎥ ⎥ A=⎢ ⎢ 0 0 0 1 0 0 1 0 −1 0 ⎥ ⎢ 0 0 1 0 0 0 1 0 0 −1 ⎥ ⎢ ⎥ ⎢ 0 0 0 1 0 0 0 1 0 −1 ⎥ ⎢ ⎥ ⎢ 0 0 1 0 0 0 0 0 1 −1 ⎥ ⎢ ⎥ ⎣ 0 0 0 0 −1 0 0 0 0 0 ⎦ 0000 0 0 0 0 0 1   B T = 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,   C = cost(α) cost(β) cost(γ) cost(λ) 0 0 0 0 0 .

137

7

Graph Cutting for Communication Selection

The method described above to convert the supervisory control sensor selection problem into an edge colored graph cutting problem is very general and can be applied to a wide range of information sharing problems in discrete-event systems. Another information sharing problem where this edge colored graph cutting problem approach can be applied is now shown in the situation of decentralized supervisory control where the task is to select the set of events which should be communicated between controllers. The material presented in this section is drawn primarily from [13]. It is assumed that for the decentralized control framework there are two controllers S1 and S2 controlling G denoted by L(S1 ∧ S2 /G) (assuming conjunctive decentralized control as in [15]). As above, the system S1 ∧S2 /G is said to match the specification H if L(S1 ∧ S2 /G) = L(H). The local controllable events of controller Si (Σci ⊆ Σ) and the local observable events of controller Si (Σoi ⊆ Σ) are those events that can be respectively disabled or observed by controller Si . Due to the controllability and co-observability theorem from [15], there exists conjunctive controllers S1 and S2 such that L(S1 ∧ S2 /G) = L(H) if and only if L(H) is controllable with respect to L(G) and Σ \ (Σc1 ∪ Σc2 ) and L(H) is co-observable with respect to L(G), Σo1 , Σo2 , Σc1 and Σc2 . It might not always be true that L(H) is co-observable with respect to L(G), Σo1 , Σo2 , Σc1 and Σc2 . This occurs when decentralized controllers do not have sufficient information to make appropriate control decisions about the system due to their observations alone. This deficiency could be overcome if the controllers are allowed to communicate. Let Σoij ⊆ Σoi be the set of events that when observed by controller i are immediately communicated to controller j. This communication protocol effectively makes the events Σoij observable to controller j. With this in mind, if L(H) is co-observable with respect to L(G), Σo1 ∪ Σo21 , Σo2 ∪ Σo12 , Σc1 and Σc2 , then the pair (Σo12 , Σo21 ) is called a sufficient communication selection because the communication of the events (Σo12 , Σo21 ) gives the decentralized controllers sufficient local information about system behavior to achieve the specification. Also without loss of generality, it is assumed that L(H) is always co-observable with respect to L(G), Σo1 ∪Σo2 , Σo2 ∪Σo1 , Σc1 and Σc2 . That is, a control objective can be achieved if all event observations are communicated. Unfortunately, due to reasons of economy or simplicity, it may be desired that as few events as possible are selected to be communicated. That is, the cardinality of Σo12 ∪ Σo21 should be as small as possible. This problem of finding such a minimal cardinality sufficient communication selection is known as the communication selection problem. Problem 4. Communication Selection: Given G, H, Σo1 , Σo2 , Σc1 and Σc2 , find min min , Σo21 ) such that for any other sufa sufficient communication selection (Σo12 min min ∪ Σo21 | ≤ |Σo12 ∪ Σo21 |. ficient communication selection (Σo12 , Σo21 ), |Σo12

138

Example 5. An example of Problem 4 is now given. Consider the system G in Figure 6 with Σ = {a, b, c, d} and H is a copy of G such that states 4 and 6 are removed. Let Σo1 = Σ, Σc1 = ∅, Σo2 = ∅ and Σc1 = Σ. Note that controllers

G:

a

2

b

3

1

c d

4

c 5 d

6

Fig. 6. System G for Example 5.

cannot be synthesized to achieve the given specification unless the controllers are allowed to communicate. This is because Controller 1 has insufficient actuation to perform the correct control action while Controller 2 has insufficient information. For this problem the minimal sufficient communication selection pair is ({a, b}, ∅). A conversion is now shown to convert Problem 4 into an instance of Problem 2 as was done with the sensor selection problem. Therefore, the approximation methods described above for the graph cutting problem can be used to approximate optimal solutions to the communication selection problem. This edge colored graph cutting problem conversion is based on a nondeterministic automaton construction is given by [14] to test if L(H) is co-observable with respect to L(G), Σo1 , Σo2 , Σc1 and Σc2 . This section presents a modified version of this construction to convert an instance of Problem 4 into an instance of Problem 2. Suppose G, H, Σo1 , Σo2 , Σo12 , Σo21 , Σc1 and Σc2 are given. A nondeterministic automaton MΣo12 Σo21 can be constructed to test if (Σo12 , Σo21 ) is a sufficient communication selection. Let Σ1 and Σ2 be disjoint sets of events such that for all i ∈ {1, 2}, Σi ∩Σ = ∅. Furthermore, define Ψi : Σ → Σi for i ∈ {1, 2} to be a one-to-one function, and for σ ∈ Σ, Ψi (σ) is called σi when it can be done without ambiguity. The automao12 ,Σo21 Σo12 ,Σo21 , (Σ ∪ Σ1 ∪ Σ2 ), δ Σo12 ,Σo21 , Xm ) ton MΣo12 ,Σo21 = (X Σo12 ,Σo21 , xΣ 0 Σo12 ,Σo21 Σo12 ,Σo21 H H H G can then be defined where X = X ×X ×X ×G ∪{d}, x0 = γ H H G (xH , x , x , x ). The notation is used that x →  y represents that there Σo12 ,Σo21 0 0 0 0 is a transition according to the transition rules of MΣo12 ,Σo21 from state x to state y labelled by event γ. The transition structure of MΣo12 ,Σo21 is nondeterministic so for a state, x ∈ X Σo12 ,Σo21 and an event γ ∈ Σ ∪ Σ1 ∪ Σ2 , δ Σo12 ,Σo21 (x, γ) can be a set of states as is represented below. Therefore, y ∈ δ Σo12 ,Σo21 (x, γ) if an only if γ x →Σo12 ,Σo21 y. The state transition representations are also extended in the usual manner to be defined over strings of transitions.

139

In the formal definition of the transition relation, the (∗) condition holds at a state x = (x1 , x2 , x3 , x4 ) if ⎫ δ H (x1 , σ) is defined if σ ∈ Σc1 ⎪ ⎪ ⎬ δ H (x2 , σ) is defined if σ ∈ Σc2 . (∗) δ H (x3 , σ) is not defined ⎪ ⎪ ⎭ δ G (x4 , σ) is defined The transition relation for MΣo12 ,Σo21 is defined such that if (∗) then, d ∈ δ Σo12 ,Σo21 ((x1 , x2 , x3 , x4 ), σ) and for all σ ∈ Σ, (δ H (x1 , σ), δ H (x2 , σ), δ H (x3 , σ), δ G (x4 , σ)) ∈ δ Σo12 ,Σo21 ((x1 , x2 , x3 , x4 ), σ). In addition, for σ ∈ Σ \ (Σo1 ∪ Σo2 ), δ Σo12 ,Σo21 ((x1 , x2 , x3 , x4 ), σ) ⊆ ⎧ H ⎫ ⎨ (δ (x1 , σ), x2 , x3 , x4 ) ⎬ (x1 , δ H (x2 , σ), x3 , x4 ) . ⎩ ⎭ (x1 , x2 , δ H (x3 , σ), δ G (x4 , σ))

For σ ∈ Σo2 \ (Σo1 ∪ Σo21 ),

δ Σo12 ,Σo21 ((x1 , x2 , x3 , x4 ), Ψ1 (σ)) ⊆  H  (δ (x1 , σ), x2 , x3 , x4 ) . (x1 , δ H (x2 , σ), δ H (x3 , σ), δ G (x4 , σ)) For σ ∈ Σo1 \ (Σo2 ∪ Σo12 ), δ Σo12 ,Σo21 ((x1 , x2 , x3 , x4 ), Ψ2 (σ)) ⊆   (x1 , δ H (x2 , σ), x3 , x4 ) . (δ H (x1 , σ), x2 , δ H (x3 , σ), δ G (x4 , σ)) No other transitions are defined in MΣo12 ,Σo21 . The construction for MΣo12 ,Σo21 is modified from the construction presented by [14] in that Ψ1 (σ) and Ψ2 (σ) transitions correspond to state estimation updates that could be removed if σ observances would be communicated between the controllers. The MΣo12 ,Σo21 construction prompts the following corollary to the main result of [14]. Corollary 3. State d is reachable from the initial state in MΣo12 ,Σo21 if and only if L(H) is not co-observable with respect to L(G), (Σo1 ∪ Σo21 ), (Σo2 ∪ Σo12 ), Σc1 and Σc2 . Note that M(Σo12 ∪{σ}),Σo21 can be constructed from MΣo12 ,Σo21 by cutting all transitions labelled by Ψ2 (σ). Therefore, the act of controller 1 communicating all occurrences of event σ to controller 2 corresponds to trimming all Ψ2 (σ) labelled transitions in MΣo12 ,Σo21 . Similar properties hold for the adding a σ event to Σo21 and respectively trimming Ψ1 (σ) labelled transitions in MΣo12 ,Σo21 .

140

Define Σjoij = {Ψj (σ)|σ ∈ Σ oij }. A set of events Σ1o21 ∪ Σ2o12 is a x∅,∅ 0 dif and only if d is not reachable in M . Therefore, the pair cut in M Σo12 ,Σo21 ∅,∅   min min Σo12 , Σo21 is the smallest cardinality communication selection if and only if the corresponding events Σ1o21min ∪Σ2o12min ⊆ Σ1 ∪Σ2 is the smallest cardinality x∅,∅ 0 d-cut in M∅,∅ when restricted to cutting transitions labelled with events in Σ1 ∪ Σ2 . This realization effectively converts the communication selection problem into a restricted form of Problem 2. Similar to the construction above for the sensor selection problem to convert a restricted graph cutting instance ˜ Σ , a similar polynomial MΣo into a true edge colored graph cutting instance M o time construction is shown in [13] to convert a restricted graph cutting problem ˜ ∅,∅ that prompts instance M∅,∅ into a related graph cutting problem instance M the following theorem. ˜ ∅,∅ as constructed above, L(H) is co-observable with Theorem 6. Given an M respect to L(G), (Σo1 ∪ Σo21 ) , (Σo2 ∪ Σo12 ) and Σc1 , Σc2 if and only if Σ1o21 ∪ ˜ Σ2o12 is a colored x ˜∅,∅ 0 d-cut in the colored directed graph M∅,∅ .

8

Discussion

This paper has discussed the approximation properties of a computationally difficult sensor selection problem in supervisory control. This sensor selection problem is shown to be related to a general type of edge-colored directed graph st-cut problem. Solutions to both the sensor selection and graph cutting problems are difficult to approximate, but the directed graph conversion aids in the development of effective heuristic methods to approximate optimal sensor selections. The graph cutting conversion is a very general method and there are a number of important discrete-event system problems which can be converted to an edge-colored directed graph st-cut problem such as the decentralized control communication selection problem shown above.

Acknowledgement Financial support in part for the investigation was made available by the European Commission through the project Control and Computation (IST-200133520) of the Information Society Technologies Program. Support for the first author was also provided by NSF grants CCR-0082784, CCR-0325571 and CCR 00-85917 ITR.

References 1. G. Ausiello, P. Crescenzi, G. Gambosi, V. Kahn, A. Marchetti-Spaccamela, and M. Protasi. Complexity and Approximation Combinatorial Optimization Problems and Their Approximability Properties. Springer-Verlag, Berlin Heidelberg, 1999. 2. C.G. Cassandras and S. Lafortune. Introduction to Discrete Event Systems. Kluwer Academic Publishers, Boston, MA, 1999.

141

3. H. Cho. Designing observation functions in supervisory control. In Proc. Korean Automatic Control Conference, pages 523–528, 1990. 4. A. Haji-Valizadeh and K.A. Loparo. Minimizing the cardinality of an events set for supervisors of discrete-event dynamical systems. IEEE Trans. Auto. Contr., 41(11):1579–1593, November 1996. 5. P. G. Hoel, S. C. Port, and C. J. Stone. Introduction to Probability Theory. Houghton Mifflin Co., 1971. 6. S. Jiang, R. Kumar, and H.E. Garcia. Optimal sensor selection for discrete-event systems with partial observation. IEEE Trans. Auto. Contr., 48(3):369–381, 2003. 7. S. Khuller, G. Kortsarz, and K. Rohloff. Approximating the minimal sensor selection for supervisory control. In Proc. 7th Workshop on Discrete Event Systems, Reims, France, September 2004. 8. F. Lin and W. M. Wonham. On observability of discrete-event systems. Information Sciences, 44:173–198, 1988. 9. C.H. Papadimitriou and K. Steiglitz. Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall, Inc., Englewood Cliffs, NJ, 1982. 10. P.J. Ramadge and W.M. Wonham. Supervisory control of a class of discrete-event processes. SIAM Journal of Control Optimization, 25(1):206–230, 1987. 11. P.J. Ramadge and W.M. Wonham. The control of discrete-event systems. Proc. IEEE, 77(1):81–98, 1989. 12. K. Rohloff and J. H. van Schuppen. Approximating the minimal-cost sensorselection for discrete-event systems. Technical Report MAS-R0404, Centrum voor Wiskunde en Informatica (CWI), Amsterdam, the Netherlands, December 2004. 13. K. Rohloff and J. H. van Schuppen. Approximating minimal communicated event sets for decentralized supervisory control. In 16th IFAC World Congress, Prague, Czech Republic, July 2005. 14. K. Rudie and J.C. Willems. The computational complexity of decentralized discrete-event control problems. IEEE Trans. Auto. Contr., 40(7):1313–1318, 1995. 15. K. Rudie and W.M. Wonham. Think globally, act locally: Decentralized supervisory control. IEEE Trans. Auto. Contr., 37(11):1692–1708, November 1992. 16. J. Tsitsiklis. On the control of discrete-event dynamical systems. Mathematics of Control, Signals and Systems, 2:95–107, 1989. 17. V. Vazirani. Approximation Algorithms. Springer-Verlag, Berlin Heidelberg, 2001. 18. K. Wong and J. H. van Schuppen. Decentralized supervisory control of discrete event systems with communications. In Proc. 3rd Workshop on Discrete Event Systems, pages 284–289. Published by IEE, London, England, August 1996. 19. T.-S. Yoo and S. Lafortune. NP-completeness of sensor selection problems arising in partially-observed discrete-event systems. IEEE Trans. Auto. Contr., 47(9):1495– 1499, 2002. 20. S. Young and V. K. Garg. Optimal sensor and actuator choices for discrete event systems. In Proc. 31st Allerton Conference on Communication, Control, and Computing, October 1994.

142

Steady state control, zero valued poles and token conservation laws in continuous net systems ? Cristian Mahulea1 , Antonio Ram´ırez Trevi˜ no2 , Laura Recalde1 , and Manuel 1 Silva 1

Dep. de Inform´ atica e Ingenier´ıa de Sistemas, Centro Polit´ecnico Superior, Universidad de Zaragoza, Mar´ıa de Luna 1, E-50018 Zaragoza, Spain {cmahulea,lrecalde,silva}@unizar.es 2 CINVESTAV-IPN Unidad Guadalajara, 45090 Guadalajara, Mexico [email protected]

Abstract. The control problem for continuous Petri nets under infinite server semantics is approached in this paper. First, some characterizations of equilibrium points in steady-state are given. Being piecewise linear systems, for every linear system we present results that will characterize the possible steady-states. Second, optimal control for steady-state is studied, a problem that surprisingly can be computed in polynomial time, when all transitions are control-feasible. Third, an interpretation of controllability aspects in the framework of linear dynamic system is presented.

1

Introduction

Continuous Petri Nets (contP N s) [1] [2] [3] appear as a promising approach to model, analyze and deal with some synthesis problems in a relaxed setting. The goal of the relaxation is to obtain more efficient algorithms, but the price to be paid is the lost of analyzability of certain properties, or the impossibility to proceed according to some synthesis procedures. On the positive side, for example, reachability is characterized under very general conditions in polynomial time for untimed systems [4]. On the negative part, properties like mutual exclusions or home states are not analyzable due to the essential fact of the continuization. Moreover it is well known from some years ago that for basic properties like boundedness, the continuous version only provides sufficient conditions for the original discrete case, while liveness of the continuous case is neither necessary nor sufficient for that of the underlying discrete model [4]. Of course, the above situation can be easily understood if we think on a different area: in continuous models described by ordinary differential equations not all non-linear systems allow a “reasonable” approximation by its linear relaxation. Nevertheless, as it is also well known in the differential equations setting, certain ?

This work was partially supported by project CICYT and FEDER DPI2003-06376. Antonio Ram´ırez Trevi˜ no was financed by the Diputaci´ on General de Arag´ on for a stay in the Group of Zaragoza, period in which this work was done.

143

subclasses of non-linearities accept reasonable linear approximations. Therefore, some net subclasses, like equal conflicts [5], enjoy quite reasonable fluidifications. This paper is essentially centered on timed continuous models. Assuming that certain systems usually work close to congestion, and having evidence of the gains that in certain cases are obtained by fluidification of discrete models, this paper deals with some control problems under so called infinite servers semantics (somehow the continuous and deterministic counter part of markovian flows in discrete Petri Nets(P N s)). Under this firing semantics, due to the min operators appearing in the synchronizations, the continuous model is a multilinear switched dynamic system. Starting with the crucial question of how to control?, an approach based in the idea of slowing down the firing flow of transitions is considered. One question that immediately appears is: given an initial marking, m0 , and a constant control action, ud , which steady state is reached? For linear systems the question has a classical and simple answer, but for the class of systems we get many solutions (even infinite) may appear for basic algebraic formulations. This paper explores first the situation for steady state (Section 3). As usual, for particular classes of net systems, unique solutions are obtained. This means that the algebraic characterization is complete. In many cases, even if several steady state markings appear, a single flow is reached. In other words, computationally it may be easy (polynomial time) to deal with the (maximal) flow vector, while several (even infinite) marking conditions may appear. The computation of the steady state of a continuous net system under infinite servers semantics asks for some search procedures like Branch & Bound [6], so even if a relatively efficient algorithm is available, it is not polynomial time. Surprisingly, the computation of an optimal steady state control (maximizing a linear profit function taking into account the throughput, the initial marking and the steady state marking) is polynomial (see Section 4). In section 5, a bridge between classical linear theory based approach to study controllability and some Petri nets concepts is undertaken. The simplifying idea is to keep the fact that the dynamic model is multilinear, but not considering the constraints that must be respected by the action: non-negativity and upper bounded by the enabling degree of the transitions. It is evidenced that net systems generate different token conservation laws some of those leading to uncontrollabilities. Some of those invariances are generated by the P-flows, leading to zero valued uncontrollable poles. Others are zero valued controllable poles that depend on the net structure, the firing rates and the token load of P-(semi)flows. Finally, some controllable non zero poles may generate token conservation laws for particular values of m0 in hN , λi.

2 2.1

Continuous Petri nets basics Untimed continuous Petri nets

We assume that the reader is familiar with discrete P N s. The P N s that will be considered in this paper are continuous, relaxation of discrete ones. Unlike discrete P N , the amount in which a transition can be fired in contP N is not

144

restricted to a natural number. A P N system is a pair hN , m0 i, where N = hP, T, Pre, Posti is a P/T net (P and T are disjoint (finite) sets of places and transitions, and Pre and Post are |P | × |T | sized incidence matrices) and m0 is the initial marking. In contP N s, m0 is a vector of positive real numbers. For every node v ∈ P ∪ T , the sets of its input and output nodes are denoted as • v and v • , respectively. A transition t is enabled at m iff ∀p ∈ • t, m[p] > 0. The enabling degree of t is enab(t, m)= minp∈• t m[p]/Pre[p, t], and t can fire in a certain amount α ∈ , 0 ≤ α ≤ enab(t, m) leading to a new marking m0 = m + α · C[P, t], where C = Post − Pre is the incidence matrix. If m is reachable from m0 through a sequence σ, a fundamental equation can be written: m = m0 + C · σ, where σ ∈ ( + ∪ {0})|T | is the firing count vector. A contP N is bounded when every place is bounded (∀p ∈ P, ∃bp ∈ with m[p] ≤ bp at every reachable marking m). It is live when every transition is live (it can ultimately occur from every reachable marking). Liveness may be extended to lim-live assuming that infinitely long sequence can be fired. A transition t is non lim-live iff a sequence of successively reachable markings exists which converge to a marking such that none of its successors enables a transition t [4]. A net N is structurally bounded when hN , m0 i is bounded for every initial marking m0 and is structurally live when a m0 exists such that hN , m0 i is live. Left and right natural annulers of the incidence matrix C are called T- and P-semiflows, respectively. The net N is conservative iff ∃y > 0, y · C = 0 and it is consistent iff ∃x > 0, C · x = 0. Left and right real annulers of matrix C are T- and P-flows, respectively. If a contP N is consistent and all transitions are fireable, then the (lim)reachable markings are the solutions of the fundamental equation (m = m0 +C·σ, m ≥ 0, σ ≥ 0) [4] [7]. Because of consistency, σ ≥ 0 can be relaxed to σ ∈ |T | , that is equivalent to BT · m = BT · m0 , m ≥ 0 with BT a basis of P-flows. The set of all reachable markings at the limit is denoted by lim − RS. Like in discrete case, nets can be classified according to their structure. A place p is Choice-Free (CF) iff |p• | ≤ 1 (i.e. there is no routing, choice is structurally defined). A transition t is Join-Free (JF) iff |• t| ≤ 1 (i.e. there is no synchronization on it). Two transitions, t and t0 , are said to be in Equal Conflict (EQ) relation when Pre[P, t] = Pre[P, t0 ] 6= 0. This is an equivalence relation and the set of all the equal conflict sets is denoted by SEQS. In Equal Conflict nets, all outcomes of conflicts have identical precondition, thus choice is local. Definition 1. Let N be a P N . 1. 2. 3. 4.

N N N N

is is is is

a weighted T-graph iff ∀p ∈ P : |p• | = |• p| = 1. Choice-Free iff ∀p ∈ P : |p• | ≤ 1. Join-Free iff ∀t ∈ T : |• t| ≤ 1. Equal Conflict iff • t ∩ • t0 6= 0 ⇒ Pre[P, t] = Pre[P, t0 ].

In this paper we will mainly focus on bounded and lim-live net systems. A bounded and lim-live contP N is consistent, conservative and rank(C) ≤

145

|SEQS| − 1 (this is the so called rank theorem [8]). For Equal Conflict contP N , boundedness and lim-liveness is equivalent to consistency, conservativeness, rank(C) = |SEQS| − 1 and the support of every P-semiflow is marked, i.e. 6 ∃y ≥ 0 such that y · C = 0, y · m0 = 0 [4].

2.2

Timed continuous Petri Nets and infinite server semantics

In this section, timing constraints are added to contP N . Like in the discrete case, time can be associated to places, to transitions or to arcs. This paper assumes time associated with the transitions. Here we consider first-order approximation (only using the average value; i.e. noisy-free) of the fluidified models [9]. Definition 2. A timed contP N hN , λi is the untimed contP N N together with a vector λ ∈ ( + )|T | , where λ[ti ] = λi is the firing rate of transition ti . Definition 3. A timed contP N system is a tuple Σ = hN , λ, m0 i, where hN , λi is a timed contP N and m0 is the initial marking of the net. Now, the fundamental equation depends on time τ : m(τ ) = m0 + C · σ(τ ). ˙ ) = C · σ(τ ˙ ). Using Deriving this equation with respect to time we obtain: m(τ ˙ ) to represent the flow of the transitions with respect of the notation f (τ ) = σ(τ ˙ ) = C · f (τ ). In this paper we will time, the fundamental equation becomes: m(τ ˙ = C · f but the dependence on time is considered. use the short form: m Depending on the flow definition, there are many firing semantics. Finite server (or constant speed) and infinite server (or variable speed) [10] [1] are the more frequently used. This paper is focused on infinite server semantics, with the flow of each transition defined by: fi = f [ti ] = λ[ti ] min •

pj ∈ t i



m[pj ] Pre[pj , ti ]



(1)

Observe that the flow of transition t is proportional to its enabling degree by means of the firing rate λ[ti ] = λi . Remark 1. A timed contP N under infinite server semantics is a piecewise linear system due to the minimum operator that appears in the flow definition.

Example 1. Let us consider the net in Figure 1. The flows of the transitions are given by:  f1 = λ[t1 ] · m[p1 ]    f2 = λ[t2 ] · min(m[p2 ], m[p3 ]) f3 = λ[t3 ] · min(m[p4 ], m[p5 ])    f4 = λ[t4 ] · m[p6 ]

146

p1

t1

p3

t2

p2

p5

t3

p4

t4

p6

Fig. 1. Timed contP N with several equilibria points.

If λ = [1, 1, 1, 1]T , for example, we can write:  ˙ 1 ] = f2 − f1 = m[p2 ] − m[p1 ] m[p     ˙ 2 ] = f1 − f2 = m[p1 ] − min(m[p2 ], m[p3 ]) m[p    ˙ 3 ] = f3 − f2 = min(m[p4 ], m[p5 ]) − min(m[p2 ], m[p3 ]) m[p ˙ 4 ] = f2 − f3 = min(m[p2 ], m[p3 ]) − min(m[p4 ], m[p5 ]) m[p     ˙ 5 ] = f4 − f3 = m[p6 ] − min(m[p4 ], m[p5 ]) m[p    ˙ 6 ] = f3 − f4 = min(m[p4 ], m[p5 ]) − m[p6 ] m[p

(2)

Thus, nonlinearity appears due to synchronizations (|• t| > 1). One linear system is defined by the set of arcs in Pre limiting the firing of the transitions. Definition 4. Let Σ = hN , λ, m0 i be a timed contP N and m a reachable marking. It will be said that the arc (p, t) constraints the dynamic of t at m iff: m[p] . f [t] = λ[t] · Pre[p,t]

Definition 5. A configuration of Σ at m is a set of (p, t) arcs describing the effective flow of all the transitions. So, a configuration is a cover of T by its inputs arcs. One possible representation of a given configuration is a matrix form, G ∈ {0, 1}|P |×|T |:  1 if pj is limiting the flow of ti (3) G[pi , tj ] = 0 otherwise Obviously, G ≤ Pre, even if the net is ordinary (i.e. all arcs have weight one). Each configuration defines an associated linear system. Example 2. Let us consider the net in Figure 1 with λ = [1, 1, 1, 1]T . As we saw in the Example 1, this is a piecewise linear system. For the configuration {(p1 , t1 ), (p2 , t2 ), (p5 , t3 ), (p6 , t6 )}, m[p2 ] ≤ m[p3 ] and m[p5 ] ≤ m[p4 ]. Then the active linear system is:  ˙ 1 ] = m[p2 ] − m[p1 ]   m[p   ˙ 2 ] = m[p1 ] − m[p2 ] m[p    ˙ 3 ] = m[p5 ] − m[p2 ] m[p ˙ 4 ] = m[p2 ] − m[p5 ] m[p     ˙ 5 ] = m[p6 ] − m[p5 ] m[p    ˙ 6 ] = m[p5 ] − m[p6 ] m[p

147

or in matrix form:



 −1 1 0 0 0 0  1 −1 0 0 0 0     0 −1 0 0 1 0   ·m ˙ = m   0 1 0 0 −1 0   0 0 0 0 −1 1  0 0 0 0 1 −1

(4)

Let us now consider the configuration {(p1 , t1 ), (p2 , t2 ), (p4 , t3 ), (p6 , t6 )}. Then m[p5 ] ≥ m[p4 ] and m[p2 ] ≤ m[p3 ] and the linear system associated is:  ˙ 1 ] = m[p2 ] − m[p1 ] m[p     ˙ 2 ] = m[p1 ] − m[p2 ] m[p    ˙ 3 ] = m[p4 ] − m[p2 ] m[p ˙ 4 ] = m[p2 ] − m[p4 ] m[p     ˙ 5 ] = m[p6 ] − m[p4 ] m[p    ˙ 6 ] = m[p4 ] − m[p6 ] m[p or in matrix form:



 −1 1 0 0 0 0  1 −1 0 0 0 0     0 −1 0 1 0 0   ˙ = m  0 1 0 −1 0 0  · m    0 0 0 −1 0 1  0 0 0 1 0 −1

(5)

Observe that, depending on the marking of the places, the evolution of the system will be given by one or other linear system. Equations 4 and 5 describe two of these different linear systems. Any (reachable) marking defines a configuration. When the marking of several places are limiting the firing of the same transition, any of the associated linear systems can be used. Remark 2. If N is JF then all arcs in Pre are constraining the dynamic of the full system (i.e. all those arcs are essential covers). Let the set of all configurations be denoted as G, were G(m) is the matrix representing the configuration associated to m. The number of minimal configurations (i.e. only one constraining arc per transition is taken) is bounded Q • by the net structure (i.e. does not depend on the marking) and is equal to | ti |. ti ∈T

Timed contP N systems evolve from m0 and may reach a steady state. For unforced contP N the computation of bounds for the steady was studied in [6] and it is based on a branch and bound technique, each node corresponding to a linear programming problem (LPP). Usually, the system evolves to a steady state, but for certain cases, oscillations can be maintained forever. For example the evolution of the net system presented in Figure 2 is sketched in Figure 3 and characterizes an oscillatory system.

148

p1 100 90

p5 t1

m1 m2 m3 m4 m5 m6

80

p2

70

t2

60 50

t3

p3

t4

40 30

p6

20 10 0

p4

Fig. 2. Timed contP N system that has an oscillatory behavior with m0 = [100, 0, 100, 0, 1, 1]T and λ = [1, 12, 10, 1].

3

0

10

20

30

40

50

60

70

80

90

100

Fig. 3. The evolution of the timed contP N system presented in fig. (2)

On how to control timed contP N s

The parameters λ associated with the transitions in timed contP N s represent the maximum firing rate of each transition. Hence, the only action that can be applied is to slow down their firing flow. If a transition can be controlled (its flow reduced or even stopped), we will say that is a control-feasible transition. The forced flow of a controlled transition ti becomes fi − ui , where fi is the flow of the unforced system (i.e. without control) and u is the control action 0 ≤ ui ≤ fi . In the first part of this section technical notations are presented, while in the second one some considerations regarding the equilibrium points are developed. 3.1

Notation

Definition 6. H = [hi,j ] is |T | × |P | matrix, where  1 , if Pre[j, i] > 0 hi,j = Pre[j,i] 0, otherwise Observe that matrix H is just the transpose of the matrix Pre where the non null elements are not Pre[p, t] but their inverses. Definition 7. Let R, W and E be three matrices with identical dimensions. The matrix operator is defined as: R = W E, where rij = wij × eij Definition 8. The configuration operator is the function Π : RS(N , m0 ) −→ |T |×|P | such that: Π(m) = G(m) H where G(m) is the matrix representing the configuration associated to m.

149

(6)

The configuration operator associates to every marking m a matrix |T | × |P |, such that each row i = 1..|T | has only one non null element in the position j that corresponds to the place pj that restricts the flow of transition ti . The product Π(m) · m(τ ) is the enabling degree of each transition at time τ , e(τ ). Through this paper the notations Π(md ) and Πd will be used indistinctly. The maximum firing rate matrix is denoted by: Λ = diag(λ1 , .., λm ). 3.2

The state equation of controlled timed contP N

According to the above notation, the controlled flow vector is f = Λ · Π(m) · m − u ≥ 0, with ui = 0 if ti is not a control-feasible transition. Thus the state equation of controlled timed contP N s (i.e. net systems in which all the transitions are control-feasible: ∀t ∈ T , u[t] > 0 is possible at certain instant) becomes: 

˙ = C · (Λ · Π(m) · m − u) m 0 ≤ u ≤ Λ · Π(m) · m

(7)

Unless otherwise stated, in the following we will assume that all transitions are control-feasible. Controlling the set of transitions, almost all reachable markings of an untimed system can be reached in the timed system. The only problem is at the borders when the marking of one place is zero. In this case, the marking is reached at the limit (this is like the discharging of a capacitor in an electrical RC-circuit: theoretical total discharging takes an infinite amount of time). For example, in the net system in Figure 4 the marking [0, 1, 1]T is reached in the untimed model. Considering now the timed model, stoping transitions t2 and t3 (u[t2 ] = f [t2 ] and u[t3 ] = f [t3 ]) and setting u[t1 ] = 0, the marking [0, 1, 1]T is ˙ 1 ](τ ) = −λ[t1 ]·m[p1 ](τ ) → m[t1 ](τ ) = e−λ[t1 ]·τ . reached at the limit because m[t Note that it takes an infinite amount of time to empty p1 . The following can be stated: Proposition 1. If all transitions are control-feasible, then all the reachable markings of the untimed contP N can be reached in the timed model, maybe at the limit. (lim-RStimed = lim-RSuntimed ). The steady-state markings we are interested to obtain (reference markings for the control loop) are positive (if the marking of a place is zero then the flows of the output transitions are zero, meaning total inactivity of the machine or processor being controlled). Defining RS + (N , m0 ) = {m ∈ RS|m > 0} these markings can be reached in finite time in the timed model. If the contP N is consistent and all transitions can be fired at least once, then m ∈ RS + iff BT · m = BT · m0 , m > 0 [4]. Definition 9. Let md ∈ RS + and 0 ≤ ud ≤ Λ · Π(md ) · md . Then md is an ˙ d = 0. equilibrium point for ud if m

150

An equilibrium point represents a state in which the system can be maintained using the defined action. Given an initial marking and md a desired marking, one control problem is to reach md and then keep it. In this section this transient control will not be considered. Obviously, taking into account (7), md is a equilibrium marking if C · Λ · Π(md ) · md − ud = 0. Therefore, the flow of a controlled timed contP N (f = Λ · Π(md ) · md − ud ) is a T-semiflow. Given a marking md ∈ RS + , the control input ud ensuring that md is an equilibrium point can be computed solving the following system: C · (Λ · Π(md ) · md − ud ) = 0 0 ≤ ud ≤ Λ · Π(md ) · md

.

p1

p2

t1

(8)

. t2

p3 2 t3 Fig. 4. Timed continuous Join-Free system with λ = [1, 1, 1]T and unique equilibrium point for a given ud (for example md = [0.66, 0.66, 0.66]T for ud = [0, 0, 0]T ).

Given a ud , let us denote as Mud all the equilibrium states it could maintain. That is, Mud = {m ∈ RS + |C · (Λ · Π(m) · m − ud ) = 0, 0 ≤ ud ≤ Λ · Π(m) · m}. The set Mud can have one single element (Figure 4) or an infinite number of equilibrium points in a single configuration (configuration {(p1 , t1 ), (p2 , t2 ), (p3 , t3 ), (p4 , t4 ), (p5 , t5 ), (p7 , t6 )} in Figure 6), or in several configurations (configurations {(p1 , t1 ), (p4 , t2 ), (p7 , t3 ), (p5 , t4 ), (p6 , t5 ), (p8 , t6 )} and {(p1 , t1 ), (p4 , t2 ), (p7 , t3 ), (p5 , t4 ), (p6 , t5 ), (p9 , t6 )} in Figure 8). Next proposition characterizes all the equilibrium points of a net system with the same control action in steady state, ud . Proposition 2. Let Σ = hN , λ, m0 i be a consistent timed contP N system with all transitions fireable at least once and md an equilibrium point for ud . Then mi is also an equilibrium point for ud iff:  T B · (md − mi ) = 0 (1)    C · Λ · (Πd · md − Πi · mi ) = 0 (2) (9) (3)  mi ≥ 0   Λ · Π i · mi ≥ u d ≥ 0 (4)

151

.

p1

t1

.

p2

p3

t2

t3

p4

p5

t4

t5

p7

p8

.

p6

t6

Fig. 5. Timed continuous Marked Graph system with λ = [1, 1, 1, 1, 1, 1]T and many equilibrium points in the same configuration for a given ud .

Fig. 6. Equilibrium points of the timed continuous Marked Graph system in Figure 5 for ud = [0, 0, 0, 0, 0, 0]T .

Proof. =⇒ If mi is an equilibrium point it is a reachable marking. The system is consistent so: BT · mi = BT · md , i.e. (9.1) is necessary. Both markings are equilibrium points: C · (Λ · Πd · md − ud ) = 0 and C · (Λ · Πi · mi − ud ) = 0. Eliminating ud with both equations, (9.2) is obtained. ⇐= Equations (9.1) and (9.3) ensure the reachability of mi because the net is consistent and every transition is fireable. The control input ud can be applied (9.4) and using (9.2) mi is an equilibrium marking. t u Lemma 1. Let hN , λ, m0 i be a timed contP N system and md , mi two equilibrium points for ud . The flows at these markings are equal iff Πd · md = Πi · mi . Proof. Flows are equal: iff Λ · Πd · md − ud = Λ · Πi · mi − ud , that is iff Λ · (Πd · md − Πi · mi ) = 0. Since Λ is a full rank matrix (by definition is a diagonal matrix with diagonal elements greater than zero), this can happen iff Πd · md = Π i · mi . t u Example 3. For the timed contP N system depicted in Figure 9 the optimal flow fmax = [0.2, 0.2, 0.6, 0.2]T is obtained with ud = [0, 0, 0, 0]T and marking md = [0.2, 0.6, 0.6, 0.6]T . Marking m0 = [0.1, 0.3, 1.8, 0.3]T , is also an equilibrium point, and the flow is different f 0 = [0.1, 0.1, 0.3, 0.1]T . Obviously, the conditions of the lemma do not hold, Πd · md 6= Π 0 · m0 . Theorem 1. Let hN , λ, m0 i be a consistent timed contP N system with all transitions fireable at least once. In one configuration Π all the equilibrium points for a given u have the same flow if     Π Π | −Λ−1 · X1 ... −Λ−1 · Xk rank = rank +k BT BT | 0 ... 0 where k = |T | − rank(C) and X1 , ..., Xk is a T-flow basis.

152

.

p1

t1

. .

p2

p3

t2 p4

t3

p5

p6

0.5 t4

t5

p8

p9

0.5

p7

t6

Fig. 7. Timed contP N system with λ = [1, 1, 1, 1, 1, 1]T and many equilibrium points in the same configuration for a fixed ud .

Fig. 8. Equilibrium points of the timed contP N system in Figure 7 for ud = [0, 0, 0, 0, 0, 0]T .

Proof. Let us assume that ma and mb are two equilibrium points under Π for the same control u. Obviously, the flow in steady state will be a T-semiflow: Λ·Π ·ma −u = α1 ·X1 +...+αk ·Xk , Λ·Π ·mb −u = β1 ·X1 +...+βk ·Xk . Now, we can write: Π · ∆m − Λ−1 · (ζ1 · X1 − ... − ζk · Xk ) = 0 (∆m = ma − mb , ζi = αi − βi , ∀i). Moreover, since these markings are reachable, BT · ∆m = 0.   ∆m   ζ1  Π | −Λ−1 · X1 ... −Λ−1 · Xk  =0 · (10) T  ...  B | 0 ... 0 ζk

Under the rank condition for every solution of this system ζi = 0 ∀i. Therefore ma and mb have the same flow. t u

Example 4. Let us consider the contP N system in Figure 10 with λ = [2, 1, 1]T . The configuration {(p4 , t1 ), (p4 , t2 ), (p3 , t3 )} with associated matrix Π can have several equilibrium points with different flows because the conditions of The   0 0 0 21 1110 orem 1 are not satisfied. For this system, Π =  0 0 0 1 , BT = , 1041 0 0 1 0 1     2 Π −Λ · X Π Λ−1 ·X =  1  and rank = rank = 4. If u = [0, 0, 0]T , the BT 0 BT 1 equilibrium markings m1 = [15.25, 1, 0.75, 0.75]T and m2 = [15.5, 0.8, 0.7, 0.7]T belonging to this configuration have the flows f1 = [0.75, 0.75, 0.75]T and f2 = [0.7, 0.7, 0.7]T respectively. Thus, any intermediate value is also possible. For the class of Equal Conflict contP N and non-controlled conflict transitions, we can prove that all equilibrium points have the same flow under the same configuration.

153

.

p1

t1 2

p1 15 t2

2

2

p2

t1 p3 p2

t3

p3 2

2 t2

p4 3

t3 3

t4

p4

Fig. 9. Conservative but not lim-live continuous EQ system with several non optimal equilibrium points for λ = [1, 1, 1, 1]T .

Fig. 10. Bounded and lim-live contP N that has several equilibrium points with distinct flow.

Theorem 2. Let hN , λ, m0 i be a bounded and lim-live EQ timed contP N system. Given u in which transitions in conflict are not controlled, there exists at least one equilibrium point, and even if there are more, all of them have the same flow. Proof. The throughput in steady state for unforced (u = 0) continuous EQ nets can be computed using a linear programming problem ([9]). More precisely, the throughput is obtained looking for the slowest P-semiflow. The solution is unique with respect to the flow, but there can exist more than one marking that respect the P-semiflows and have the same associated flow. Assume • t = p (i.e. non synchronizing transition) and u[t] 6= 0. If the steadystate marking of p is m[p], we can reduce the value of m[p] and transform the system into an equivalent one with the same steady-state flow with the marking m0 m m0 [p] = m[p]− Pre[p,t] ·u[t]. The flow will be: λ[t]· Pre[p,t] = λ[t]· Pre[p,t] −u[t], the λ[t] same as in the original system (with u[t] 6= 0). For every controlled transition we can apply the same technique (in the case of synchronizations we remove tokens from all input places) obtaining an equivalent system with u = 0. For this system all the equilibrium points have the same flow. t u This theorem ensures that all equilibrium points of the CF contP N s systems in Figure 4, Figure 5 and Figure 7 have the same flow for any constant control input u. The number of equilibrium points in one configuration are characterized in the following theorem. Theorem 3. Let hN  , λ, m0 i be a bounded and lim-live EQ timed contP N sysΠi tem. If rank = |P | and conflict transitions are not controlled, then at BT most one equilibrium point exists under Πi .

154

 Πi = |P | and md , mi (mi = md + ∆m) two equilibrium BT points under Πi for ud . Using Theorem (2) all equilibrium points with the same action ud have the same flow, i.e. Πi · md = Πi · mi or Πi · ∆m = 0. Moreover, BT · mi = BT · md , or BT · ∆m = 0. Under the rank assumption, the previous system has only one solution, ∆m = 0. So md = mi . Hence, Πi has at most one equilibrium point. t u   100000000 0 0 0 1 0 0 0 0 0   0 0 0 0 0 0 1 0 0   Example 5. Let us consider the net in Figure 7 and Π =   0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 000000010   000110000 0 0 0 0 0 1 1 0 0  one configuration. One P-flow basis is : BT =   1 1 0 0 1 0 0 1 0 . Because 101001001   Πi rank = 8 < 9 (the number of places) this configuration has an infinite BT number of equilibrium points (configuration 1= {(p1 , t1 ), (p4 , t2 ), (p7 , t3 ), (p5 , t4 ), (p6 , t5 ), (p8 , t6 )} in Figure 8). Proof. Let rank



Corollary 1. Let N be a conservative and consistent JF contP N . Given ud , only one equilibrium point exists in hN , λ, m0 i.

4

Optimal control for steady state

In production control is frequent the case that the profit function depends on production (benefits in selling), working process and amortization of investments. Under linear hypothesis for fixed machines (i.e. λ defined), the profit function may have the following form: wT · f − zT · m − qT · m0 , where f is the throughput vector, m the average marking, wT a gain vector w.r.t. flows, zT is the cost vector due to immobilization to maintain the production flow and qT represents depreciations or amortization of the initial investments. Let us consider the following linear programming problem:  max {wT · f − zT · m − qT · m0 }     C · f = 0, f ≥ 0 (a) (11) m = m + C · σ, m, σ ≥ 0 (b) 0      m[pj ] •  f [ti ] = λi · Pre[pj ,ti ] − v[pj , ti ], ∀pj ∈ ti , v[pj , ti ] ≥ 0 (c) where v[pj , ti ] are slack variables. The equations correspond to: (a) f is a T-semiflow; (b) fundamental equation (m is a reachable marking); (c) firing law for infinite servers semantics. In the case of |• ti | = 1 the corresponding slack variable is the same as the control input.

155

Theorem 4. Let hN , λ, m0 i be a timed contP N system and hf , m, vi be a solution of LPP (11), then 1. For every transition ti , let ui = min v[pj , ti ] be its control input. Then u is • pj ∈ t i

the control in steady-state for m. 2. If for every ui > 0 transition ti is control-feasible, then u is an optimal control.   m[pj ] Proof. In steady state, f [ti ] = λ[ti ] · min − ui . Choosing ui = Pre[p ,t ] • j i pj ∈ t i

min v[pj , ti ] for all transitions, the equation (11.c) is verified. If all ti with •

pj ∈ t i

ui 6= 0 can be controlled, the control can be applied in steady state; then the command is optimal. t u For mono T-semiflow nets (nets that have an unique minimal T-semiflow) (or reducible to [6]), the equation (11a) can be replaced with the equivalent one: f = α · X with X the minimal T-semiflow. If the net is consistent and every transition can be fired at least once, the equation (11b) is equivalent to: BT · m = BT · m0 , m ≥ 0. Example 6. The solution of LPP 11 is not necessarily unique (as we saw in the previous section). In order to obtain the maximum throughput in steady-state for the contP N in Figure 1 with λ = [1, 1, 1, 1]T and m0 = [1, 0, 3, 3, 1, 0]T . LPP (11) leads to:  max f1     f1 = f 2 = f 3 = f 4     m1 + m 2 = 1     m3 + m 4 = 6     m5 + m 6 = 1    f1 = m 1 − u1 (12) f2 = m2 − v22     f2 = m3 − v23     f3 = m4 − v34     f3 = m5 − v35     f4 = m 6 − u4    f , m, v ≥ 0 One optimal solution of this LPP is: f1 = 0.5, md = [0.5 0.5 3.5 2.5 0.5 0.5]T and v = [0, 0, 3, 2, 0, 0]T . Therefore u2 = min(v22 , v23 ) = 0, u3 = min(v34 , v35 ) = 0 and ud = [0 0 0 0]T is an optimal control in steady state. For sure the solution is not unique, all the markings that satisfy (13) are also solution of (12).   m1 = m2 = m5 = m6 = 0.5 m3 + m 4 = 6 (13)  m3 , m4 ≥ 0.5

156

Corollary 2. For JF contP N , the solution of the system in (11) is unique and u = 0 (monotonicity). Proof. For JF contP N we have only persistent transitions, so the solution is unique. Maximizing the flow, u = 0 is solution of (11) and is the same as the steady state of the unforced net. t u

5

Approaching dynamic control: on controllability and marking invariance laws

The dynamic systems under study are described by the equations in (7). The classical control theory for linear systems cannot be applied for our system because we are working inside a polytope (not in a vectorial space as in classical linear system) and our control input is bounded. In this section, a relaxation of the equations modelling the system is proposed, eliminating the restrictions regarding the bounds for the control input. The goal is to try to interpret “classical results” in the contP N case. Therefore, the system under study is reduced to the non-linear equations: ˙ = C · Λ · Π(m) · m − C · u m

(14)

For classical linear systems controllability has been thoroughly studied (see, for example [11], [12]). A dynamic system is said to be completely state controllable if for any time τ0 , it is possible to construct an unconstrained control vector u(τ ) that will transfer a given initial state x(τ0 ) to a final state x(τ ) in a finite time interval τ0 < τ . In system theory, a very well-known controllability criterion exists which allows to decide whether a continuous linear system is controllable or not. Given ˙ ) = A · x(τ ) + S · u(τ ), the controllability matrix is: a linear system x(τ C = [S · · · Ak S · · · A(n−1) S]

(15)

˙ ) = A · x(τ ) + S · u(τ ) Proposition 3. [11] A linear continuous-time system x(τ is completely controllable iff the controllability matrix C has a full rank. If C is not a full rank matrix then the system has only rank(C) controllable state variables. For contP N systems, every Π(m) leads to a linear and time-invariant dynamic system with controllability matrix C(m):   C(m) = − C · · · (C · Λ · Π(m))n−1 · C

(16)

Proposition 4. If all transitions are control-feasible, ∀m, the space generated by the columns of C(m) and C are equal. Thus rank(C(m)) = rank(C) = |P | − dim(B).

157

Proof. Observe that (C·ΛΠ(m))n−1 ·C = C·(ΛΠ(m)·C)n−1 . Thus, rank(C) = rank([C · · · C · (Λ · Π(m) · C)n−1 ]). Given that C is included in C(m) the first part is true. t u Notice that C(m) depends on Π(m), but the space generated by its columns is always the same, just that one defined by that of matrix C. This is something that can be easily expected because all transitions are have assumed to be control-feasible. Nets with at least one P-flow are non controllable in the classical sense of dynamic system for any firing rate λ and any initial marking m0 .P-flows based token conservation laws make |P | − rank(C) places linearly-redundant (even if they constraint the behaviour of the net system model). Let us consider first a motivating example. Example 7. Let us consider the contP N system in Figure 1 with λ = [α, β, γ, δ]T . This net has three independent token conservation laws derived from P-(semi)flows: ˙ 1] + m[p1 ] + m[p2 ] = 1, m[p3 ] + m[p4 ] = 6 and m[p5 ] + m[p6 ] = 1. Thus m[p ˙ 2 ] = m[p ˙ 3 ] + m[p ˙ 4 ] = m[p ˙ 5 ] + m[p ˙ 6 ] = 0, that means that three unconm[p trollable zero valued poles will appear. If we fix m[p2 ], m[p3 ] and m[p5 ] as state variables then m[p1 ], m[p4 ] and m[p6 ] are redundant. The linear dynamic system corresponding to the configuration {(p1 , t1 ), (p2 , t2 ), (p5 , t3 ), (p6 , t6 )} is:  ˙ 2 = −β · m2 + α · (1 − m2 ) = −(α + β) · m2 + α m m ˙ 3 = −β · m2 + γ · m5  m ˙ 5 = −γ · m5 + δ · (1 − m5 ) = −(γ + δ) · m5 + δ Eliminating all variables in the right hand side: −

γ γ·δ α·β β ·m ˙2+ ·m ˙ 5+m ˙3= − =q α+β γ+δ γ+δ α+β

Therefore, if q = 0 an additional zero valued pole is obtained. It is not rooted in a P-flow, but depends also on λ and BT m0 (i.e. not on a particular m0 but on the token load of P-flows). If q 6= 0, sooner or later the above configuration will be left. This clear since at least one of the variables (m[p2 ], m[p3 ] or m[p5 ]) will grow (or decrease) indefinitely. This can also be deduced using that the steady state flow has to be a T-semiflow of the net. Since it has only one minimal T-semiflow [1, 1, 1, 1]T , in steady state: f1 = f2 = f3 = f4 . f1 = f2 =⇒ α · m1 = β · (1 − m1 ) =⇒ f1 =

α·β α+β

f3 = f4 =⇒ γ · m5 = δ · (1 − m5 ) =⇒ f3 =

γ·δ γ+δ

f1 = f3 ⇐⇒

α·β γ·δ = ⇐⇒ q = 0 α+β γ+δ

Thus, if q 6= 0 this will not be the equilibrium configuration.

158

The following transformation matrix is used to change the reference in which the marking vector is expressed. This will be useful to approach the controllability of the system. The kind of transformation matrix to be considered will have in this context a particular structure.

.

p1

t1 p2

p1 t1

p2

p4

t2

t4

p3

p5

t3

t2

Fig. 11. Join-Free timed contP N .

Fig. 12. Choice-Free timed contP N system for example 11.

Definition 10. Let N be a contP N . A transformation matrix QN , is a full rank matrix, where the first rows form a basis of P − f lows and the remaining rows are completed with elementary vectors in order to build a full rank matrix QN . Example 8. For the timed models in Figure 11 and Figure 1, P − F low basis are:   110000   (17) BT1 = 1 1 and BT2 =  0 0 1 1 0 0  000011 Adding elementary vectors, Q matrices can be, for example:   110000 0 0 1 1 0 0     0 0 0 0 1 1 11  Q1 = and Q2 =  0 1 0 0 0 0 01   0 0 0 1 0 0 000001

(18)

The system described by equation (14) can be rewritten in new coordinates ¯ when matrix QN is used as a state vector transformation matrix. Let m ¯ = m, QN · m. Definition 11. Let hN , λ, m0 i be a timed contP N described by equation (14), where QN is a transformation matrix of N . Then

159



−1 ¯ ¯ − QN Cu m=Q N CΛΠ(m)QN m

(19)

will be named a Q-canonical representation of equation (14). Theorem 5. Let Σ = hN , λ, m0 i be a contP N system, then: 1. In Π(m) the number of zero valued poles is given by the dimension of the right annulers of C · Λ · Π(m) · v, v ∈ |P | . 2. The number of non controllable poles is |P | − rank(C) and are zero valued. Proof. 1. The zero eigenvalues of the matrix CΛΠ(m) are: CΛΠ(m) · v = 0 · v = 0 Therefore, the space generated by the column of ΛΠ(m) is contained in the kernel of C. For sure, the number of zero valued poles is given by the dimension of the right annulers of the matrix C · Λ · Π(m) · v. 2. Making the change of variables: ¯ = QN · m m

(20)

the Q-canonical representation of equation (14) is obtained: •

¯ = QN · C · Λ · Π(m) · Q−1 ¯ − QN · C · u m N ·m

(21)

Since QN contains a basis for the P-flows of C, then one zero row of the matrix QN · C implies one zero row (in the same position) in the matrix: QN CΛΠ(m)Q−1 N Without loss of generality, assume that the row i of QN · C is zero, then the row i of QN CΛΠ(m)Q−1 N is zero. Therefore the value of the state vari¯ i is never affected by other state variables, or by the input, thus able m ¯ i is uncontrollable. Intuitively, each one of these m ¯ i comes from a Pm flow equation, a linear constraints among variables (i.e. token conservation ¯ = bi · m¯0 ). Thus the pole value associated to m ¯ i is zero and law: bi · m there exists dim(B) uncontrollable zero valued poles. Using Proposition 4, rank(C(m)) = |P | − dim(B), then there exist no more uncontrollable poles. If there are more zero valued poles, they are controllable. t u Example 9. Let us consider the contP N system in Figure 11, where λ = [1, 1]T . It has the following equation:     −1 1 −1 1 ˙ = m ·m− ·u (22) 1 −1 1 −1

160

The controllability matrix of this net is the following:   −1 1 2 −2 C= 1 −1 −2 2 The rank of this matrix is one, then it has only one controllable pole (equal to −2) and one non controllable pole (equal to 0). A transformation matrix is:   11 Q= 01 then, the corresponding Q-canonical representation of equation (22) is:     • 0 0 0 0 ¯ = ¯ − m m u 1 −2 1 −1 Example 10. The timed contP N system shown in Figure 1 with λ = [1, 1, 1, 1]T and the configuration defined by the marking in the figure, has the following equation:     −1 1 0 0 0 0 −1 1 0 0  1 −1 0 0 0 0   1 −1 0 0       0 −1 0 0 1 0   0 −1 1 0      ˙ = (23) m  m −  0 1 −1 0  u  0 1 0 0 −1 0     0 0 0 0 −1 1   0 0 −1 1  0 0 0 0 1 −1 0 0 1 −1 One possible transformation matrix is:   110000 0 0 1 1 0 0   0 0 0 0 1 1   Q=  0 1 0 0 0 0 0 0 0 1 0 0 000001

then, the corresponding Q-canonical representation of equation (23) is:     00 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     0 0 0 0 0 0 0 0 0 0 •    u ¯ = ¯ − m m   1 0 0 −2 0 0   1 −1 0 0   0 0 −1 1 0 1   0 1 −1 0  0 0 1 0 0 −2 0 0 1 −1 Clearly, m ¯˙ 1 = m ¯˙ 2 = m ¯˙ 3 = 0, or in the original settings m ˙ 1 +m ˙2=m ˙ 3 +m ˙4= m ˙ 5+m ˙ 6 = 0, as already mentioned. Thus, they are zero valued uncontrollable poles (they only depend on the net structure). Globally speaking, this new system has the following poles: (0,0,0,-2,0,-2) and three linearly independent P-flows. The fourth zero value pole depends on hN , λi and BT m0 , not only on N as the uncontrollable ones.

161

Obviously, the non controllable poles appear in all the configurations. The controllable poles can have different values. For example, if we consider the same system and the configuration: {(p1 , t1 ), (p3 , t2 ), (p5 , t3 ), (p6 , t4 )}, the canonical representation is given by:     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     0 0 0 0 0 0 0 0 0 0 •    u ¯ = ¯ − m m   1 −1 0 −1 1 0   1 −1 0 0   0 1 −1 0 −1 1   0 1 −1 0  0 0 1 0 0 −2 0 0 1 −1 with the poles: (0,0,0,-1,-1,-2). But new, token-invariant laws may appear depending on hN , λ, m0 i (i.e. not depending on the net structure as these derived from P-semiflows, but from the precise marking m0 . Let us present a simple case. Example 11. Consider now the contP N in Figure 12 with λ = [α, β, δ, γ]T . There exist two P-semiflows: m1 + m2 + m3 = 1 and m1 + m4 + m5 = 1. Then there are only three state variables, for example m1 , m3 and m5 . The dynamic linear system associated with the configuration {(p1 , t1 ), (p2 , t2 ), (p3 , t3 ), (p4 , t4 )} is:  ˙ 1 = δ · m3 − α · m1 m m ˙ 3 = −δ · m3 + β · (1 − m1 − m3 )  m ˙ 5 = −δ · m3 + γ · (1 − m1 − m5 )

˙ 3 −m ˙ 5 = −β·(m3 −m5 ). Making a linear transformation Nevertheless, if β = γ, m ¯ 35 = m3 − m5 , then m ¯˙ 35 = −β · m35 . If m0 [p3 ] = in order to compute: m ¯˙ 35 = 0. In this case, the pole is different from 0, and depend on m0 [p5 ] =⇒ m m0 , thus m3 = m5 is a token conservation that is not rooted in a zero valued pole.

6

Conclusions

This work dealt with some control problems of continuous Petri nets. Necessary conditions for the equilibrium points in steady-state are some easy algebraic equations. For continuous EQ nets the steady-state flow is unique, even if several steady-state markings are possible. For general contP N s, a necessary condition of steady-state markings with different flows is presented. Optimal steady-state flow and input control is addressed by means of a LPP, that can be solved in polynomial time. In the last part of the paper, classical controllability theory of linear dynamic system is used to provide a first kind of interpretation to the class of systems that appear in our field, for the particular case in which all transitions have been assumed to be control-feasible. Controllability in more general framework and control schemes are currently topics under consideration.

162

References 1. Silva, M., Recalde, L.: Petri nets and integrality relaxations: A view of continuous Petri nets. IEEE Trans. on Systems, Man, and Cybernetics 32 (2002) 314–327 2. David, R., Alla, H.: Discrete, Continuous and Hybrid Petri Nets. Springer-Verlag (2004) 3. Silva, M., Recalde, L.: On fluidification of Petri net models: from discrete to hybrid and continuous models. Annual Reviews in Control 28 (2004) 253–266 4. Recalde, L., Teruel, E., Silva, M.: Autonomous continuous P/T systems. In S. Donatelli, J.K., ed.: Application and Theory of Petri Nets 1999. Volume 1639 of Lecture Notes in Computer Science., Springer (1999) 107–126 5. Teruel, E., Silva, M.: Structure theory of equal conflict systems. Theoretical Computer Science 153 (1996) 271–300 6. J´ ulvez, J., Recalde, L., Silva, M.: Steady-state performance evaluation of continuous mono-t-semiflow Petri nets. Automatica 41 (2005) 605–616 7. J´ ulvez, J., Recalde, L., Silva, M.: On reachability in autonomous continuous Petri net systems. In van der Aalst, W., Best, E., eds.: 24th International Conference on Application and Theory of Petri Nets (ICATPN 2003). Volume 2679 of Lecture Notes in Computer Science. Springer, Eindhoven, The Netherlands (2003) 221–240 8. Silva, M., Teruel, E., Colom, J.M.: Linear algebraic and linear programming techniques for the analysis of net systems. In Rozenberg, G., Reisig, W., eds.: Lectures in Petri Nets. I: Basic Models. Volume 1491 of Lecture Notes in Computer Science. Springer (1998) 309–373 9. Recalde, L., Silva, M.: Petri Nets fluidification revisited: Semantics and steady state. APII-JESA 35 (2001) 435–449 10. Alla, H., David, R.: Continuous and hybrid Petri nets. Journal of Circuits, Systems, and Computers 8 (1998) 159–188 11. Luenberger, D.G.: Introduction to Dynamic Systems. Theory, Models, and Applications. John Wiley & Sons (1979) 12. Ogata, K.: Discrete-Time Control Systems, 2nd. ed. Prentice Hall (1995)

163

164

Automated Control, Observation, and Diagnosis of Multi-layer Condition Systems ? Lawrence E. Holloway1 and Jeff Ashley2 1

Center for Manufacturing(UKCM) and Dept. of Electrical Engineering University of Kentucky Lexington, KY 40506 USA [email protected] 2 Center for Manufacturing(UKCM) University of Kentucky Lexington, KY 40506 USA [email protected]

Abstract. In this paper, we discuss the application of our research in controller synthesis techniques using condition systems. We consider a simple robotic arm as an example. This paper first presents an overall perspective. We then focus on the major components used in our approach. Namely these are: the models of the unconstrained open-loop system we wish to control; the synthesized observer models that provide state estimation; the synthesized controller models that provide closedloop control. We also present an overview of failure detection, diagnosis and recovery.

1

INTRODUCTION

The field of DES, introduced by [1] and [2], was motivated by the novel idea of extending traditional systems theory to discrete state systems. It has been investigated by many authors since then. The principal goal of much of this research has been in the synthesis of controllers from discrete state models (i.e. automatically generate controllers from models of the system). Condition systems were first considered by [3]. Our research in condition systems began with the presentation of our specification and analysis mechanism called a condition set sequence in [4, 5]. We then considered controller synthesis in [6]. We were motivated to consider the use of condition systems, a labeled Petri net, because it is a natural model for modular design and synthesis. We have since extended this research in ways highlighted within this paper. As a brief summary, we first create a set of condition system models that describe the unconstrained behavior of some open-loop system we wish to control. From this set of models and a set of specifications we synthesize most of the ?

This work has been supported in part by the National Science Foundation grant ECS0115694, Office of Naval Research N000140110621, and the Center for Manufacturing at the University of Kentucky.

165

models we need to implement a closed-loop control of the system. In this paper we focus on: the nature of these open-loop models; the observer models that provide a state estimate of the plant; and the taskblock models that implement closed-loop control. We also present an overview of failure detection, diagnosis and recovery as well as forbidden state avoidance. The Spectool project at the University of Kentucky is a project to develop a set of techniques and software tools for analysis, monitoring, control, and code development for a class of discrete systems. The approach was motivated initially by the problem of developing and debugging of logic control software for industrial systems. Given sufficient knowledge of the industrial system as represented by models, the goal is to use that knowledge to automatically synthesize correct control software according to high-level specifications, and to synthesize monitors for automated fault detection and diagnosis. The approach demands that the system knowledge must be represented by a modeling framework with the following characteristics: – The system model must be composed of reusable subsystem models. The goal is to reduce the burden of modeling the system by using common plug-and-play component models, perhaps from libraries of common devices (actuators, sensors, conveyors, etc.), perhaps eventually supplied directly by the device manufacturer. – The subsystem models need to interact through well-defined input and output structures appropriate for modeling of physical devices. This demands that at the least the modeling framework need a notion of condition signals (signals with a value over time, as opposed to instantaneous events). For example, if a part is on a conveyor, the change of state of the part depends on the current state of the conveyor. Thus, the models need to interact in a way that a model of the part has current knowledge of information about the state of the conveyor. – The model interaction mechanism should be causal. A cause and effect structure is critical in modular synthesis of control and in automated fault diagnosis. The models that we use are condition systems, a class of the condition-event systems developed by [3] and considered by [7, 8] and others. The model is a form of Petri net with explicit input and output signals, called conditions. For the class of models considered for components, the condition system models are comparable to state machines with guards. The condition model framework allows systems to be modeled as a set of interacting components. The explicit input-output structures of these component models allow them to be combined together in a manner similar to the wiring together of digital circuits. This simplifies system modeling by allowing the reuse of common component models. It also provides the causal structure necessary for our control synthesis and fault diagnosis. The control synthesis part of the Spectool project has focused on synthesizing control from a high-level description of desired behavior, and to do this through a series of local synthesis operations on component models. More specifically,

166

Language-based fault detection

Language-based fault diagnoser Fault recovery

Controlidentified fault detection

Plant

Gplant

sensor outputs

Modular Observers

Component level diagnoser

Taskblock selection based on faults

Set of deviating conditions

GSE GSE

Fault alarms

Task Controllers

Gtask Gtask Gtask

control signals

taskblock disabling task state

Supervisor

Gsuper

supervisor choices

Gcontroller (synthesized control code)

Fig. 1. Synthesized elements of the control and monitoring system.

we view the control synthesis problem as a ”navigation” task of determining the right actuation signals to drive the system from its current state through a series of target goal states, and the task of control synthesis is to determine a safe path between these target states. For example, if one of the target goal states is to have a given product completed at the end of the conveyor, the control synthesis task is to determine the sequence of low level actuation signals (and the sensor signals in response) necessary to bring the incoming part to a completed state at the end. Furthermore, this is done through generating a series of local controllers from analysis of individual component models, and these are then connected sequentially and hierarchically to achieve the final control. Figure 1 shows the structure of the synthesized systems. Outputs of the interacting plant components are used by the interacting state observer components to determine the system state, which is then used by the interacting control components (called taskblocks) to drive the system through desired behaviors. A supervisor is used to coordinate the taskblock components to ensure safety constraints. A fault monitor is used to detect inappropriate system responses (detect faults) and diagnose their cause based on the causal structure of the plant’s component interactions. All elements of the controller (Gcontroller ) have

167

their logic automatically synthesized through analysis of the plant models and given high-level specifications of the desired behavior, and the resulting logic is then automatically converted into C++ objects, which are then compiled into executable software. The synthesis of taskblocks is documented in [9]. The synthesis of observers was described in [10]. The synthesis of the fault monitors is described in [11] [12]. The supervisor synthesis is described in [13]. The following list describes the elements from the figure in greater detail. – The Plant represents a model of the open-loop behavior for some system we wish to control. It is composed of one or more interacting component models, each a condition system, where each represents the open-loop behavior of some subsystem. Within the plant there may be many such component models. The specification is a condition set sequence that describes a desired behavior of the system. A specification has an equivalent condition system model. The specification net (called the Espec net in [6]) is synthesized from the specification. The specification net acts as the top-level model within our control scheme by initiating lower level controllers. – An observer is a synthesized condition system model that is used to estimate the state of a component of the plant. An observer collects dynamic information from the plant to provide this estimate. Thus, a component model state might not be directly evident from observed signals, but as long as the component satisfies certain properties then the observer will be able to provide an accurate estimate of the state. In general, we need an observer for each component model within the plant. – A taskblock is a synthesized condition system model that represents a controller for a specific component model. For some component model there may be many such taskblocks where each represents the controller logic for achievement of a specific task or goal (also representable as a set of conditions). – We have considered two methods for fault detection and diagnosis which is responsible for detecting faulty behaviors and identifying the faulty component. In the first, we have considered an approximate diagnosis scheme using causal networks in [11]. We presented a complimentary rapid detection scheme by modifying taskblock synthesis to include fault detection capability in [12] and [14]. We have also considered a language-based detection and diagnosis approach that provides a ”best possible” diagnosis given the constraints of observability in [12]. Finally, we have considered fault recovery in [15]. – Forbidden state avoidance handles resource allocation and avoidance of catastrophic states that occur between two or more component models within the plant model. We can also characterize this as supervisory control in the spirit of [1]. We also use the same mechanism to prevent two taskblocks from targeting contradictory goals. In our initial work in this area, we presented a non-optimal method represented as simple condition system models that can preempt taskblock functioning via a set of conditions that are inputs of

168

potentially affected taskblocks. We will not consider this work within this paper although details can be found in [13].

GUI

Forbidden state Specification

Control Specification

Component Component Component Models Models Models

X-plant Synthesis Tools F.S. avoiding Synthesis tools

Taskblocks X-plant nets Taskblocks Taskblocks

Control Synthesis Tools Taskblocks Nets Taskblocks Taskblocks

Observer Synthesis Tools

Taskblocks Nets Taskblocks Taskblocks

Diagnosis Synthesis Tools

Taskblocks Nets Taskblocks Taskblocks

Taskblocks Nets Taskblocks Taskblocks

Code Generation (CodeMaker) C++ files Taskblocks Taskblocks Taskblocks

.exe Generation (MakeMaker)

Generated makefile

Executable controller

Fig. 2. The synthesis of controller, observer, and other portions used within our approach.

Figure 2 illustrates the synthesis elements and their relation to one another within our scheme. In this diagram, octagons represent specifications and models that must be created by a human, while circles represent synthesized models or control code. Finally, the squares represent implemented software used in this process. This paper is organized as follows. In section 2, we define condition systems and discuss properties of such systems. We frame the problem of observation for condition systems in section 3. We present taskblocks in section 4, and in section 5 we define the diagnosis problem. We conclude with a brief discussion.

169

2

Condition systems and plant models

Condition systems are a form of Petri net with explicit inputs and outputs called conditions. These conditions allow us to represent the interaction of subsystems or components as well as the interaction of a system with a controller [6]. The systems that we consider interact with each other and with their outside environment through conditions. A condition is a signal that either has value “true”, or “false”. Let C be the universe of all conditions, such that for each condition c in C, there also exists a negated condition denoted ¬c , where ¬(¬c) = c. The following defines a condition system. We again note that we use this type of model exclusively within this paper. A condition system is a form of Petri Net that requires conditions for enabling of transitions, and that outputs conditions (establishes the truth of certain conditions) according to its marking. Further discussion of the condition systems we consider can be found in [6]. Definition 1. A condition system G is modeled as a labeled Petri Net characterized by a set of places PG , a set of transitions TG , a set of directed arcs AG between places and transitions, and a condition mapping function ΦG (·) that maps condition sets to places and transitions. The dynamics of the system are defined in the following manner: 1. The states are the markings of the Petri net: The state of the condition system is determined by the markings of the places. A marking for the system is defined as m, and for a single place as m(p). The set of all markings is defined as MG and the initial marking is defined as m0 . 2. The output conditions have their truth value established by marked places: A condition system outputs conditions according to the marking of the system such that for any place p with m(p) > 0, then all conditions c ∈ Φ(p) associated with that place will be true. 3. Next-state dynamics depend on state enabling and condition enabling: A transition t can fire thereby changing the state of the system if it is state enabled and condition enabled as described below. (a) A transition t ∈ T is state enabled if all places p, that are input to t, have a nonzero marking (m(p) ≥ 1). (b) A transition t ∈ T is condition-enabled if all conditions mapped to t via ΦG (t) have a truth value of true. A transition that fires removes a token from each place that is input to the transition, and adds a token to each place that in an output of the transition in the usual Petri net manner. An example of a condition system is shown in figure 3. Note that a condition system can be subdivided into components, where each component is a condition system over a set of connected places and transitions which are disconnected from all other places and transitions. These components communicate exclusively through conditions where the output conditions of one component may enable and fire a transition in another component. The key advantage to this modeling

170

structure is that it allows for modular design and analysis. For the remainder of this paper we will use the notation G to indicate the complete system, and the notation {G1 , . . . Gn } to indicate the set of components in G. We also make the following assumption on the structure of our components. Assumption 1 For any component Gi ∈ G and any condition, c, output by Gi , the following are assumed to hold: 1. c is not an output of any other component. 2. Gi does not output contradictions, and all output conditions of Gi are defined for each marking of Gi . 3. Gi has a finite number of markings. 4. The initial marking of each component is known. Item 1 ensures the modularity of the system by requiring that each condition is output by at most one component, Gi . This is a natural assumption for many types of systems we consider. However if this assumption is violated, then given initial markings for the components and by item 3 (finite markings) above, we can create one model that represents the composition of the models. Item 2 above states the the marking cannot force a condition to be both true and false at the same time. Currently the observer and taskblock synthesis techniques outlined in this paper require that the component models have a state machine structure, meaning each transition has exactly one input place and exactly one output place. By item 3 above, we know we can convert any of our component models into equivalent condition systems with state machine structures. Thus we can specify a plant model as a generic condition system (i.e. Petri net), and convert it into a state machine structure for synthesis using existing techniques. We have recently implemented this conversion within our Spectool software. We also note that although assumption 1 is logical for component models and for observer models, we do not require it for the taskblock models as synthesized by the methods in [6]. The behavior for a plant is described using sequences of condition sets describing the value of input and output conditions of the system. Specifications of desired behavior can similarly be described by such sequences of condition sets, which can include subsets of inputs and outputs, as well as additional conditions. A condition set sequence, called a C-sequence, is a finite length sequence of condition sets. Each condition set sequence is of the form (C0 C1 . . . Ck ). In [6] we defined a correspondence between valid marking sequences of our condition systems to C-sequences. Intuitively, a C-sequence corresponds to a marking sequence if the condition set sequence indicates the conditions that are output true by the markings, and if the condition sets indicate the true conditions required for condition enabling of transitions for the marking sequence evolution. We note however that correspondence is not necessarily one-to-one and while our intuitive explanation will suffice for this paper we refer the interested reader to [6] for the formal definition.

171

Define the language L(G, m0 ) to be the set of condition set sequences such that (C0 C1 C2 . . . Cn ) ∈ L(G, m0 ) if there exists a marking sequence (m0 . . . mk ) to which it corresponds. The descriptive ordering allows us to describe important characteristics of condition sequences without listing all details of all condition activity within the sequence. Thus, we are allowed to specify high level desired behaviors (the specification) and compare them to sequences that correspond to a marking sequence of the system. Another important aspect of the descriptive ordering is that there can exist an infinite number of equivalent C-sequences which also implies that there exists an infinite number of corresponding C-Sequences given a valid marking sequence. This then implies that the language of the typical condition system contains an infinite number of condition set sequences. We again refer the reader to [6] for a formal explanation of the descriptive ordering and for a more detailed discussion of the implications of the descriptive ordering on the language of a condition system. Additionally, not all conditions associated with a condition system are directly observable from the outside of the system. Typically, within an open-loop model of the system only the inputs (actuation signals) and the outputs (sensor readings) are available, and any other condition values must be determined by the observable ones. Obviously, this complicates synthesis procedures and is the motivating issue for the development of observer models. Example 1. A simple open-loop system is shown in figure 3. The system is composed of 9 component models that communicate via conditions. These models represent the up/down and left/right movement of a simple robotic arm. Places are represented by circles and when marked output an associated condition set. Transitions are represented by bars and input conditions partially determine the model’s transition enabling (along with the marking). In this figure, the marking corresponds to an output of atHome and atU p as true and other plant outputs as f alse. The inputs conditions to the plant are goDn, goR and goL. We note, that all other conditions are assumed to be unobservable. Assuming these inputs all had values of false, then we see that the transition with input condition ¬goDn in component G4 would be state and condition enabled. We close this section with a brief discussion on the nature of the openloop models we require for the methods presented in this paper. The models that represent components within a plant might at first appear counter intuitive to researchers within the control engineering community or those familiar with Grafcet. Typically models of this type have output actions associated with places and sensing associated with transitions. However, the plant models that we use have the typical roles of places and transitions reversed since a plant model represents how the system should behave when under control. Thus, when an open-loop system is modeled in such a way then it is possible to synthesize closed-loop controllers for the system that is being modeled. As we shall see the resulting taskblock models have actions associated with places in the usual manner.

172

Plant inputs

goDn

motor

The PLANT

¬goR,¬goL

goR,goL

Lft

up on mid on

goR,goL

goR,¬goL

on ¬goDn on

G1 vertical position

atDn atDn

Off goR,¬goL

¬goR,¬goL

goDn ¬on

¬down

¬goR,goL

goL

G5

actuator G4

G2 down sensor down

goR

horizontal pos. G6 Rgt

¬on up

left

up sensor ¬on

up

down G3

¬up

¬goR,goL Off Rgt

Rgt

Lft

Lft

home

left

G7

Rgt Rgt

Lft home G8

Lft

right G9

left

home

right

¬left

¬home

¬right

atUp

right

Sensors

Plant outputs atDn

atUp

atLeft

atHome

atRight

Fig. 3. A condition system describing the open-loop behavior of a robotic system.

3

Synthesis of Observers

An observer is a system that inputs signals from the system and then determines state information of the system. Determining the state information is important because the controllers that we consider depend on knowledge of the state of system components. Just as the control synthesis method focuses on synthesis through local analysis of component models, a state observer for the system can also be synthesized through local analysis of component models. The resulting observers are condition systems also. In [16], an observer synthesis method is given for individual components. In [10, 17], it is shown that under certain structural conditions, these individual observers can be interconnected together to generate a state observer for the system, even when some components may not generate any signals that are directly observed. Generation of a separate observer instead of embedding this information within a controller, as is typically done, offers several potential advantages. First, an observer can be used for things other than control, such as diagnosis and correction, and with observer models this is easily accomplished. It also allows for potential model compactness in that one observer can be used by many taskblocks. And finally it allows for consideration and synthesis of the controller and observer in relative isolation of the other. In conventional system theory, an observer is a system that inputs observations from a plant and outputs an indication of the state of the plant. In this paper, we limit our consideration to observers of component models, but we expand the function of an observer to include estimation of the plant state

173

and estimation of unobserved inputs and outputs of the plant. Thus, below we present the problems of condition and state observability defined in [18] and [10]. First we must introduce a qualitative notion of timing that creates a distinction between fast and slow transitions and that of a transient state. We again note that the following work presented currently requires that our component models be represented via a labeled state machine (i.e. - transitions have a single arc in and out, and a single marked place). Define TGf ast as the set of fast transitions for the system G. Transitions in TGf ast will fire without delay. Transitions that are not in TGf ast may (or may not) exhibit delay before firing. Intuitively, transitions in TGf ast would often (but not necessarily) correspond to control decisions or observations (both implemented in software). They can also correspond to transitions components that react fast with respect to a physical system (i.e. a sensor or an electronic device). Transitions not in TGf ast (i.e. slow transitions) could correspond to some physical state change (which is assumed to change slower than a state change in software). We then make the following definition which defines a transient marking: Definition 2. Given a time τ and a plant G with marking mτ , mτ is called a transient marking at time τ if there exists a fast transition t in TGf ast leaving one of the marked places in mτ that is also condition enabled. Thus, by this definition a transient marking will change without delay. In our work of observers at this point, we have made assumptions about the nature of the system and observer model. First we assume that observers react faster than the system they control and the taskblocks they output conditions to. The first assumption is natural for observers, and the second can be guaranteed in software. In conventional system theory, an observer is a system that inputs observations from a plant and outputs an indication of the state of the plant. In this paper, we limit our consideration to observers of component models, but we expand the function of an observer to include estimation of the plant state and estimation of unobserved inputs and outputs of the plant. In order for an observer to exist and uniquely identify the state of the plant, the plant must satisfy the properties of state observability and condition observability. First, define Cobs as the set of observable conditions for some plant G (i.e. typically but not necessarily the plant inputs and outputs. Definition 3. Cobs if: Given state, then mτ and the values

A plant G is called state observable under observed condition set times τ0 and τ such that τ ≥ τ0 , if state mτ is a non-transient can be determined uniquely from knowledge of initial state mτ0 of conditions in Cobs over period τ0 to τ .

So from the definition, a plant will be state observable if knowledge of an initial state and knowledge of its past observable conditions are sufficient to uniquely determine its current (non-transient) state. The following defines a condition observable plant.

174

{A}

{A}

p {x}

{y}

p’ {B}

p”

p

{x}

{A}

p’

{B}

Fig. 4. An example of direction confusion and progress confusion.

Definition 4. A plant G is condition observable for an observed condition set Cobs if: Given times τ0 and τ such that τ ≥ τ0 , if marking mτ is a non-transient state, then the values of all conditions c input and output by G at time τ can be determined uniquely from knowledge of initial state mτ0 and the values of conditions in Cobs over period τ0 to τ . Thus, we know a system is state and condition observable if we can determine the state of the plant given the observation of conditions and knowledge of the initial state. We exempt transient states from this requirement. Two structural properties of condition systems prevent observability though. These are progress confusion and direction confusion. We refer the reader to figure 3 for examples of each. The precise definition can be found in [18] and [10] . In [18] and [10], we presented an algorithm that synthesizes an observer for a single component given lack of progress and direction confusion. We have also shown how to create an observer for an entire system given that each component is condition and state observable. Figure 5 represents the observer models G1 ,G2 ,G3 , and G4 , of figure 3. We summarize single layer synthesis with the following. An observer for a component model is created by starting with the original model and replacing outputs with new and unique conditions (one for each place). In figure 5, State11 is such a condition associated with component G1 . An additional place, pidle is added and marked initially. This represents that the state of system is unknown. The synthesis of an observer is greatly facilitated by places within the component model that are designated as uniquely marked. A uniquely marked place has a set of associated output conditions that are only associated with that place. We note that each place in an observer, by synthesis, is uniquely marked. In observer synthesis a transition is added for each uniquely marked place that connects it to the idle state. Another way to determine the state of the system is to identify a sequence of unique outputs and inputs that lead to a marked place that is not necessarily uniquely marked. Although this idea is not present in the observer present we have considered this in [18] and [10]. In [10], we formally demonstrate classes of system structures which are state observable and condition observable. We also present an observer synthesis method

175

Observer inputs atDn

atUp

goDn

actuator

The Observer

G4 ¬goDn

Pidle goDn goDn

state42, ¬on G

state41, on

4

¬goDn vertical position G1 up

Pidle

G2 ¬atDn

atDn

state22, ¬down ¬atDn

Pidle atDn

¬down, ¬up on,down

state21, down

down

¬on,up state12 ¬up state13

up

up sensor G3 ¬atUp

Pidle atUp

state32, ¬up

atUp state31, up

¬atUp

state42 state22

state11

¬up

down

down sensor

on

state21

state11

state12

state13

Observer outputs

state41 state32

State31

Fig. 5. The observer model of the vertical motion of the plant (i.e. G1 ,..G4 ).

and prove that the synthesized observers correctly estimate the state and unobserved conditions. In [18] and [19], it was shown that observers for individual components can interact together, allowing state estimation for components with no directly observed outputs.

4

Synthesis of taskblocks

A taskblock is a condition system model that implements control within this framework [6], [20]. A taskblock is synthesized given a specification of desired behavior (a target condition set), and a model representing the observer and component model (the XPlant). In previous work, we have investigated the existence problem of taskblocks given some model of the system (i.e. is a system controllable). We have also shown how to synthesize taskblocks in a hierarchical and distributed manner given certain restrictions. Using these methods, we have synthesized compilable C++ code that controlled a modular factory system through a data acquisition board. In that work, we assumed that all states are reachable and the component models were live. As with observer synthesis and its restrictions, we also assume that the compo-

176

nent models have a state graph structure. Under these assumptions and given the observability property, we have shown how to synthesize taskblocks that can achieve a target goal independent of the component model’s initial state. Each taskblock has a specific control function. A taskblock becomes activated to begin its control function upon its activation condition, which uniquely identifies the taskblock. For this paper we denote an activation condition that we will use as do. For each element do we associate the following: – T B(do) is the unique taskblock (condition system model) for which do is an input. No other taskblocks or components have do as an input. – compl(do) is a condition output from the taskblock, indicating task completion associated with a single place within the taskblock. – idle(do) is a condition output from the taskblock and indicates that the taskblock is not activated. It is also associated with a single place within the taskblock. – sup(do) is a condition input to the taskblock from the supervisory controller. It allows for pre-emption of taskblock execution given the possibility of a forbidden state being achieved. – Gcompo (do) is the unique component model associated with the task do. The same component model may be associated with many different tasks. – goal(do) represents the condition output from the component model signifying task completion.

x)

go al (d o x) C in it (d o x)

Taskblock

) ox ) o x pl(d d le( m id co

TB(dox)

G(dox)

su p( do

do

x

The interface of the taskblock is shown in figure 6, indicating the signals under discussion.

System Component

lower levels

Fig. 6. Inputs and outputs of a taskblock associated with task dox .

In our initial work in the type of supervisory control necessary to determine the truth value of sup(do), we have added the ability to pre-empt a taskblock only at the beginning of any sequence it may execute [13]. Thus we are guaranteed to have a forbidden state avoiding control policy but it is currently non-optimal. We will address this in future research. The following defines how a taskblock should operate with the rest of the system in order to achieve it’s target goal.

177

Definition 5. For a given activation condition, do, and it’s associated taskblock, T B(do), a taskblock is said to be effective if it operates as follows: 1. If the taskblock has its activation condition, do, become true then the taskblock is said to become active. It will remain active as long as the do condition remains true. 2. When the taskblock becomes active, then idle(do) condition signal becomes false. 3. An active taskblock will interact with the component model (Gcompo (do)) (and possibly through other components) in such a manner that it eventually outputs the completion signal compl(do). 4. When the taskblock outputs the signal compl(do), then this implies that the associated component Gcompo (do) is outputing the condition goal(do) true. In [6], the term effective for taskblocks is defined formally using condition languages, and methods were presented to automatically synthesize an effective taskblock T B(do) by considering only the component Gcompo (do). The taskblock is activated by a do signal associated with some goal condition of the component, and it then outputs activation signals for other taskblocks for lower level components that respond with their own goal signals that drive Gcompo (do).

doA(S13)

state11

sup(doA(S13))

state13

{¬doA(S13)}

Controller: TB(doA(S13))

{¬doA(S13)}

{state12}

{doOn} {idle(doA(S13))}

{state11}

{state13}

{doOn} {state12}

{doA(S13)}

p_idle

state12

{cmpl(doA(S13)), doM(S13)}

p_init

{state13}

{¬doA(S13)}

idle(doA(S13))

cmpl(doA(S13))

doM(S13) doOn

Fig. 7. Taskblock model for model G1 representing a target of down.

If lower level taskblocks and components are guaranteed to be effective, then (under mild assumptions on the interaction of lower level taskblocks over shared

178

components) the synthesized higher level taskblock can be shown to be effective operating through them. Because of this result, when synthesizing taskblocks, it is sufficient to abstract away all lower levels into a Direct Translator. Simply put, a Direct Translator abstraction represents a set of lower layers of taskblocks and components as a single system that takes activation signals (such as dox ) for the lower levels and directly returns the corresponding completion signals (such as compl(dox )) to the taskblock and goal signals (such as goal(dox )) to drive the higher layer component. This abstraction of lower layers allows synthesis of any given taskblock to be done efficiently by using information only about single components. Finally, we have considered taskblock synthesis under partial observation. In this situation, modular observers provide inputs to taskblocks given observations from the plant. An XPlant is a synthesized model that represents the simple composition of the component model and the observer. It is used during taskblock synthesis whenever observers are needed, but is not used afterwards. This model is easily synthesized and is used in a straightforward manner for taskblock synthesis. Details can be found in [18]. The taskblock of figure 7 is synthesized from an Xplant model for component G1 . This taskblock corresponds to a desired behavior of ”move down”. The observer model G1 of figure 5 provides the state inputs to this taskblock. The output goDn is an input to another taskblock associated with the actuator model G4 of previous figures.

5

Failure detection, diagnosis, and recovery

In this section, we define the detection, diagnosis, and recovery problem within the condition system framework. We will also outline some of the approaches that have been developed, and briefly discuss some areas of current research. Failure diagnosis is an important area of interest within the DES community. It has been investigated within the traditional DES framework in [21] and [22] among others. In [23], the authors consider probability within the context of diagnosis using stochastic Petri net. Timing has been considered in [24] [25] [26], where the authors of [24] [25] utilize causal networks for diagnosis, and the authors of [26] utilize a rules based formalism. One common point in all of these approaches is that information about faulty behaviors is embedded with the plant models. In our work, we need not explicitly define faults within our open loop models, although we can models faults if so desired. We can accomplish this by comparing what we expect from the system under control (the models of the system) to what we see from the real system (an observed sequence of conditions). A detection operates on an observed sequence and when the observed sequence from the plant does not match any of the expected behaviors within the model of the plant then we have a fault. The diagnosis returns a set of potential candidate components that could be the source of the problem. Fault recovery entails reconfiguring the control to work around failed mechanisms within the plant. This work has been considered in [12, 11][15].

179

For a given system, we use superscripts to distinguish between the “real” system, G R , and our “model” system of expected behavior, G E . We also extend the superscript to the C-sequences and markings that we consider. For example, R a C-sequence of the “real” system is denoted by (C0R . . . Ck−1 CkR ) and the initial R marking by m0 . The real system is represented by a model (never created) that fully represents the system under consideration. We observe this real system through observable C-sequences. Ideally, the expected system (our model) completely captures the behavior of the real system. We will use the notion of real and expected system to define a diagnosis. Definition 6. A subsystem is said to have a fault if the language of the real component (GR i ) is not contained within the language of the corresponding model R E E (GE ) of the expected behavior, i.e. L(GR i i , m0 ) 6⊆ L(Gi , m0 ) is a fault of comR ponent Gi . In this paper the following assumption defines consistency requirements between the models of a system and their real world counterparts (items 1 and 2), and it requires that only one fault can occur at a time (item 3). Model-Reality Relationship Assumption (MRR Assumption): The real and expected systems are made up of component models such that G R = {GR 1 ,... E E R } respectively for some positive integers n and , GR } and G = {G , . . . , G R nR nE 1 nE . For G R and G E we require: 1. All components found in the expected model also exist in the physical system with the same outputs: 2. The observed outputs of the real system and the model are the same under their initial markings: 3. There exists at most a single subsystem fault: there exists at most one i such R E E that L(GR i , m0 ) 6⊆ L(Gi , m0 ). We specifically note that under our MRR assumption, it is possible for there to be subsystems in the real system, G R , that have not been modeled in the expected system. This will allow us to diagnose a system even when the system description, G E , is incomplete in its modeling of the real system’s dynamics, G R . These unmodeled subsystems may influence subsystems with corresponding models of expected behavior through some unmodeled interconnection. MRR assumption item 3 is the main limitation for this assumption. In practical systems, a failure of one component or subsystem often leads to other component failures. This issue is complicated by the fact that failure relationships may exist between the subsystems that are not captured in our condition system model. As an example consider a failed actuator which then leads to a broken spray head on another subsystem. Clearly these models may not share input or output conditions and hence would be considered causally independent with regards to the condition system. Resolution of this issue is important, but it obviously complicates the problem considerably. We also envision it will make the solution much less graceful and intuitive in that it would require further human intervention

180

in terms of specifying these types of physical causal interactions. Our approach requires no extra specification and thus no extra work for the specifier. In [6], we showed that the language generated by the system is the intersection of the languages generated by the components. Thus, each component model within a plant imposes a set of constraints on the language of the system. In [11] we extended this idea to define the language created by neglecting the constraints imposed by one subsystem. We call this a relaxed language since the language is larger than and contains the original language. Intuitively, a system G that is relaxed with respect to some component Gi can generate a language independent of any constraints imposed by the component. We have shown in [12] how to represent a relaxed component model. Let sobs be an observed C-sequence. A fault has been detected if it is determined that sobs 6∈ L(G E , mE 0 )|Cobs where |Cobs corresponds to the projection onto the observable condition set. Thus a fault is detected if the observed behavior is not consistent with the expected behavior defined by the model. A fault diagnosis is a localization of where the real system and the model of expected good behavior are inconsistent. This is expressed as follows. R Definition 7. Consider an observed C-sequence sobs = (C0R . . . Ck−1 CkR ) such that prior to the last condition set observation, the sequence was consistent with R the expected behavior, (C0R . . . Ck−1 ) ∈ L(G E , mE 0 )|Cobs . Define Diagnosis(sobs ) ⊆ E E G such that Gi ∈ Diagnosis(sobs ) if:

1. The complete observation sequence is not consistent with expected behavior: sobs ∈ / L(G E , mE 0 ) |Cobs , and 2. The observed sequence is consistent with the behavior of relaxing the behavior of subsystem GE i : E sobs ∈ (L(G E /GE i , m0 )) |Cobs . Note from the above definition that we restrict our interest to observed sequences which represent acceptable behavior prior to the most recent observed condition set, when the sequence became no longer representative of correct behavior. Thus, using the terminology of the preceding section, from the above definition, sobs is not within the expected behavior of the plant, but it is in the behavior resulting from relaxing after the initial time the behavior constraints imposed by some subsystem GE i ∈ Diagnosis(sobs ). In other words, if we allow the subsystem outputs Cout (GE i ) to take on any possible sequences of values (regardless of the subsystem inputs Cin (GE i ) or the dynamics imposed by the model GE ) following the initial output, some such sequence of values of Cout (GE i i ) would account for the behavior observed (input and output) from the remainder of the subsystems. We note from the definition above that determining the Diagnosis(sobs ) set is equivalent to n + 1 language inclusion tests for sobs , where n is the number of component models (one inclusion test for statement 1 and n inclusion tests for statement 2). This inclusion testing also yields a detection of a fault occurrence. Given a finite length sobs , each inclusion test can be computed in a finite number of calculations. This relies on the finiteness of the marking space.

181

However, the language inclusion test involves determining paths in the marking reachability graph of the system, and can be quite involved. For this reason, we show how to detect faults by incorporating a fault detector within the taskblock model structure in [14] [12]. In [11] we introduce a method to diagnose faults by approximating Diagnosis(sobs ). We have also considered a best possible diagnosis in [12]. In [11], we partition the diagnosis problem into the problem of detection (determining when a fault occurs), and diagnosis (determining the source of the fault). In those papers, determining the source of a fault was the focus. In standard D.E.S. literature, a diagnosis usually refers to both of these activities. Evaluation of definition 7 detects and diagnoses faulty behaviors. Evaluation of definition 7 item 1 yields a detection of a fault in that a fault occurs if Diagnosis(sobs ) is non-empty, and is fault free if it is empty. Evaluation of definition 7 item 2 determines the set of potentially faulty subsystems. Thus, we should be able to directly evaluate these definitions to determine a best possible diagnosis given the constraints of observability. We have also considered fault recovery in [15]. The current method assumes a fault has been detected and diagnosed. Given this information, a component model is modified to capture the faulty behavior (currently transitions are removed which represent a fault that limits functionality). A control is shown to exist in the presence of the fault if there exists a new taskblock (synthesized using existing techniques) given the fault model. Additionally, a faulty component may propagate faulty behaviors to other component thus limiting the functionality of influenced components.

6

Discussion

In this paper, we have presented an overview of our research into automated control and fault diagnosis using models of interacting discrete event components. In particular, we have summarized earlier work in control synthesis, observer synthesis, and diagnosis methods. The research described in this paper is intended to develop a collection of synergistic methods that use reusable, interacting component-level models. While we have considered many problems within this framework, there exist many opportunities for future research. First, timing information can be valuable both in synthesis and in simulation, and the methods presented should be extended to use timing information. Second, in some systems, the state space of individual components could be very large, and some early work in representing such large state spaces through colored Petri net techniques has been done in [27]. Further work in colored models could be used for improved control and diagnosis methods that exploit the structure of such models. Another area of important research that we have not considered is simulation and verification methods to ensure the validity of component models used, as well as techniques for improving modeling using the condition systems framework. Conversion of alternative models into the condition system framework, and vice-versa, would be useful for bringing

182

analysis methods and tools from other frameworks to our synthesis toolbox. The relation of condition languages with CTL models has been initially considered in [28]. Finally, we should emphasize that our investigations have been motivated by a number of applications and scenarios in factory automation and embedded systems control. Letting applications drive the research directions will continue to uncover new frontiers for extending the research.

References 1. Ramadge, P.J., Wonham, W.M.: Supervisory control of a class of discrete-event processes. SIAM J. on Control and Optimization 25 (1987) 206–230 2. Wonham, W.M., Ramadge, P.J.: On the supremal controllable sublanguage of a given language. SIAM J. on Control and Optimization 25 (1987) 637–659 3. Sreenivas, R., Krogh, B.: On condition/event systems with discrete state realizations. Discrete Event Dynamic Systems: Theory and Applications 1 (1991) 209–236 4. Holloway, L.E., Ashley, J.: Elaborative orderings of condition languages. In: Proceedings of 1998 IEEE Conference on Decision and Control, Tampa (1998) 5. Holloway, L., Ashley, J.: Condition languages and condition systems for modeling ambiguous control specifications. In: IEE International Workshop on Discrete Event Systems (WODES98), Cagliari (1998) 6. Holloway, L.E., Guan, X., Sundaravadivelu, R., Ashley, J.: Automated synthesis and composition of taskblocks for control of manufacturing systems. IEEE Transactions on Systems, Man and Cybernetics: Part B 30 (2000) 696–712 7. Hanisch, H.M., Luder, A., Rausch, M.: Controller synthesis for net condition/event systems with a solution for incomplete state observation. European Journal of Control 3 (1997) 280–291 8. Kowalewski, S., Lakhnech, Y., Lukoschus, B., Urbina, L.: On the composition of condition/event systems. In: Proceedings of International Workshop on Discrete Event Systems, WODES98, Cagliari, IEE (1998) 9. Holloway, L.E., Guan, X., Sundaravadivelu, R., Jr., J.A.: Automated synthesis and composition of taskblocks for control of manufacturing systems. IEEE Trans. On Systems, Man, and Cybernetics Part B. 30 (2000) 10. Holloway, L.E., Gong, Y., Ashley, J.: State observability and condition observability for a class of interacting discrete event systems. submitted to a special issue of Mathematics and Computers in Simulation (2004) 11. Ashley, J., Holloway, L.E.: Qualitative diagnosis of condition systems. Discrete Event Dynamic Systems: Theory and Applications 14 (2004) 395–412 12. Ashley, J.: Diagnosis of Condition Systems. PhD thesis, University of Kentucky (2004) 13. Guan, X.: Distributed Supervisory Control of Forbidden Conditions, and Automated Synthesis and Composition of Task Controllers. PhD thesis, University of Kentucky (2000) 14. Ashley, J., Holloway, L.E.: A fault detection scheme using taskblocks. In: 44th IEEE Conference on Decision and Control and European Control Conference (ECC 2005): Submitted, Seville, Spain (2005) 15. Ashley, J., Holloway, L.E., Dangoumau, N.: Fault recovering taskblocks and control synthesis for a class of condition systems. In: 16th IFAC World Congress : Accepted, Praha (2005)

183

16. Gong, Y., Holloway, L.E.: State observer synthesis for a class of condition systems. In: IEE International Workshop on Discrete Event Systems (WODES2000), Ghent (2000) 17. Gong, Y., Holloway, L.E.: Multi-layer state observers for condition systems. In: 8th IEEE International Conference on Emerging Technologies and Factory Automation(ETFA 2001), Antibes, France (2001) 18. Gong, Y.: Observer synthesis for control of a class of condition systems. PhD thesis, University of Kentucky (2003) 19. Gong, Y., Holloway, L.E.: Multi-layer state observers for condition systems. In: Proceedings of the IEEE International Conference on Emerging Technologies and Factory Automation (ETFA01), Antibes, Nice, France (2001) 20. Holloway, L.E., Callahan, A., O-Rear, J., Guan, X.: Spectool: Automated synthesis of control code for discrete event controllers. In: Discrete Event Systems: Analysis and Control. Kluwer Academic Publishers (2000) 21. Sampath, M., Sengupta, R., Lafortune, S., Sinnamohideen, K., Teneketzis, D.: Diagnosability of discrete event systems. IEEE Transactions on Automatic Control 40 (1995) 1555–1575 22. Sampath, M., Sengupta, R., Lafortune, S., Sinnamohideen, K., Teneketzis, D.C.: Failure diagnosis using discrete-event models. IEEE Transactions on Control Systems Technology 4 (1996) 105–124 23. Aghasaryan, A., Fabre, E., Benveniste, A., Boubour, R., Jard, C.: Fault detection and diagnosis in distributed systems: an approach by partially stochastic petri nets. Discrete Event Dynamic Systems: Theory and Applications; Kluwer Academic Publishers 8 (1998) 203–231 24. Provan, G., Chen, Y.L.: Diagnosis of timed discrete event systems using temporal causal networks: Modeling and analysis. In: Proceedings of the 4th Workshop on Discrete Event Systems(IEE). (1998) 152–154 25. Provan, G., Chen, Y.L.: Characterizing controllability and observability properties of temporal causal network modeling for discrete event systems. In: Proceedings of the American Controls Conference. (2000) 3540–3544 26. Huang, Z., Chandra, V., Jiang, S., Kumar, R.: Modeling discrete event systems with faults using a rules based formalism. Mathematical and Computer Modeling of Dynamical Systems 9 (2003) 233–254 27. Mandavilli, P.: Colored condition systems. Master’s thesis, University of Kentucky (2004) 28. Ashley, J., Holloway, L.: An equivalent ctl formulation for condition sequences. submitted to: A special issue of Discrete Event Dynamic Systems: Theory and Applications (2005)

184

 

!#"#$%& '(

&")+*,") 

- )/.0#(12345"%6 97 8:

Suggest Documents