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ô^ñ¬KO1Q@Wõ öÏ@FQNQNñÀù¿õ @-MNñÏIEBÉI-÷!MN>PORQSO O -FJAñÀô@-öÏO B¿õ O ) ú $ B)M\>PñÏQ"ð¿@-ðHO X"ò?OUQSMNJAKD(MN>PO8õ IFBsMNX\IEöI-÷*BAIEBAKO MNO1XNVñÏBPñÏQSMNñ¬õ4ðPö¬@-BsM\Q"QNJPýü þcORõnM4MNI)X\O -sJPñÏX\O VO BsM¹IE÷ýPñ¬QSñÏVJPö¬@M\ñÀIFBÊIEXUQNñÀVJPöÏ@-MNñÏIEBÊO -sJPñÀô@EöÀO1BAõ OòñjM\>±X\O1QNð¿ORõnM&M\I@ BPIFBAKO MNO X\VñÀBAñÏQSMNñ¬õUQSðHO1õ ñjù¿õ1@M\ñÀIFBÉJ¿QSñÏBPCBPIEB¿KO 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\IKJAõ ORK ñÀBõ IEVVJPBPñ¬õ @M\ñÀBACÊQSDQSMNO 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"ýPJMtõ 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>AOBAIEBAKO 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>ñÏQVIFXNO"CEO1BPO Xv@-ö^M\>A@-9B û!:'ÃðPXNORQSO1XNôFO1KJPBAKO1Xö¬@-BPCFJA@-CFO?O -FJAñÀôsü @EöÀO1BAõ O )4ýPJMöÏO1Q\Q9CFO BPO1X\@Eö MN>A@E: B 8ü
õ1@-ö¬õ JPöÏJA9Q '°ðAXNORQSO1XNôFO1KJPBAKO1X9ýPñ¬QSñÏVJAöÏ@-MNñÏIEB O -sJPñÏô@ü öÏO BAõ O ) ú û">POñÏBPðPJPMSü
IEJM\ðPJM*VIKO öFVW@M\õv>AñÀBPCõ IEBsMNX\IEö-QSMNJ¿KñÀORKUñÀB(ÿ ^@-ö¬QSIJAQNO1QMN>POBAI-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öÏöÀORKUQSDQSMNO V ñ¬Q*QNñÀVJPö¬@MNORK8ý^D&M\>PO?QNðHO1õ ñÀù¿õ1@MNñÏIE;B ò>PO1XNO M\>PO8ðPö¬@-BsMñÏQ@FQNQNJPVO1K)MNIýHO8ðAQSO1JAKIEüxBPIFBAKO MNO X\VñÀBAñÏQSMNñ¬õU@-BAKÉQSðHO1õ ñjùHõ @M\ñÀIFBñ¬Q@-öÏöÏIò?ORK M\IýHOBPIEBAKPO 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\ñÏõ9QNDQcM\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öÀöÏO1KQSDQSMNO1V ñ¬Q8ýPñ¬QSñÏVñÀö¬@-XUM\IÊ@KO M\O X\VñÏBPñ¬QcM\ñÏõ)QSðHO1õ ñjù¿õ1@M\ñÀIFBiú*û">PO O1ôEO BsM8QSO M8I-÷tM\>POWQSDQSMNO1V @-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@'ÃKO ù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|KI^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&KO MNO1XNVñÏBPñÏQSMNñ¬õ8ðPö¬@-BsMvQQSJAýþcO1õ MMNI @9ðHIFQ\QNñÀýPöÏDBPIEB¿KO 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\@-VO¹ðAXNIFýPöÀO1V @EQ?MN>¿@M QSMNJAKñÏO1KÉñÏB£PO9@÷°IFXNO1VO1BsMNñÏIEBPORK)õ IFBsMNX\IEöXNO -sJPñÀX\O VO1BFMñ¬Q"XNO1VIô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÷@EJMNIFVW@M\@KO ùABAO1KWIôFO Xt@9õ IEVü VIEBO ôEO1BsMQNO Mò>PO BÛO BAKPIò?ORK£òñjM\>ÇM\>POÉQNñÏVJPö¬@M\ñÀIFBX\O ö¬@MNñÏIEBÇ÷°IEX\VQ@²ðPXNO1öÏ@-MSM\ñÏõ OEú 0^ORõnMNñÏIEC B ðPX\O1QNO BsM\QQNJPð¿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¿õ öÏJAKO1Q4M\>PO ðA@Eð¿O1X1ú G
êèI!èPîcêtçJIç&ëLK²éM;NNîPO îSçQI!é¿îRM;S H
JPMNIEVW@-M\@Ê@EXNOWJAQNO1KM\IÊVIKO ö|KñÏQ\õ X\O M\OWO ôFO BsMQND^QSMNO1VWQ9@M9M\>PO)öÏIECFñÏõ1@-ööÏO ôFO öxú BPIFBAKO M\O X\VñÀBPñ¬QSMNñ¬õ²@EJMNIFV@-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.stuòñÀ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:KO1BPI-M\O1QM\>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öÀO1VO 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 UcPKO1BPI-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÷ rY KO1BPI-M\O1 K tAz 'Z,) w Y!ñÏQMN>AOQNO MIE÷&QcMv@M\O1Q9X\O1@Fõv>PO1K ý^F D O1XNI±IEXVIFXN~O tNüxMNXv@-BAQNñÀMNñÏIEBAQ ÷°X\IEg V ú / D)JAQNñÏBPCMN>PO tNüaõ öÏIFQNJPXNO4VW@-&ð PMN>PO9KO ùABPñÀMNñÏIEB:I-÷!MNXv@-B¿QSñÀMNñÏIEB÷°JPBAõ MNñÏIEBõ @EBÉýHO AO ^M\O BAKORKÇ÷°X\IEVPO9QSO MI-÷ O ôEO1BsM\QKO ù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:ý¿O9VIKO1öÀ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-÷?@EJMNIFV@-M\3 @ U±V²'ZY~±[\^[`_±[`Ycb]±[PY9d³±A)¹@-BAK U´9VJ'ZY9´[]\^[`_´[PYcb´[`Ycd´)&ñ¬Q¹MN>PO(@EJMNIFVW@MNIF| B U± µAU´{VJ'Y~±hYc´ [\^[*_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|s7´u)q.'¸s2±uh3_´'7´[`t])P)!ñÀ ÷
V t 1O9@-ö¬QSIWKO ùABPOUMN>A9 O ¬§¯«§IE#÷ U±4@EBA^K U´8@FQ|MN>PO9@EJMNIFVW@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\XNIKJ¿õ O4MN>PO9õ IEBAõ O ðMIE÷!@QNñÀVJPöÏ@-MNñÏIEBÉXNO1öÏ@-MNñÏIEBiú @ ¥]¯Ê¬Ḛ̈¯«§
ª`ÍḚ̈%¯«§ñÏQ?@9ýPñÏBA@-X\D À3Á ÂÃÄZÅÄÆ,ÃÈÇ É ñÏôEO1BMcò?I@EJMNIFVW@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 'Z7ϱ [P,Ï´ )v
Î"ú Púv±£3Ycd³±!ÐÓ,´3Ycd´Eú U ± ¯=¥£¥Ì¯Ôc°¸«BÕÍ£¥]¯Ê¬Ë}̰¸Í*Ô9Õ¦U ´ KO1BPI-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(KO BPIEMNO M\>A@MMN>PO1XNO?AO ñÏQSM\Q@&QNñÀVJPö¬@MNñÏIEB8X\O ö¬@M\ñÀIFB ÎòñÀ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öÀöÏO1KB@ Õ¯=¥]¯Ê¬Ḛ̈¯«§O -FJAñÀô@-öÏO B¿õ OX\O ö¬@M\ñÀIFB ñÀ÷*ñÀM|ñ¬Q"QSD^VVO 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Ç@EQ ±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)]KO BAI-MNORK:@E Q U±³Ø×^U´ PñÀ#÷ ÎñÏQQND^VVO MNX\ñÏõ8QNIMN>A@-!M Y{bA±³Ø×BYcb´-ú @ U ± @EBA@ K U ´ ,Î w 'Y ´ ± qY ´ ) ´ ñ¬Q¹@ @ ¥¯{¯Ë̪]¯°¦ À3Á ÂÃÄZÅÄÆ,ÃyÜÉ ñÏôEO1BMcò?I@-JM\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ãKO1BPI-M\O1KFU±Bä×U´*ñÀ÷OAñ¬QcM QNñÀVJPö¬@MNñÏIEBXNO1öÏ@-MNñÏIEBAQ{Î ± @-BAK(Î ´ QNJAõv>ÇM\>A@MBηVåÎ ± q|Î ´ @EBAKU ±|Ö!×7æ U ´ @-BAK U ´eÖ!×ç U ± ú 1OWòXNñÀMNc O ± ä × ´ M\I:KPO BPIEMNOMN>A@-MUMN>PO1XNOAO ñ¬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^VVO MNX\ñÏõ )]s>PIò?O1ôEO1XMN>AO4QNñÀVñÏöÏ@EXNñÀMcDI-÷@EJMNIFVW@M\@9ñÏQ"@-B O -FJAñÀô@-öÏO B¿õ OUXNO1öÏ@-MNñÏIEBiú è¹JPX"õ IFBAQcM\XNJ¿õnMNñÏIEB)I-÷*@9ýAñÏQNñÀVñÏöÏ@EXNñÀMcDO B÷°IFX\õ ñÀBACõ IFBFM\XNIFö¿X\O -sJPñÏX\O1QVO1XNCFO XtIE÷*QcMv@M\O1Q IE÷!@Wõ O1XSMv@-ñÏB@EJMNIFV@-MNIFBÉ@FQKO ù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( BPIEMNORQ U òñÀMN>²Mcò|IQSM\@M\O1Q ;[`7Ïa.Y$VO1XNCFO1K2ú ð&QN O ñZ;[`7Ïò&MNIÉKO BPIEMNOMN>POVO X\CEO1X¹IE÷ Mcò|I8QcMv@MNOR#Q (@-BA{K ,ÏÃúEû">AO &B YV'ZY ¿ s;[`7Ïu)qsñZ;[`7Ï=òu [E@-BAK ! ó [
ô 3Y ¿ s;[`7Ïu U±
@ \Ùf
|ñÀB 3_v'A ô [`&)"ñÏBUrÐ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@MVO X\CEO1X"I-÷ýAñÏQNñÀVñÏöÏ@EXQcMv@M\O1Q"ñÏB:@EBÉ@EJMNIFVW@MNIFB)D^ñÏO ö¬KPQ @ýPñ¬QSñÏVñÀö¬@-X@EJMNIFV@-MNIFBiú B UcFñj&÷ [P7Ï;^Y/@EXNOQNJAõv>MN>A@-DM 3Øy7Ï%-M\>PO B ÷ø ÁÆùÁú»Ç ÿ É ñÀôFO BW@-B(@EJMNIFV@-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öÀö¿@-JM\IEVW@Mv@8KO ùABAO1KIôEO1Xt@8õ IFVVIFBWO ôFO BsMtQSO Ms@-BAKW@EöÏQNIUMN>A@-MMN>AO&QSO MtI-÷ @-JPMNIEVW@-M\@8KO ùABPO1KIôFO X@8õ IFVVIFBO ôEO1BsMtQSO MMNIECFO M\>PO XòñÀMN>M\>POQNñÀVJPöÏ@-MNñÏIEBX\O ö¬@MNñÏIEB ðPX\O IFX\KO1Xõ IEB¿QcM\ñjM\JMNORQ@ðPXNO1öÏ@-MSM\ñÏõ OEú M YR@ðPX\O IFX\KPO XiIôFO &X Y~KO1BPI-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Èñ¬QQ\@-ñ¬K9M\I8ý¿OÊ@ ¥]¬®,ª`Í9ÌË,« ñÀ#÷ 'Ã=ñ )'ÃJPðPðHO XtýHIEJABAK )]f B Ùf É ñÏôEO
E;¿@EBA:K '°ñÏñ )'°öÏO1@FQcM&JAðPð¿O1XýHIEJPBA7K )]f9
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 )Afc3YÓfAÿ B pf ,Ð ÿ (
ú IEMNOMN>¿@M9QSJAðPXNO1VW@-ö@-BAK²ñÏBùAVW@-öò>PO1BKPO ùABPORKòñjM\>²X\O1QNð¿ORõnMUMNI@ðPX\O IEXvKO1XNORK @-X\OBPIEMtJPBP=ñ -sJPOE!ú Iò|O ôFO XñÀ&÷ ± @-BA9K ´ @EXNO"Mcò|IQNJPðPX\O VW@-ö¿IEXñÏBùAVW@-öHO öÏO VO1BFMvQIE"÷ ~ MN>AO B:ñjM>AIEö¬KPQ|MN>A@-³M ± ( ´ @EBA3 K ´ C ± ú 1²O9KO1BPI-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 ÿ ðAXNO1IEXvKO X\O1KQSO ! Y V A@-BA K +-,.9'/ {) ¾ YkVÈ 9÷°IFX@-B^DWùABAñjM\2 O w YÇú 1OÉBAAO ^M(õ IEB¿QSñ¬KO XM\>POÊQSO MWI-÷4@EöÀö@EJMNIFVW@M\4 @ 3 IôEO X@²ù O1KÛ@-öÏðP>A@Eý¿O ~M \AOÉQNñÀVJPö¬@MNñÏIEBXNO1öÏ@-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Û@-JM\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 ´ ýPJMBPIE!M U ± VxU ´ ñxú OE}ú P@-BsMNñ¬QSD^VVO M\XND(KI^ORQ?BAI-M>PIEö¬Kúû">PO1XNO ÷°IEX\ O MN>AO8ðA@-ñÏX '/39[ Ö )|ñÏQ&@ðAXNO1IEXvKO X\O1KQSO M1ú B '°X\O1QNði}ú &@-JM\IEVW@Mv@ü $ B MN>POÇ÷°IEöÏöÀIòñÏBPCÙò?O£ORQcMv@-ýPöÏñ¬QS> MN>¿@MMN>AO@-JM\IEVW@Mv@ü
JPBPñÏIEÙ QNDsB¿õv>PXNIFBP}ñ 1@M\ñÀIF7B )tDsñÏO ö¬KPQ@QNJPðPX\O VW@-ö 'ÃXNORQSð*ú P@EBñÏBùAVW@-ö )|O öÏO VO1BFMRú B U ± @EBA^K U ´ U ± q3U ´ $'&)({sU ± [`U ´ uFú ÷ø ÁÆùÁúXÜÉ ñÏôEO
107
7eùÆ&Æ8:9$ Mñ¬Q O1@FQSDUM\IUQNO O|÷°X\IEV
M\>POKO ù¿BPñjM\ñÀIFBIE÷H@EJMNIFV@-M\@4JPBPñÏIEBMN>¿@MU± Ö U±qQU´ E@ BAKBU´ Ö U±&q{U´ sñxú OFúU±qcU´¹ñÏQ|@-B)JPðPðHO X"ý¿IFJPBAK÷°IFXQsU±[*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¿KU´ Ö U15tñÀVðPöÏñÀORQa'U±qU´) Ö U15Fú IEMNñ¬õ OMN>A@- M U± Ö U15ñÏVðPöÏñÀORQ YcbA± Ö Ycb:5@-BAK|U´ Ö U15ñÀVðPöÏñÀORQeYcb*´ Ö Ycb:5Fú û">Pñ¬QñÏVðPöÀñÏO1Q÷°IEX áV5 [~÷°IFXO1@FõvÊ> 7b Þ Ycb Þ OAñÏQSM\Qb;5^Ycb;5QNJAõv>MN>A@-Mb Þ Ö 7b:5Fú 0^ñÏBAõ OMN>PO¹QSO MtI-÷MNXv@-B¿QSñÀMNñÏIEBAQI-& ÷ U±qU´ñ¬QMN>AO&JPBPñÏIEBWIE÷¿M\>PO¹QNO M?I-÷MNXv@-BAQNñÀMNñÏIEBAQ IE÷HM\>PO Mcò|I@EJMNIFVW@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>POX\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 '`'Z2±[P,´)A['7ϱ [P7Ï´ )P)BEÎ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\KO1X|MNIWQS>AIÈ ò U15 Ö ×'U± µU´)AAKO ù¿BPO ÎÓfVö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 Þ"÷°IEX á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 VO1@EBAQ4÷°IEXO ôEO1XN
D 5(Y5WQNJAõv>²MN>A@-M9MN>PO1XNOO ^ñ¬QSM\Q y\9zòñÀMNF > 65E_#5z 'ZYcb;5 [)] O ^ñ¬QSM\! Q Þ
Y Þ AQNJAõv>ÉMN>¿@QM Þ @_Þz 'Y{b Þ [*)|÷°IEQX á#V [ú0^BI ÎÙ@-ýHIôEOUñ¬Qò|O öÏö*KO ù¿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É@-JM\IEVW@MvÊ@ U ± [`U ´ [`U 5 U 5eÖ U ± µAU ´ ñÀVðPöÏñÏO1!Q U 5Ö!×7æ U ± @-BAK U 5eÖ!×ç U ´ ú
C
"ìEDMiéGFîPSsêéGHJI²êtç?èéPêDNÊüvêéK£î`S^îPO îPNPI!é¿îaèLH $ BM\>PñÏQ4QNO1õnM\ñÀIFB&Hò?OQSMNJ¿KDÉ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\@-MNO9QNIEVOUI-÷!MN>PO8ñ¬QNQNJPORQ"MN>A@-M&@-X\OUðPXNO1ô@-öÏO BsMò>PO B õ IEBsMNX\IEöÏöÀñÏBPC@BPIEBAKPO MNO1XNVñÏBPñ¬QcM\ñÏõ8QNDQcM\O V:ú VXWY@ú[Z#?Á.Ç =?IEBAQNñ¬KO X9@EB@EJMNIFV@-MNñ¬õõv>PO1õvósü
IEJM8QNõ1@-BPBAO XUñÀB£@:QN>PIEðPðAñÀBPCõ O BsMNO1Xi@ QSM\@-MNOVW@Eõv>AñÀBPOtVIKO1ö UÙIE÷^ò>AñÏõv>8ñ¬QQN>PIòBUñÏB +!ñÀCFJPXNO Eú $ BAñjM\ñÏ@EöÀöÏ D ~@õ JAQSMNIFVO X*ðAXNORQNQNO1Q M\>POÉQSM\@EXSMýPJMNMNIFBM\IQSM\@EXSMMN>POõv>PORõvósüxIFJMð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 XUBPIFBAKO 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\IEVO X9MNI:O ñÀMN>PO1X ðPJMMN>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ðPJMM\>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ýPJMNMNIFB±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\VO XUõ @FQSO9ñÀM¹CFI^O1Qý¿@EõvóMNI MN>AOQSM\@M\O8÷°X\IEV ò>PO X\Oõv>PORõvósüxIFJMðPX\I^õ O1Q\QX\O1QNJPVO1Q1,ú 0^ñÏBAõ O@(õ JAQSMNIFVO X&VJAQSM¹ðA@~DÉ@M MN>AO8O BAKÉI-÷!MN>AO9õv>PO1õvósü
IEJMðPX\Iõ O1Q\Q FM\>PO9O1ôEO Bs9M 4Sð¿@~D 6ñ¬QKO 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\KO1XMNI&XNORQcM\XNñ¬õnM MN>AO¹ðPö¬@-BsMM\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>PO1KBPIFBAKO 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úû">POXNORQcM4I-÷tM\>POý¿O1>A@~ô^ñÀIFX¹ñ¬Q MN>AO¹Q\@-VO@EQ M\>PO&IFBPO"÷°O1@FQSñÏýPöÏOñÏBMN>PO&Q\õ @EBPBPO1X1 ú &I-M\OMN>A@-MtM\>PBO 4SX\O1QNO M 64O ôEO1BsM?KI^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¹ñÏVVW@MNO1XNñ¬@-öMNIMN>AOQNð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``bu¿KPO BPIEMNO1
K UXc \)ó ú ó XNO1ðPöÏ@Fõ ORQOR@Eõv>O ôEO1BsMö¬@-ýHO öIFJM\QNñÏKPO \ ó I-÷&M\>PO '/dtXNIEþcO1õ MNñÏBPC@EB@EJMNIFV@-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>¿@MQ'*]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^@FQVO BsMNñÏIEBAO1K:@-ýHIôEOU õ @EB:OA>PñÏýPñjM&QNIEVO8ýHO >A@~ô^ñÏIEX MN>¿@M8ñÏQUBAI-M9@Eõ1õ O ðPM\@-ýAöÀ O '°ñxú OFú BAI-M9@-öÏò|@~DQ¹CEñÏô^ñÀBPCMN>AOIFðMNñÏIEB²MNIõ1@-BAõ O ö@÷®M\O X9Q\õ @-,B )nú 1OKO1ô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\>POQSO 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 ò>PO1BKORQSñÏ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öÀöÏO1KQSDQSMNO1V ñÏQWKPO BPIEMNO1Ký^DUBµ· $ 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ñ¬QKO ù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öÏ@EBFMU QNJAõv>MN>A@-MQUBµ $ ñÏQýAñÏQNñÀVñÏöÏ@EX"MNIWQNð¿ORõ ñÀù¿õ @-MNñÏIEB] ú É ñÏôEO B%BPIEB¿KO 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 @EJMNIFV@-MNIFB%% òñjM\>:QSM\@-MNO9QNðA@Eõ Om2
GÛ QSJ¿õv>)M\>A@MQUBµy Ø] ú 7 ùÆ&Æ8:9 ' §Ë¦
¯ R ) É ñÏôEO1B.UcNÊ] @-BAK$ QSJAõv>²MN>¿@MUBµ$ Ø{] 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\QSJPVO òñÀMN>PIFJMtöÏIFQ\QI-÷CFO BPO1X\@EöÀñÀMcD9M\>A@M?@EöÀöAMNXv@-BAQNñÀMNñÏIEBAQIE÷± $ ð¿@-XNMNñ¬õ ñÏðA@M\OñÀBM\>PO&õ IEVð¿IsQSñÀMNñÏIEB òñÀMN>
Uú $ ÷@MNXv@-BAQNñÀMNñÏIEBÉI-÷# $ BPO1ôEO1X|ð¿@-XNMNñ¬õ ñÏðA@M\O1Q"ñÏBUBµ_$ M\>PO B:ò|OUõ1@-BÉXNO1VIôEO¹MN>Pñ¬Q M\X\@EBAQSñÀMNñÏIEB÷°XNIFV$ @-B¿Kõ1@-öÏö?M\>PO:XNORQSJAöjM(@EQñ$ ònúû">PO1BCUBµ ñ*$ ò^VUBµ_$ @-B¿KO1ôEO X\D M\X\@EBAQSñÀMNñÏIEB±I-÷£ñ$ ò&ðA@-XNMNñ¬õ ñÏðA@M\O1Q4ñÏBÊMN>AOõ IEVðHIFQNO1K±@EJMNIFVW@MNIFBUBµñ$ ònú1OWõ IFVðAJMNO ÷°XNIFVgUc] @EBAK$ @FQ|÷°IEöÏöÀIòQf % Fú+AIEX^
~ ò?O9KO ùABPO Ym 'S )fVs
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\@-VO4MNXv@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"ñ¬QKO BAI-MNORK@FQx ¸ Þ dÊ'/ )]Pñxú OFúx ¸ Þ dc'/ )vfVrsÊ Ù 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ÿ $ =bfoV"$ ú+AIEXuE Hÿ #$ o ±"ñ¬QtIFýM\@EñÀBPORKý^DVO X\CEñÏBPC8Mcò|I9QSM\@M\O1QtI-÷tÿ $ o õ1@-X\XND^ñÏBPCMN>PO9Q\@-VOUöÏ@Eý¿O1öPQSMNIFð:ò>PO B ÿ #$ Vøÿ $ ± VÊfPÿ $
ú ¡ O ùABAO M\I8ý¿O9ÿ $
úEû">PO BOR@Eõv>QcMv@MNOIE÷Ù õ @EXNX\ñÏO1Q @4JPBPñ=-FJAOöÏ@Eý¿O1öMN>A@-MñÏQt@-BO öÏO VO BsM IE÷& m2
G! s@-BAKWQNI8MN>AO&QcMv@M\O&QSð¿@Eõ O&I-÷"Å õ @-BWýHOM\>PIEJPCF>sMMNI9ýHO£ m2
G ú OA^M|ò?OðPX\IôEO M\>A@MQUBµEÿ $ ,ØÆ ] ý^D)ñÏBAKJ¿õnMNñÏIEB:IFB)M\>PO8B^JPVýHO XIE÷!VO X\CEO1X\Q1ú $ b V"$ ú0^I9UBµEÿ $ b VxUBµF$ Ø] ú / @EQNOUõ @EQNOcf*ÿ UBµ-ÿ $ Ø] ú ¡ O1BPI-M\OUMN>PO8QSM\@-MNO8I- ÷"ÿ #$ @EQ $ BAKPJAõnM\ñÀIFB:QSMNO1ð&f0^JPðAð¿IsQSO9@-MQSMNO1ð2 òñÀMN>Wö¬@- ýHO öP'/ )n ú M?QcM\O ðm'¡|IE÷HVO X\CEñÏBPC7-QSJPðAð¿IsQSOò|OVO X\CEO [z Ï -ò>PO1XNO P '/ )V¢*` 'S Ï )nú&IòÆò?O9ðAXNI ôFOUBµ-ÿ $ S ±e ØrUBµEÿ $ S^ ú ï O X\CEñÏBPCm @-BAK Ï õ1@-JAQNO1QM\>POtVO1XNCFO XiIE÷QSM\@-MNORQD'Z [ )i@-B¿K9'Z;[z Ï )IE÷UBµ-ÿ $ S? ÷°IEX@EöÀö
Y 'S ) ú ¡ O ùABAO9@-JM\IEVW@Mv@ ( ±[} (¤£ m¥*¦§ ¨ª©« P£ @FQ|÷°IEöÏöÀIòQf Æ,Ã2ÅùÆ Æ
110
Eú¬.foVx=( foVxUBµ-ÿ $S Y fVEY 'S ) ú ú $ ÷Y V M\>PO Bn( ±fV ( ! Rò>PO1XNO^Y Y ±foV Y ¿ s;u ¬.foV¬m¡yPO ö¬QSO8QSMNIFð&P@-BAKUB¨¯µE®°ÿ ¦ $¨¯©S« «± ° ¨¯±!®° ¦Ví ¨ª©z( « «h ² ú 0^ñÏBAõ k O *`'S )V*`'S Ï )]1ñjM÷°IEöÏöÀ IòQMN>A@-M*ý¿IE MN>~';[z )@EBAK9'Z [ Ï )*@-X\OýPñÏQNñÏVñÏö¬@-X MNIQ\@-VOQSM\@-MNOI-÷ xcñú OE}ú 'Z;[z )Øg';[z Ï )n&ú +AXNIFV MN>POX\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¿KJAõ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¿KO X&QSM\@-MNO9VO1XNCFO XvQ ÿ $2V%ñ¬QQ \wv-üaõ IFVðA@M\ñÀýPöÏOEú '*´/ µo)û">PO8X\O1QNJPöÀM|÷°IFöÀöÏIòQ"ý^D(öÏO MSM\ñÀBAu C $fVú ¶~Áú|@ù·xÇ +AXNIFV/û">PO IFXNO1V 7¿@-B±AO >A@-J¿QcM\ñÀôFO9QSOR@-Xvõv>:õ1@-BÊýHOðHO XN÷°IEX\VO1KÉM\IKO 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 VIFXNO"QSDQSMNO1V@-MNñ¬õtò"@~DQ!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>PO8VI-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``_bus ú 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µ]1dshj] ´ 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[ 'Z7´_ L¿ [z ´)]['Z7´_ Á À [z5 )]['Z¿ Á  [z¿ )]['/ b [P7b_
b)]['/ ±[`2±;
±A)]['/ ´ [`7´_
´)][ '/ ´ [P5
´)]['/5 [P,´ Á5 )]['/ 5 [P5 5 )]['/ ´[P,´ Á¿ )]['/_ 5 [`7´ À )]['/¿ [`¿ Á )u û">^JAQ¿M\>POõ IEBsMNX\IEöÏöÏO1KÊQNDQcM\O V ñÏQ¹ýPñ¬QSñÏVñÀö¬@-X¹MNI)MN>POQNð¿ORõ ñÀù¿õ @-MNñÏIEBÊòñÀMN>²XNORQSðHO1õ M&MNI \)ó ú 0sMv@MNORQ9ñÏBÃ$ õ @EB£ý¿OöÏ@Eý¿O1öÀORK ýsD²O öÏO VO BsMvQ9I-÷Q m1
=Æ @EQCEJA@EX\@EBFM\O ORK±ý^D û">PO IFXNO1V
111
'QS>PIòBñÏ~ B +!ñÀCFJPX\O ) ú QSM\@-MNO ';[:)^Y²hx%ýHO öÏIEBPCsQ MNI8M\>PO&ö¬@-ýHO ö¿I-÷i@9QSM\@-MNO ^ EI ÷U$£ñÀ÷v';[ )|@-ðAð¿OR@-XvQtñÏB3UBµ_$ 'Ãñú OEú}^OAñÏQSM\Q"@õ IFVVIFB(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\@-MNOI-÷k]ú öÀöQSM\@-MNORQUI-÷$qòñÀMN> ñ¬KO BsMNñ¬õ @EööÏ@Eý¿O1öÏQ9V@~DýHOWVO X\CEORKÊM\IÉIFýM\@EñÀB M\>PO(QcMv@M\OVW@Fõv>PñÀBAO QSM\@M\O1K²ñÀB£û">PO1IEX\O p V A"ú ñÏQ8Q\@-VOW@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\JAKDMN>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&KO 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 KO ù¿BPO1K @FQ fQ'*])`\ v¾ Q'U) w Q'/])A~û">AñÏQKO ù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?BAIEBAKO MNO1XNVñÏBPñÏQSMNñ¬õ|QSO MSMNñÏBPC4ò>PO X\OtñÏBAQSMNOR@EK9IE÷PöÏ@EBPCEJ¿@-CEO VIKO ö¬Q P@-JM\IEVW@Mv@VIKO1öÏQ@EXNOUJAQNO1K÷°IEXðAöÏ@EBFM@EBAK:QSðHO1õ ñjù¿õ1@M\ñÀIFBiú M U @-BAK±@-BÊ@-JPMNIEVW@-MNIE
B UÏ;VÙ'YÏ[\^[`_Ï[PYb Ï [`Yd Ï )òñÀ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ñÏQKO MNO1XNVñÏBPñÏQSMNñ¬õ PQSM\@-MNO ü
õ IEBsMNX\IEöÏöÏ@EýPñÏöÀñÀMcDI-÷ 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(@EJMNIFV@-MNIFBÇõ @-B£ýHO õ IEB^ôEO1XSM\O1KMNI{@ \ v ü
õ IEVðA@M\ñÀýAöÀO¹IEBPO¹òñjM\>PIEJM"@-öÀ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£ $ @EJPCEVO BsM\O1KòñÀMN>QNO öÀ÷®ü
öÀI^IEð¿Qt@M|O1@Fõv>)QcMv@M\O&IEB)JPBAKO ùABPO1K(JPBAõ IFBsMNX\IEöÏöÏ@EýPöÀO&O ôEO1BsM\Q @MM\>PO9QSM\@M\OEúPû">PO1B$ Ïñ¬QQ\w-v üaõ IFVð¿@MNñÏýPöÏO8@-BAKUBµ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öÏOO ôEO1BsM\Q8KO ùABPO1K&N$ @-ö¬QSI:>A@FQ4MN>PIsQSOWO1ôEO BsMvQ8KO ùABAO1K @M2 úiû">PO1XNO ÷°IEX\O @EKAKñÀBACQNO öÀ÷®üxöÏI^IEðAQ|@M"O1@Fõv>QSM\@-MNO&IFB)JPB¿KO ùABAO1KJPBAõ IFBsMNX\IEöÏöÏ@EýPöÀO¹O ôFO BsM\Q?ñÀB£ $ KI^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¿KO X4QSD^BAõv>PX\IEBAIEJAQõ IEVð¿IsQSñÀü MNñÏIEB:IE÷ @EJMNIFV@-M\@Aú ËDÁúúÌ@|Ü 0^JPðPðHIFQNOQU±"@EBAKcU´@-X\OQcMv@MNO ü
õ IEBsMNX\IEöÏö¬@-ýPöÏO?òñÀMN>WX\O1QNðHO1õnMtMNIU @-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:@-JM\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@-JACEVO 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>JABAKO ù¿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 ';[` Ï )vY5h³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(QNIEVO Y,ñ¬Q KO ùABPO1KÊñÀ@ B U @EBAKÉMN>PO9MNXv@-BAQNñjM\ñÀIF: B 'Z Ï [*2[zÍÎ6ÏÐ,)ñÏQ¹KO ùABAO1K:ñÏB U Ï ú 0^IM\>PO9M\X\@EBAQSñÀMNñÏIEB 'P';[`7ÏZ)][*2[' [:ÍÁÎÏÐ,)P)WñÏQKO ùABAO1KÅñÏx B UBµ U Ï ú $ M)÷°IEöÏöÏIòQMN>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)BAIEBAKO 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!MNI UñÏ#Q ¸c'` Y( h YÏ% )]~ñxú OFú ~ñÀM ñ¬Q -FJ¿@EKXv@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 dX\ñÀ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 VVW@EQ1ú*û">PO ñÏX ðPX\I^I-÷ÃQ@EXNO"IEVñÀMSM\O1KúEû">AO"ùAX\QSMöÏO VVW@UðPXNIôFO1QMN>¿@MtQSM\@M\O üaõ IFBFM\XNIFöÀö¬@-ýAñÀöÏñjMcD8ñ¬Q ðPX\O1QNO X\ôEORK JPB¿KO XýPñ¬QNñÀVJPöÏ@-MNñÏIEBiú ËaÁ úú|@@é +PIFX Mcò?I8ýPñ¬QNñÀVñÏöÏ@EXt@-JM\IEVW@Mve@ U ± ØyU ´ -ñÀ÷ U ± ñÏQQSM\@-MNO ü
õ IEBsMNX\IEöÏöÏ@EýPöÏO?òñÀMN> X\O1QNð¿ORõnM"MNBI UcPMN>PO1 B U ´ ñ¬Q@-ö¬QNIQSM\@-MNO ü
õ IEBsMNX\IEöÏöÏ@EýPöÏO&òñÀMN>:XNORQSðHO1õ MMN9I Uú û">POU÷°IFöÀöÏIòñÀBACöÏO VVW@>PIEö¬KPQ|÷°IFX@WKO M\O X\VñÏBPñ¬QcM\ñÏõ4ðPö¬@-BsMýPJPMBPI-MñÏBCFO BPO1X\@Eöú ËaÁ úú|@ iO M UÅýHO?@KO 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@EKDMNI£ð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õ ñÏBPCQSJAð¿O1XNô^ñ¬QSIFX?÷°IFX@WKO M\O X\VñÀBPñ¬QSMNñ¬õUðPöÏ@EBsM1ú M U2@-BAK @Ûð¿IsQNQNñÏýPöÀDBPIEBAKPO MNO1XNVñÏBPñ¬QcM\ñÏõ ÷ø ÁÆùÁúÓÉÉ ñÏôEO B @ÙKO 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@EJMNIFV@-MNIFÃB ] òñÀMN>ÛO1@Eõv>ÛQcMv@M\OIE÷ ]@-JACEVO 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 ú 0IñÀM)QNGJ Ò(õ O1QM\I£QS>PIò0MN>A@-~M UBµ]ߨ×Ô]úû">Pñ¬Q÷°IEöÏöÏIòQýsDõv>PI^IFQNñÀBPF C ÎLfV s'P'Z [z)A[z)]['/['Z;[:)P)|#rÈY '/)us ú IEMNOMN>A@-MWKPJPO)M\IMN>PO:KO 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 VVW@ UBµ_$Æñ¬QWQcMv@MNO ü
õ IEBsMNX\IEöÏö¬@-ýPöÏOE#ú 0^ñÀB¿õ
O UBµ$·ØJ]Ê ý^ D *O VVW@ ñÀ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@ÉKO M\O X\VñÏBPñ¬QcM\ñÏõðPö¬@-BsM8ñ¬)Q ¸c'* YC,h xB )A ò>Pñ¬õv>ÙñÏQ(öÀñÏBPO1@EX(ñÏBM\>POÊB^JPVý¿O1X(I-÷8QcMv@M\O1QWIE÷4ðPö¬@-BsM)@EBAE K -FJ¿@EKXv@M\ñÏõÉñÏBÅBsJAVýHO X(IE÷ QSM\@-MNO1QI-÷iQSðHO1õ ñjùHõ @M\ñÀIFBiú ï IFXNO1IôEO1X ~ò>PO1BMN>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¿@EKXv@M\ñÏõñÀB±MN>POQSð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?KO M\O X\VñÏBPñ¬QcM\ñÏõýPJM?ðAöÏ@EBFMñ¬QBAIEBAKO 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ñÏIEBQSO1O VWQK¯ñ \O X\O BsM ò>PO1B:ý¿IEMN>:ðPö¬@-BsM@-BAKÉQSðHO1õ ñjùHõ @M\ñÀIFB@-X\O¹BPIFBAKO MNO X\VñÀBAñÏQSMNñ¬õ-ú Õ
"ìEDMiéGFîPSsêéGHJI²êtç?èéPêDNÊüvêé ÿîPO ìNRI!èPîcêtçÖ×|ì¹îF#INRM*ç¹í2M $ B:MN>AñÏQ¹QSORõnMNñÏIEB;Pò?O9QSMNJ¿KD(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=@ÅÄÃUTVEWY@ú|ZU?Á
û">PO÷°IFöÀöÏIòñÀBAC8OAP@-VðPöÏO&QNO X\ôEO1Q!M\I9VI-M\ñÀô@M\OMN>AO¹QNñÀVJPöÏ@-MNñÏIEBWO-FJAñÀô@-öÏO B¿õ OO BP÷°IEXvõnü ñÏBPC(õ IFBFM\XNIFöú VXWY@ú[Z#?Á@é =?IEBAQNñ¬KO Xi@QNñÏVðAöÀOôFO BAKñÏBPCVW@Eõv>AñÀBPOMN>A@-M*KO öÏñÀôFO XvQi@õ I^IFósñÏOIEX@õ @-B¿KD ñÏB±AO Põv>A@EBPCEOU÷°IFX4@õ IFñÀ&B Hò>PIsQSOQSM\@-MNOV@Fõv>PñÏBPOVIKO ö!ñ¬Q¹QN>PIòBñÏ| B +!ñÀCFJPX\³O A2ú ððHIEB CEO MSM\ñÀBPC²@õ IEñÏ&B M\>PO(ôFO BAKñÏBPCVW@Eõv>AñÀBPOWBAIEBAKO 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>@ ýPJMNMNIEB*ú $ B MN>AO)ùAXvQSMQSM\@M\O)ñÀ÷MN>AOJAQNO Xõv>PI^IFQNO1Q9MNI²ò|@EñjM *M\>POVW@Fõv>PñÀBAOWMNñÏVO1QIEJMKO öÏñÏôEO X\ñÏBPC²@ õ I^IFósñÏ O ò>AO X\O1@EQUñÀ÷"MN>POWJ¿QSO1X9õv>PI^IFQNO1Q4MNIðAJAQS>M\>POWýPJMNMNIEB M\>POWVW@Eõv>PñÏBPOM\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ýPJMNMNIEB*ú $ B MN>AOQNO1õ IEBAK²QcMv@M\ O HMN>POðPJ¿QS>PñÏBPC:I-÷tMN>POýPJMNMNIFBKI^ORQ¹BAI-M8õ @-J¿QSO@QSM\@-MNOõv>A@-BACEOýPJM ò>PO1B(MN>AO¹JAQNO X|IEðPM\Q?MNIò|@EñjM FM\>PO4V@Fõv>PñÏBPOM\ñÀVO1Q|IFJM"@EBAK(KO1öÀñÏôEO1X\Q?O ñÀMN>AO X"@@õ @-B¿KD IEXÉ@Çõ I^IFósñÏOEú è¹BAõ O±@KO öÏñÀô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\ñÀVO1IEJM"O ôFO BsMtñ¬Q?KO1O VO1K(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 ØH6Ù e-FZvhjÛe1fi}~Z\d^FlmdFu4b9]1kSslmdFZU³®hmZ\fÏ`Nµ]1dsl¢`Ú ?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õ @EBAKD9òñÀMN>Wõ O1XSMv@-ñÏBsMcD ò>Pñ¬õv>ñÏQ@UJPB¿KO1QNñÀXv@-ýAöÀO"ýHO >A@~ô^ñÏIEXRú~ûIUXNORõnM\ñj÷°DMN>Pñ¬Q QNñjM\JA@M\ñÀIF&B *@KORQSñÏXNORK²QNðHO1õ ñÀù¿õ1@MNñÏIEB ñ¬Q9QN>PIòB²ñÏ: B +!ñÀCFJPXNO 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)BPIFBAKO 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ýPJMNMNIFB(@MöÏO1@EQSMMcòñ¬õ O '°ýHO ÷°IFXNO"M\ñÀVO1IEJ]M )]-M\>POVW@Eõv>PñÏBPOKO1öÀñÏôEO1X\Q@8õ1@-BAKPDEú $ ÷JAQSO1X IEðMvQ!MNIUðPJAQN>MN>PO"ýPJMNMNIFBIFBAõ O@EBAKò"@-ñÀM RM\>PO BMN>AOV@Fõv>PñÏBPO|KPO öÏñÀôFO XvQ!@Uõ IsIFó^ñÀO IEX@Uõ @EBAKDKPO ðHO BAKñÏBPCUIEBMN>AOñÀBPñÀMNñ¬@-öBAIEBAKO MNO1XNVñÏBPñÏQSMNñ¬õ?MNXv@-BAQNñÀMNñÏIEBVW@FKOEú &I-MNOQNñÀB¿õ O MN>AO4QNð¿ORõ ñÀù¿õ @-MNñÏIEB)@EöÀöÏIòQ|QSJAõv>@9BPIFBAKO M\O X\VñÀBPñ¬QSMNñ¬õ&õv>PIFñÏõ
O sñjM"ñÏQ|BPIEM|@FKO -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 -KO öÏñÀôFO X@Uõ I^IFósñÏO"ñj÷HMN>AOýPJMSM\IEBñ¬QBPI-MðPJ¿QS>POR K '°ýHO ÷°IEX\O
115
M\ñÀVO IFJM)AsKPO öÏñÀôFO Xt@8õ1@-BAKDñÀ÷HM\>PO&ýAJMSM\IEBWñ¬QðPJAQN>PORK(@MöÏO1@FQcMMcòñ¬õ OÊ'°ýHO ÷°IEX\OM\ñÀVO IFJM)A KO1öÀñÏôEO1X¹@(õ I^IEó^ñÀOIEX¹@õ @EBAKDÉñj÷M\>POýAJMSM\IEBÊñ¬Q&ðAJAQS>AO1KIFBPöÀD:IFBAõ ~O 'Ãý¿O ÷°IEX\O9M\ñÀVO IFJM ) ú û">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!BPO1O1KORK8MNIUO ^ð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\ôEO1KJPBAKO1XtQNñÀVJPöÏ@-MNñÏIEBO -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 KO1ô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\JAKDWM\>POUõ IEBsM\XNIFö¿IE÷!~@ 'ÃBPIEB¿KO 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*ú @ -sJPO1QSMM\IUùABAKW@8QNJPð¿O1XNô^ñ¬QSIFXò?OO P@-VñÀBAO"MN>PO&õ öÏ@FQNQI-÷@-öÏ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 VO BsMRú $ Bû">PO1IEX\O ÙV Rò?O QN>PIò|O1K4MN>¿@M@-BñÏBùAVW@Eö^@EJMNIFVW@MNIFB9IôEO1X@¹QSO M!IE÷¿@-JM\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@-JM\IEVW@Mv@WñÀB±MN>POQSO M1úi=?IEVýPñÀBAñÀBPC(MN>Pñ¬Q IFýAQSO1XNô@-MNñÏIEBòñÀMN| > *O VVWÊ@ '°ò>Pñ¬õv>²QN>PIòQM\>A@M8QSM\@M\O üaõ IFBFM\XNIFöÀö¬@-ýAñÀöÏñjMcDI-÷?@EJMNIFVW@M\@ ñ¬QðPX\O1QNO X\ôEORKÉJPBAKO1X¹QNDsB¿õv>PXNIFBPIEJ¿Qõ IEVðHIFQNñjM\ñÀIFBI-÷@-JPMNIEVW@-M\@ )APò|Oõ @EBÊKO1KJ¿õ O9M\>A@-B @EBñÏBùAVW@-öQcMv@MNO ü
õ IEBsMNX\IEöÏö¬@-ýPöÏO¹@EJMNIFV@-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)KO BAI-MNOM\>PO)QNO M9IE÷"@EöÀöñÏBùAVW@E¤ ö ]¹ü
QNñÏVJPö¬@M\ñÀBPCQSM\@-MNO üaõ IFBsMNX\IEöÏöÏ@EýPöÀOQND^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\ô^ñÏQNIEX $ QSJAõv> ÷ø ÁÆùÁúßÜÉ ñÏôEO M\>A@
M UBµ$Óäà]ñj÷@-BAKIEBPöÏDÅñj ÷ '°ñ )] Ö Uc"@EBAp K '°ñÏ=ñ )3UBµ ] ó Ö ]'÷°IFX:@EB^D ] ó +-,. $ Þ{'/]) ú 7eùÆ&Æ8:9 '§Ë¦Ê¯ R) / DKO ùABAñjM\ñÀIF&B UBÖ µ_$.ä]%ñÀVðPÖ öÏñÀOR'Q ] Ö UBµ_$('@-BAKWv @EöÏQNI 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> QNDQcM\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öÀñÏO1Q ] Ö UBµ_$Ï 'Ãý^D(û">PO IFXNO1p V )nú &AO ^M 2UBµ]eÏ Ö ] ñÏVðPöÀñÏO1e Q UBµ_$Ï Ö ]ú 0^I(ò|OIEýPM\@-ñÏ B UBµ_$Ï;äâ]2ú IòÆò|OKO ùABPO $ M\IWý¿O $ÏiòñÀMN>O1@Fõv>QcMv@MNO9@EJPCEVO1BFM\O1KÉòñÀMN>±QNO öÀ÷®üxöÏI^IEðAQ"IFBÊ@-öÏöMN>AO9JPBAKO ù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ðPJMv@M\ñÀIFBÊI-÷t@EBÊO öÏO VO BsMUI-'÷ +-,. $ Þc'*]e) ú I-M\O9M\>A@M8@-B^D:O öÏO VO BsM ñÏ B +-,. $ Þc'/])¹õ @EBý¿OQSO1öÀORõnM\O1K:÷°IFX&M\>POM\O1QSM1,ú 1²OðPX\O1QNO BsM&ýHO öÏIò @-B±@EöÀCFIEX\ñjM\>PVÈ÷°IEX õ IEVðPJM\ñÀBPCW@EBÉO1öÀO1VO BsMI-÷ +,. $'Þc'/])?JPBAKO1XMN>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öÀO1VO BsMñÀB+-,. $ Þc'*]e)Aò>Pñ¬õv>Éò|O8KO BAI-MNO9@FQáã¬ä $ Þ{'/])nú Eú KPK@BPO ò%QcMv@MN) O ÍÎ6ÏÐ)ñÏB%]ú+PIFX?O1ôEO X\DQcMv@MNO)8IE÷N]{FñÀ÷|
\ v ñ¬Q|BPI-MKO ù¿BPO1K @-M P@FKPK)MNXv@-BAQNñjM\ñÀIF| B '*[`2[zÍÎÏÐ2)nú KAK)M\X\@EBAQNñjM\ñÀIFBAQ '*ÍÁÎÏÐ;[`2[:ÍÁÎÏÐ,)t÷°IEXO1ôEO X\D .@\wvA ú 1O9õ @EöÀöM\>Pñ¬Q@-JM\IEVW@M\IE B ]Xv¿ú úáã¬ä $ Þ{'/])fVåÍ`bA'U)µ]wv,¿ò>AO X\nO Í`bA'U)ñ¬QIFýM\@EñÀBPORKý^Dö¬@-BACEJA@ECEO8ðPX\O1QNO X\ô^ñÀBPC KO MNO1XNVñÏBPñ R@M\ñÀIFBÉIE÷*M\>PO9@-JM\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 iO1VV@ Í`bA'U)µ]wv:ñ¬Q¹QSM\@-MNOõ IEBsM\XNIFöjü ö¬@-ýPöÏOòñÀMN>(X\O1QNð¿ORõnMM\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\IEVPOKO 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@~D9IFXBPI-MýHO÷°OR@EQNñÀýPöÏOñÏBðPöÏ@EBsM1 ú 0I8ò?OBPO1O1KM\I8IEBPöÏDõ IEBAQNñÏKPO X QNJAõv>É@FKPKORK)JPB¿õ IEBsM\XNIFöÀö¬@-ýPöÏOM\X\@EBAQNñjM\ñÀIFBAQ?MN>A@-M@EXNOU@-ö¬QNI÷°OR@EQNñÀýPöÏOEú +AIEX 'P' Yó [z)A[ )v
ÎD± ó ñÏ[ õ IFBAQNñÏKO1X9@MNXv@Eõ OIE÷|JPB¿õ IEBsM\XNIFöÀö¬@-ýPöÏOO ôFO BsM\)Q Î M\>A@M9ñ¬Q9KO ùABPO1K @-M Y2 B Í`bA'U)8ýPJM JPBAKPO ùABPORK@-kM 8ñÏ%B ]ú iO M|JAQ"KO1BPI-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ñ¬QKO ù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Î ´ fVs'P' Y ó v [zÍÎ6ÏÐ,)A[ v )! ó [:[ [α@FQKO ù¿BPO1KÉ@-ýHIôEO u Fû">PO1B(ñÀM|õ @EB(ýHO&ôEO1XNñÀùAORKMN>A@-k Y M Í-`_bA'U)µ] v9Ö!×7æ ¹ ×ç ]ú û">PO(õ IEVðPJMv@MNñÏIEB IE÷ áã¬ä $ Þ{'*]e)4J¿QSñÏBPC öÏCEIFXNñÀMN>A· V ÉX\O -sJPñÏX\O1Q8KO 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 IEJM!MN>¿@M UBµ]áã¬ä $ Þ{'*]e)ñÏQiQNñÏVñÏö¬@-XM\I@-BPIEMN>PO1XiQSDQSMNO 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>PO1X 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\VO1KÉöÏñÀBPOR@-X\öÀDÉñÏB:MN>POQS}ñ O I-÷ U @-BA3 K -sJA@EKXv@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 ø Æ87eùÆ&Æ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ñÀVVO1KPñÏ@-MNO@-BAKðAXNIô^ñ¬KO1Q4@-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õ ñÏBPCQSJAð¿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@MUBµ_$äÔ] ñÀ÷t@-BAKÉIFBPöÀDÉñÀ÷UBµ]Xv Ö ] Ö UcAò>PO1XNO2]wv)ñ¬Q@FQõ IFVðAJMNORK:ñÀB0sM\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ñ} OIE÷MN>PO(QNðHO1õ ñÀù¿õ1@MNñÏIEB*ú öÏQNIðAXNI^I-÷?I-÷|û">AO IEX\O VJ KO1VIEBAQSMNXv@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\>PO8VI-MNñÏô@M\ñÀBPCO@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å'ÃKO 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:KO ðAñÏõ MNO1KñÀ B +!ñÀCFJPXNeO ú"û">PO QSD^BAõv>PX\IEBAIEJAQõ IEVðHIFQNñjM\ñÀIFBIE÷ ] v òñÀMN> ðPö¬@-BsM sB¿@-VO öÏ~D UBµ] v ñÏQ"QN>PIòB)ñÏ3 B +!ñÏCEJPX\O Pú è¹BAOUõ1@-BôEO X\ñÀ÷°DMN>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öÀöÏO1KWQNDQcM\O V @-B¿KMN>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ñÏIEXQNO1õ MNñÏIEB&ò|OQN>PIò?ORK9M\>A@Mt@4BPORõ ORQNQ\@-X\D9@-BAKQNJGÒ(õ ñÏ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 @&KO MNO1XNVñÏBPñÏQSMNñ¬õ U @EBAKÇ@²ð¿IsQNQNñÏýPöÀD BPIFBAKO 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µ $ @EBAKQSð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\XNIKJAõ 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(@QNDQcM\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÷°IEXKO MNO1XNVñÏBPñÏQSMNñ¬õ4ðPö¬@-BsM\Q1ú 1²O9õ1@-öÏö ] ñÏQ U4üaQSñÏVJPö¬@M\O1Kñj÷ ] Ö Uú M U @-BAKð¿IsQNQNñÏýPöÀDWBAIEBAKO MNO1XNVñÏBPñÏQSMNñ¬õ8QNð¿ORõnü ÷ø ÁÆùÁú»Ç,Ç É ñÀôFO B:KO 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öÀñÏO1Q 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 iO1VV@ ~'°ò>AñÏõv> X\O -sJPñÏXNORQWKO M\O X\VñÏBPñ¬QSV2I-e÷ U)]aUBµ] v ñÏQ(QSM\@-MNO ü
õ IEBsMNX\IEöÏöÏ@EýPöÏOEú 0^ñÀB¿õ O ] ñ¬QWQNñÀVñÏöÏ@EXMNI 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 @-JACEVO BsMNORKÙòñjM\>QNO öÀ÷®üxöÏI^IEðAQWIFBq@-öÏöM\>PO±JPB¿KO ùABAO1KÅJPB¿õ IEBsM\XNIFöÀö¬@-ýPöÏOO ôFO BsM\Q)I-÷UMN>¿@M QSM\@M\OEúû">PO1C B UBµ_$pØUBµ]eÏe'°ý^ D iO1VVB@ )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&>¿@~ôEO UBµ]eÏä]eÏú $ M?÷°IEöÏöÀIòQtMN>¿@vM UBµ_$:Ø UBµ]£Ïä]{Fò>AñÏõv> õ IFVðPöÀO MNORQ"MN>PO8ðAXNI^I-÷cú û">POBAAO ^MMN>AO IEX\O V ðPX\O1QNO BsM\Q@UVO MN>PIKM\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@-BM\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@EKXv@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-÷KO M\O X\VñÏBPñ¬QcM\ñÏõðPöÏ@EBsM\Q ñ¬EQ ¸c'` UBh: ]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 BKO MNO1XNVñÏBPñÏQSMNñ¬õUðPö¬@-BsM³U @-BAKÉðHIFQ\QSñÏýPöÏD(BPIEB¿KO 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ðPJMNORKñÀBB0sM\O ð"I-÷ öÀCFIEX\ñjM\>PV·¹õ1@-BQSO1XNô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 BUÈñÏQKO 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ÈñÏQUBPIFBAKO 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ñ¬KO X\ñÀBAC@-JM\IEVW@M\IEx B U Và]PO1K(ýsDM\X\@Fõ XO óñÏB ]ú +PJPXNMN>AO X|÷°IEX?MN>PO4X\O1@EQNIEBM\>A@M ] ñ¬vQ 0A= ^O1ôEO BsM VJ¿QcM ýHO(KO ù¿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\>²KO ùABPORK&ú 0^ñÀB¿õ OBPIEBPOI-÷M\>POQcMv@MNORQ&IE'÷ ] XNOR@Eõv>A@EýPöÀO ý^DWM\X\@Fõ 1O óW>A@~ôFO4ýHI-M\>:O ôEO1BsM\Q ¹@-BA K òUKO ù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
³®b8ljFFhmZ µNF]1dsl)Åzl î ¬³ _clju1`Nµ
õ I²êtç¹íNSìQS^îSêtç $ BMN>Pñ¬Q ðA@-ðHO X ~ò?O|AO ^M\O BAKORK9M\>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¿KO 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ñÀMcDI-÷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É@EKO -sJA@M\O&BPIEMNñÏIEB)IE÷*O -sJPñÏô@-öÏO BAõ O&÷°IFX"BPIEBAKPO MNO1XNVñÏBPñ¬QcM\ñÏõ QNDQcM\O VWQ ú +PIFX"ýPñÏQNñÏVñÏö¬@-X\ñjMcDO BP÷°IEXvõ ñÏBPCõ IEBsMNX\IE%ö Fò|O&IFýM\@EñÀBAO1K)@QNV@EöÀöHVIKO öHMN>AO IEX\O V QN>PIò"ü ñÏBPCMN>A@-M)@ QSJPðHO X\ô^ñÏQNIEXO ^ñ¬QSM\QñÀ÷4@-B¿KIFBPöÏDÇñj÷UñÀMO ñÏ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-÷iKO 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\>POQSð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¿KO1KÊ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ô^ñ¬KO1KW@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&KIFJPýPöÏD AO ðHIEBPO1BsMNñ¬@-ö ñÀB²MN>AOQN}ñ O1QUIE÷MN>AOðAöÏ@EBFM9@EBAKM\>POWQSðHO1õ ñjù¿õ1@M\ñÀIFBi ú è¹BÊM\>POI-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@ECEOO -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¿KO 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¿¿`csZUarF[Z\_c}-lmae1_a)kveRd`a_ce1h![F_ce ´ hmZvb ] d^
`a_ceRdFub8e-EZvhb9] `ckSslmdsu9f¬e _¡^dsl¢`cZ¹
`S] `cZUb9] kNFljdFZvv ø-¥1¸-©N¤^»Rº!¥ ùEú«¬N¯\©c§N¨X§ û½1§N¤F¨¤üý1þ ¨§Nª4: ÿs§a¥1© ý»1¤¦ º «°¯c»1¨®«°¥1¤Fc Ý àRßR ß ~Þ ÜEinÜ1ÜRÝE Þ Ù FY4-Y"lP¾!ZvdFZnFZN`a`ceFE& ÷iFzF]1dFuRlme }R] dsdFlm ?ljdFkvZvd`cZvhmhml®E]1d^ |lmhmhj]E Ù e-FZ\hAb9] `ckNFlmdsu f¬e _¡sdsl¢`cZ
`S] `cZb9] kNFljdFZvv ãûûûs©a»1¤FN»~¯\¨®«°¥1¤F"¥1¤ t¸-¨Ã¥1ªU»1¨®«°¯ *¥1¤F¨®©a¥Rº R~ ä mnßRÞ1 ä ^nß ~à- Þ11E1 à- Ù |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 UEwxds]1d¿²Ú|e1d^EZ\`cZ\_cb8lmdslm
`clmkarF[Z\_c}-ljalme1drsdsFZ\_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] `nPZnEl¢`ce1_cv# "§a¯\¨®¸-©c§ $¥1¨§N¹«¬% ¤ *¥1¤F¨®©a¥Rº*»1¤^¦ S¤ ùv¥ ©NªU»1¨®«°¥1¤ ü¯\«°§N¤¯S§N' &()(1F[^] uRZv?àR Ü RÝEAz-[F_clmdsu1Z\_a Z\_chj] uFFÚ|Z\+y *e1_cPnÜRÜ F zP Rlj] dsu] d^²â rsb9] _n£z-rs[Z\_c}-lmae1_aÊkve1d`a_ceRhte1fdFeRd^EZ\`cZ\_cb8lmdslm
`clmkElmak\_cZ\`cZWZv}~Z\d-`
E
`cZvb8?yl¢`cE_clm}~ZvdWZ\}~Zvd`c|}-lj]b9] a~Zn[E_clje _cl¢`clj\Zn
EdskSF_ce1dslmn] `clje1d¿' ãûûû,s©
»1¤s þ »~¯\¨®«°¥ ¤s&¥1-¤ t¸-¨Ã¥1ªU»1¨®«°.¯ *¥1¤F¨®©a¥Rº sß-³°Ü~µ mvRàRÝ sv1~ÜEÞ11~Þ ä-zP Rlj] dsu9]1dsâ/ rsb9] _nzErs[ZN_c}Elmae _ak\eRd`a_ceRhAe1fiElmak\_cZ\`cZZv}~Z\d-`
E
`cZvb8 yl¢`cp ÷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Þ1R1àE ?k\kvZv[F`cZvA ßzP s] `a_cl® &EÚ|] _S]v-]1dA z "_clmaFd^]1dA U Ù k Ù lmhmhÀ] d¿PâF¾_S]vE`ce1d¿P] d^WFzF]1dFuRlme }R] dsdFlm ?ljdFkvZvd`cZvhmhml®|gidsu1lmdsZvZ\_clmdFukS^] dsu1Z&lmd ]4dFeRdFEZ\`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]1b8Z1strsu1rs
`?Þ11~Þ Ü-= F eRb8Zvdss]-*p!eRb8[FrF`S] `clme1de1fiarF[F_cZvb9] hPar ´ hj] dsuRrs]1u1Zv?e fars[ZN_c}Elmae _akve1d`a_ceRhArsalmdsu kveR]1hmuRZ ´ _S]EwG d F¥ I© H J F¥ £¥1 ¤ ú"«¬N¯\©c§N¨:§ þhû½1§N¤FX¨ üý1c¨§Nª4 @FK6ú¤û#üL DMCNE [^]1u1Zv9Þ ä -à1àE OP] _S]1u1eRn]-Aã|k\`ce ´ Z\_|Þ1RRÞ-
EM&üM M
121
n-"ârFb9] _"]1d^P &U6ö"] _cuF3¥n¦§\º «Ï¤/Q»1¤^¦R*¥1¤s¨®©
¥Rº*¥ãù="H¥IQ1«°¯c»Rºú"«¬N¯\©c§N¨§Eû½1§N¤F¨'üý1þ ¨§Nª4cS hmr-y!Z\_t?kv]RFZ\b8ljk"á*r ´ hmlmasZ\_cv^¾!eR
`ce1d¿ Ù ¿vÜRÜR- R1"â rFb9] _¹]1ds Ù |Z\Eb9]1dFd¿ Ù ]1a~Zn:[E_clme1_cl¢`clmvZn
EdskSF_ceRdFlmn] `clmeRd:fÏe1_4ljd`cZ\_S] k\`clmeRd ]1dsWkveRd`a_ceRhHe1fFlmak\_cZ\`cZ¹Zv}~Zvd`t
E
`cZvb8v ãûNûûGs©a» ¤sN»~¯\¨®«°¥1¤FU¥ ¤ t¸-¨Ã¥1ª8» ¨®«°-¯ *¥1¤s¨®©
¥Rº -³
Rnµ jvÜ~ß ^vÜRÝRÞ-iÞ R1E Þ"â rFb9] _nFzT 1lÀ] dsuEp?U OPFeRrAs] d^9ÌÙT |ljrA*áeRh¢Edse1b8lÀ] hP
Fd`cFZvalme1farF[Z\_c}-lmae1_f¬e _ [^] _a`clj]1hmh¢Ée ´ aZ\_c}~ZvEljakN_cZ\`cZ\ÃZv}~Zvd`
E
`cZvb8 ´ )] hmhjenylmdsudseRdsFZ\`cZN_cb8ljdFlmab lmdÉkve1d`a_ceRh® ãûûNûVs©
»1¤sN»~¯\¨®«®¥1¤s&¥1 ¤ t¸-¨Ã¥1ªU»1¨®«°.¯ *¥1¤F¨®©a¥Rº ^1E³®µ ~ä1à ~ßRHÞ1RR- nà-"â rFb9] _!]1ds Ù F&Fz-^]vEb9]1dAip!Zvd`a_S]1hmlmvZn]1ds9FZvkvZ\d-`a_S] hmlj\ZnarF[Z\_c}-lmae1_a9kve1d-`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ß- vEá Ù ]1F-rsarss] dÇ]1d^á zP FlÀ] u~] _S] Ð
]1d¿ ¾_S] dskSslmdsuÊ`clmb8Zkve1d`a_ceRhmhmZ\_cf¬e _(Flmak\_cZ\`cZ Zv}~Z\d-`
E
`cZvb8vX F§c¥ ©c§N¨®«°¯c»RYº *¥ ?ª ^¸-¨§N© ü¯\«Ã§N¤^¯S§NPÞRß mRn ß sv~Ü-HÞ1RRÞ- ¹ Ù ] _ckNs]1d^¹]1ds4zsáilmdskSslmd^] `n*zErF[Z\_c}-lmae1_akve1d-`a_ce1h-[F_ce ´ hmZvbÙrsalmdFu|
Eb ´ e1hjlmk ´ lmalmbU rshj] `clje1d%`cZvkSsdFljÁ-rFZvvwZ 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] uReEwxhmhmlmdseRlmvs{zF RrsdFZ&Þ1R1E nä-"â Ù lmhmdsZN_n ]*»1ºm¯\¸Fº ¸-¥ ù!*¥ ª4ª4¸-¤F«°¯c»1¨®«¬/¤ Q1ü-ý c¨§Nª4cz-[F_clmdsu1Z\^_ *Z\_chj]1uF¿nÜ1ÝRE ß&sã|}~ZN_cR] b8[¿z-rs[Z\_c}-lmae1_akveRd`a_ce1h*fÏe1_¹dseRdsFZ\`cZN_cb8ljdFlm
`cljk8
E
`cZvb8vw d ö|rFÉp!e1sZvd ]1dsW RZn]1dEá*lmZ\_a_cZ |r^]R-_S] `nZvFl¢`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]1uFFÚ|ZN5 y *e1_cPnÜ1Ü1E nÝ- ¹T |lmdÊ]1dsá- ÷AZ\ylmv:Äs]1k\`ce _cljv] `clmeRd±e1f¡^dFl¢`cZ
`S] `cZb9] kNFlmdsZv&rsdsFZ\_&e ´ aZ\_c}1] `clmeRds]1h ZnÁrslm}1]1hmZvdFkvZRwxWd "§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]REuRZ&]1dsÌÙ Ù Ì:eRdF^] b sZkveRd`a_ce1he1fFlmak\_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º sRF³
n~µ mvÝRä1 ^vÝRäRÜ-vÜRÜ1ÜE Þ Eá ] ´ rs]RF]E|ã|[ZvdWb9]1[Fv] hm`cZN_cd^] `clmdFualmb¹rshj] `clmeRdF"] d^kve1d-`a_ce1h
Ed-`cFZvalmvtwxd S¤F¨§N:© þ ¤» ¨®«°¥1¤»1Sº *¥1;¤ ùn§N©c§N¤^¯N§¹¥1a ¤ *¥1¤¯\¸-©S©c§N¤:¯ ýKs§a¥1© ý1s[^] uRZvt~ä1ä RÝR-AÞ111F ÞR"âF}1]1[ d ö|hÀ] ´s´ ZvZ\P sZ(hmlmdsZn] _`clmb8Z ´ _S] dskSslmdsu`cljb8ZWa[Z\k\`a_crsbwx[ 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: