PGS.TS.
PGS.TS.
Phan
Phan
Huy
Huy
Kh
Kh
á
á
nh
nh
H
H
chuyên gia
chuyên gia
(
(
Expert System
Expert System
)
)
Chng
3
Máy
suy
din
2/
2/
70
70
Chng 3 Máy suy din
\ Các h thng sn xut Post
\ Thut toán Markov và thut toán mng li
\ Nguyên lý hot đng ca các máy suy din
\ Mt s phng pháp suy din thông dng
u
Phng pháp suy din tin
u Phng pháp suy din lùi
u Phng pháp hn hp
3/
3/
70
70
Nn tng ca công ngh
h
chuyên gia hin đi
(Foundation of Modern Rule-Based Expert System)
H
chuyên gia da trên lut
H
chuyên gia da trên lut
Thut toán Markov
Thut toán Markov
Lut sn xut
Post
Lut sn xut
Post
So khp
hiu qu
So khp
hiu qu
Suy din
bên phi lut
Suy din
bên phi lut
Thut toán mng li
Thut toán mng li
Lut
Lut
Máy suy din
Máy suy din
S
kin
S
kin
Hp gii
xung đt
Hp gii
xung đt
4/
4/
70
70
Foundations of Expert Systems
Rule-Based Expert Systems
Rule-Based Expert Systems
Knowledge Base
Knowledge Base
Inference Engine
Inference Engine
Rules
Rules
Pattern
Matching
Pattern
Matching
Facts
Facts
Rete
Algorithm
Rete
Algorithm
Markov
Algorithm
Markov
Algorithm
Post
Production
Rules
Post
Production
Rules
Conflict
Resolution
Conflict
Resolution
Action
Execution
Action
Execution
5/
5/
70
70
H
thng sn xut Post
\ H thng sn xut (SX) Post (Post production systems)
u SX Post (production rule, also called condition-action,
or situation-action rules)
u Mi có dng :
<
xâu tin đ
> →
<
xâu kt qu
>
u Ý tng c bn ca Post là :
¬ Xut phát t mt xâu
tin đ
(antecedent)
¬ Sn xut ra mt xâu kt qu mi khác (consequent)
u Du mi tên → ch ra rng :
xâu vào bên trái đc
chuyn
(transformation)
thành xâu kt qu bên phi
6/
6/
70
70
Lch s
các h
thng SX Post
\ First developed by Post (1943), who studied the properties of rule
systems based on productions & called his systems
canonical
systems
u Production rules are grammar rules for manipulating strings of
symbols,
in automata theory, formal grammars, programming
language design & used for psychological modeling before they
were used for expert systems
u Also called rewrite rules (they rewrite one string into another)
u He proved any system of mathematics or logic could be written
as a type of production rule system
u Minsky showed that any formal system can be realized as a
canonical system
u Các ngôn ng lp trình thng đc đnh ngha
t dng chun Backus-Naur Normal Form (BNF)
7/
7/
70
70
Example of a Canonical System
\ Let the alphabet Σ = {a, b, c}
With axioms a, b, c, aa, bb, cc
\ Then these production rules will give :
u all the possible palindromes (and only palindromes)
u based on the alphabet, starting from the above axioms
P1:
$ -> a$a
P2:
$ -> b$b
P3:
$ -> c$c
\ To generate the string
bacab
:
u P1 is applied to the axiom
c
to get
aca
( $ =
c
)
u Then we apply P2 to get
bacab
Using a different order gives a different result
u If P2 is applied to
c
we get
bcb
u If P1 is applied after we get
abcba
8/
8/
70
70
Ví
d
2
\ Cho h thng SX Post gm các lut SX nh sau
(Chú ý s th t trong du ngoc ch dùng đ trình bày) :
\ Nu đa vào xâu
Car won’t start
, thì các lut 1 và 2 có th đc
áp dng đ sinh ra các xâu
Check battery
và
Check gas
\ Nu đa vào xâu
Battery bad
và
Check battery
thì lut 3 có th
đc áp dng đ sinh ra xâu
Replace battery
1. Car won’t start
→
Check battery
2. Car won’t start
→
Check gas
3. Check battery AND Battery bad
→
Replace battery
4. Check gas AND No gas
→
Fill gas tank
1. Car won
1. Car won
’
’
t start
t start
→
→
Check battery
Check battery
2. Car won
2. Car won
’
’
t start
t start
→
→
Check gas
Check gas
3. Check battery AND Battery bad
3. Check battery AND Battery bad
→
→
Replace battery
Replace battery
4. Check gas AND No gas
4. Check gas AND No gas
→
→
Fill gas tank
Fill gas tank
9/
9/
70
70
Hat đng ca
h
h
th
th
ng SX Post
ng SX Post
\
\
H
H
th
th
ng SX Post :
ng SX Post :
u
u
Không c
Không c
ó
ó
c ch
c ch
á
á
p d
p d
ng đ
ng đ
ng th
ng th
i c
i c
hai xâu v
hai xâu v
à
à
o
o
u
u
Ch
Ch
c
c
ó
ó
th
th
á
á
p d
p d
ng đ
ng đ
c m
c m
t lu
t lu
t trong hai, ho
t trong hai, ho
c không
c không
u
u
Không đ
Không đ
t ra th
t ra th
t
t
c
c
á
á
c lu
c lu
t trong h
t trong h
th
th
ng
ng
u
u
H
H
th
th
ng gi
ng gi
nguyên gi
nguyên gi
á
á
tr
tr
khi đ
khi đ
o th
o th
t
t
c
c
á
á
c lu
c lu
t
t
1. Car won’t start
→
Check battery
2. Car won’t start
→
Check gas
3. Check battery AND Battery bad
→
Replace battery
4. Check gas AND No gas
→
Fill gas tank
1. Car won
1. Car won
’
’
t start
t start
→
→
Check battery
Check battery
2. Car won
2. Car won
’
’
t start
t start
→
→
Check gas
Check gas
3. Check battery AND Battery bad
3. Check battery AND Battery bad
→
→
Replace battery
Replace battery
4. Check gas AND No gas
4. Check gas AND No gas
→
→
Fill gas tank
Fill gas tank
4. Check gas AND No gas
→
Fill gas tank
2. Car won’t start
→
Check gas
1. Car won’t start
→
Check battery
3. Check battery AND Battery bad
→
Replace battery
4. Check gas AND No gas
4. Check gas AND No gas
→
→
Fill gas tank
Fill gas tank
2. Car won
2. Car won
’
’
t start
t start
→
→
Check gas
Check gas
1. Car won
1. Car won
’
’
t start
t start
→
→
Check battery
Check battery
3. Check battery AND Battery bad
3. Check battery AND Battery bad
→
→
Replace battery
Replace battery
10/
10/
70
70
Nhn xét v
hn ch
ca SX Post
\ Mc dù các SX Post đc s dng trong HCG nhng không
thun tin cho vic vit các trình ng dng
\ Hn ch ch yu ca các sn xut Post :
u Không có các
chin lc điu khin
(control strategy) đ đnh
hng s dng lut
u Ch áp dng lut cho mt xâu vào theo cách tu ý mà không
ch ra c th làm th nào đ lut đc áp dng
u S la chn lut mt cách ngu nhiên làm mt nhiu
thi gian tìm kim trong các h thng có nhiu lut
11/
11/
70
70
Thut toán Markov
\
\
Thu
Thu
t to
t to
á
á
n Markov (Markov Algorithm) :
n Markov (Markov Algorithm) :
u
u
xu
xu
t nm
t nm
1954 c
1954 c
i ti
i ti
n c
n c
á
á
ch
ch
á
á
p d
p d
ng c
ng c
á
á
c SX
c SX
t
t
m
m
t xâu v
t xâu v
à
à
o
o
u
u
Nh
Nh
ó
ó
m c
m c
á
á
c s
c s
n xu
n xu
t theo th
t theo th
t
t
đ
đ
u tiên
u tiên
u
u
N
N
u SX c
u SX c
ó
ó
đ
đ
u tiên cao nh
u tiên cao nh
t không đ
t không đ
c
c
á
á
p d
p d
ng,
ng,
th
th
ì
ì
SX ti
SX ti
p theo s
p theo s
đ
đ
c
c
á
á
p d
p d
ng v
ng v
à
à
c
c
th
th
ti
ti
p t
p t
c
c
u
u
Thu
Thu
t to
t to
á
á
n Markov d
n Markov d
ng n
ng n
u :
u :
¬
¬
s
s
n xu
n xu
t cu
t cu
i c
i c
ù
ù
ng không đ
ng không đ
c
c
á
á
p d
p d
ng cho xâu, ho
ng cho xâu, ho
c
c
¬
¬
n
n
u s
u s
n xu
n xu
t đ
t đ
ó
ó
l
l
à
à
cu
cu
i m
i m
t giai đo
t giai đo
n đ
n đ
c
c
á
á
p d
p d
ng
ng
\
\
A Markov algorithm:
A Markov algorithm:
u
u
is a
is a
string rewriting system
string rewriting system
that uses
that uses
grammar
grammar
-
-
like rules to operate
like rules to operate
on
on
strings
strings
of symbols
of symbols
u
u
Markov algorithms have been shown to have sufficient power to be
Markov algorithms have been shown to have sufficient power to be
a general model of
a general model of
computation
computation
.
.
u
u
Important difference from canonical system: now the set of rules
Important difference from canonical system: now the set of rules
is
is
ordered
ordered
12/
12/
70
70
Markov Algorithm (MA)
\ The basic operation:
1.
Check the Rules in order from top to bottom to see whether
any of the strings to the left of the arrow can be found in the
Symbol string
2.
If none are found, stop executing the Algorithm
3.
If one or more is found, replace the leftmost matching text
in the Symbol string with the text to the right of the arrow in
the first corresponding Rule
4.
If the applied rule was a terminating one, stop executing the
Algorithm
5.
Return to step 1 and carry on
13/
13/
70
70
Áp dng thut toán Markov
\
\
Thu
Thu
t to
t to
á
á
n Markov c
n Markov c
ó
ó
th
th
á
á
p d
p d
ng cho t
ng cho t
ng xâu con c
ng xâu con c
a
a
xâu v
xâu v
à
à
o w
o w
∈
∈Σ
∗
, b
, b
t đ
t đ
u t
u t
bên tr
bên tr
á
á
i :
i :
u
u
V
V
í
í
d
d
:
:
á
á
p d
p d
ng lu
ng lu
t
t
ab
ab
→
→
hij
hij
cho xâu v
cho xâu v
à
à
o
o
g
g
ab
ab
kab
kab
u
u
Nh
Nh
n đ
n đ
c xâu m
c xâu m
i
i
g
g
hij
hij
kab
kab
Ti
Ti
p t
p t
c nh
c nh
n đ
n đ
c xâu m
c xâu m
i
i
g
g
hij
hij
k
k
hij
hij
\
\
Ký t
Ký t
đ
đ
c bi
c bi
t
t
ε
ε
bi
bi
u di
u di
n xâu r
n xâu r
ng. V
ng. V
í
í
d
d
:
:
u
u
A
A
→
→
ε
ε
x
x
ó
ó
a t
a t
t c
t c
c
c
á
á
c xu
c xu
t hi
t hi
n c
n c
a A trong m
a A trong m
t xâu
t xâu
u
u
A x B
A x B
→
→
B x A
B x A
ngh
ngh
ch đ
ch đ
o c
o c
á
á
c ký t
c ký t
A v
A v
à
à
B
B
\
\
C
C
á
á
c ký hi
c ký hi
u đ
u đ
c bi
c bi
t kh
t kh
á
á
c c
c c
ó
ó
vai trò nh bi
vai trò nh bi
n bi
n bi
u di
u di
n m
n m
t
t
ký t
ký t
b
b
t k
t k
đ
đ
c vi
c vi
t b
t b
i c
i c
á
á
c ch
c ch
c
c
á
á
i th
i th
ng a, b, c
ng a, b, c
\
\
C
C
á
á
c ch
c ch
c
c
á
á
i Hy l
i Hy l
p
p
α
α
,
,
β
β
∉
∉Σ
, ch
, ch
c
c
á
á
c d
c d
u đ
u đ
c bi
c bi
t c
t c
a xâu
a xâu
14/
14/
70
70
Ví
d
s
dng thut toán Markov
\ Cho các SX có đ u tiên gim
dn nh sau (ký hiu ε hot đng
nh là mt bin trung gian) :
εxy
→
yεx
ε→ε
ε→ε
\ Cho xâu vào
abc
, cn di chuyn
ch cái đu tiên
a
đn v trí cui
cùng ca xâu
\ Quá trình di chuyn đc cho
trong bng
Lu
t
Thành công (S)
ho
cth
tb
i(F)
Xâu
k
tqu
1 F
abc
2 F
abc
3 S
ε
abc
1 S
b
ε
ac
1 S
bc
ε
a
1 F
bc
ε
a
2 S
bca
15/
15/
70
70
Another Example of MA
\ Rules:
1.
"A" -> "apple"
2.
"B" -> "bag"
3.
"S" -> "shop"
4.
"T" -> "the"
5.
"the shop" -> "my brother"
6.
"a never used" ->
."terminating rule"
\ Symbol string :
"I bought a B of As from T S."
\ The Symbol string will change in
the following manner:
R1:
"I bought a B of apples from
T S." .
R2:
"I bought a bag of apples
from T S."
R3:
"I bought a bag of apples
from T shop."
R4:
"I bought a bag of apples
from the shop."
R5:
"I bought a bag of apples
from my brother."
\ The algorithm will then terminate
16/
16/
70
70
Another Example of MA
\
\
They rewrite binary numbers to
They rewrite binary numbers to
their unary counterparts
their unary counterparts
\
\
For example: 101 will be
For example: 101 will be
rewritten to a string of 5
rewritten to a string of 5
consecutive bars
consecutive bars
\
\
Rules:
Rules:
"|0"
"|0"
-
-
> "0||"
> "0||"
"1"
"1"
-
-
> "0|"
> "0|"
"0"
"0"
-
-
> ""
> ""
\
\
Symbol string:
Symbol string:
"101"
"101"
\
\
If the algorithm is applied to the
If the algorithm is applied to the
above example, it will terminate
above example, it will terminate
after the following steps
after the following steps
\
\
Execution:
Execution:
"0|01"
"0|01"
"00||1"
"00||1"
"00||0|"
"00||0|"
"00|0|||"
"00|0|||"
"000|||||"
"000|||||"
"00|||||"
"00|||||"
"0|||||"
"0|||||"
"|||||"
"|||||"
\ MA chnápdng lutcóđ utiênnhttheochinlc điukhintt đnh
(definite control strategy)
\ Nukhôngchn đc, MA tìm lutkháccóđ utiênthphn
\ MA thiutínhhiuqu trong nhng h chuyên gia có nhiulut
17/
17/
70
70
Thut toán mng li (Rete Algorithm)
\ Do Charles L. Forgy đ xut nm 1979 ti trng H Carnegie,
Mellon, Hoa K trong lun vn tin s ca ông v OPS (Official
Production System)
\ Thut toán mng li gii quyt vn đ
hiu sut
(efficient) ca các h chuyên gia :
u óng vai trò quan trng khi gii quyt các bài toán thc tin cha
t hàng trm đn hàng ngàn lut
u NSD không phi ch đi nhiu thi gian đ nhn đc câu tr li
\ Cn có thut toán x lý ht các lut đ chn ra các lut
cn thit đ áp dng thay vì th ln lt các lut
18/
18/
70
70
RETE algorithm
\
\
Thu
Thu
t to
t to
á
á
n m
n m
ng l
ng l
i :
i :
u
u
Cho ph
Cho ph
é
é
p so kh
p so kh
p (pattern mattching) r
p (pattern mattching) r
t nhanh đ
t nhanh đ
nh
nh
n
n
đ
đ
c câu tr
c câu tr
l
l
i t
i t
c th
c th
i b
i b
ng c
ng c
á
á
ch lu gi
ch lu gi
thông tin c
thông tin c
a c
a c
á
á
c
c
lu
lu
t trong m
t trong m
t m
t m
ng l
ng l
i (network)
i (network)
u
u
Thay v
Thay v
ì
ì
so kh
so kh
p l
p l
p đi l
p đi l
p l
p l
i c
i c
á
á
c s
c s
ki
ki
n m
n m
i l
i l
n
n
á
á
p d
p d
ng m
ng m
t
t
lu
lu
t trong m
t trong m
i chu tr
i chu tr
ì
ì
nh nh
nh nh
n th
n th
c (recognize
c (recognize
-
-
act cycle),
act cycle),
thu
thu
t to
t to
á
á
n m
n m
ng l
ng l
i ch
i ch
nh
nh
ì
ì
n nh
n nh
ng thay đ
ng thay đ
i khi so kh
i khi so kh
p
p
trong m
trong m
i chu tr
i chu tr
ì
ì
nh
nh
\
\
Activities
Activities
u
u
Creates a decision tree where each node corresponds to a
Creates a decision tree where each node corresponds to a
pattern occurring at the left
pattern occurring at the left
-
-
hand side of a rule
hand side of a rule
u
u
Each node has a memory of facts that satisfy the pattern
Each node has a memory of facts that satisfy the pattern
u
u
Complete LHS as defined by a path from root to a leaf
Complete LHS as defined by a path from root to a leaf
19/
19/
70
70
The Rete-Algorithm
\ The net encodes the condition parts (IF-parts) of the rules
\ The input are the changes of the working memory, i.e.:
u New elements or deleted elements
u Modification of elements is simulated by first delete then add
modified version)
\ The output is the conflict set (i.e., the applicable rules)
20/
20/
70
70
Rete example
( />x?
x?
y?
y?
x?
x?
y?
y?
z?
z?
Pattern
Network
Pattern
Network
Rules: IF x & y THEN p
IF x & y & z THEN q
Rules: IF x & y THEN p
IF x & y & z THEN q
p
p
Join Network
Join Network
8 nodes
8 nodes
q
q
21/
21/
70
70
Rete example
( />x?
x?
y?
y?
z?
z?
p
p
q
q
Rules: IF x & y THEN p
IF x & y & z THEN q
Rules: IF x & y THEN p
IF x & y & z THEN q
Pattern
Network
Pattern
Network
Join Network
Join Network
8 nodes
8 nodes
22/
22/
70
70
Rete example
( />x?
x?
y?
y?
z?
z?
p
p
q
q
Rules: IF x & y THEN p
IF x & y & z THEN q
Rules: IF x & y THEN p
IF x & y & z THEN q
Pattern
Network
Pattern
Network
Join Network
Join Network
8 nodes
8 nodes
23/
23/
70
70
Matching Patterns
\ At each cycle the interpreter looks to see which rules have
conditions that can be satisfied
\ If a condition has no variables:
u It will only be satisfied by an identical expression in working
memory
\ If the condition contains variables then
u It will be satisfied if there is an expression in working
memory with an attribute-value pair that matches it in a way
that is consistent with the way other conditions in the same
rule have already been matched
24/
24/
70
70
Rule-Based Production Systems
\ A production system consists of
u a rule set / knowledge base / production memory
u a rule interpreter / inference engine
¬ that decides when to apply which rules
u a working memory
¬ that holds the data, goal statements, & intermediate results
that make up the current state of the problem.
\ Rules have the general form
IF <pattern> THEN <action>
P
1
, …, P
m
→
Q
1
, …, Q
n
\ Patterns are usually represented by OAV vectors
25/
25/
70
70
Nguyên lý hot đng ca các máy suy din
\
\
Trong c
Trong c
á
á
c h
c h
th
th
ng d
ng d
ù
ù
ng lu
ng lu
t, khi
t, khi
m
m
á
á
y duy di
y duy di
n
n
(
(
MSD)
MSD)
đ
đ
c kh
c kh
i đ
i đ
ng,
ng,
c s
c s
tri th
tri th
c ch
c ch
a thông tin liên quan đ
a thông tin liên quan đ
n
n
ph
ph
á
á
t bi
t bi
u b
u b
à
à
i to
i to
á
á
n c
n c
n gi
n gi
i :
i :
u
u
C
C
á
á
c s
c s
ki
ki
n đã đ
n đã đ
c x
c x
á
á
c nh
c nh
n v
n v
à
à
c
c
á
á
c s
c s
ki
ki
n s
n s
đ
đ
c thi
c thi
t
t
l
l
p bi
p bi
u di
u di
n b
n b
à
à
i to
i to
á
á
n hay đ
n hay đ
í
í
ch
ch
u
u
Nh
Nh
ng tri th
ng tri th
c th
c th
c h
c h
à
à
nh thu
nh thu
c l
c l
nh v
nh v
c t
c t
o nên c s
o nên c s
lu
lu
t
t
\ Hot đng suy din ca
MSD :
MSD :
u
u
Suy lu
Suy lu
n b
n b
ng c
ng c
á
á
ch quy
ch quy
t đ
t đ
nh xem nh
nh xem nh
ng lu
ng lu
t n
t n
à
à
o s
o s
l
l
à
à
m
m
th
th
a mãn c
a mãn c
á
á
c s
c s
ki
ki
n, c
n, c
á
á
c đ
c đ
i t
i t
ng
ng
u
u
Ch
Ch
n u tiên c
n u tiên c
á
á
c lu
c lu
t th
t th
a mãn
a mãn
u
u
Th
Th
c hi
c hi
n c
n c
á
á
c lu
c lu
t c
t c
ó
ó
t
t
í
í
nh u tiên cao nh
nh u tiên cao nh
t
t