Tải bản đầy đủ (.pdf) (70 trang)

Tổng quan về hệ chuyên gia máy suy diễn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (787.7 KB, 70 trang )

PGS.TS.
PGS.TS.
Phan
Phan

Huy
Huy

Kh
Kh
á
á
nh
nh


H
H



chuyên gia
chuyên gia

(
(
Expert System
Expert System
)
)
Chng



3
Máy

suy

din
2/
2/
70
70
Chng 3 Máy suy din
\ Các h thng sn xut Post
\ Thut toán Markov và thut toán mng li
\ Nguyên lý hot đng ca các máy suy din
\ Mt s phng pháp suy din thông dng
u
Phng pháp suy din tin
u Phng pháp suy din lùi
u Phng pháp hn hp
3/
3/
70
70
Nn tng ca công ngh

h

chuyên gia hin đi
(Foundation of Modern Rule-Based Expert System)

H

chuyên gia da trên lut
H

chuyên gia da trên lut
Thut toán Markov
Thut toán Markov
Lut sn xut
Post

Lut sn xut
Post
So khp

hiu qu

So khp

hiu qu
Suy din

bên phi lut

Suy din

bên phi lut
Thut toán mng li
Thut toán mng li
Lut

Lut
Máy suy din
Máy suy din
S

kin
S

kin
Hp gii

xung đt

Hp gii

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

thng sn xut Post
\ H thng sn xut (SX) Post (Post production systems)
u SX Post (production rule, also called condition-action,
or situation-action rules)
u Mi có dng :
<
xâu tin đ
> →

<
xâu kt qu
>
u Ý tng c bn ca Post là :
¬ Xut phát t mt xâu
tin đ
(antecedent)
¬ Sn xut ra mt xâu kt qu mi khác (consequent)
u Du mi tên → ch ra rng :
xâu vào bên trái đc
chuyn
(transformation)
thành xâu kt qu bên phi
6/
6/
70
70
Lch s


các h

thng 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 lp trình thng đc đnh ngha
t dng chun 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


d

2
\ Cho h thng SX Post gm các lut SX nh sau
(Chú ý s th t trong du ngoc ch dùng đ trình bày) :
\ Nu đa vào xâu
Car won’t start
, thì các lut 1 và 2 có th đc
áp dng đ sinh ra các xâu
Check battery

Check gas
\ Nu đa vào xâu
Battery bad

Check battery
thì lut 3 có th
đc áp dng đ 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
Hat đng ca
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
Nhn xét v

hn ch

ca SX Post
\ Mc dù các SX Post đc s dng trong HCG nhng không
thun tin cho vic vit các trình ng dng

\ Hn ch ch yu ca các sn xut Post :
u Không có các
chin lc điu khin
(control strategy) đ đnh
hng s dng lut
u Ch áp dng lut cho mt xâu vào theo cách tu ý mà không
ch ra c th làm th nào đ lut đc áp dng
u S la chn lut mt cách ngu nhiên làm mt nhiu
thi gian tìm kim trong các h thng có nhiu lut
11/
11/
70
70
Thut toán Markov
\
\
Thu
Thu


t to
t to
á
á
n Markov (Markov Algorithm) :
n Markov (Markov Algorithm) :
u
u





xu
xu


t nm
t nm
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 dng thut 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


d


s

dng thut toán Markov
\ Cho các SX có đ u tiên gim
dn nh sau (ký hiu ε hot đng
nh là mt bin trung gian) :
εxy



yεx
ε→ε
ε→ε
\ Cho xâu vào
abc
, cn di chuyn
ch cái đu tiên
a
đn v trí cui
cùng ca xâu
\ Quá trình di chuyn đc cho
trong bng
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 chnápdng lutcóđ utiênnhttheochinlc điukhintt đnh
(definite control strategy)
\ Nukhôngchn đc, MA tìm lutkháccóđ utiênthphn
\ MA thiutínhhiuqu trong nhng h chuyên gia có nhiulut
17/
17/
70
70
Thut toán mng li (Rete Algorithm)
\ Do Charles L. Forgy đ xut nm 1979 ti trng H Carnegie,
Mellon, Hoa K trong lun vn tin s ca ông v OPS (Official
Production System)
\ Thut toán mng li gii quyt vn đ
hiu sut
(efficient) ca các h chuyên gia :
u óng vai trò quan trng khi gii quyt các bài toán thc tin cha
t hàng trm đn hàng ngàn lut
u NSD không phi ch đi nhiu thi gian đ nhn đc câu tr li
\ Cn có thut toán x lý ht các lut đ chn ra các lut
cn thit đ áp dng thay vì th ln lt các lut
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 lu gi
ch lu 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ý hot đng ca các máy suy din
\
\
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
\ Hot đng suy din ca
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

×