Professional Documents
Culture Documents
Artificial Intelligence: Foundations & Applications: Prof. Partha P. Chakrabarti & Arijit Mondal
Artificial Intelligence: Foundations & Applications: Prof. Partha P. Chakrabarti & Arijit Mondal
IIT Kharagpur 1
CTL example
S
req
gr gr gr req gr gr
gr gr
IIT Kharagpur 2
CTL example
S
req
gr gr gr req gr gr
gr gr
IIT Kharagpur 2
CTL example
S
req
gr gr gr req gr gr
gr gr
IIT Kharagpur 2
CTL example
S
req
gr gr gr req gr gr
gr gr
IIT Kharagpur 2
CTL example
S
req
gr gr gr req gr gr
gr gr
IIT Kharagpur 2
CTL example
S
req
gr gr gr req gr gr
gr gr
IIT Kharagpur 2
CTL example
S
req
gr gr gr req gr gr
gr gr
IIT Kharagpur 2
CTL example
S
req
gr gr gr req gr gr
gr gr
IIT Kharagpur 2
CTL example
• True properties: EFr, AFr, AGs, AG EF r, E[p U q], E[E(p U r) U q], E[p U E(q U r)]
• False properties: AFq, EGr, AG EF p, E[p U E(r U q)]
s,p
s,p s,r
s,q s,r
s,r
s,p
IIT Kharagpur 3
CTL Model Checking
• It checks whether a given CTL formula f holds on a given Kripke structure M i.e., M |= f
• Basic procedure
• The set Sat(f) of all states satisfying f is computed recursively
• M |= f if and only if S0 ⊆ Sat(f)
IIT Kharagpur 4
CTL Model Checking: EX f
function CheckEX(f)
1. Sf = {s ∈ S | f ∈ L(s)}
2. while Sf , ∅
3. Choose s ∈ Sf
4. Sf = Sf − {s}
5. for all t such that (t, s) ∈ T
6. if f < L(t)
7. L(t) = L(t) ∪ {EXf}
8. endif
9. end for
10. end while
IIT Kharagpur 5
CTL Model Checking: EF f
f0 = p
IIT Kharagpur 6
CTL Model Checking: EF f
f0 = p
IIT Kharagpur 6
CTL Model Checking: EF f
f1 = p∨
f0 = p
EXf0
IIT Kharagpur 6
CTL Model Checking: EF f
f1 = p∨
f0 = p
EXf0
IIT Kharagpur 6
CTL Model Checking: EF f
f2 = p∨ f1 = p∨
f0 = p
EXf1 EXf0
IIT Kharagpur 6
CTL Model Checking: EF f
f2 = p∨ f1 = p∨
f0 = p
EXf1 EXf0
IIT Kharagpur 6
CTL Model Checking: EF f
f3 = p ∨ EXf2
f2 = p∨ f1 = p∨
f0 = p
EXf1 EXf0
IIT Kharagpur 6
CTL Model Checking: EF f
f3 = p ∨ EXf2
f2 = p∨ f1 = p∨
f0 = p
EXf1 EXf0
IIT Kharagpur 6
CTL Model Checking: EF f
f3 = p ∨ EXf2
f2 = p∨ f1 = p∨
f0 = p
EXf1 EXf0
IIT Kharagpur 6
CTL Model Checking: EF p
function CheckEF(p)
1. Sp = {s ∈ S | p ∈ L(s)}
2. for all s ∈ Sp do L(s) = L(s) ∪ {EFp}
3. while Sp , ∅
4. Choose s ∈ Sp
5. Sp = Sp − {s}
6. for all t such that (t, s) ∈ T
7. if {EFp} < L(t)
8. L(t) = L(t) ∪ {EFp}
9. Sp = Sp ∪ t
10. endif
11. end for
12. end while
IIT Kharagpur 7
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
S6 S7
a,b,c a
S0 S3
S4 S5 a,c
b
b,c S2 S1 a,b
IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
S6 S7
a,b,c a
S0 S3
g S4 S5 a,c
b
b,c S2 S1 a,b
S4 |= g. Sp = {S4} {S4} |= g
IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
S6 S7
a,b,c a
S0 S3
g S4 g S5 a,c
b
b,c S2 S1 a,b
IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
S6 S7
a,b,c a
S0 S3
g S4 g S5 a,c
b
b,c S2 S1 a,b
IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
g S6 S7
a,b,c a
S0 S3
g S4 g S5 a,c
b
b,c S2 S1 a,b
IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
g S6 S7
a,b,c a
S0 S3
g S4 g S5 a,c
b
b,c S2 S1 a,b
IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
g S6 S7
a,b,c a
S0 S3
g S4 g S5 a,c
b
b,c S2 S1 a,b
IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
g S6 S7
a,b,c a
S0 S3
g S4 g S5 a,c
b
b,c S2 S1 a,b
IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
g S6 S7
a,b,c a
S0 S3
g S4 g S5 a,c
b
b,c S2 S1 a,b
IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c g ∅
g S6 S7
a,b,c a
S0 S3
g S4 g S5 a,c
b
b,c S2 S1 a,b
IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c g ∅
g S6 S7
a,b,c a
S0 S3
g S4 g S5 a,c
b
b,c S2 S1 a,b
IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c g ∅
g S6 S7
a,b,c a
S0 S3
g S4 g S5 a,c
b
b,c S2 S1 a,b
IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c g ∅
g S6 S7
a,b,c a
S0 S3
g S4 g S5 a,c
b
b,c S2 S1 a,b
IIT Kharagpur 8
CTL Model Checking: EG p
f0 = p
IIT Kharagpur 9
CTL Model Checking: EG p
f0 = p f1 = p ∧ EXf0
IIT Kharagpur 9
CTL Model Checking: EG p
f2 = p∧
f0 = p f1 = p ∧ EXf0
EXf1
IIT Kharagpur 9
CTL Model Checking: EG p
f2 = p∧ f3 = p∧
f0 = p f1 = p ∧ EXf0
EXf1 EXf2
IIT Kharagpur 9
CTL Model Checking: EG p
f2 = p∧ f3 = p∧
f0 = p f1 = p ∧ EXf0
EXf1 EXf2
IIT Kharagpur 9
CTL Model Checking: EG p
f2 = p∧ f3 = p∧
f0 = p f1 = p ∧ EXf0
EXf1 EXf2
IIT Kharagpur 9
CTL Model Checking: EG p
function CheckEG(p)
1. Sp = {s ∈ S | p ∈ L(s)}
2. SCC =Ø {C | C is nontrivial SCC of Sp }
3. R = {s | s ∈ C}
C ∈SCC
4. for all s ∈ R do L(s) = L(s) ∪ {EGp}
5. while R , ∅
6. Choose s ∈ R
7. R = R − {s}
8. for all t such that (t, s) ∈ T and t ∈ Sp
9. if {EGp} < L(t)
10. L(t) = L(t) ∪ {EGp}
11. R = R ∪ {t}
12. endif
13. end for
14. end while
IIT Kharagpur 10
Example: g = EG b
c φ
S6 S7
a,b,c a
S0 S3
S4 a,c S5
b
b,c S2 S1 a,b
Let p = b
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
S0 S3
S4 a,c S5
b
b,c S2 S1 a,b
Find states =b
Let psatisfying b.
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
S0 S3
S4 a,c S5
b
b,c S2 S1 a,b
=b
Let psatisfying
Find states b. Sp = {S0}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
S0 S3
S4 a,c S5
b
b,c S2 S1 a,b
=b
Let psatisfying
Find states b. SpSp=={S0,
{S0}S1}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
S0 S3
S4 a,c S5
b
b,c S2 S1 a,b
=b
Let psatisfying
Find states b. SpSp=
Sp={S0,
={S0,
{S0}
S1,S1}
S2}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
S0 S3
S4 a,c S5
b
b,c S2 S1 a,b
=b
Let psatisfying
Find states b. SpSp=Sp= p=={S0,
S{S0,
{S0,
{S0}
S1,
S1,
S2,
S1}
S2}
S4}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
S0 S3
S4 a,c S5
b
b,c S2 S1 a,b
Find
Find = b Sp . b.
SCCpsatisfying
states
Let using SpSp=Sp= p=={S0,
S{S0,
{S0,
{S0}
S1,
S1,
S2,
S1}
S2}
S4}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
S0 S3
S4 a,c S5
b
b,c S2 S1 a,b
Find
Find = b Sp . b.
SCCpsatisfying
states
Let using SpSp=Sp= p=={S0,
S{S0,
{S0,
{S0}
S1,
S1,
S2,
S1}
S2}
S4}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
S0 S3
S4 a,c S5
b
b,c S2 S1 a,b
Find
Find = b Sp . b.
SCCpsatisfying
states
Let using SpSp=SRp==p={S0,
S{S0,={S0,
{S0}
S1,
{S0,S1,
S2,
S1}
S2}
S2} S4}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
g S0 S3
S4 a,c S5
b
g
b,c S2 S1 a,b
Find
Find = b Sp . b.
SCCpsatisfying
states
Let using SpSp=SRp==p={S0,
S{S0,={S0,
{S0}
S1,
{S0,S1,
S2,
S1}
S2}
S2} S4} Sg = {S0, S2}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
g S0 S3
S4 a,c S5
b
g
b,c S2 S1 a,b
Find
Find =S0.
b Sp . b.
SCCpsatisfying
states
Let
Choose using SpSp=SRp=R=p={S0,
S{S0,=={S0,
{S0}
S1,
{S0,S1,
{S2}S2,
S1}
S2}
S2} S4} Sg = {S0, S2}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
g S0 S3
g S4 a,c S5
b
g
b,c S2 S1 a,b
Find
Find SCC
S4 p|=
states
Let
Choose =g.
b Sp . b.
using
satisfying
S0. SpSp=SRp=R=p={S0,
S{S0,=={S0,
{S0}
S1,
{S0,S1,
{S2}S2,
S1}
S2}
S2} S4} Sg = {S0, S2}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
g S0 S3
g S4 a,c S5
b
g
b,c S2 S1 a,b
Find
Find SCC
S4 p|=
states
Let
Choose =g.
b Sp . b.
using
satisfying
S0. SpSp=SRp=R=p={S0,
S{S0,=={S0,
{S0}
S1,
{S0,
{S2,S1,
{S2}S2,
S1}
S2}
S4}
S2} S4} SgSg= ={S0,
{S0,
S2,S2}
S4}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
g S0 S3
g S4 a,c S5
b
g
b,c S2 S1 a,b
Find
Find SCC
S4 p|=
states
Let
Choose =g.
b Sp . b.
using
satisfying
S0.
S2. SpSp=SRp=R=p={S0,
S{S0,=={S0,
{S0}
S1,
{S0,
{S2,S1,
{S4}
{S2}S2,
S1}
S2}
S4}
S2} S4} SgSg= ={S0,
{S0,
S2,S2}
S4}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
g S0 S3
g S4 a,c S5
b
g
b,c S2 S1 a,b
Find
Find SCC
Nothing
states
Let
Choosep|=
S4 to =explore.
b Sp . b.
using
g.
satisfying
S0.
S2. SpSp=SRp=R=p={S0,
S{S0,=={S0,
{S0}
S1,
{S0,
{S2,S1,
{S4}
{S2}S2,
S1}
S2}
S4}
S2} S4} SgSg= ={S0,
{S0,
S2,S2}
S4}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
g S0 S3
g S4 a,c S5
b
g
b,c S2 S1 a,b
Find
Find SCC
Nothing
states
Let
Choosep|=
S4 to =explore.
b Sp . b.
using
g.
satisfying
S0.
S4.
S2. SpSp=SRp=R=p=
S{S0,==={S4}
R{S0,
{S0,
{S0}
S1,
{S0,
{S2,S1,
{S2}
{} S2,
S1}
S2}
S4}
S2} S4} SgSg= ={S0,
{S0,
S2,S2}
S4}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
g S0 S3
g S4 a,c S5
b
g
b,c S2 S1 a,b
Find
Find SCC
Nothing
states
Let
Choosep|=
S4 to =explore.
b Sp . b.
using
g.
satisfying
S0.
S4.
S2. SpSp=SRp=R=p=
S{S0,==={S4}
R{S0,
{S0,
{S0}
S1,
{S0,
{S2,S1,
{S2}
{} S2,
S1}
S2}
S4}
S2} S4} SgSg= ={S0,
{S0,
S2,S2}
S4}
IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7
a,b,c a
g S0 S3
g S4 a,c S5
b
g
b,c S2 S1 a,b
Find
Find SCC
NothingS4
states
Let p|=
to =explore.
b Sp . b.
using
g.
satisfying
Done.
Choose S0.
S4.
S2. SpSgp=SR= R=p= ==={S4}
R{S0,
pS{S0, S2,
{S0,
{S0}
S1,
{S0,
{S2,S1,
{S2}
{} S4}
S2,
S1}
S2}
S4}
S2} S4} SgSg= ={S0,
{S0,
S2,S2}
S4}
IIT Kharagpur 11
CTL Model Checking: E(p U q)
f0 = q
IIT Kharagpur 12
CTL Model Checking: E(p U q)
f1 = q∨
f0 = q
(p ∧ EXf0 )
IIT Kharagpur 12
CTL Model Checking: E(p U q)
f2 = q∨ f1 = q∨
f0 = q
(p ∧ EXf1 ) (p ∧ EXf0 )
IIT Kharagpur 12
CTL Model Checking: E(p U q)
f3 = q ∨ (p ∧ EXf2 )
f2 = q∨ f1 = q∨
f0 = q
(p ∧ EXf1 ) (p ∧ EXf0 )
IIT Kharagpur 12
CTL Model Checking: E(p U q)
f3 = q ∨ (p ∧ EXf2 )
f2 = q∨ f1 = q∨
f0 = q
(p ∧ EXf1 ) (p ∧ EXf0 )
IIT Kharagpur 12
CTL Model Checking: E(p U q)
function CheckEU(p,q)
1. Sq = {s ∈ S | q ∈ L(s)}
2. for all s ∈ Sq do L(s) = L(s) ∪ {E(p U q)}
3. while Sq , ∅
4. Choose s ∈ Sq
5. Sq = Sq − {s}
6. for all t such that (t, s) ∈ T
7. if {E(p U q)} < L(t) and p ∈ L(t)
8. L(t) = L(t) ∪ {E(p U q)}
9. Sq = Sq ∪ {t}
10. endif
11. end for
12. end while
IIT Kharagpur 13
Nested CTL query
EF(p ∧ AG¬q)
IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)
EF
p ∧ AG¬q
IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)
EF
p ∧ AG¬q
IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)
EF
p ∧ AG¬q
IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)
EF
p ∧ AG¬q
p AG¬q
IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)
EF
p ∧ AG¬q
p AG¬q
AG
¬q
IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)
EF
p ∧ AG¬q
p AG¬q
AG
¬q
IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)
EF
p ∧ AG¬q
p AG¬q
AG
¬q
IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)
EF
p ∧ AG¬q
∧
p AG¬q
AG
¬q
IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)
EF
p ∧ AG¬q
∧
p AG¬q
AG
¬q
IIT Kharagpur 14
Real Time properties
• Real time systems
• Predictable response time are necessary for correct operation
• Safety critical systems like controller for aircraft, industrial machinery are a few examples
IIT Kharagpur 15
Bounded Temporal Operators
• Specify real-time constraints
• Over bounded traces
IIT Kharagpur 16
Examples
0 1 2 3 4
G [2,4] p
p holds
IIT Kharagpur 17
Examples
0 1 2 3 4
F [2,4] p
p holds
IIT Kharagpur 18
Examples
0 1 2 3 4
X3 p
p holds
IIT Kharagpur 19
Examples
0 1 2 3 4
pU [2,4] q
p holds q holds
• q holds eventually between 2nd and 4th time step and p holds until q holds
IIT Kharagpur 20
Timing properties
• Whenever request is recorded grant should take place within 4 time units
• AG(posedge(req) → AF[0,4] posedge(gr))
• The arbiter will provide exactly 64 time units to high priority user in each grant
• AG(posedge(hpusing) →
A(¬negedge(hpusing) U[64,64] negedge(hpusing)))
IIT Kharagpur 21
Than« y¯µ!
IIT Kharagpur 22