You are on page 1of 135

I HC NNG

TRNG I HC BCH KHOA


KHOA CNG NGH THNG TIN

GIO TRNH

H CHUYN GIA
PGS.TS. PHAN HUY KHNH

NNG 9-2004

Mc lc
CHNG 1
M U
........................................................................................................................7
I.
GII THIU H CHUYN GIA ............................................................................................7
I.1.
H chuyn gia l g ?......................................................................................7
I.2.
c trng v u im ca h chuyn gia.......................................................9
I.3.
S pht trin ca cng ngh h chuyn gia....................................................9
I.4.
Cc lnh vc ng dng ca h chuyn gia ...................................................10
II. KIN TRC TNG QUT CA CC H CHUYN GIA .........................................................12
II.1.
Nhng thnh phn c bn ca mt h chuyn gia .......................................12
II.2.
Mt s m hnh kin trc h chuyn gia.......................................................14
a.
M hnh J. L. Ermine ...................................................................................14
b.
M hnh C. Ernest ........................................................................................14
c.
M hnh E. V. Popov....................................................................................15
II.3.
Biu din tri thc trong cc h chuyn gia ..................................................15
II.3.1.
Biu din tri thc bi cc lut sn xut ........................................................15
II.3.2.
B sinh ca h chuyn gia............................................................................17
II.3.3.
Son tho kt hp cc lut........................................................................18
II.3.4.
Cc phng php biu din tri thc khc.....................................................19
a.
Biu din tri thc nh mnh logic ...........................................................19
b.
Biu din tri thc nh mng ng ngha........................................................20
c.
Biu din tri thc nh ngn ng nhn to ....................................................21
II.4.
K thut suy lun trong cc h chuyn gia ..................................................21
II.4.1.
Phng php suy din tin ...........................................................................22
II.4.2.
Phng php suy din li .............................................................................22
II.4.3.
Cc h thng sn xut (production systems) ................................................23
a.
Cc h thng sn xut Post...........................................................................23
b.
Cc thut ton Markov .................................................................................24
c.
Thut ton mng li (rete algorithm) .........................................................25
III. THIT K H CHUYN GIA .............................................................................................25
III.1.
Thut ton tng qut ....................................................................................25
III.2.
Cc bc pht trin h chuyn gia ..............................................................26
a.
Qun l d n (Project Management) ..........................................................26
b.
Tip nhn tri thc .........................................................................................28
c.
Vn phn phi (The Delivery Problem) ..................................................28
d.
Bo tr v pht trin ......................................................................................28
III.3.
Sai st trong qu trnh pht trin h chuyn gia..........................................29
BI TP CHNG 1 ..............................................................................................................31
BIU DIN TRI THC NH LOGIC V T BC MT ........................................................33
I.
NGN NG V T BC MT .............................................................................................33
I.1.
Cc khi nim...............................................................................................33
I.1.1.
C php ca ngn ng v t bc mt............................................................33
I.1.2.
Cc lut suy din (inference rule) ................................................................35
I.1.3.
Ng ngha ca ngn ng v t bc mt ........................................................36
a.
Din gii (Interpretation)..............................................................................36

Mc lc

b.

Gi tr mt cng thc theo din gii ............................................................ 37


I.2.
Cc tnh cht ................................................................................................ 38
I.2.1.
Tnh hp thc / khng hp thc, tnh nht qun / khng nht qun............ 38
I.2.2.
Tnh khng quyt nh c v tnh na quyt nh c.......................... 39
I.2.3.
Cng thc tng ng ............................................................................... 39
I.2.4.
Hu qu logic ............................................................................................... 40
I.3.
Quan h gia nh l v hu qu logic........................................................ 40
I.3.1.
Nhm cc lut suy din ng n (sound)............................................... 40
I.3.2.
Nhm cc lut suy din y ................................................................ 40
I.3.3.
V sao cn ng n hay y ?........................................................ 41
II. PHP HP GII .............................................................................................................. 41
II.1.
Bin i cc mnh ................................................................................... 41
II.1.1.
Dng chun trc ca mt cng thc chnh ................................................ 41
a.
Loi b cc php ni v ..................................................................... 41
b.
Ghp cc php ni vi cc nguyn t lin quan ...................................... 41
c.
Phn bit cc bin ........................................................................................ 41
d.
Dch chuyn cc du lng t ..................................................................... 42
II.1.2.
Chuyn qua dng mnh ca cng thc chnh ...................................... 42
a.
Loi bi cc du lng t tn ti ................................................................. 42
b.
Loi b tt c cc du lng t.................................................................... 43
c.
Chuyn qua dng chun hi..................................................................... 43
d.
Loi b tt c cc du php ton logic......................................................... 44
e.
Phn bit cc bin ca cc mnh ............................................................. 44
II.1.3.
Quan h gia CTC v cc dng mnh ca chng.................................... 44
II.1.4.
Php hp gii i vi cc mnh c th ................................................... 46
II.2.
Php hp nht (unification) ......................................................................... 46
II.2.1.
Khi nim..................................................................................................... 46
a.
Php th........................................................................................................ 47
b.
B hp nht (unifier).................................................................................... 47
c.
Thut ton hp nht ..................................................................................... 48
II.2.2.
Hp gii cc mnh bt k........................................................................ 50
II.2.3.
Mt cch trnh by khc ca php hp gii ................................................. 51
II.3.
Cc tnh cht tng qut ca php hp gii.................................................. 52
a.
Mt lut ng n ........................................................................................ 52
b.
Tnh hon ton ca php hp gii i vi php bc b ............................... 52
III. CC H THNG BC B BI HP GII .............................................................................. 53
III.1.
Th tc tng qut bc b bi hp gii......................................................... 53
III.2.
Chin lc hp gii ..................................................................................... 54
III.2.1.
th nh hng, th tm kim v th bc b ................................... 54
III.2.2.
Chin lc hp gii bi bc b theo chiu rng .......................................... 55
III.2.3.
Chin lc hp gii bi bc b vi tp hp tr gip ............................... 57
III.2.4.
Chin lc hp gii bi bc b dng kho .............................................. 58
III.2.5.
Chin lc hp gii bi bc b l tuyn tnh ........................................... 59
III.2.6.
Chin lc bc b bi hp gii l tuyn tnh theo u vo ............................... 62
III.2.7.
Chin lc hp gii LUSH ...................................................................... 63
III.3.
V d minh ho : bi ton tm ngi ni tht............................................... 64
BI TP CHNG 2 .............................................................................................................. 69
MY SUY DIN 71
I.
NGUYN L HOT NG CA CC MY SUY DIN ......................................................... 71
I.1.
Giai on nh gi EVALUATION ............................................................. 72

a.
b.
c.

I.2.
II.
II.1.
II.2.
II.3.

II.4.

II.5.

Bc thu hp (RESTRICTION)...................................................................72
Bc so khp (PATTERNMATCHING) ..................................................73
Gii quyt xung t (CONFLICT-RESOLUTION) ....................................73
Giai on thc hin EXECUTION...............................................................73
MT S S C BN XY DNG MY SUY DIN ......................................................74
Mt v d v c s tri thc............................................................................74
Tm lut nh suy din tin vi ch bt buc n iu.............................76
a.
S PREDIAGRAM1 : ly ngay kt lun ca mi lut..........................76
b.
S PREDIAGRAM : to sinh v tch lu s kin theo chiu rng ......77
Tm lut nh suy din li vi ch thm d n iu ...............................79
a.
S BACKDIAGRAM 1 : sn sinh cc bi ton con theo chiu su .....79
b.
Mt vi bin dng ca BACKDIAGRAM1...............................................81
c.
S BACKDIAGRAM 2 : to sinh cc bi ton con theo chiu su tr
khi c mt lut c kt lun ngay ............................................................................82
Tm cc lut nh lin kt hn hp, vi ch thm d khng n iu......83
a.
Lin kt hn hp...........................................................................................84
b.
Lp hay to sinh k hoch ........................................................................84
c.
Khng n iu ............................................................................................85
d.
Khi ng u tin theo su .....................................................................86
e.
Gii thch s MIXEDIAGRAM ..............................................................88
f.
Mt vi bin tu n gin khc ca MIXEDIAGRAM ...............................89
S my s dng bin ...............................................................................90
a.
Hot ng ca BACKDIAGRAM3 ...........................................................90
b.
BACKDIAGRAM3 : s my suy din kiu Prolog..............................93
c.
Gii thch s my BACKDIAGRAM3 .................................................94

BI TP CHNG 3 ..............................................................................................................95
H CHUYN GIA MYCIN V NGN NG OPS5 .............................................................97
I.
H CHUYN GIA MYCIN.............................................................................................97
I.1.
Gii thiu MYCIN ........................................................................................97
I.2.
Biu din tri thc trong MYCIN ...................................................................99
a.
Ng cnh ......................................................................................................99
b.
Cc tham bin...............................................................................................99
c.
tin cy (Certain Factor).........................................................................100
d.
Biu din lut .............................................................................................100
I.3.
K thut suy din ca MYCIN ....................................................................101
a.
Th tc MONITOR....................................................................................101
b.
Th tc FINDOUT .....................................................................................101
c.
H thng giao tip ca MYCIN .................................................................101
II. H SN XUT OPS5 ....................................................................................................103
II.1.
Gii thiu OPS5 .........................................................................................103
II.2.
Cc thnh phn ca OPS5 .........................................................................104
II.2.1.
Cc c trng chnh ca ngn ng .............................................................104
II.2.2.
Kiu d liu OPS5......................................................................................105
II.2.3.
C s lut (rb) ............................................................................................106
a.
Thnh phn bn tri lut : left-member ......................................................107
b.
Thnh phn bn phi lut right-member ....................................................108
II.2.4.
C s s kin (fb).......................................................................................109
II.2.5.
B nh lm vic .........................................................................................110
a.
Cu trc b nh lm vic ...........................................................................110
b.
Khi to b nh lm vic ...........................................................................110

Mc lc
II.3.
II.3.1.
II.3.2.
a.
b.
c.
II.3.3.
a.
b.
c.
II.4.
II.4.1.
II.4.2.
PH LC A

5
Lm vic vi OPS5..................................................................................... 111
Hot ng ca my suy din...................................................................... 111
Tp xung t v cch gii quyt xung t ................................................. 112
Chin lc gii quyt xung t LEX ......................................................... 112
Chin lc gii quyt xung t MEA ........................................................ 113
La chn chin lc gii quyt xung t................................................... 113
Lnh v php ton ca OPS5 ..................................................................... 114
Mt s lnh OPS5 ...................................................................................... 114
Cc php ton ca OPS5............................................................................ 114
Yu t chc chn........................................................................................ 114
nh gi v pht trin ca OPS5 .............................................................. 115
nh gi ..................................................................................................... 115
Pht trin ca ngn ng OPS5 ................................................................... 115
HNG DN S DNG OPS5................................................................ 117

PHU LUC B MT S H CHUYN GIA ......................................................... 123


PHU LUC C THAM KHAO ........................................................................................ 133
TI LIU THAM KHO....................................................................................................... 135
TI LIU THAM KHO ......................................................................................................... 150

CHNG 1

M u
When I examine myself and my methods of thought,
I come to the conclusion that the gift of fantasy has meant more
to me than my talent for absorbing positive knowledge .
Albert Einstein

I.
I.1.

Gii thiu h chuyn gia


H chuyn gia l g ?

Theo E. Feigenbaum : H chuyn gia (Expert System) l mt chng trnh my tnh


thng minh s dng tri thc (knowledge) v cc th tc suy lun (inference procedures)
gii nhng bi ton tng i kh khn i hi nhng chuyn gia mi gii c.
H chuyn gia l mt h thng tin hc c th m phng (emulates) nng lc quyt on
(decision) v hnh ng (making abilily) ca mt chuyn gia (con ngi). H chuyn gia l mt
trong nhng lnh vc ng dng ca tr tu nhn to (Artificial Intelligence) nh hnh di
y.
Artificial Intelligence
Robotic
Speech
Artificial
Neural Systems
Expert System

Vision
Natural
Language
Understanding

Hnh 1.1. Mt s lnh vc ng dng ca tr tu nhn to


H chuyn gia s dng cc tri thc ca nhng chuyn gia gii quyt cc vn (bi
ton) khc nhau thuc mi lnh vc.
Tri thc (knowledge) trong h chuyn gia phn nh s tinh thng c tch t t sch v,
tp ch, t cc chuyn gia hay cc nh bc hc. Cc thut ng h chuyn gia, h thng da
trn tri thc (knowledgebased system)
hay h chuyn gia da trn tri thc
(knowledgebased expert system) thng c cng ngha.
Mt h chuyn gia gm ba thnh phn chnh l c s tri thc (knowledge base), my suy
din hay mt suy din (inference engine), v h thng giao tip vi ngi s dng (user
PGS. TS. Phan Huy Khnh bin son

interface). C s tri thc cha cc tri thc t , my suy din to ra cu tr li cho ngi
s dng qua h thng giao tip.
Ngi s dng (user) cung cp s kin (facts) l nhng g bit, c tht hay nhng
thng tin c ch cho h chuyn gia, v nhn c nhng cu tr li l nhng li khuyn hay
nhng gi ng n (expertise).
Hot ng ca mt h chuyn gia da trn tri thc c minh ha nh sau :

Ngi s dng
(User)

H
thng
giao
tip
(User
interface)

C s tri thc
(Knowledge Base)

My suy din
(Inference Engine)

Hnh 1.2. Hot ng ca h chuyn gia


Mi h chuyn gia ch c trng cho mt lnh vc vn (problem domain) no , nh y
hc, ti chnh, khoa hc hay cng ngh, v.v..., m khng phi cho bt c mt lnh vc vn
no.
Tri thc chuyn gia gii quyt mt vn c trng c gi l lnh vc tri thc
(knowledge domain).

Lnh vc vn
(Problem Domain)

Lnh vc tri thc


(Knowledge Domain)

Hnh 1.3. Quan h gia lnh vc vn v lnh vc tri thc


V d : h chuyn gia v lnh vc y hc pht hin cc cn bnh ly nhim s c nhiu
tri thc v mt s triu chng ly bnh, lnh vc tri thc y hc bao gm cc cn bnh, triu
chng v cha tr.
Ch rng lnh vc tri thc hon ton nm trong lnh vc vn . Phn bn ngoi lnh
vc tri thc ni ln rng khng phi l tri thc cho tt c mi vn .
Ty theo yu cu ngi s dng m c nhiu cch nhn nhn khc nhau v mt h chuyn
gia.
Loi ngi s dng

Vn t ra

Ngi qun tr

Ti c th dng n lm g ?

K thut vin

Lm cch no ti vn hnh n tt nht ?

M u

Nh nghin cu

Lm sao ti c th m rng n ?

Ngi s dng cui

N s gip ti ci g y ?
N c rc ri v tn km khng ?
N c ng tin cy khng ?

I.2.

c trng v u im ca h chuyn gia

C bn c trng c bn ca mt h chuyn gia :

Hiu qu cao (high performance). Kh nng tr li vi mc tinh thng bng hoc


cao hn so vi chuyn gia (ngi) trong cng lnh vc.

Thi gian tr li tho ng (adequate response time). Thi gian tr li hp l, bng


hoc nhanh hn so vi chuyn gia (ngi) i n cng mt quyt nh. H chuyn
gia l mt h thng thi gian thc (real time system).

tin cy cao (good reliability). Khng th xy ra s c hoc gim st tin cy khi


s dng.

D hiu (understandable). H chuyn gia gii thch cc bc suy lun mt cch d hiu
v nht qun, khng ging nh cch tr li b n ca cc hp en (black box).
Nhng u im ca h chuyn gia :

Ph cp (increased availability).
L sn phm chuyn gia, c pht trin khng
ngng vi hiu qu s dng khng th ph nhn.

Gim gi thnh (reduced cost).


Gim ri ro (reduced dangers). Gip con ngi trnh c trong cc mi trng ri ro,
nguy him.
Tnh thng trc (Permanance).
Bt k lc no cng c th khai thc s dng,
trong khi con ngi c th mt mi, ngh ngi hay vng mt.
a lnh vc (multiple expertise). chuyn gia v nhiu lnh vc khc nhau v c khai
thc ng thi bt k thi gian s dng.
tin cy (increased relialility). Lun m bo tin cy khi khai thc.
Kh nng ging gii (explanation). Cu tr li vi mc tinh thng c ging gii
r rng chi tit, d hiu.
Kh nng tr li (fast reponse). Tr li theo thi gian thc, khch quan.
Tnh n nh, suy lun c l v y mi lc mi ni (steady, une motional, and
complete response at all times).
Tr gip thng minh nh mt ngi hng dn (intelligent -tutor).
C th truy cp nh l mt c s d liu thng minh (intelligent database).

I.3.

S pht trin ca cng ngh h chuyn gia

Sau y l mt s s kin quan trng trong lch s pht trin ca cng ngh h chuyn gia
(expert system technology).
Nm
1943
1954
1956

Cc s kin
Dch v bu in ; m hnh Neuron ca (Mc Culloch and Pitts Model)
Thut ton Markov (Markov Algorithm) iu khin thc thi cc lut
Hi tho Dartmouth ; l lun logic ; tm kim nghim suy (heuristic search) ; thng

1957
1958
1962
1965
1968
1969
1970
1971
1973
1975
1976

1977
1978
1979
1980
1982

1983
1985

I.4.

nht thut ng tr tu nhn to (AI: Artificial Intelligence)


Rosenblatt pht minh kh nng nhn thc ; Newell, Shaw v Simon xut gii bi
ton tng qut (GPS: General Problem Solver)
Mc Carthy xut ngn ng tr tu nhn to LISA (LISA AI language)
Nguyn l Rosenblatts v chc nng thn kinh trong nhn thc (Rosenblatts
Principles of Neurodynamicdynamics on Perceptions)
Phng php hp gii Robinson. ng dng logic m (fuzzy logic) trong suy lun v
cc i tng m (fuzzy object) ca Zadeh. Xy dng h chuyn gia u tin v nha
khoa DENDRAL (Feigenbaum , Buchanan , et.al)
Mng ng ngha (semantic nets), m hnh b nh kt hp (associative memory model)
ca Quillian
H chuyn gia v Ton hc MACSYMA (Martin and Moses)
ng dng ngn ng PROLOG (Colmerauer, Roussell, et, al.)
H chuyn gia HEARSAY I v nhn dng ting ni (speech recognition).
Xy dng cc lut gii bi ton con ngi (Human Problem Solving popularizes rules
(Newell and Simon)
H chuyn gia MYCIN v chn tr y hc (Shortliffe, et,al.)
L thuyt khung (frames), biu din tri thc (knowledge representation) (Minsky)
Ton nhn to (AM: Artificial Mathematician) (Lenat). L thuyt DempsterShafer
v tnh hin nhin ca lp lun khng chc chn (DempsterShafer theory of
Evidence for reason under uncertainty). ng dng h chuyn gia PROSPECTOR
trong khai thc hm m (Duda, Har)
S dng ngn ng chuyn gia OPS (OPS expert system shell) trong h chuyn gia
XCON/R1 (Forgy)
H chuyn gia XCON/R1 (McDermott, DEC) bo tr h thng my tnh DEC
(DEC computer systems)
Thut ton mng v so khp nhanh (rete algorithm for fast pattern matching) ca
Forgy ; thng mi ho cc ng dng v tr tu nhn to
K hiu hc (symbolics), xy dng cc my LISP (LISP machines) t LMI.
H chuyn gia v Ton hc (SMP math expert system) ;
mng n-ron Hopfield (Hopfield Neural Net) ;
D n xy dng my tnh thng minh th h 5 Nht bn
(Japanese Fifth Generation Project to develop intelligent computers)
B cng c phc v h chuyn gia KEE
(KEE expert system tool) (intelli Corp)
B cng c phc v h chuyn gia CLIPS
(CLIPS expert system tool (NASA)

Cc lnh vc ng dng ca h chuyn gia

Cho n nay, hng trm h chuyn gia c xy dng v c bo co thng


xuyn trong cc tp ch, sch, bo v hi tho khoa hc. Ngoi ra cn cc h chuyn gia c
s dng trong cc cng ty, cc t chc qun s m khng c cng b v l do bo mt.
Bng di y lit k mt s lnh vc ng dng din rng ca cc h chuyn gia.
Lnh vc
Cu hnh
(Configuration)
Chn on (Diagnosis)
Truyn t

ng dng din rng


Tp hp thch ng nhng thnh phn ca mt h thng theo
cch ring
Lp lun da trn nhng chng c quan st c
Dy hc kiu thng minh sao cho sinh vin c th hi

M u

11

(Instruction)

v sao (why?), nh th no (how?) v ci g nu (what if?) ging


nh hi mt ngi thy gio

Gii thch
(Interpretation)

Gii thch nhng d liu thu nhn c

Kim tra (Monitoring)

So snh d liu thu lm c vi d liu chuyn mn nh


gi hiu qu

Lp k hoch
(Planning)
D on (Prognosis)
Cha tr (Remedy)
iu khin (Control)

Lp k hoch sn xut theo yu cu


D on hu qu t mt tnh hung xy ra
Ch nh cch th l mt vn
iu khin mt qu trnh, i hi din gii, chn on, kim tra,
lp k hoch, d on v cha tr

Sau y l mt s h chuyn gia (xem thm phn ph lc C cui gio trnh) :


Bng 1 Ngnh ho hc (Chemistry)
CRYSALIS
DENDRAL
TQMSTUNE
CLONER
MOLGEN
SECS
SPEX

Interpret a proteinn 3-D structure


Interpret molecular structure
Remedy Triple Quadruple Mass Spectrometer (keep it tuned)
Design new biological molecules
Design gene - cloning experiments
Design complex organic molecules
Plan molecular biology experiments

Bng 2 Ngnh in t (Electronics)


ACE
IN -ATE
NDS
EURISKO
PALLADIO
REDESIGN
CADHELP
SOPHIE

Diagnosis telephone network faults


Diagnosis oscilloscope faults
Diagnosis national communication net
Design 3-D micro-electronics
Design and test new VLSI cicuits
Redesign digital circuits to new
Instruct for computer aided design
Instruct circuit fault diagnosis

Bng 3 Ngnh a cht (Geology)


DIPMETER
LITHO
MUD
PROSPECTOR

Interpret dipmeter logs


Interpret oil well log data
Diagnosis / remedy drilling problems
Interpret geologic data for minerals

Bng 4 Cng ngh (Engineering)


REACTOR
DELTA
STEAMER

Diagnosis / remedy reactor accidents


Diagnosis / remedy GE locomotives
Instruct operation - steam power-plant

Bng 5 Ngnh y hc (Medicine)


PUFF
VM
ABEL
AI/COAG

Diagnosis lung disease


Monitors intensive - care patients
Diagnosis acid - base / electrolytes
Dianosis blood disease

AI/ RHEUM
CADUCEUS
ANNA
BLUE BOX
MYCIN
ONCOCIN
ATTENDING
GUIDON

Diagnosis rheumatoid disease


Diagnosis internal medicine disease
Monitor digitalis therapy
Diagnosis / remedy depression
Diagnosis / remedy bacterial infections
Remedy / manage chemotherapy patient
Instruct in anesthetic manegement
Instruct in bacterial infections

Bng 6 My tnh in t (Computer systems)


PTRANS
BDS
XCON
XSEL
XSITE
YES/MVS
TIMM

II.

Prognosis for managing DEC computers


Diagnosis bad parts in switching net
Configune DEC computer systems
Configure DEC computer sales order
Configure customer site for DEC computers
Monitor / control IBM MVS opeating system
Diagnosis DEC computer

Kin trc tng qut ca cc h chuyn gia

II.1.

Nhng thnh phn c bn ca mt h chuyn gia

Mt h chuyn gia kiu mu gm by thnh phn c bn nh sau :


My suy din

C s tri thc
Cc lut

B nh lm vic
Lch cng vic

Kh nng gii thch

Kh nng
thu nhn tri thc

Giao din ngi s dng

Hnh 1.4. Nhng thnh phn c bn ca mt h chuyn gia

C s tri thc (knowledge base). Gm cc phn t (hay n v) tri thc, thng thng
c gi l lut (rule), c t chc nh mt c s d liu.
My duy din (inference engine). Cng c (chng trnh, hay b x l) to ra s suy
lun bng cch quyt nh xem nhng lut no s lm tha mn cc s kin, cc i
tng. , chn u tin cc lut tha mn, thc hin cc lut c tnh u tin cao nht.
Lch cng vic (agenda). Danh sch cc lut u tin do my suy din to ra tho mn
cc s kin, cc i tng c mt trong b nh lm vic.

M u

13

B nh lm vic (working memory). C s d liu ton cc cha cc s kin phc v


cho cc lut.
Kh nng gii thch (explanation facility). Gii ngha cch lp lun ca h thng cho
ngi s dng.
Kh nng thu nhn tri thc (explanation facility). Cho php ngi s dng b sung cc
tri thc vo h thng mt cch t ng thay v tip nhn tri thc bng cch m ho tri
thc mt cch tng minh. Kh nng thu nhn tri thc l yu t mc nhin ca nhiu
h chuyn gia.
Giao din ngi s dng (user interface). L ni ngi s dng v h chuyn gia trao
i vi nhau.
C s tri thc cn c gi l b nh sn xut (production memeory) trong h chuyn
gia. Trong mt c s tri thc, ngi ta thng phn bit hai loi tri thc l tri thc phn on
(assertion knowledge) v tri thc thc hnh (operating knowledge).
Cc tri thc phn on m t cc tnh hung c thit lp hoc s c thit lp. Cc
tri thc thc hnh th hin nhng hu qu rt ra hay nhng thao tc cn phi hon thin khi
mt tnh hung c thit lp hoc s c thit lp trong lnh vc ang xt. Cc tri thc
thc hnh thng c th hin bi cc biu thc d hiu v d trin khai thao tc i vi
ngi s dng.

My
suy din

Tri thc phn on


Tri thc thc hnh

C s tri thc
Hnh 1.5. Quan h gia my suy din v c s tri thc
T vic phn bit hai loi tri thc, ngi ta ni my suy din l cng c trin khai cc c ch
(hay k thut) tng qut t hp cc tri thc phn on v cc tri thc thc hnh. Hnh trn y
m t quan h hu c gia my suy din v c s tri thc.

II.2.

Mt s m hnh kin trc h chuyn gia

C nhiu m hnh kin trc h chuyn gia theo cc tc gi khc nhau. Sau y l mt s
m hnh.

a. M hnh J. L. Ermine
C s tri thc
Ngi s dng
yu cu
H thng
thu nhn
tri thc

Giao din

D liu vn
cn gii quyt
Tri thc mi

B nh lm vic

Hnh 1.6. Kin trc h chuyn gia theo J. L. Ermine

b. M hnh C. Ernest
Tri thc
C s
tri thc

Chuyn
gia
Cu trc
my suy din

D liu
Ngi
s
dng

Li gii

Gii thch

Theo di

My
suy din

Hnh 1.7. Kin trc h chuyn gia theo C. Ernest

M u

15

c. M hnh E. V. Popov
Kh nng
gii thch
Chuyn
gia

Ngi
s dng

Giao din
ngi
s dng

B nh
lm vic

Din dch

C s
tri thc

S hu
tri thc

Hnh 1.8. Kin trc h chuyn gia theo E. V. Popov

II.3.

Biu din tri thc trong cc h chuyn gia

Tri thc ca mt h chuyn gia c th c biu din theo nhiu cch khc nhau. Thng
thng ngi ta s dng cc cch sau y :
Biu din tri thc bi cc lut sn xut
Biu din tri thc nh mnh logic
Biu din tri thc nh mng ng ngha
Biu din tri thc nh ngn ng nhn to
Ngoi ra, ngi ta cn s dng cch biu din tri thc nh cc s kin khng chc chn,
nh b ba : i tng, thuc tnh v gi tr (O-A-V: Object-Attribute-Value), nh khung
(frame), v.v... Tu theo tng h chuyn gia, ngi ta c th s dng mt cch hoc ng thi
c nhiu cch.

II.3.1. Biu din tri thc bi cc lut sn xut


Hin nay, hu ht cc h chuyn gia u l cc h thng da trn lut, bi l do nh sau :
Bn cht n th (modular nature). C th ng gi tri thc v m rng h chuyn gia
mt cch d dng.
Kh nng din gii d dng (explanation facilities). D dng dng lut din gii vn
nh cc tin c t chnh xc cc yu t vn dng lut, t rt ra c kt qu.
Tng t qu trnh nhn thc ca con ngi. Da trn cc cng trnh ca Newell v
Simon, cc lut c xy dng t cch con ngi gii quyt vn . Cch biu din
lut nh IF THEN n gin cho php gii thch d dng cu trc tri thc cn trch lc.
Lut l mt kiu sn xut c nghin cu t nhng nm 1940. Trong mt h thng da
trn lut, cng c suy lun s xc nh nhng lut no l tin tha mn cc s vic.
Cc lut sn xut thng c vit di dng IF THEN. C hai dng :
IF < iu kin > THEN < hnh ng >
hoc
IF < iu kin > THEN < kt lun > DO < hnh ng >

Tu theo h chuyn gia c th m mi lut c th c t tn. Chng hn mi lut c


dng Rule: tn. Sau phn tn l phn IF ca lut.
Phn gia IF v THEN l phn tri lut (LHS: Left - Hand -Side), c ni dung c gi
theo nhiu tn khc nhau, nh tin (antecedent), iu kin (conditional part), mu so khp
(pattern part),
Phn sau THEN l kt lun hay hu qu (consequent). Mt s h chuyn gia c thm
phn hnh ng (action) c gi l phn phi lut (RHS: Right - Hand -Side).
V d :
Rule: n
IF
n sng
THEN
Dng
Rule: n-xanh
IF
n xanh sng
THEN
i
Trong v d trn, n sng v n xanh sng l nhng iu kin, hay nhng khun
mu. Sau y l mt s v d khc :
Rule: iu tr st
IF
Bnh nhn st
THEN
cho ung thuc Aspirin
H thng chn on xe my (OPS5)
IF
My xe khng n khi khi ng
THEN
D on: Xe b panne sc nn. Pittong, bc xc-mng v lng xy lanh sai tiu chun,
d to thnh nhng khe h nh lm cho pittong khng cn kn nn ho kh khng
c nn ln y . X l : nn iu chnh hoc thay mi pittong, bc xc-mng v
lng xy lanh cho ng tiu chun
IF
my xe n khng n nh, OR
my xe n ri li tt, AND
bugi kh
THEN
D on : Xe b nght xng.
X l : nn xc ra bnh xng v b kho xng
ca xe.
MYCIN h thng chn on bnh vim mng no v hin tng c vi khun bt thng
trong mu (nhim trng)
IF
Ti v tr vt thng c mu, AND
Cha bit chc chn c quan b tn thng, AND

M u

17

Cht nhum mu m tnh, AND


Vi khun c dng hnh que, AND
Bnh nhn b st cao
THEN
C quan c triu chng (0.4) nhim trng

II.3.2. B sinh ca h chuyn gia


B sinh ca h chuyn gia (expert-system generator) l hp ca :
mt my suy din,
mt ngn ng th hin tri thc (bn ngoi)
v mt tp hp cc cu trc v cc quy c th hin cc tri thc (bn trong).
Theo cch no , cc cu trc v cc quy c ny xc nh mt c s tri thc rng (hay
rng b phn). Nh cc tri thc chuyn mn nh ngha mt h chuyn gia, ngi ta to
ra b sinh lm y c s tri thc.
Chng hn, EMYCIN l tn ca b sinh ca h chuyn gia MYCIN v c tip tc p
dng cho mt s lnh vc.
H chuyn gia R1 c xy dng t b sinh OPS (l h thng lut c pht trin bi
Charles Forgy nm 1975 ti Carnegie-Mellon University). Sau y l mt s hu du ca
EMYCIN v OPS :
EMYCIN
PUFF bnh l phi
HEADMED dc hc tm thn (psycho-pharmacology)
SACON xy dng c kh
DART hng hc my tnh
SECOFOR khoan du m
TOM bnh l c chua
...

OPS
R1/XCON cu hnh my tnh
ACE bo v ng dy in thoi
AIRPLAN ct cnh v h cnh my bay
AI-SPEAR theo di my tnh
YES / MVS iu khin my tnh
...

Nh b sinh, mi h h chuyn gia c th cha t hng trm n hng ngn lut. Bng
di y thng k s lut ca mt s h chuyn gia :
H chuyn gia
MYCIN
PROSPECTOR
R1/XCON
LITHO
SPHINX
TOM

Lnh vc
Y hc
a cht
Tin hc
a cht
Y hc
Nng hc

Nm xut hin
1974
1979
1980
1982
1984
1984

S lut
500
1 600
> 7 000
500
400
200

Mt trong nhng nt hp dn ca tip cn h chuyn gia l kh nng hc (learn) ca h


thng nhm thng xuyn sa i v hon thin c s tri thc vn c. S di y cho
bit s tin trin ca hai h chuyn gia ni ting ca M l MYCIN v R1 :
MYCIN 1974
:
200 lut
hin nay
:
500 lut
R1
1980
:
800
1981
:
1 000
1982
:
1 500
1983
:
2 000
1984
:
> 3 000
1985
:
> 7 000

II.3.3. Son tho kt hp cc lut


Ni chung, tu theo h chuyn gia m nhng quy c to ra lut cng khc nhau. S
ging nhau c bn gia cc h chuyn gia v mt ngn ng l cch son tho kt hp
(associative writing) cc lut.
y, thut ng son tho kt hp c chn gi ln khi nim v ch truy cp kt
hp (associative access) lin quan n ch lu tr kt hp (associative memory) l ch
m thng tin cn tm kim c c khng ch cn c vo a ch n v nh c th m cn
cn c vo mt phn ni dung ca thng tin cn tm kim cha trong .
Son tho kt hp cc lut gm nhng quy c nh sau :
1. Mi lut do chuyn gia cung cp phi nh ngha c cc iu kin khi ng (tc nhn)
hay tin ca lut, ngha l cc tnh hung (c xc nh bi cc quan h trn tp hp
d liu cho) v hu qu ca lut, lut ny c th p dng.
Theo cch dng thng thng, ngi ta t tn ring cho lut chn p dng, hoc cung
cp mt nhm cc s kin (fact) tng thch vi iu kin khi ng ca lut.
2. Trong lut, khng bao gi ngi ta ch nh mt lut khc bi tn ring.
V d : lut R sau y tun th hai c trng :
IF
bnh nhn st AND tc lng huyt cu trong mu tng ln
THEN bnh nhn nhim bnh virut
T ni dung lut R, ngi ta c th vn dng nh sau :
Khi xy ra tnh hung bnh nhn b st v tc lng huyt cu trong mu tng ln, th
bnh nhn st v tc lng huyt cu trong mu tng ln l nhng iu kin
khi ng lut. Hu qu ca lut l bnh nhn nhim bnh virut. Nh vy, vic p
dng lut s dn n mt s kin mi c thit lp t y tr i : bnh nhn nhim
bnh virut.
Khi mun to s kin bnh nhn b nhim bnh virut, th iu kin khi ng lut l
bnh nhn nhim bnh virut. Hu qu ca lut s l bnh nhn st v tc lng
huyt cu trong mu tng ln. T y, lut s khi ng cc s kin mi va c
thit lp bnh nhn st v tc lng huyt cu trong mu tng ln.
Cch biu din cc iu kin khi ng trong lut ph hp vi cch t duy t nhin ca
cc chuyn gia. Do vy, ngi ta d dng th hin cng nh sa i cc tri thc tip nhn.
Nh vy, ngi ta khng nht thit phi t tn cho lut c th gi n khi cn, m c
th khai thc thng tin t cc iu kin khi ng ca lut. Chng hn t lut R trn y :
Nu tm c cc lut c kh nng thit lp s kin bnh nhn nhim bnh virut,
ngi ta s n phn then ca chng nh l cc iu kin khi ng. Lut R l
mt trong cc lut c iu kin khi ng tng ng vi li gi bnh nhn nhim
bnh virut.

M u

19

Nu tm c cc lut c kh nng a ra s kin bnh nhn st, ch cn n


phn if ca chng nh l cc iu kin khi ng. Lut R l mt trong cc lut c iu
kin khi ng tng ng vi li gi bnh nhn st.
Vic so snh gia iu kin khi ng cc lut v cc s kin c xt ti mt thi im
cho (tu theo trng hp, cc s kin gi s c thit lp hay s thit lp) cho php
lc (filter) cc lut gi li mt s lut no . Phn iu kin khi ng ca lut thng
c gi l b lc, hay mu so khp ca lut .
Trong Tin hc c in, mi th tc (ng vai tr l mt n v tri thc) thng c xc
nh v c gi bi tn ca th tc. Lc ny, nu mun thm vo hay ly ra mt th tc,
ngi ta cn d kin cc thay i trong ton b th tc khc s dng n th tc mun thm
vo hay ly ra ny.
Ngc li, v nguyn tc, vic son tho kt hp cho php to ra mt lut m khng cn
n s hin din ca cc lut khc. Vi mi lut, d l ca ai, mt khi c a vo trong c s
tri thc, th ch cn n cc biu thc iu kin xc nh nu lut l p dng c v
do vy, c th gi ti n hay khng. Ngi ta cng xem rng cc s kin c a vo nh l
hu qu ca mt lut c th gip gi n cc lut khc nh cc b lc ca chng.
Nh vy, phng php son tho kt hp cho php b sung v loi b d dng cc lut m
khng cn xem xt hu qu ca vic b sung v loi b . Phng php son tho kt hp c v
tr quan trng trong cc h thng da trn lut ca cc h chuyn gia. l cc h thng suy din
nh hng bi cc b lc (PDISPattern-Directed Inference Systems).

II.3.4. Cc phng php biu din tri thc khc


a. Biu din tri thc nh mnh logic
Ngi ta s dng cc k hiu th hin tri thc v cc php ton lgic tc ng ln cc
k hiu th hin suy lun lgic. K thut ch yu thng c s dng l lgic v t
(predicate logic) m ta s cp n chng sau.
Cc v d di y minh ho cch th hin cc pht biu (ct bn tri) di dng v t
(ct bn phi) :
Pht biu

V t

Tom l n ng

MAN(tom)

Tom l cha ca Mary

FATHER(tom, mary)

Tt c mi ngi u cht

MAN(X) MORTAL(X)
vi quy c MAN(X) c ngha X l mt ngi v
MORTAL(X) c ngha X cht. MAN v MORTAL c
gi l cc v t i vi bin X.

Cc v t thng c cha hng, bin hay hm. Ngi ta gi cc v t khng cha bin (c
th cha hng) l cc mnh (preposition). Mi v t c th l mt s kin (fact) hay mt
lut. Lut l v t gm hai v tri v phi c ni nhau bi mt du mi tn (). Cc v t
cn li (khng cha mi tn) c gi l cc s kin. Trong v d trn y, MAN v
FATHER l cc mnh v l cc s kin. Cn MAN(X) MORTAL(X) l mt lut.
V d : T cc tri thc sau :
Marc c tc vng hoe, cn Jean c tc mu nu. Pierre l cha ca Jean. Marc l cha ca
Pierre. Jean l cha ca Ren. Marc l con ca Georges.

Gi s X, Y v l Z nhng ngi no , nu Y l con ca X th X l cha ca Y. Nu X l


cha ca Z v Z l cha ca Y th X l ng ca Y.
ta c th biu din thnh cc s kin v cc lut nh sau :
1. BLOND (marc)
2. BROWN (jean)
3. FATHER (pierre, jean)
4. FATHER (marc, pierre)
5. FATHER (jean, ren)
6. SON (marc, georges)
7. FATHER (X, Y) SON (Y, X)
8. GRANDFATHER (X, Y) FATHER (X, Z), FATHER (Z, Y)
Ngi ta gi tp hp cc s kin v cc lut l mt c s tri thc.

b. Biu din tri thc nh mng ng ngha


Trong phng php ny, ngi ta s dng mt th gm cc nt (node) v cc cung
(arc) ni cc nt biu din tri thc. Nt dng th hin cc i tng, thuc tnh ca i
tng v gi tr ca thuc tnh. Cn cung dng th hin cc quan h gia cc i tng.
Cc nt v cc cung u c gn nhn.
V d th hin tri thc s l mt loi chim c cnh v bit bay, ngi ta v mt
th nh sau :
c
l

cnh

loi
chim

bit

bay

Hnh 1.9. Biu din tri thc nh mng ng ngha


Bng cch thm vo th cc nt mi v cc cung mi, ngi ta c th m rng mt
mng ng ngha. Cc nt mi c thm th hin cc i tng tng t (vi cc nt c
trong th), hoc tng qut hn. Chng hn th hin chim l mt loi ng vt
trng v cnh ct l loi chim bit ln, ngi ta v thm nh sau :
Mt trong nhng tnh cht quan trng ca mng ng ngha l tnh tha k. Khi s dng
mng ng ngha biu din tri thc, ngi ta phi xy dng cc php ton tng ng.
cnh

c
s

l
l

cnh
ct

loi
chim
bit

ng
vt
bay

bit
ln

Hnh 1.10. M rng mng ng ngha biu din tri thc

trng

M u

21

c. Biu din tri thc nh ngn ng nhn to


Ni chung, theo quan im ca ngi s dng, ngn ng t nhin s l phng cch
thun tin nht giao tip vi mt h chuyn gia, khng nhng i vi ngi qun tr h
thng (t cch chuyn gia), m cn i vi ngi s dng cui. Hin nay c nhng h
chuyn gia c kh nng i thoi trn ngn ng t nhin (thng thng l ting Anh) nhng
ch hn ch trong lnh vc ng dng chuyn mn ca h chuyn gia
Hnh di y th hin mt n v tri thc (lut) trong h chuyn gia MYCIN dng
chn on cc bnh virut. Ct bn tri l mt lut c vit bng ting Anh, ct bn phi l
m ho nhn to ca lut .
Nu
v nu
v nu
th

1) Mu ca c th l gram dng
2) Hnh thi ca c th l b
nhim trng
3) Kiu pht trin ca c th
l khun lc
tn ti mt kh nng (0.7) l c th b
nhim khun cu chm

(($AND (SAME CNTXT GRAM GRAM+)


(SAME CNTXT MORPH COCCI)
(SAME CNTXT DEVEL COLONY)
(CONCLUDE CNTXT IDENT
STAPHYLOCOCCUS MEASURE 0.7))

Hnh 1.11. Biu din tri thc nh ngn ng nhn to trong MYCIN

II.4.

K thut suy lun trong cc h chuyn gia

C nhiu phng php tng qut suy lun trong cc chin lc gii quyt vn ca
h chuyn gia. Nhng phng php hay gp l suy din tin (foward chaining), suy din li
(backward chaining) v phi hp hai phng php ny (mixed chaining). Nhng phng
php khc l phn tch phng tin (means-end analysis), rt gn vn (problem
reduction), quay lui (backtracking), kim tra lp k hoch (plan-generate-test), lp k hoch
phn cp (hierachical planning)...
Di y l nn tng ca cng ngh h chuyn gia hin i (foundation of modern relebased expert system).
H chuyn gia da trn lut

Lut

Lut sn xut Post

My suy din

So khp
hiu qu

S kin

Hp gii
xung t

Suy din
bn phi lut (RHS)

Thut ton mng li

Thut ton Markov

Hnh 1.12. Nn tng ca cng ngh h chuyn gia da trn lut hin i

II.4.1. Phng php suy din tin


Suy din tin ( forward charning) l lp lun t cc s kin, s vic rt ra cc kt lun.
V d : Nu thy tri ma trc khi ra khi nh (s kin) th phi ly o ma (kt lun).
Trong phng php ny, ngi s dng cung cp cc s kin cho h chuyn gia h
thng (my suy din) tm cch rt ra cc kt lun c th. Kt lun c xem l nhng thuc
tnh c th c gn gi tr. Trong s nhng kt lun ny, c th c nhng kt lun lm ngi
s dng quan tm, mt s khc khng ni ln iu g, mt s khc c th vng mt.
Cc s kin thng c dng :
Atthibute = value
Ln lt cc s kin trong c s tri thc c chn v h thng xem xt tt c cc lut m
cc s kin ny xut hin nh l tin . Theo nguyn tc lp lun trn, h thng s ly ra
nhng lut tho mn. Sau khi gn gi tr cho cc thuc tnh thuc kt lun tng ng, ngi
ta ni rng cc s kin c tho mn. Cc thuc tnh c gn gi tr s l mt phn ca
kt qu chuyn gia. Sau khi mi s kin c xem xt, kt qu c xut ra cho ngi s
dng.

II.4.2. Phng php suy din li


Phng php suy din li tin hnh cc lp lun theo chiu ngc li (i vi phng
php suy din tin). T mt gi thuyt (nh l mt kt lun), h thng a ra mt tnh hung
tr li gm cc s kin l c s ca gi thuyt cho ny.
V d nu ai vo nh m cm o ma v o qun b t th gi thuyt ny l tri ma.
cng c gi thuyt ny, ta s hi ngi xem c phi tri ma khng ? Nu ngi tr
li c th gi thuyt tri ma ng v tr thnh mt s kin. Ngha l tri ma nn phi cm
o ma v o qun b t.
Suy din li l cho php nhn c gi tr ca mt thuc tnh. l cu tr li cho cu
hi gi tr ca thuc tnh A l bao nhiu ? vi A l mt ch (goal).
xc nh gi tr ca A, cn c cc ngun thng tin. Nhng ngun ny c th l nhng
cu hi hoc c th l nhng lut. Cn c vo cc cu hi, h thng nhn c mt cch trc
tip t ngi s dng nhng gi tr ca thuc tnh lin quan. Cn c vo cc lut, h thng
suy din c th tm ra gi tr s l kt lun ca mt trong s cc kt lun c th ca thuc tnh
lin quan, v.v...
tng ca thut ton suy din li nh sau. Vi mi thuc tnh cho, ngi ta nh
ngha ngun ca n :

Nu thuc tnh xut hin nh l tin ca mt lut (phn u ca lut), th ngun s


thu gn thnh mt cu hi.

Nu thuc tnh xut hin nh l hu qu ca mt lut (phn cui ca lut), th ngun


s l cc lut m trong , thuc tnh l kt lun.

Nu thuc tnh l trung gian, xut hin ng thi nh l tin v nh l kt lun, khi
ngun c th l cc lut, hoc c th l cc cu hi m cha c nu ra.
Nu mi ln vi cu hi cho, ngi s dng tr li hp l, gi tr tr li ny s c
gn cho thuc tnh v xem nh thnh cng. Nu ngun l cc lut, h thng s ly ln lt
cc lut m thuc tnh ch xut hin nh kt lun, c th tm gi tr cc thuc tnh thuc
tin . Nu cc lut tho mn, thuc tnh kt lun s c ghi nhn.

M u

23

II.4.3. Cc h thng sn xut (production systems)


a. Cc h thng sn xut Post
H thng sn xut c Post s dng trong logic k hiu (symbolic logic) t nhng nm
1943. Theo ng, rt nhiu h thng ton hc v logic c vit di dng cc lut sn xut
(production rule). Cc lut cn c gi l quy tc vit li (rewrite rules) thng c dng
nh ngha vn phm ca mt ngn ng. Cc ngn ng lp trnh thng c nh ngha
t dng Backus - Naur (BNF).
tng c bn ca Post l xut pht t mt xu vo (input string), c gi l tin
(antecedent), sn xut ra mt xu kt qu mi khc (consequent). Mi sn xut c dng :
< xu tin > < xu kt qu >
Du mi tn ch ra rng xu vo bn tri c chuyn (transformation) thnh xu kt
qu bn phi.
V d :
i qua cc ng ba, ng t trong thnh ph :
n sng
n xanh sng
cha tr bnh st :

Bnh nhn st

Cc lut c th c nhiu tin :

Dng
i
Cho ung thuc Aspirin

i khm bc s
Bnh nhn st AND St trn 39 0C
Ch php AND khng phi l mt phn ca xu m cho php ni kt nhiu tin li
vi nhau.
Mt h thng sn xut Post gm mt nhm cc lut sn xut, chng hn (ch cc s th
t t trong du ngoc ch dng trnh by) :
(1) Car wont start
Check battery
(2) Car wont start
Check gas
(3) Check battery AND Battery bad
Replace battery
(4) Check gas AND No gas
Fill gas tank
Nu a vo xu Car wont start, th cc lut (1) v (2) c th c p dng sinh ra
cc xu Check battery v Check gas. Tuy nhin, khng tn ti c ch c th p dng ng
thi c hai cho xu vo ny. Ch c th p dng c mt lut trong hai, hoc khng. Nu
a vo xu Battery bad v Check battery th lut 3 c th c p dng sinh ra xu
Replace battery.
Khng t ra th t cc lut trong h thng. Sau khi o th t, chng hn (4) (2) (1) (3)
th h thng gi nguyn gi tr :
(4)
(2)
(1)
(3)

Check gas AND No gas


Car wont start
Car wont start
Check battery AND Battery bad

Fill gas tank


Check gas
Check battery
Replace battery

Mc d cc sn xut Post c s dng trong h chuyn gia nhng chng khng thun
tin cho vic vit cc trnh ng dng. Hn ch ch yu ca cc sn xut Post khi lp trnh l
khng c cc chin lc iu khin (control strategy) nh hng s dng lut... Mt h
thng Post cho php p dng lut cho mt xu vo theo cch tu m khng ch ra c th

lm th no lut c p dng. Chnh s la chn lut mt cch ngu nhin nh vy lm


thi gian tm kim tr nn ng k trong cc h thng c nhiu lut.

b. Cc thut ton Markov


ci tin vic p dng cc lut sn xut, nm 1954, Markov xut mt cu trc
iu khin cho h thng sn xut. Mt thut ton Markov (Markov algorithm) l mt nhm
cc sn xut c th t c p dng theo mt th t u tin cho mt xu vo. Nu lut c u
tin cao nht khng c p dng, th qui tc tip theo s c p dng v c th tip tc.
Thut ton Markov dng nu :
(1) sn xut cui cng khng c p dng cho xu, hoc
(2) nu sn xut l cui mt giai on c p dng.
Thut ton Markov cng c th c p dng cho mt xu con (substring) ca mt xu,
bt u t bn tri :
V d : Cho lut AB HIJ
Khi , p dng cho xu vo GABKAB s to ra xu mi GHIJKAB. T , ta nhn
c tip tc xu mi GHIJKHIJ.
K t c bit biu din xu rng (null string), l xu khng c k t no.
V d : Lut
A
L xa tt c cc xut hin ca A trong mt xu.
Cc k hiu c bit khc c vai tr nh bin biu din mt k t bt k c vit bi cc
ch ci thng a, b, c...
V d , lut
AxBBxA
Cho php nghch o cc k t A v B.
Cc ch ci Hy lp , dng ch cc du c bit ca xu. y, cc ch ci Hy lp
dng phn bit vi bng ch ci ang s dng.
Mt v d v thut ton Markov l di chuyn ch ci u tin n v tr cui cng ca mt
xu vo. Nhng lut c u tin p dng cao nht l (1), thp hn l (2), ri (3), v.v... Cc
lut c cho ln lt theo u tin gim dn nh sau :
(1)

xy y x

(2)

(3)

Cho xu vo ABC, qu trnh di chuyn c cho trong bng sau :


Lut
1
2
3
1
1
1
2

Thnh cng (S) hoc tht bi (F)


F
F
S
S
S
F
S

Xu kt qu
ABC
ABC
ABC
B AC
BC A
BC A
BCA

Ch rng k hiu hot ng nh l mt bin trung gian trong ngn ng lp trnh. Tuy
nhin, thay v nhn mt gi tr, bin ng vai tr gi v tr nh du qu trnh thay i xu
vo. Mt khi cng vic kt thc, b loi b bi lut 2.

M u

25

c. Thut ton mng li (rete algorithm)


Ch rng thut ton Markov s dng chin lc iu khin tt nh (definite control
strategy) p dng cc lut c u tin cao hn trc tin. Chng no m lut c u
tin cao nht khng c p dng, th thut ton Markov s tm mt lut khc c u tin
thp hn p dng. Mc d thut ton Markov c th c s dng ch yu trong mt h
chuyn gia, n vn khng c hiu qu trong nhng h thng c nhiu lut.
Vn v hiu sut (efficient) tr nn quan trng khi ngi ta cn to ra cc h chuyn
gia gii quyt cc bi ton thc tin cha t hng trm n hng ngn lut. Mt h chuyn
gia l khng hiu qu nu ngi s dng phi ch i rt nhiu thi gian nhn c mt
cu tr li t h thng. Vn l cn c mt thut ton bit c tt c cc lut v c th
chn ra cc lut cn thit p dng thay v th ln lt cc lut.
Mt gii php cho vn ny l thut ton mng li do Charles L. Forgy xut ti
trng i hc Carnegie, Mellon, Hoa K vo nm 1979 trong lun vn tin s ca ng v
OPS (Official Production System).
Thut ton mng li cho php so khp (pattern mattching) rt nhanh nhn c cu
tr li tc thi bng cch lu gi thng tin ca cc lut trong mt mng li (network). Thay
v so khp lp i lp li cc s kin mi ln p dng mt lut trong mi chu trnh nhn thc
(recognize-act cycle), thut ton mng li ch nhn nhng thay i khi so khp trong mi
chu trnh.

III. Thit k h chuyn gia


III.1. Thut ton tng qut
Thut ton tng qut thit k mt h chuyn gia gm cc bc nh sau :
Begin

Chn bi ton thch hp


Pht biu v c t bi ton
If H chuyn gia gii quyt tho mn bi ton v c th s dng Then
While Bn mu cha c pht trin hon thin Do
Begin

Thit k bn mu
Biu din tri thc
Tip nhn tri thc
Pht trin hon thin bn mu
End

Hp thc ho bn mu
Trin khai ci t
Hng dn s dng
Vn hnh
Bo tr v pht trin
Else

Tm cc tip cn khc thch hp hn


EnIf

Kt thc
End

Hnh 1.13. Thit k mt h chuyn gia

thit k mt h chuyn gia, trc tin cn c s la chn mt bi ton thch hp


(selecting the appropriate problem). Tng t cc d n phn mm, trin khai thit k mt
h chuyn gia, cn phi c cc yu t v nhn lc, ti nguyn v thi gian. Nhng yu t ny
nh hng n gi thnh ca mt h chuyn gia.
Ngi ta thng t ra cc cu hi sau y :
Ti sao cn xy dng (building) mt h chuyn gia ?
Cu hi ny thng xuyn c t ra cho bt k d n no. C th tr li ngay l do
nhng c trng v u im ca cc h chuyn gia. Trc khi bt u, cn xc nh r u l
bi ton, ai l chuyn gia, v ai l ngi s dng.
Tr tin (pay-off) l g ?
Khi quyt nh xy dng mt h chuyn gia (cu hi 1) cn mt s u t v nhn lc, ti
nguyn, thi gian v tin bc. Do vy ngi s dng h chuyn gia phi tr tin, tu theo tnh
hiu qu hay u im ca h chuyn gia s dng. Tuy nhin, nu khng c ai s dng h
chuyn gia, th s khng c ai tr tin b li chi ph v c li. Do h chuyn gia l mt
cng ngh mi, cu hi ny kh tr li hn v c nhiu ri ro hn so vi lp trnh thng
thng.
S dng nhng cng c (tools) no xy dng mt h chuyn gia ?
Hin nay c rt nhiu cng c xy dng cc h chuyn gia. Mi cng c u c
nhng u im v nhc im nht nh. Nhng cng c ph bin l CLIPS v OPS5,
ngoi ra c ART, ART-IM, Eclipse, Cognate...
Chi ph (cost) xy dng mt h chuyn gia l bao nhiu ?
Chi ph hay gi thnh xy dng mt h chuyn gia ph thuc vo ngun nhn lc, ti
nguyn v thi gian hon thin n. Bn cnh chi ph v phn cng, phn mm, cn chi ph v
o to (training). V d M, chi ph o to s dng thnh tho mt h chuyn gia c
th ln ti 2.500USD/tun l/ngi.
Sau bc la chn, pht biu v c t bi ton l cc bc pht trin h chuyn gia. Sau
y ta s xem xt cc h chuyn gia c pht trin nh th no.

III.2. Cc bc pht trin h chuyn gia


H chuyn gia c pht trin nh th no ?
Trong phm vi rng (large extent), vic pht trin mt h chuyn gia ph thuc vo ngun
ti nguyn cung cp. Tuy nhin, ging nh cc d n khc, vic pht trin cn ph thuc vo
cch t chc qun l qu trnh pht trin nh th no.

a. Qun l d n (Project Management)


Qun l d n, ch tip cn h chuyn gia, bao gm cc cng on nh sau :
Qun l hot ng (Activity Management), gm :
Lp k hoch
(planning)

- nh ngha cc hot ng (define activities)


- xc nh hot ng u tin (specify priority of activities)
- nhu cu ti nguyn (resource requirement)
- ghi nh cc s kin (milestones)
- xc nh thi gian (duration)
- phn cng trch nhim (responsabilities)

Lp biu cng vic


(scheduling)

- n nh im bt u v im kt thc d n
- gii quyt xung t khi gp cc vic cng mc u tin

M u

27

Phn b thi gian


(chronicling)

- kim tra thc hin d n


(monitor project performance)

Phn tch
(analysis)

- phn tch cc hot ng v lp k hoch,


lp biu cng vic v phn b thi gian hot ng

Qun l cu hnh sn phm (Product Configuration Management) :


Qun l sn phm
- qun l cc phin bn khc nhau ca cc sn phm
(product management)
Qun l thay i
- qun l cc gii php sa i sn phm v c lng
(change
nh hng ca thay i sn phm
management)
- phn cng ngi sa i h thng
- ci t phin bn mi
Qun l ti nguyn (Resource Management) :
D bo nhu cu ti nguyn (forecast needs for resource)
Thu nhn ti nguyn (acquire resources)
Phn cng trch nhim s dng ti u ngun ti nguyn
(assign responsabilities for optimium use of resources)
Phn b ti nguyn gim thiu tc nghn
(provide critical resources to minimize bottle-necks)
Hnh di y m t qu trnh qun l d n pht trin mt h chuyn gia.
Qun l d n (project management)

Qun l cu hnh sn
phm

Qun l hot ng

Lp
k
hoch

Ln
lch
cng
tc

Ghi
chp
s
kin

Phn
tch

Qun
l
sn
phm

Qun
l
thay
i

Qun l ti nguyn

Gim
thiu
tr
tr
ti
nguyn

Tip
nhn
ti
nguyn

Hnh 1.14. Qun l d n pht trin mt h chuyn gia

Phn
cng
trch
nhim
ti
nguyn

D
bo
ti
nguyn
cn
thit

b. Tip nhn tri thc


Cc bc tip nhn tri thc cho mt h h chuyn gia nh sau : u tin, cng ngh tri thc
thu nhn tri thc nh i thoi trc tip vi tri thc con ngi (chuyn gia). Sau , tri thc
c biu din (theo mt cch no ) tng minh trong c s tri thc. Cc chuyn gia nh
gi h chuyn gia, trao i qua li vi cng ngh tri thc cho n khi h chuyn gia hon ton
tha mn yu cu.
Tri thc chuyn gia
(human expert)
i thoi (dialog)
Cng ngh tri thc
(knowledge engineer)
Tri thc tng minh
(explicit knowledge)
C s tri thc h chuyn gia
(knowledge base of expert system)

Hnh 1.15. Tip nhn tri thc trong mt h chuyn gia

c. Vn phn phi (The Delivery Problem)


H thng c phn phi nh th no ?
Vn phn phi mt h thng ph thuc ch yu vo s lng cc h chuyn gia s
c pht trin. Tt nht l h chuyn gia c th chy trn cc thit b phn cng chun. Tuy
nhin, mt s h chuyn gia i hi phi c b x l LISP, t lm tng gi thnh sn
phm.
Ni chung, mt h chuyn gia cn phi c tch hp (integrated) vi nhng chng
trnh c sn c th dng li gi th tc t mt ngn ng lp trnh thng thng v h
thng c th h tr qu trnh ny.

d. Bo tr v pht trin
H thng c bo tr (maintenance) v tin trin (evolve) nh th no ?
Cc h chuyn gia i hi cc hot ng bo tr v pht trin khng hn ch (open-ended)
so vi cc chng trnh thng thng. Bi v cc h chuyn gia khng da trn cc thut
ton, m thnh tch (performance) ca chng ph thuc vo tri thc. Vn l phi thng
xuyn b sung tip nhn cc tri thc mi v thay i cc tri thc c i mi h thng
(system improves).
Trong mt sn phm c cht lng thng mi (commercial quality product), cn phi
thu thp mt cch c h thng v c hiu qu cc bo co sai st h thng do ngi s dng
pht hin. Nu vic thu thp v khc phc li khng c u tin trong qu trnh nghin cu
th phi c u tin trong h thng cht lng thng mi. Vic bo tr ch c thc hin
tt khi thu thp y cc bo co sai st.
Hnh 1.16. trnh by cc giai on c bn pht trin mt h chuyn gia.

M u

29
Nghin cu kh thi
(feasibility study)
Phc tho nhanh bn mu
(rapid prototype)
Lm mn h thng
(Refined system : a-test)
Kim th ( -test)
(field testable)
Cht lng sn phm
(commercial quality)

Thuyt trnh hay bo co kt qu so snh ch ra tnh


kh thi ca d n
H chuyn gia th hin tng, khi ng s nhit
tnh v t nn mng qun l mc cao
Kim th h thng cho bi ton thc t nh
cng ngh tri thc v chuyn gia
La chn ngi s dng kim th h thng, khng
nh cng ngh tri thc v chuyn gia
Hp thc ha v th nghim, vit ti liu hng dn s
dng, o to, h tr khch hng qua n thoi, email
kp thi
Tm li sai (fix bugs) v tm nhng kh nng m rng
(enhance capabilities)

Bo tr v pht trin
(maintenance&evolution)

Hnh 1.16. Cc giai on pht trin mt h chuyn gia


S pht trin mt h h chuyn gia cng tc ng nhiu trong mt h thng cht lng
thng mi. Ngi ta lun mong mun nhn c nhng thnh cng mt khi h chuyn gia
c phn phi n ngi dng.

III.3. Sai st trong qu trnh pht trin h chuyn gia


Cc sai st ch yu trong qu trnh pht trin h chuyn gia c phn ra thnh nhiu giai
on (hnh 1.17.).
Sai st trong tri thc chuyn gia. Chuyn gia l ngun tri thc ca mt h chuyn gia.
Nu tri thc chuyn gia khng ng v khng y , hu qu sai st s nh hng sut qu
trnh pht trin h thng. V d : hn ch nhng sai st c th, NASA s dng bng k
thut bay (Flight Technique Panels) trong cc chuyn bay v tr. Cc bng ny gm nhng
ngi s dng h thng, cc chuyn gia lnh vc c lp, nhng ngi pht trin h thng,
nhng ngi qun tr nhm bo m tnh y v bao trm ht mi lnh vc pht trin.
Sai st ng ngha. Xy ra do hiu sai tri thc a vo h chuyn gia. V d, gi s mt
chuyn gia ni : You can extinguish a fire with water v cng ngh tri thc li hiu cu
ny l All fires can be extinguished by water .
Sai st c php. Do biu din sai dng cc lut v cc s kin, hoc do sai st ng ngha,
hoc sai st trong tri thc chuyn gia cc bc trc.
Sai st my suy din. L mt chng trnh nn my suy din c th gp li khi thc hin
v c th xc nh c nguyn nhn. Tuy nhin, vic xc nh li trong mt s h chuyn
gia vn gp kh khn do cng c phn mm s dng.
Ngoi ra, ngi ta cng gp phi sai st khi suy din v nhng sai st khng bit c.

Chuyn gia
(expert)

Sai st trong tri thc ca chuyn gia : thiu st


nhm ln...
Sai st v mt ng ngha gia cng ngh tri thc v
chuyn gia.

Cng ngh tri thc


(knowledge engineer)

Suy lun (elicitation) khng y v tri thc t


chuyn gia
Sai st v mt c php

C s tri thc
(knowledge base)

Sai st do thiu st v nhm ln tri thc trong cc


lut v cc s kin, tnh khng chc chn
Li ca my suy din, li phn mm cng c h
chuyn gia

My suy din
(inference engine)

Li suy din do xc nh sai u tin ca cc lut,

tng tc gia cc lut, sai trong c s tri thc, suy


lun khng nht qun...

Php suy din


(inference chain)

Hnh 1.17. Sai st v nguyn nhn sai st trong cc h chuyn gia

M u

Bi tp chng 1
1. c k gio trnh v ti liu tham kho hiu cac khi nim trnh by.
2. T cho mt s v d v cc phng php biu din tri thc. Nhn xt.

31

CHNG 2

Biu din tri thc nh logic v t bc mt


The most important thing I have learned over the years is the difference
between taking one's work seriously and taking one's self seriously.
The first is imperative, and the second disastrous .
Margaret Fontey

I.
I.1.

Ngn ng v t bc mt
Cc khi nim

I.1.1. C php ca ngn ng v t bc mt


Trong ngn ng v t bc mt (firstorder predicate language), bng cch s dng mt
bng k hiu c bit, ngi ta a vo cc khi nim hng (term), nguyn t (atom), trc
kin (literal) v cng thc chnh (wellformed formula) xy dng cc biu thc ng
(correct expressions).
1. Bng k hiu
Bng k hiu xy dng cc biu thc ng gm :
Cc du phn cch (separator signs) l du phy ( , ), du m ngoc ( ( ) v du ng
ngoc ( ) ).
Cc hng (constant) c dng chui s dng cc ch ci in thng a..z.
V d : a, block.
Cc bin (variable) c dng chui s dng cc ch ci in hoa A..Z.
V d : X, NAME.
Cc v t (predicate) c vit tng t cc bin, l cc chui s dng cc ch ci in
hoa A..Z.
V d : ISRAINING, ON(table), P(X, blue), BETWEEN(X, Y, Z).
Khi cn thao tc trn mt v t no , cn phi ghi r bc (arite) hay s cc i
(argument) ca v t . Bc l mt s nguyn dng. V d, trong mt ng dng no , bc
ca cc v t ISRAINING, ON, P v BETWEEN ln lt l 0, 1, 2 v 3. Khi bc c gi tr c
nh l 0, v t cn c gi l mnh (proposition). Chng hn ISRAINING, EMPTY l
cc mnh .
Cc hm (function), c cch vit tng t cc hng, s dng cc ch in thng a..z.
Mi hm cng c bc (hay s lng cc i) c nh, l mt s nguyn dng.
V d f(X), weight(elephan), successor(M, N) l cc hm c bc ln lt l 1, 1, v 2.
Ngi ta quy c rng cc hng l nhng hm bc khng (nil). V d a, elephan, block
l cc hng.
Cc php ni logic (logical connector) l , , , v tng ng vi cc php ph
nh, v, hoc, ko theo v ko theo ln nhau.

PGS. TS. Phan Huy Khnh bin son

33

Du l lng t tn ti (existential quantifier) v l lng t ton th (universal


quantifier).
2. Hng (term)
Hng c to thnh t hai lut sau :
Cc hng v cc bin l cc hng.
Nu f l mt hm c bc n 1 v nu t1,..., tn u l cc hng,
th hm f (t1,..., tn) cng l mt hng.

V d :
Cc hm successor(X, Y) hay weight(b) hay successor(b, wight(Z)) u l cc hng,
nhng P(X, blue) khng phi l hng v P l mt v t hay weight (P(b)) cng khng phi l
hng v P(b) khng phi l mt hng (khng th lm i cho mt hm).
3. Nguyn t (atom)
Nguyn t c to thnh t hai lut sau :
Cc mnh (v t bc 0) l cc nguyn t.
Nu P l mt v t bc n (n 1) v nu t1,..., tn u l cc hng,
th P(t1,..., tn) cng l mt nguyn t.
V d :
P(X, blue), EMPTY, BETWEEN(table, X, sill(window)) l cc nguyn t.
Cn successor (X, Y), sill (window) y th khng phi nguyn t.
4. Cc cng thc chnh
Cc cng thc chnh (vit tt CTC) c to thnh t ba lut sau :
Cc nguyn t l cc CTC.
Nu G v H biu din cc CTC,
th (G), (G H), (G H), (G H) v (G H) cng l cc CTC do c to thnh
t cc php ni lgich gia G v H.
Nu G l mt CTC v X l mt bin,
th (X)G v (X)G cng l cc CTC.
(X)G c c l tn ti mt bin X sao cho G c tho mn.
(X)G c c l vi mi bin X th G u c tho mn.
V d :
Cc cng thc sau y l chnh :
(X) (Y) ((P(X, Y) Q(X, Y) R(X))
(((P(a) P(b))) P(b))
cn ((f(a)) : ph nh ca mt hm,
v f (P(a)) : hm c i l mt v t, u khng phi l CTC.
Ch :
Mt CTC c gi l mt trc kin (literal) hay mt tr ng nu n l mt nguyn t
hay c dng (G), vi G l mt nguyn t.
Trong mt CTC, trc hoc sau cc k t ni, k t phn cch, cc hng, cc bin, cc
hm, cc v t, ngi ta c th t ty cc du cch (space hay blank).

Biu din tri thc nh logic v t bc mt

35

T nay v sau ta quy c rng, trong mt cng thc, nu c mt bin c lng t ha,
tc l bin xut hin ngay theo sau k hiu hay th t tr i, tt c cc v tr ng sau
ca cng bin ny cng c lng t ha.
Mt CTC c th cha cc bin khng c lng t ha, chng c gi l nhng bin
t do (free variable). V d : P(X) v (Y) Q(X, Y) l cc CTC c cha bin t do X.
Logic v t c gi l bc mt (firstorder) v trong nh ngha cc CTC khng
cha cc lng t cho v t hay cho hm.
V d : (P)P(a) v (f) (f) (X) P(f (X), b)
khng phi l nhng CTC logic v t bc mt, m c bc cao hn (higher-order).
5. Biu din v s dng tri thc (knowledge)
Thc t, cc CTC dng din t cc ngha. V d CTC di y :

(X) (MAN(X) M (X))


th hin cu tt c mi ngi u cht bng cch quy c rng MAN(X) c ngha X l
mt ngi v M (X) c ngha X cht.
Khng phi lun lun d dng dng mt CTC biu din mt tri thc din t theo ngn
ng t nhin (natural language). Chng hn, din t rng nu hai vt bng nhau th chng
c cng tnh cht, ngi ta c th vit :
(P) (X) (Y) (EQUAL(X, Y) (P(X) P(Y)))
Nhng biu thc trn khng phi l logic v t bc mt v c lng t p dng cho mt
k t v t l P.

I.1.2. Cc lut suy din (inference rule)


Mt lut suy din l cch biu din sao cho t mt hoc nhiu CTC, c th suy dn
(derive) thnh cc CTC khc. Chng hn cc lut suy din sau y :

Lut suy din modus ponens : T hai CTC ln lt l G v (G H), c th suy dn ra


CTC H ( y vn quy c rng cc tn nh G, H phi c thay th bi cc CTC m
chng biu din).
Lut suy din modus tollens : T cc CTC l (H) v (G H), ta suy dn ra c
(G). Ngi ta vit quy c hai lut suy din trn nh sau :
GH
H
G
GH
H
G
modus ponens
modus tollens
Lut suy din chuyn dng (universal specialization), nu t mt CTC c dng :
(X) G(X)
v t mt hng bt k, chng hn a, c th suy dn thnh CTC :
G(a)
ngha l mi v tr X trong G c thay th bi a.

Cho trc mt tp hp c nh cc lut suy din, ngi ta c th xem xt h cc bi ton


sau : T mt tp hp cc CTC chn, bng cch p dng mt s hu hn ln no cc lut
suy din, c th nhn c mt CTC cho trc hay khng ?
Cc CTC c chn lc u c gi l cc tin (axiom). Cc CTC nhn c bng
cch p dng cc lut suy din c gi l cc nh l (theorem). Mt dy cc p dng cc
lut suy din t cc tin dn n nh l l mt php chng minh (proving) ca nh l.

Mt s k thut hp gii vn (problem resolution) thuc lnh vc Tr tu nhn to


nh tm kim trong khng gian cc trng thi, c th c xem nh vic tm kim mt chng
minh cho mt nh l cho. Theo ngha khng gian cc trng thi, tp hp cc tin c th
xem l mt trng thi u, cc lut suy din ng vai tr l cc php chuyn trng thi, cc
trng thi ch s l tp hp cc CTC trong c cha nh l cn chng minh.

I.1.3. Ng ngha ca ngn ng v t bc mt


Sau y, ta s nghin cu cch s dng cc CTC biu din v suy lun trn cc gi tr
chn (truth value) ca cc tri thc c tm c gi tr chn ca cc tri thc khc.

a. Din gii (Interpretation)


Mt din gii ca mt CTC G, k hiu I, c xc nh t nm bc sau y :

Chn mt min din gii (interpretation domaim) k hiu l D vi D , ngha l mt


tp hp khc rng cc phn t.
Gn (assignation) cho mi hng ca G mt phn t ca D.
Gn cho mi mnh (hay v t c bc 0) mt phn t ca tp hp gi tr {true, false}.
n gin ta k hiu F l tr false v T l tr true.
Gn cho mi v t bc n (n 1) mt nh x t Dn ln { T, F } :
P( X1,... Xn ) : Dn { T, F }

Gn cho mi hm bc n (n 1) mt nh x t Dn ln D :
P( X1,... Xn ) : Dn D.
Ngi ta ni rng c mt din gii I t G ln D :
I
G D, D
V d : Cho cc min din gii D1, D2, D3 v cc CTC
G1 : (X) P(X)
G2 : (X) (Y) Q(X, Y)
G3 : (X) (R(X) T (f (X), a))
Ta xy dng cc din gii Ii ca Gi ln Di, i = 1.. 3, nh sau :

I1 :

D1 = {1, 2}

P(1)
F

P(2)
T

I2 :

D2 = {1, 3}

Q(1, 1)
F

Q(1, 3)
T

I3 :

D3 = {4, 5}

a
4

Ch :

Q(3, 1)
F
f(4)
5

Q(3, 3)
F

f(5)
4

R(4) R(5)
T(4, 4) T(4, 5) T(5, 4) T(5, 5)
T
F
T
F
T
T
i khi, ngi ta ni mt din gii l khng y nu trong , cc php gn
cn thit ch c c t tng phn.

Biu din tri thc nh logic v t bc mt

37

b. Gi tr mt cng thc theo din gii


Cho mt din gii I ca mt min D cho mt cng thc G.
Nu G l mt mnh , khi , gi tr gn cho G do nh ngha ca I c gi l gi tr
ca G theo I.
Nu G l mt trc kin m khng phi l mt mnh , khi , vi mi php la chn

C cc gi tr trong D cho cc bin ca G (nu tn ti), ta nhn c mt gi tr true hay


false theo cch nh ngha I. Gi tr ny c gi l gi tr ca G theo I i vi la chn

C cc gi tr ca cc bin.
Chng hn, trong cng thc G3 trn c din gii theo I3, nguyn t T(f(X), a) nhn
gi tr T nu X c gn phn t 4 ca D3, v cng nhn gi tr T nu X nhn mt gi tr khc
(gi s 5) ca D3.

Nu G c dng (X)G, ta nh ngha gi tr ca G theo I l T (true) nu gi tr ca G


theo I cho mi gi tr ca bin X (trong D) l T, nu khng l F (false). Chng hn, gi
tr ca G1 c din gii theo I l F.

Nu G c dng (X)G, ta nh ngha gi tr ca G theo I l T (true) nu gi tr ca G


theo I i vi t nht mt gi tr ca bin X (trong D) l T, nu khng l F (false).

Chng hn, gi tr ca Q(X, Y) c din gii theo I2 l T khi gn 1 cho X v 3 cho Y. T


suy ra rng gi tr ca (Y)Q(X, Y) theo I2, khi X nhn gi tr 1, l T. Ngc li, gi tr
ca G2 theo I2 l F.

Nu G c dng (G), ngi ta nh ngha gi tr ca G theo I, khi gi tr ny ca G


theo I c nh ngha, cn c theo bng sau :
Gi tr ca G theo I
Gi tr ca (G) theo I (gi s G)
T
F
F
T
Nu G c dng (G G), hoc (G G), hoc (G G), hoc (G G), ngi
ta nh ngha gi tr ca G theo I, khi cc gi tr ca G v G theo I c nh ngha,
cn c theo cc bng chn l (truth table) tng ng sau :
G G (G G)
G G (G G)
F
F
F
F
F
F
F
T
T
F
T
F
T
F
T
T
F
F
T
T
T
T
T
T

G
F
F
T
T

G
F
T
F
T

(G G)
T
T
F
T

G
F
F
T
T

G (G G)
F
T
T
F
F
F
T
T

Chng hn, gi tr ca G3 theo I3 l T.


Khi mt cng thc G l T theo mt din gii I, ngi ta ni rng din gii I l mt m
hnh ca G.
Ch rng gi tr ca mt cng thc theo mt din gii cho c nh ngha theo cch
qua li tng h ngay khi tt c cc bin c lng t ho.

I.2.

Cc tnh cht

I.2.1. Tnh hp thc / khng hp thc, tnh nht qun / khng nht qun
Mt cng thc c gi l hp thc (valid) nu v ch nu mi din gii u cho gi tr T.
Nu khng, n c gi l khng hp thc (nonvalid).
Mt cng thc c gi l khng nht qun (inconsistent) nu v ch nu vi mi din
gii u cho gi tr F. Nu khng, n c gi l nht qun (inconsistent).
V d :
Cho G1 : (X) (P(X) (Q(X)))
G2 : (X) (P(X) (P(X)))
G3 : ((X) (P(X)) ((Y) (P(Y)))
Cng thc G1 l nht qun v din gii I1 sau y tr v cho n gi tr T :
I1 : D = {1}

P(1)

Q(1)

Tuy nhin, n l khng hp thc v din gii I1 sau y tr v gi tr F :


I1 : D = {1}

P(1)

Q(1)

Cng thc G2 l hp thc v nu khng, gi s I l mt din gii thuc min D lm sai


G2, khi tn ti mt gi tr a ca X, ly trong D, sao cho (P(a) (P(a))) l F, m iu
ny khng th xy ra do cch nh ngha cc php v . Nh vy, G2 phi l hp thc.
Cng thc G3 l khng hp thc v nu khng, gi s I l mt m hnh ca G, I phi lm
tho mn (Y) (P(Y)), khi tn ti mt gi tr a trong D, sao cho P(a) c gi tr F,
nhng (X) (P(X) khng th tho mn trn D. Nh vy, G3 phi l khng hp thc.
Ch :
Mt s tc gi gi cc cng thc hp thc l cc hng ng (tautology) v cc cng
thc khng nht qun l cc mu thun (contradiction).
Cch vit cng thc c th gy nhm ln. Chng hn cng thc :
(X) (MAN(X) MORTAL(X)).
gi rng tt c mi ngi u cht v cng thc l hp thc. Thc t, cng thc
ny l nht qun, nhng khng hp thc, v gi tr tr v ca cng thc ph thuc vo
din gii theo bin X.

Biu din tri thc nh logic v t bc mt

39

I.2.2. Tnh khng quyt nh c v tnh na quyt nh c


Khi mt cng thc khng cha cc bin, ngi ta c th s dng cc bng chn l tin
hnh mt s hu hn cc php ton nhm xc nh mt cng thc l hp thc hay khng,
c nht qun hay khng. Vn tr nn v cng phc tp khi cc cng thc c cha bin v
cc du lng t.
Ngi ta ch ra rng trong logic v t bc mt, khng th tm c mt thut ton tng
qut quyt nh xem vi ch mt s hu hn php ton, mt cng thc bt k no
cho c l hp thc hay khng. Do vy, ngi ta gi logic v t bc mt l khng quyt nh
c (indecidability) (theo nh l v tnh khng quyt nh c ca A. Church xy dng
nm 1936).
Tuy nhin, ngi ta c th xy dng cc thut ton tng qut quyt nh tnh hp thc
ca mt s h cc CTC. c bit, tn ti cc thut ton m bo tnh hp thc ngay t u
khi ng dng mt CTC hp thc no , bng cch dng li sau khi p dng mt s hu hn
(nhng khng b chn trn) cc php ton kt lun rng cng thc cho l hp thc. Mt
thut ton nh vy khi p dng cho mt cng thc khng hp thc c th khng bao gi
dng. Chnh v vy m ngi ta ni logic v t bc mt l na quyt nh c (half
decidability).

I.2.3. Cng thc tng ng


Hai CTC G v H c gi l tng ng nu v ch nu chng c cng gi tr (T hoc
F) cho mi din gii. Ngi ta vit : vi mi din gii I, I(G) = I(H).
V d :
(P(a) Q(b)) v ((P(a) Q(b)) l tng ng.
C th kim tra li kt qu bng bng chn l.
Hnh 2.1 di y l danh sch cc cng thc tng ng vi quy c rng :
G, H, K l cc CTC bt k,
G(X), H(X) l cc CTC vi X l bin t do,

biu din mt CTC hp thc,


biu din mt CTC khng nht qun.
Cng thc tng ng

c gi l

(G H)

((G) H)

(G H)

((G H) (H G))

( (G))

((G H))

((G) (H))

((G H))

((G) (H))

((G (H K))

((G H) (G K))

((G (H K))

((G H) (G K))

(G H)

(H G)

(G H)

(H G)

((G H) K)

(G (H K))

((G H) K))

(G (H K))

(G H)

((H) (G))

Lut De Morgan
Lut phn phi
Lut giao hon
Lut kt hp cho php loi b du
ngoc
Lut i v

Cng thc tng ng

c gi l

(G )

(G )

(G )
(G )

(G (G))
(G (G))

(X)(G(X))

(Y)(G(Y))

(X)(G(X))

(Y)(G(Y))

((X)G(X))

(Y)(G(Y))

((X)G(X))

(Y)(G(Y))

(X)(G(X) H(X))

((X)G(X) (Y)H(Y))

(X)(G(X)) H(X))

((X)G(X) (Y)H(Y))

Lut dng chung cc bin

Hnh 2..1 Bng cc cng thc tng ng

I.2.4. Hu qu logic
Cng thc G c gi l hu qu logic t cc cng thc H1,..., Hn nu v ch nu mi m
hnh ca H1,..., Hn l mt m hnh ca G.
V d :
P(a)
l hu qu logic ca (X) P(X)
(X) Q(X) l hu qu logic ca (X) ((P(X)) Q(X)) v (X) P(X)
D dng ch ra rng G l hu qu logic ca H1,..., Hn nu v ch nu :

((H1 ... Hn) G) l hp thc, hay nu v ch nu (H1 ... Hn) (G)) l khng
nht qun.

I.3.

Quan h gia nh l v hu qu logic

Ta thy rng vic nh ngha cc lut suy din, ri a ra cc nh l v chng minh l


c lp vi cc khi nim din gii (a vo cc gi tr true v false), tng ng v hu
qu logic.

I.3.1. Nhm cc lut suy din ng n (sound)


Khi cc nh l, nhn c bng cch p dng mt nhm cc lut suy din cho, l hu
qu logic mt cch h thng t mt tp hp cc tin bt k no , ngi ta ni rng nhm
cc lut suy din ny l ng n.
V d, d dng ch ra rng cc lut suy din modus ponens v chuyn dng ni trc
y l ng n.

I.3.2. Nhm cc lut suy din y


Mt nhm cc lut suy din cho l y i vi php suy din (deduction complete)
nu vi bt k mt tp hp cc CTC, mi hu qu logic ca chng u c dn n t
chng nh nhng nh l, ngha l bi p dng mt s hu hn ln cc lut suy din ca
nhm.

Biu din tri thc nh logic v t bc mt

41

V d, nhm cc lut suy din ch c rt ra t lut modus ponens s khng l y


i vi php suy din, (X) (G(X) H(X)) l mt CTC hu qu logic ca hai CTC (X)
G(X) v (X) H(X). Nhng cng thc u tin ch c th c suy din t hai cng thc ny
bi modus ponens m thi.

I.3.3. V sao cn ng n hay y ?


Trong h thng hp gii cc bi ton, logic v t bc mt thng dng biu din nhng
khng nh l ng hay sai trong nhng min ng dng chuyn bit. Ngi ta quan tm n
php suy din cc CTC.
Nu ta ly cc lut suy din trong nhng h thng ny, th mt cch t nhin, chng phi
to thnh nhm ng n.
R rng ngi ta mong mun nhm cc lut phi y . Ngha l mi hu qu logic ca
cc tin phi l mt nh l v do vy phi c lm r bi dn xut cc lut suy din. Tuy
nhin trong thc t, khng phi lun lun nh vy.
Sau y ta s ch ra mt lut suy din quan trng l php hp gii (principle of
resolution), hay ni gn l hp gii (resolution).

II.

Php hp gii

Php hp gii l mt lut suy din p dng vo mt tp hp cc CTC hay mt tp hp cc


mnh (clauses) cho.

II.1.

Bin i cc mnh

Mnh l tt c cc CTC c xy dng t php hoc (disjonction) ca cc trc kin


(literals). V d :
R(Z, a, g(X)) (T(U)) (V(b, k(c)).

II.1.1. Dng chun trc ca mt cng thc chnh


Dng chun trc (prenex normal form) ca mt CTC cho c suy ra bi p dng
lin tip bn php bin i sau y :

a. Loi b cc php ni v
S dng cc lut tng ng :
(G H) v ((G) H)
(G H) v ((G H) (H G))

b. Ghp cc php ni vi cc nguyn t lin quan


S dng cc lut tng ng :
( (G))
((G H))
((G H))
((X) P(X))
((X) P(X))

v
v
v
v
v

G
((G) (H))
((G) (H))
(X) (P(X))
(X) (P(X))

Lut De Morgan

c. Phn bit cc bin


Dng lut tng ng tc ng du lng t ln mt bin s khi :
(X) P(X)
v
(Y) P(Y)

(X) P(X)
v
(Y) P(Y)
Lut dng chung cc bin
Ch :
Cc php bin i a, b, c dn CTC cho thnh mt CTC mi tng ng.

d. Dch chuyn cc du lng t


Khi dch chuyn cc du lng t trong mt CTC, ta nhn c mt CTC mi tng
ng. Bi v sau bc c, khng cn s xung t gia cc nhn bin c lng t ho.
Sau bn bc bin i, ta nhn c cng thc c dng chun trc tng ng vi
CTC cho. Phn tip theo ca cc du lng t c gi l tin t (prefix) v phn cn li
c gi l ma trn (matrix).
C nhiu dng chun trc khc nhau cho cng mt CTC bng cch p dng cc lut
tng ng nhng vn tun theo ni dung ca cc bc a, b, c, d.
V d :
Cho CTC G :
((X) ((P(X) Q(X, a))
(R(X, b) ((Y) ((Z) R(Y, Z) T(X, Y)))))) ((X) S(X))
Sau bc a, ta nhn c :
((X) ((P(X) Q(X, a))
(R(X, b) ((Y) ( (Z) R(Y, Z) T(X, Y)))))) ((X) S(X))
Sau cc bc b v c, ta nhn c (vi quy c du p dng cho nguyn t theo sau) :
((X) (P(X) Q(X, a))
(R(X, b) ((Y) (((Z) R(Y, Z) T(X, Y)))))) ((U) S(U))
Sau bc d, ta nhn c dng chun trc ca G :
((X) (Y) (Z) (U)
(((P(X) Q(X, a)) (R(X, b) (R(Y, Z) T(X, Y)))) (S(U))
hay p dng tnh cht kt hp ca php hoc :
((X) (Y) (Z) (U)
(P(X) Q(X, a) (R(X, b) (R(Y, Z) T(X, Y))) (S(U))

II.1.2. Chuyn qua dng mnh ca cng thc chnh


T dng chun trc G ca CTC G, ta c th to ra dng mnh (form of clauses) G
t G bng cch p dng 5 bc chuyn i sau y. Trc tin cn ch rng nu cc cng
thc G v G lun lun tng ng vi nhau th cc cng thc G v G c th khng tng
ng vi nhau.
Ta ch xt G khng nht qun tng ng vi G khng nht qun. Quan h ny vn
cho php to c s cho vic chng minh t ng sau ny.

a. Loi bi cc du lng t tn ti
Cho cng thc dng (X) G(X) v gi s G(X) c to thnh t mt hoc nhiu cng
thc ch c lng t ho ton th () i vi cc bin Y1,..., Yn m thi. Ta s loi b
lng t tn ti (X), sau thay th mi v tr ca X trong G(X) bi mt hm c dng
f(Y1,..., Yn).
Ch rng hm ny phi cha tt c cc bin c lng t ho ton th nm bn tri
lng t tn ti trong cng thc (X) G(X). y l mt hm cho bit c s tng ng gia

Biu din tri thc nh logic v t bc mt

43

cc nhm gi tr ca Y1,..., Yn v cc gi tr ca X. Gi tr ca X c ch nh bi lng t

tn ti .
Nhng hm nh vy c gi l cc hm Skolem (Skolem functions). V rng ta khng
bit g khc ngoi cc tham bin ca cc hm ny, ta phi s dng mt k hiu gc biu
din chng mi ln cn thay th mt lng t ton th khi n xut hin.
Khi khng c du no bn tri ca cho, hm Skolem s khng c tham bin,
v c gi l mt hng Skolem (Skolem constant).
V d :
(X) P(X)
tr thnh
P(a)
(X) (Y) FOLLOW(Y, X)
tr thnh
(X) FOLLOW(f(X), X)
Dng chun trc ca cng thc cho trong v d mc II.1.1 tr thnh :
((X) (Y) (U)
(P(X) Q(X, a) (R(X, b) (R(Y, g(X, Y)) T(X, Y))) (S(U))

b. Loi b tt c cc du lng t
Sau bc a trn y, cng thc ch cn cc du lng t ton th. Vi gi thit rng tt c
cc bin u c lng t ho ton th, ta c th loi b chng.
V d sau cng mc trn y tr thnh :
(P(X) Q(X, a) (R(X, b) (R(Y, g(X, Y)) T(X, Y))) (S(U))

c. Chuyn qua dng chun hi


Trong bc ny, ngi ta s dng cc lut kt hp v phn phi i vi cc php ton
logic v rt gn CTC nhn c ch cn ton l php hi (conjonction) ca cc php
hoc (disjonction) ca cc mnh hay cc trc kin (literal).

V d :
P(X) Q(X, a) R(Y, f(X), b)

tr thnh
(P(X) Q(X, a)) (P(X) R(Y, f(X), b))

V d mc trn y tr thnh :
(P(X) Q(X, a) R(X, b) S(U))
(P(X) Q(X, a) R(Y, g(X, Y)) T(X, Y) (S(U))

d. Loi b tt c cc du php ton logic


Php hi ca cc mnh nhn c t bc trn y c xem nh mt tp hp ca cc
mnh mt cch truyn thng. Chng hn trong bc trn, ta nhn c tp hp hai mnh
l :
{ (P(X) Q(X, a) R(X, b) S(U)),
(P(X) Q(X, a) R(Y, g(X, Y)) T(X, Y) (S(U)) }

e. Phn bit cc bin ca cc mnh


Cc mnh trong tp hp trn y phi c t li tn bin sao cho khng c s trng
tn. Mun vy, ta s dng cc lut tng ng tng qut :
(X) (G(X) H(X))
Chng hn ta c :

((X) G(X) (Y) H(Y))

{ (P(X) Q(X, a) R(X, b) S(U)),


(P(Y) Q(Y, a) R(Z, g(Y, Z)) T(Y, Z) (S(V)) }

II.1.3. Quan h gia CTC v cc dng mnh ca chng


Cho cc CTC G1,..., Gp. Gi s G1,..., Gp l cc dng mnh tng ng vi G1,..., Gp
nhn c t cc bc a.. e trong mc II.1.2 trn y, hoc nhn c t cc bc a.. d trong
mc II.1.1 to ra cc dng chun trc G1,..., Gp. Gi s mi Gi c dng :
k

Gi = { C1,..., Ci i }
Ta thy rng { G1,..., Gp } l khng nht qun nu v ch nu :

U G "i

l khng nht qun.

i = 1, p

Mt kt qu khc tng t l mi cng thc l hu qu logic ca { G1,..., Gp } th cng l


hu qu logic ca

U G "i .

i = 1, p

Biu din tri thc nh logic v t bc mt

45

Ch :
1) Trong trng hp tng qut, ngi ta c th bin i mt CTC cho thnh nhiu dng
mnh khc nhau. Ngi ta c th loi b mt ln cc lng t tn ti (bc II.1.2.a)
trc khi chuyn qua tri tt c cc lng t (bc II.1.1.d). Cch ny c th lm gim s
lng tham i ca cc hm Skolem xut hin.
Chng hn, gi s sau bc II.1.1.c, ta c CTC :

((X) P(X) (Y) Q(Y)), bc II.1.1.d dn n :


(X) (Y) (P(X) Q(Y)), tip theo, bc II.1.2.a dn n :
(X) (P(X) Q(f(X))), cui cng, ta c tp hp dng mnh :
{ P(X), Q(f(Z)) }
trong khi , nu thc hin bc II.1.2.a ri bc II.1.1.d, ta nhn c :
(X) (P(X) Q(a)), t ta c tp hp :
{ P(X), Q(a) }
Cc kt qu trn y c ngha d dng mnh nhn c l nh th no.
2) Khi p dng logic v t bc mt, thng thng ngi ta mun mt CTC H l hu qu logic
ca cc CTC G1,..., Gn. Trong mc I.2.3, ta ch ra rng iu ny tng ng vi s
khng nht qun ca CTC :
K = G1 ... Gn H

T cc kt qu trc y, ta mun tm kim cc dng mnh G1,..., Gn v H mt cch


c lp, sau tch hp chng li, thay v tm kim trc tip mt dng mnh ca K theo
cc bc II.1.1 ri cc bc a.. e trong II.1.2.
3) Nu G l mt dng mnh ca G, th G ch tng ng vi G khi G v G l khng
nht qun. Nu G l nht qun, th khi , mt cch tng qut, G khng tng ng vi
G.
V d :
Cho G l CTC : (X) P(X) v gi s G l mnh P(a). Nu ta din gii trn min D =
{1, 2} cho bi :
P(1)
P(2)
a 1 v
F
T
th ta nhn thy rng din gii ny lm G ng v lm G sai.
T nhn xt ny, ngi ta t CTC di dng mnh G v H, m khng phi di
dng G v H, chng minh rng H l hu qu logic ca G.

II.1.4. Php hp gii i vi cc mnh c th


Ngi ta ni mt trc kin l c th (concrete) nu n khng cha cc bin.
Chng hn, P(a), Q(a, f(b)) l cc trc kin c th, nhng P(X), Q(a, f(Y)) khng phi
l cc trc kin c th.
Mt mnh c th l php hoc ca cc trc kin c th.
Cho hai mnh c th :
G = G1 ... Gn

H = G1 H2 ... Hm
vi Gi v Hi l cc trc kin c th. Cc trc kin G1 v G1 c mt trong G v H tng ng,
c gi l cc trc kin b nhau (complementary literals).
Xut pht t cc mnh cha (parent clauses) l G v H, lut suy din, hay php hp
gii, s to ra mt mnh :
K = G2 ... Gn H2 ... Hm
K c gi l mnh kt qu (resolvent clause) hay kt qu hp gii (resolvent) ca G
v H. Ngi ta cng ni rng G v H c hp gii vi nhau (resolved) to thnh K. Mt
kt qu hp gii l s loi b cc trc kin b nhau v tuyn vi tt c cc trc kin khc ca
cc mnh cha.
Mt s trng hp c bit :

Q l mt kt qu hp gii ca cc mnh c th P v P Q(hay P v PQ). Php


hp gii ny thc cht l lut suy din modus ponens (trn cc mnh c th).
G K (hay GK) l kt qu hp gii ca cc mnh c th G H v H K
(hay GH v HK). Quy tc suy din ny l mt trng hp c bit ca php hp
gii cn c gi l php lin kt (ch i vi cc mnh c th).

Cc mnh c th G v G c hp gii vi nhau to thnh mnh rng (empty


clause)
Ch :

Hai mnh c th khng c kt qu hp gii. Chng hn G v H, vi G v H l cc


nguyn t khc nhau.
Hai mnh c th c th c nhiu kt qu hp gii. Chng hn hai mnh GHK
v GHL c hp gii thnh HHK L hay thnh GGK L l nhng
mnh tng ng.
P l mt kt qu hp gii ca cc mnh c th Q v P Q(hay Q v PQ).
Php hp gii ny thc cht l lut suy din modus tollens.
Trc khi nh ngha tng qut php hp gii p dng cho cc mnh khng phi lun
lun c th, cn phi nh ngha mt c ch to sinh cc mnh . l php hp nht.

II.2.

Php hp nht (unification)

II.2.1. Khi nim


Gi s cho cc mnh G(X) H(X) v G(f(Y)). Nu mnh th nht c thay th
bi G(f(Y)) H(f(Y)), th ta c th m rng php hp gii cho cc mnh c th : loi b
cc trc kin b nhau G(f(Y)) v G(f(Y)) nhn c mnh H(f(Y)). Nh vy, php

47

Biu din tri thc nh logic v t bc mt

hp nht cho php bin i cc mnh sao cho c dng trc kin b nhau bng cch p
dng cc php th (substitutions).

a. Php th
Php th l mt tp hp hu hn cc cp ti Vi, trong ti l cc hng, cn Vi l cc bin
phn bit. Nu I = 0, ta ni php th l rng.
Ngi ta ni p dng mt php th s = { ti Vi } cho mt biu thc bt k E (E l mt
hng hoc mt CTC) cho trc l xc nh mt trng hp ca E theo s. l vic thay th
tt c cc v tr ban u ca mi bin Vi trong E bi ti.
V d :
Cho E = G(f(X), a, Y) v cc php th :
s2 = { b|X }
s1 = { Z|X, U|Y }
s3 = { Y|X, g(X)|Y }
s4 = { a|X, k(c) Y }

Ta c :
Es1 = G(f(Z), a, U)
Es3 = G(f(Y), a, g(X))

Es2 = G(f(b), a, Y)
Es4 = G(f(a), a, k(c))

Ch :
chuyn E thnh Es3, ch c cc v tr ban u ca X v Y trong E l c thay th
(khng phi cc v tr xut hin trong khi p dng s3). Kt qu ca php th ny l c
lp vi th t p dng cc phn t ca php th.
Es4 l mt trng hp c th ca E bi php th s4.
Cc hng ti v cc bin Vi c gi ln lt l hng v bin ca php th.

Php t hp hai php th s1v s2, ngi ta vit quy c s1s2, l php th nhn c bng
cch nh sau :
a) Ap dng s2 cho cc hng ca s1.
b) Loi b khi s2 cc cp tj
(hay sao cho ti vi ti

Vj sao cho Vj l mt bin ca s1

Vj s1).

c) Tp hp tt c cc cp nhn c t hai bc a) v b) trn y.


V d :
{ a X, g(Y, Z, U) V } { b X, c Y, f(X) Z, k(d) V, f(X)
={a

X, g(c, f(X), U)

V, c

Y, f(X)

Z, f(X)

W}

Ngi ta chng minh c rng :


(Es1) s2 = E(s1 s2)
Ngi ta cng chng minh c rng php th c tnh kt hp, hay :
(s1s2)s3 = s1(s2s3)
Trong trng hp tng qut, s1s2 s2s1.

b. B hp nht (unifier)

W}

Ngi ta ni rng mt tp hp {Ei}i cc biu thc (hng hay cng thc) l hp nht c
(unifiable) bi s hay ni rng s l b hp nht ca {Ei}i nu v ch nu mi php th s cho Ei,
k hiu Eis, l ging nhau. Khi , ta k hiu biu thc (duy nht) sinh ra bi b hp nht s l
{Ei}s.
V d :
s = { a X, c Y, c V, b Z, b U, g(b) W }
l mt hp nht ca :
{Ei}i = { G(X, f(Y), g(b)), G(X, f(c), g(Z)), G(X, f(c), g(U)), G(X, f(V), W) }

v rng mi biu thc u tr thnh :


G(a, f(c), g(b))
C th c nhiu b hp nht cho cng mt tp hp cc biu thc cho.
Ngi ta gi r l b hp nht tng qut hn (mgu more general unifier) ca mt tp
hp cc biu thc {Ei}i sao cho vi mi b hp nht s khc ca {Ei}i, tn ti mt php th s
sao cho s = rs.
Ngi ta chng minh c rng vi mi tp hp E hp nht c, s tn ti mt mgu v,
nu r1 v r2 l hai mgu ca {Ei}, th {Ei}r1v {Ei}r2 l ging nhau cho tn cc bin.
V d :
Trong v d trn y, mgu ca { E1, E2, E3 } l :

r = { c Y, c V, b Z, b
Ch rng s = r{ a X }.

U, g(b)

W}

c. Thut ton hp nht


Sau y ta xy dng thut ton quy UNIFY(E, ) vi l php th rng. Thut ton
to ra mt mgu cho mt tp hp hu hn E cc biu thc hp nht c. Nu E khng l hp
nht c, thut ton dng v thng bo.
UNIFY( , )
1. if l mt phn t duy nht (mi phn t ging ht nhau)
then begin write( l mgu); stop end
else
2. To tp hp D cc xung t ca
3. If tn ti hai phn t V v t ca D sao cho V l mt bin, t l mt hng
v V khng c mt trong t
then
begin
{t V}
{t V}
UNIFY( , )
end
4. write(Tp hp cho khng l hp nht c); stop
Hnh 2.2. Thut ton hp nht

Thut ton s dng tp hp cc xung t, k hiu D, ca mt tp hp cc biu thc


(hng hay cng thc). Tp hp D ny c xy dng bng cch qut ng thi t tri qua
phi mi phn t ca cho n khi gp k hiu v tr u tin lm xut hin s sai khc

49

Biu din tri thc nh logic v t bc mt

gia cc phn t ny. Sau , bng cch trch mi phn t ca mt biu thc (cn phi l
hng hay cng thc ngay khi tt c cc hm v tt c cc v t c vit bi cc k hiu phn
bit). Biu thc ny bt u t v tr xung t ca k hiu. Tp hp cc biu thc nh vy to
thnh D.
Chng hn, cho = { G(X, f(a, Y), G(X, b), G(X, f(a, G(Z))) }
Mt xung t xut hin v tr k hiu th nm. Nh vy :

D = { f(a, Y), b, f(a, g(Z)) }


V d 1 :
Cho E = { P(a, X, f(g(Y))), P(Z, f(Z), f(U)) }.
Gi UNIFY(E, ), khi E,
Bc 1 v 2 : D { a, Z }
Bc 3 : vi V Z, t a
{a|Z}={a|Z}
{ a | Z } = { P(a, X, f(g(Y))), P(a, f(a), f(U)) }. Gi UNIFY( ,
Bc 1 v 2 : D { X, f(a) }
Bc 3 : vi V X, t f(a)
{ a | Z } { f(a) X} = { a | Z, f(a) X }
{ f(a) | X } = { P(a, f(a), f(g(Y))), P(a, f(a), f(U)) }
Gi : UNIFY( , )
Bc 1 v 2 : D { U, g(Y) }
Bc 3 : vi V U, t g(Y)
{ a | Z, f(a) | X } { g(Y) U} = { a | Z, f(a) X, g(Y) U }
{ P(a, f(a), f(g(Y))) }
Gi : UNIFY( , )
Bc 1: Tm thy mgu l = { a | Z, f(a) X, g(Y) U }
V d 2 :
Cho E = { Q(f(a), g(X)), Q(Y, Y) }. Gi UNIFY(E, ), khi E,
Bc 1 v 2 : D { f(a), Y }
Bc 3 : vi V Y, t f(a)
{ f(a) | Y } = { f(a) | Y }
{ f(a) | Y } = { Q(f(a), g(X)), Q(f(a), f(a)) }
Gi : UNIFY( , )
Bc 1 v 2 : D { g(X), f(a) }
Bc 4: Tp hp E khng l hp nht c.
V d 3 :
Cho E = { G(X, f(b, X)), G(X, f(Z, g(X)))}
Ta phn bit cc bin c : E = { G(X, f(b, X)), G(Y, f(Z, g(Y))) }
Sau php th { X Y } ta c :

E { X Y } = { G(X, f(b, X)), G(X, f(Z, g(X))) }


Ap dng php th { b Z } ta c :
E { X Y, b Z } = { G(X, f(b, X)), G(X, f(b, g(X))) }
Nhng ta khng th th g(X) cho X : php hp nht khng thc hin c.

Ch trong thut ton hp nht :


bc 3 trong thut ton hp nht UNIFY( , ), i hi V phi khng xut hin trong t
: php th t cho V s tr nn phc tp khng xc nh c, khng c kt qu, cc biu
thc vn lun phi hp nht.
Chng hn :
{ f(X), X } c p dng cho G(X, a) v G(f(X), a)
s chuyn chng thnh G(f(X), a) v G(f(f(X)), a), v.v...
Vic kim tra V c mt trong t khng ? lm cho phc tp tnh ton ca thut ton
tr nn ng k. Trong trng hp xu nht, l c bc lu tha i vi s phn t ca E.
Chng hn :
E = { P(X1, X2,..., Xn), P(f(X0, X0), f(X1, X1), f(X2, X2),..., f(Xn1, Xn1)) }
Vi li gi quy th nht :
= { f(X0, X0) X1 }
= { P(f(X0, X0), X2,..., Xn),
P(f(X0, X0), f(f(X0, X0), f(X0, X0)), f(X2, X2),..., f(Xn1, Xn1)) }
Vi li gi quy th hai :
= { f(X0, X0) X1, f(f(X0, X0), f(X0, X0)) X2 }
Vi li gi quy th ba, tp hp c thm phn t :
f(f(f(X0, X0), f(X0, X0)), f(f(X0, X0), f(X0, X0))) X3
v c th tip tc...
Vi li gi quy th n, tham i cui cng ca phn t th hai ca s c 2n+11 xut
hin ca hm f. Vic kim tra V c mt trong t khng ? s cn vt qua tt c cc xut hin
ca f vi thi gian l O(2n).
Tn ti cc thut ton hp nht c phc tp tnh ton nh, c thi gian tuyn tnh. Tuy
nhin, nhng thut ton ny ch c ngha nu bc ca cc v t v ca cc hng cn hp
nht l ln.

II.2.2. Hp gii cc mnh bt k


Gi s cho hai mnh cha G v H khng c bin chung (theo bc e, mc II.1.2) v c
th tin hnh hp gii. Khi , tn ti kt qu hp gii ca G v H. Gi G, H v kt qu hp
gii ca chng l cc tp hp cc trc kin {Gi} v {Hj}.
Gi s tn ti mt tp hp con {Gi} ca {Gi} (i nhn mt s gi tr ca i), v mt tp
hp con { Hj} ca {Hj } sao cho tp hp cc trc kin :

L = { Gi} { Hj }
l hp nht c.
Gi s r l mt mgu ca L, mt kt qu hp gii ca G v H l mt tp hp cc trc kin
c xc nh nh sau :
({Gi} {Gi}) r ({Hj} {Hj}) r
V d : Ga s

G = P(X, f(a)) P(X, f(Y)) Q(Y) v H = P(Z, f(a)) Q(Z)


Mt mgu ca G1= P(X, f(a)) v H1=P(Z, f(a)) l r1 = {X Z}

T kt qu hp gii l
Mt mgu ca G2 = P(X, f(Y)) v H1 l

T kt qu hp gii l

P(X, f(Y)) Q(Y) Q(X)


r2 = {X Z, a Y}
P(X, f(a)) Q(a) Q(X)

51

Biu din tri thc nh logic v t bc mt


Mt mgu ca G3 = Q(Y) v H2 = Q(Z) l

T kt qu hp gii l
Mt mgu ca G1, G2 v H1 l

r3 = {Y Z }
P(X, f(a))P(X, f(Y))P(Y, f(a))
r4 = {X Z, a Y} = r2

T kt qu hp gii l
Q(a) Q(X).
Ta thy c bn kt qu hp gii khc nhau. Trong cc trng hp khc, khng tn ti kt
qu hp gii.
Tuy nhin, trc khi kt lun rng khng tn ti kt qu hp gii, t ra cng phi kim tra
cc mnh cho c cc bin phn bit nhau. Chng hn :
G(X, a) v G(f(X), X)
khng c kt qu hp gii. Nu vit li mnh th hai thnh G(f(Y), Y) th xut hin mt
mpu { f(X) X, a Y}, t c th suy ra tn ti mt kt qu hp gii l mnh rng.
Nh vy, s phn bit cc tn bin ca cc mnh cha ch hp php lc gi thut ton
hp nht. Vic tm mt kt qu hp gii gia G(X, X) v G(f(X), X) i hi phi vit li
mnh th hai thnh G(f(Y), Y). Lc ny, php th { f(X) X } dn n kt qu l hai
mnh G(f(Y), f(Y)) v G(f(Y), Y) khng hp nht c.

II.2.3. Mt cch trnh by khc ca php hp gii


Php hp gii cn c trnh by theo mt cch khc, gi l php nhn t ho
(factorisation).
Trc tin, ngi ta a vo php hp gii nh phn (binary resolution principle) nh
sau. Cho G v H l hai mnh c cc bin phn bit, c k hiu bi cc tp hp cc trc
kin {Gi} v {Hj}.
Gi s Gp v Hp l hai trc kin ca {Gi} v {Hj} mt cch tng ng sao cho Gp v
Hq l hp nht c. Gi s r l mt mgu ca Gp v Hq. Ngi ta nh ngha kt qu hp
gii nh phn (binary resolvent) ca {Gi} v {Hj} l tp hp cc trc kin :
({Gi} {Gp}) r ({Hj} {Hq}) r

Ta thy rng kt qu hp gii nh phn l mt trng hp c bit ca php hp gii


gii thiu mc II.2.2 trn y.
By gi ta a vo mt lut suy din th hai c gi l php nhn t ho. Gi s G l
mt mnh gm mt tp hp cc trc kin.
Gi s {Li}i = 1.. p l hai hay nhiu trc kin ca G hp nht c bi mt mgu r. Xut
pht t G, bi php nhn t ho, ngi ta c th suy ra mnh nhn t (factor) ca G nh
sau :
(G {Li}i = 2.. p) r
Ngha l ta cho pht sinh Gr nhng trn ln tt c cc trc kin Lir thnh mt trc kin
duy nht.
V d :
T G = P(X) P(Y) Q(b), ta cho pht sinh nhn t P(X) Q(b).
Cui cng, ta a vo php hp gii (khng nh phn) nh l mt lut suy din mi bng
cch t hp cc php trin khai trong lut hp gii nh phn v trong lut nhn t ho. Xut
pht t hai mnh G v H, php hp gii cho php pht sinh, hoc mt kt qu hp gii nh
phn ca G v H, hoc mt kt qu hp gii nh phn ca G v mt nhn t ca H, hoc mt

kt qu hp gii nh phn ca H v mt nhn t ca G, hoc mt kt qu hp gii nh phn


ca mt nhn t ca G v mt nhn t ca H.
Cc kt qu hp gii nhn c theo nh ngha th nht (mc II.2.2) cng c th nhn
c theo nh ngha th hai va trnh by.

II.3.

Cc tnh cht tng qut ca php hp gii

a. Mt lut ng n
Ta c th chng minh d dng rng php hp gii l mt lut ng n. Ngha l mi kt
qu hp gii l hu qu logic ca hai mnh cha.
T suy ra rng, nu mt dy cc hp gii dn n mt mnh rng, th tp hp G
cho ban u l khng nht qun. Nu khng, s tn ti mt din gii I lm tho mn G v do
, cc mnh cha H1 v H2 l rng v va l hu qu logic. Nu r l mgu dng hp gii
H1 v H2, th din gii I phi tho mn H1r v H2r, v do H1r s l phn b ca H2r nn din
gii I khng th tn ti. Vy G l khng nht qun.
Ch :
Cho G l tp hp cc mnh v gi s dy G1,..., Gp l cc mnh phn bit sao cho :
Gp l mnh rng,
i = 1..p, hoc Githuc v G, hoc Gil mt kt qu hp gii ca hai mnh cha ng
trc trong dy.

Mt dy {Gi} nh vy chng minh tnh khng nht qun ca G c gi l mt bc b


(refutation) bi hp gii ca G.

b. Tnh hon ton ca php hp gii i vi php bc b


Ngi ta ch ra rng nu mt tp hp cc mnh l khng nht qun, th s tn ti mt
dy hu hn cc p dng ca php hp gii cho cc mnh ny v cho cc kt qu hp gii
xut hin, t dn n mnh rng.
Tht vy, khi mt CTC l hu qu logic ca mt tp hp G cc CTC, iu ny tng
ng vi tnh khng nht qun ca mt dng mnh G H. Nh vy, nu mt CTC H l
hu qu logic ca mt tp hp G cc CTC, th s tn ti mt php bc b cho tt c cc dng
G H.
y l tnh hon ton (compltude) i vi php bc b : nhm cc lut suy din c rt
gn thnh mt lut duy nht, nh vy php hp gii l y i vi php bc b.
Ta c th gii thch tnh hon ton ca php hp gii i vi php bc b theo cch sau :
Gi R (G) l hp ca mt tp hp mnh G vi tt c cc kt qu hp gii
ca mi cp cc mnh c th.
p

R p+1(G) l tp hp cc mnh R(R (G)).


Tnh hon ton ca php hp gii i vi php bc b c ngha rng : G tp hp khng
n

nht qun cc mnh , n l mt s nguyn dng sao cho mnh rng thuc v R (G).
Ch :
Thng thng, ngi ta rt gn khi ni v tnh hon ton ca php hp gii. Ch rng
khng phi l tnh hon ton i vi s suy din m ta nh ngha trc y (nu H
l mt hu qu logic ca mt nhm G cc CTC, tnh cht c tho mn bi hp gii

Biu din tri thc nh logic v t bc mt

53

s khng l tn ti mt mt dy hu hn cc p dng ca lut suy din xut pht t G


to ra H. Trc tin, lut ch p dng i vi cc mnh c dng G H m
khng phi i vi CTC bt k ca G, t dn n mnh rng, m khng phi
l H).
Php hp gii nh phn khng l hon ton i vi php bc b.
Tht vy, xt tp hp khng nht qun cc mnh :

E = { P(X) P(Y), P(W) P(Z) }


T y ta p dng php hp gii nh phn v nhn c cc kt qu hp gii nh phn
lun lun c hai trc kin : ta s khng bao gi nhn c mnh rng.
Tri li, tp hp cc i lut hp gii nh phn v nhn t ho to thnh mt h thng
y i vi php bc b. Trong v d trn, tnh khng nht qun ca E c th c
chng minh bi p dng hai lut ny. Chng hn, thc hin hai php bc b ri mt
php hp gii. Cn nh rng tnh khng nht qun ca E cng c th c chng minh
bi p dng ch mi php hp gii (khng phi nh phn).
Sau y l mt v d ch ra rng khng phi php hp gii nh phn, cng khng phi h
thng hai lut hp gii nh phn v nhn t ho, cng khng phi php hp gii (khng
phi nh phn) l y i vi php suy din :
Cho G(X) v H(X) l hu qu logic ca { G(X), H(X) }, nhng khng c lut no trong
h thng ba lut suy din trn y p dng c cho { G(X), H(X) }. Do vy khng c lut
no l y i vi php suy din.

III. Cc h thng bc b bi hp gii


Nu G l mt tp hp cc mnh v php hp gii l mt lut suy din ng n v y
(i vi php bc b), ta c th khng nh rng :
G khng nht qun cng c ngha l tn ti mt php bc b ca G bi hp gii.
Tng t, nu G l tp hp cc CTC : CTC H l hu qu logic ca G tng ng vi
tn ti mt php bc b ca tt c cc dng mnh G H.
V d :
Xt cc CTC : (X) (Y) (P(X) Q(Y) et (Z) (P(b) R(a, z)),
nu ta mun chng minh rng : R(a, b) (U) Q(U),
th ta c th tm kim php hp gii t tp hp cc mnh :
{ P(X) Q(f(X)), P(b) R(a, Z), R(a, b), Q(U) }
Sau y ta s tm cc phng php lun ca nguyn l hp gii xy dng php bc b.

III.1. Th tc tng qut bc b bi hp gii


Gi s rng ta mun chng minh rng CTC H l hu qu lgic ca tp hp cc mnh :
G = { Gi }
Th tc bc b tng qut khng n nh (non-deterministic) nh sau :
CHNGMINHBIHPGII (G, H)
1. To C l tp hp cc dng mnh i vi cc CTC ca G
2. Thm vo tp hp C mt dng mnh H
3. while C do
;
l mnh rng
begin
Chn hai mnh phn bit p v q ca C
(3.1)

if
then
end

p v q l cc kt qu hp gii
chn p hoc q de thm vo C

(3.2)

Hnh 2.3. Th tc tng qut bc b bi hp gii


Ch :
Cn c vo cc tnh cht ca tnh hon ton i vi php bc b ca nguyn l hp
gii, nu H thc s hu qu lgic ca G, th s tn ti t nht mt dy cc la chn
(bc 3.1) dn n mnh rng v do th tc dng.
Th tc trn y khng m bo rng mt dy nh vy nu qu tht tn ti th s tm
thy. Cc giai on 3.1 v 3.2 s khng n nh v rt th s. Chng hn, th tc ny
gii nhiu ln cng mt cp mnh t cng trc kin.

III.2. Chin lc hp gii


Th tc tng qut CHNGMINHBIHPGII c th c lm mn hn ti cc
bc 3.1 v 3.2. Theo cch chn la cc mnh v cc trc kin ca chng, ngi ta c th
nh ngha nhiu chin lc bc b bi hp gii. Mt trong nhng chin lc ny l hn ch
hay sp xp cc la chn mnh v trc kin hp gii tu theo tiu chun c th ca
chng.
Mt chin lc hp gii c gi l y i vi php bc b nu tn ti mt php bc
b bi hp gii ca tp hp G ban u, ngha l tn ti mt dy hp gii dn n mnh
rng, th cng tn ti mt hp gii lm tho mn cc tiu chun la chn hay th t ring cho
chin lc ny.
Ngi ta cng biu din tnh hon ton i vi php bc b ca mt chin lc hp gii
S theo cch sau. K hiu :

R c(G)
p 1

php hp ca tp hp mnh G vi tt c cc kt qu hp gii (resolvent)


ca tt c cc cp mnh ca G, c th nhn c bng cch tun theo cc
tiu chun biu din bi C, gn vi chin lc S.
p

R c (G) = R c(R c (G))


Chin lc hp gii S l y nu v ch nu vi mi tp hp khng nht qun cc
mnh , tn ti mt s nguyn dng n sao cho mnh rng

thuc R c (G) :

Ch :
Tnh hon ton ca mt chin lc hp gii (i vi php bc b) khng ng ngha
vi tnh hon ton ca mt nguyn l hp gii (i vi php bc b).
Cc chin lc khng y c th c ch li thc tin.
Mt chin lc l y khng c ngha l khi lm tho mn cc tiu chun la chn
hay th t tm thy mt cch tt yu, vi mt s hu hn cc mnh , mnh rng
xut pht t tt c tp hp G khng nht qun cc mnh . Sau y, khi mt chin
lc c tnh cht ny, ngi ta ni l y trc tip.

III.2.1. th nh hng, th tm kim v th bc b


Vi mi h thng cc lut suy din, cho trc mt h tin , ngi ta c th biu din
tp hp cc nh l c suy ra (v cch suy ra chng) di dng mt th c gi l
th nh hng.

55

Biu din tri thc nh logic v t bc mt

Trong trng hp ca nguyn l hp gii, cc nh l cc mnh v cc cung ni cc


mnh cha n cc mnh kt qu resolvents.
V d, cho tp hp cc mnh :
{ P(X) Q(f(X)), P(b) R(a, Y), R(a, b), Q(Z) }
ta c th v th nh hng nh sau :
P(X)Q(f(X)) P (b)R(a, Y)
(a, b)
Q(Z)

Q(f(b)) R(a, Y) P(X)

Q(f(b))

Q(f(b))

P(b)

R(a, Y)

R(a, Y)

Hnh 2.4. th nh hng

K hiu ch mnh rng . th c r rng, ngi ta t song song cc kt


qu hp gii c dn n t nhiu cp mnh cha v khng v mi tn cho cc cung. T
th nh hng ny, ta c th trch ra cc th bc b, chng hn th sau :
P(X)Q(f(X)) P (b)R(a, Y)
b)
Q(Z)

R (a,

Q(f(b)) R(a, Y)
Q(f(b))

Hnh 2.5. th bc b

Sau y ta s xem xt mt cch ngn gn mt s chin lc tng ng vi nhiu cch tm


kim cc th bc b bn trong mt th nh hng. Phn th nh hng r rng
tm ra mt th bc b c gi l th tm kim.

III.2.2. Chin lc hp gii bi bc b theo chiu rng


(breadth first resolution)
Trong chin lc ny, ngi ta gn cho mi mnh mt su c gi tr :
0 i vi cc mnh ban u,
1 i vi cc kt qu hp gii ca cc cp mnh c su 0,
...

n i vi cc kt qu hp gii ca cc cp mnh c su n1.


Cch ngi ta t su l lm sao cho khng to ra mt mnh c su p khi m c
kh nng to ra mt mnh c su p1. R rng rng khi mt kt qu hp gii xut hin
ln u tin, th n s c su su nht c th nhn c t hai mnh cha.
V d trn y c th p dng chin lc hp gii bi bc b theo chiu rng dn n
ti thi im dng mt th tm kim nh sau :
P(X)Q(f(X)) P (b)R(a, Y)
(a, b)
Q(Z)

Q(f(b)) R(a, Y) P(X)

Q(f(b))

P(b)

Q(f(b)) R(a, Y) R(a, Y)


Hnh 2.6. th tm kim

T th tm kim ny, ta c th trch ra th bc b sau :


P(X)Q(f(X)) P (b)R(a, Y)
(a, b)
Q(Z)

P(X)

P(b)

Hnh 2.7. th bc b

57

Biu din tri thc nh logic v t bc mt

Cn ch rng :
Chin lc ny khng cm vic to ra mt phn t no ca th nh hng ca
tp hp mnh G, nhng chi phi tnh r rng ca th nh hng bng cch lm
xut hin tp hp R p(G) trc R p1(G). Chin lc ny l y .
Mt khc, t G hu hn, ngi ta suy ra rng R p(G) l hu hn, p = 1..n. Nh vy,
chin lc hp gii bi bc b theo chiu rng l y trc tip : nu G khng nht
qun, th chin lc ny s lm xut hin mnh rng.
Ngi ta nhn c mt php bc b vi mnh rng c su su nht c th.

III.2.3. Chin lc hp gii bi bc b vi tp hp tr gip


Cho G l mt tp hp khng tho mn cc mnh v T l mt tp hp con ca G, sao
cho tp hp cc mnh GT l nht qun.
Theo nh ngha, tp hp tr gip ca G quan h vi T (gi thit tho mn tnh cht trc
y) gm cc mnh ca th nh hng,hoc thuc v T, hoc l con chu ca T.
Mt chin lc hp gii (i vi mt tp hp mnh G cho) s dng tp hp tr gip
(set of support resolution) quan h vi T (GT gi s nht qun) sao cho vi mi hp gii, ta
ly mt mnh cha trong tp hp tr gip quan h vi T.
Mt chin lc nh vy khng hn ch tnh r rng ca th nh hng nh chin lc
theo chiu rng, lm thu hp th tm kim c sinh ra. Ta chng minh c rng cc
chin lc ny l y .
Ta c th to ra cc kt qu hp gii m khng thu hp th hn na, bng cch kim tra
su theo cch ca chin lc theo chiu rng. Trong nhng iu kin nh vy, cc chin
lc hp gii vi tp hp tr gip l y trc tip.
Sau y, ta s biu din mt th tm kim nhn c theo cch ny.
R(a, b) Q(Z)

P(X)Q(f(X)) P(b)R(a, Y)

P(b)

P(X)

Q(f(b)
Hnh 2.8. th tm kim

Xut pht t v d u mc III.2.1. Lc u, tp hp tr gip ch c cc mnh R(a, b)


v Q(Z). Cc mnh ca th tm kim thuc v tp hp tr gip c gch chn.
T , th bc b c trch ra nh sau :
R(a, b) Q(Z)
P(X)Q(f(X)) P(b)R(a, Y)
P(b)

Hnh 2.9. th bc b

P(X)

Ch rng trong v d ny, th tm kim c cha trong th nhn c bi chin


lc theo chiu rng, v cng l th bc b.
tin hnh chin lc tp hp tr gip, cn chn T sao cho GT l nht qun. Sau y l
ba phng php n gin :
1. nh ngha T nh l tp hp cc mnh khng cha cc trc kin ph nh hay trc
kin m (mt trc kin ph nh, negative literal, l mt nguyn t c du ph nh
t trc).
G khng th rng, nu khng mt din gii lm cho cc trc kin ca T c gi tr T
(true) s l mt m hnh ca G, m hnh ny khng nht qun.
Mi mnh ca G-T s cha mt trc kin ph nh. Tp G-T s nht qun v rng
mt din gii lm cho tt c cc trc kin ph nh ca G-T c gi tr T s l mt m
hnh ca G-T.
2. nh ngha T nh l tp hp cc mnh khng cha cc trc kin khng nh (hay
trc kin dng). Nh vy G l nht qun theo cch suy lun tng t trn y.
3. nh ngha T nh l tp hp cc mnh nhn c bng cch ph nh CTC cn
chng minh. Trong trng hp ny, G l tp hp cc tin m d dng c xem
l nht qun.
Nu mt tp hp mnh G l khng nht qun, th G phi cha t nht mt mnh m
cc trc kin u dng (nu khng, mi trc kin ca G s cha t nht mt trc kin m, ta
c th xy dng mt m hnh ca G nh ch ra phng php 1). T , ta c th p dng
chin lc tp hp tr gip theo phng php 1 trn y. Tng t nh vy, G phi cha t
nht mt mnh m cc trc kin u m, v do , ta c th p dng chin lc tp hp tr
gip theo phng php 2. Ta c th kim tra trong v d trn y rng tp hp T chn tho
mn phng php 2 v c phng php 3.

III.2.4. Chin lc hp gii bi bc b dng kho


(lock resolution)
Ngi ta nh s mt cch ngu nhin tt c cc trc kin ca cc mnh cho trc.
Php hp gii ca hai mnh ch c th thc hin c khi s th t ca chng l nh nht.
Cc trc kin ca cc mnh kt qu (resolvents) tha k s th t ca cc mnh cha
(trong trng hp xy ra trng kh nng, ngi ta ly li s thp nht).
Chin lc dng kho l y .
Mt khc, c th sp t, m khng thu hp hn na, vic to sinh cc kt qu hp gii
bng cch kim tra su ca chng nh chin lc theo chiu rng. Trong nhng iu kin
nh vy, cc chin lc kho l y trc tip.
Tin hnh nh s mt cch ngu nhin cc trc kin ca cc mnh cho trong v d
u mc III, ta xy dng c th tm kim nh sau :
P1 (X)Q2(f(X)) P3(b)R4(a, Y)
Q6(Z)

R5(a, b)

Q2 (f(b)) v R4(a, Y)
R4(a, Y)

Hnh 2.10. th tm kim

59

Biu din tri thc nh logic v t bc mt

y, ta thy th bc b ph hon ton ln th tm kim.

III.2.5. Chin lc hp gii bi bc b l tuyn tnh


Cho G l tp hp mnh khng nht qun, chn C0 l mnh sao cho G{Co} to thnh
tp hp mnh nht qun, khi C0 c gi l mnh trung tm xut pht.
Mi kt qu hp gii cho php s c C0 l t tin v c gi l cc mnh trung tm
(central clauses).
Chin lc tuyn tnh (linear resolution) ch cho php tin hnh hp gii gia mt mnh
trung tm CC (lc u C0 l trung tm) v mt mnh bin CB c chn t :
Hoc trong s cc mnh ca G (c gi l cc mnh vo).
Hoc trong s kt qu hp gii t tin (l cc mnh trung tm) ca CC.
Ch rng mt mnh trung tm ch c th c hp gii vi mt mnh trung tm
khc nu mt trong chng l t tin ca mnh kia.
Php bc b c v theo s sau :
Mnh trung
tm...
xut pht

C0

Gi

...

CC1 ..........
CCp

CCq

Mnh bin th
nht
(cng l mnh
vo)

Gj

mnh trung tm th
hai
th p+1

Gk

mnh bin
(hoc l mnh vo,
(hoc l t tin ca
CCp)

...

............

tng t i vi Gi

Hnh 2.11. S bc b

Hay, bng cch thay th tn cc mnh bin trn cc cung ni cc mnh trung tm, ta
nhn c th nh sau :
C0
CC1
CCp
CCq

Gi

Gj
Gk

Hnh 2.12. S chin lc tuyn tnh


Do th c dng mt ng thng nn ngi ta gi y l chin lc tuyn tnh (linear
strategy). Tnh cht tuyn tnh ch hai mnh trung tm chiu c th c hp gii khi
mt trong chng l t tin ca mnh kia.
V d :
th tm kim cho mc III.2.2 bi p dng chin lc theo chiu rng khng th sinh
ra bi chin lc tuyn tnh, d vi cch chn C0 no trong s cc mnh ban u.
th bc b cng khng phi l tuyn tnh.
Tng t nh vy i vi th tm kim v th bc b cho mc III.2.3 bi p dng
chin lc tp hp tr gip.
th tm kim mc III.2.4 c to bi p dng chin lc dng kho c xem l
kt qu ca vic p dng chin lc tuyn tnh xut pht t mnh :
C0 = P(X) Q(f(X)) hay C0 = P(b) R(a, Y)
Lc ny, th bc b nhn c l ln ln vi th tm kim.
Sau y l th tm kim nhn c t mt chin lc tuyn tnh xut pht t mnh
C0 = P(X) Q(f(X)) nhng khng ln ln vi th bc b :
P(X)

Q(f(b))
R(a, Y)

Q(f(X)) P(b)
R(a, Y)
R(a, b)
R(a, Y)

Q(Z)

P(X)
R(a, Y)

Q(f(b))

th bc b ng vi ng k m

Hnh 2.13. th tm kim chin lc tuyn tnh


th tm kim trn y nhn c bng cch li theo chiu rng vic p dng chin
lc tuyn tnh xut pht t P(X)
Q(f(X)).
Cc chin lc tuyn tnh l y .
Nu ta sp t vic to ra cc mnh trung tm nh chin lc theo chiu rng, th
chng l y trc tip.
Nh li rng tnh hon ton cn c vo gi thit mnh trung tm xut pht C0 sao cho
G {C0} l nht qun. Thng thng, ngi ta chn C0 l mt trong cc mnh ly ra t
php ph nh ca CTC m ngi ta mun chng minh, ngha l ph nh ca s gi nh
hay s phng on (conjecture).

Ta c th gi thit rng G {C0} l mt tp hp mnh nht qun, ch gm cc mnh


dng tin v ch c mt s mnh c tnh phng on. Nu ph nh s phng on
ch nhn bit c mt mnh , th G {C0} phi l nht qun v rng l tp hp cc tin
.
By gi gi thit rng ph nh s phng on ch nhn bit c hai mnh , chng hn
C1 v C2. S phng on s c dng : C1 C2. Nu G {C0} l khng nht qun, ta c
C2 l hu qu logic ca cc tin , c ngha rng s phng on C1 C2 l khng
chnh xc : ta c th ngh s phng on C2 l thch hp hn c.
Nu vn cn hoi nghi v kt qu khc phc ny, ngi ta c th vn dng chin lc
tuyn tnh xut pht t, mt cch lin tip, mi mnh c c t phng on.

61

Biu din tri thc nh logic v t bc mt

Quay li v d va ri, t 4 mnh ban u cho :


{ P(X)
Q(f(X)), P(b) R(a, Y), R(a, b), Q(Z) }
ta thy hai mnh cui cng l kt qu ca php ph nh phng on :
R(a, b) (U) Q(U)

Nu ly mnh xut pht l C0 = R(a, b) v nu ta p dng chin lc tuyn tnh v


theo chiu rng, th ta nhn c :
R(a, b)
Q(f(X))

P(b)
Q(Z)

R(a, Y)

P(X)

P(b)
Q(f(b))

Tng t, xut pht t C0 = Q(Z), ta c :


Q(Z)
b)

P(X)

Q(f(X)) P(b)

R(a, Y) R(a,

P(X)
R(a, Y)

Hnh 2.14. th tm kim chin lc tuyn tnh


Ch :

Trn y ta gii thiu mt bc b tuyn tnh xut pht t mnh :


C0 = P(X) Q(f(X))
m mnh ny khng l kt qu ca php ph nh phng on. Thnh cng ca bc b,
ngay c khi tnh n tnh khng nht qun ca G khng c bo m ngay t u. Thc
t, ngi ta c th kim tra sau rng tp hp G ca bn mnh ban u c cho l nht
qun mt cch ti thiu, ngha l d bt k mnh C no ca G, tp hp G {C0} l nht
qun.
T nhn nh ny, ta c th tm thy mt bc b tuyn tnh xut pht t mnh cui
cng nh sau :

P(b)
b)

R(a, Y) P(X)

R(a, Y)

Q(f(X))

Q(Z)

R(a,

Q(f(b))

R(a, Y)

Hnh 2.15. th bc b chin lc tuyn tnh

III.2.6. Chin lc bc b bi hp gii l tuyn tnh theo u vo


Chin lc bc b bi hp gii l tuyn tnh theo u vo (linear input resolution) thc
cht l chin lc tuyn tnh (chn mt mnh C0 sao cho tp hp G {C0} l nht qun),
nhng ngi ta yu cu thm iu kin ch ly cc mnh bin trong s cc mnh vo
cho.
V d, bn php bc b tuyn tnh trong mc III.2.5 va ri cng l bc b tuyn tnh theo
u vo.
Ni chung, chin lc tuyn tnh theo u vo khng l y . V d sau y l mt
minh chng. Cho G l tp hp cc mnh vo :
G = {P(a)

Q(X), P(Y)

Q(Y), P(Z)

Q(Z), P(U)

Q(U)}

S dng chin lc tuyn tnh theo u vo, xut pht t P(Z)


th bc b nh sau :
4 P(Z)

Q(Z)

P(U)

Q(U)
3

P(Y)

Q(Y)

Q(Z), ta nhn c
P(a)

5 P(Z)

2
(vi nhn t ho)

6 Q(Y)

P(Z)

P(a)

Q(X)

(t tin)
hoc :

f
3

g
h
i

2
1

Hnh 2.16. th bc b chin lc tuyn tnh theo u vo


Trong v d ny, ta khng th nhn c php bc b tuyn tnh theo u vo. Mi mnh
vo thuc G u c hai trc kin. tng i trc kin cng c loi b vi nhau i
vi php hp gii, cn thc hin php nhn t ho trong qu trnh hp gii, iu ny l khng
th xy ra i vi mi mt trong bn mnh vo.
Tuy nhin, chin lc tuyn tnh theo u vo l y (ch vi hp gii nh phn m
khng nhn t ho) nu p dng cho tp hp khng nht qun cc mnh Horn (ngi ta s

Biu din tri thc nh logic v t bc mt

63

ni : y i vi mnh Horn). Cc mnh Horn l nhng mnh ch cha nhiu


nht mt trc kin dng, nh :
R(a, b), P(b) R(a, Y).
Ch rng c 4 mnh trong v d mc III.2.5 u khng phi l mnh Horn. Du
sao ta cng to ra 4 php bc b tuyn tnh theo u vo : cc chin lc khng y
theo l thuyt, nhng thc tin, chng vn c hiu qu.

III.2.7. Chin lc hp gii LUSH


Chin lc hp gii LUSH l s vn dng ca chin lc tuyn tnh theo u vo
vi u im thu hp cc hp gii cho php. Trong mnh trung tm hin hnh, ngi ta
chn mt cch ngu nhin mt trc kin v ch n nhng hp gii cha trc kin c
nh ny.
Chin lc hp gii LUSH l y (ch vi hp gii nh phn) i vi cc mnh
Horn.
Ch :
LUSH vit tt t cm t Linear resolution with Unrestricted Selection function for
Horn clauses. y, Unrestricted c ngha l vic chn trc kin trong mi mnh
trung tm l tu (nhng khng phi l tu tin).
V d :
Xt cc tin sau y :
a1 : (X) EQUAL(X, X) th hin php phn x ca quan h EQUAL.
a2 : (U) (V) (W) ((EQUAL(U, V) EQUAL (WV)) EQUAL (U, W)
th hin php naphn x (halftransitivity).
Ta mun chng minh rng :
(X) (Y) EQUAL (X, Y) EQUAL (Y, X) c ngha l i xng (symmetry).
Tht vy, ta c th chng minh trc tip : t a2, bng cch ly V=U, ta c :
(U) (W) (EQUAL (U, U) EQUAL (W, U)) EQUAL (U, W)).
Nhng t a1, ta c :
dpcm.
(U) (W) EQUAL (W, U) EQUAL (U, W)
By gi ta c th dng php bc b chng minh. Ta cn chng minh tnh khng nht
qun ca :
a'1 : EQUAL (X, X)
a'2 : EQUAL (U, V) EQUAL (W, V) EQUAL (U, W)
c'1 : EQUAL (a, b)
c'2 : EQUAL (b, a)

Sau y l th hp gii nh phn theo u vo :


c'2

a'2

EQUAL (b, V)
V)
a'1

EQUAL (a,

EQUAL (a, b)
c'1

Hnh 2.17. th hp gii nh phn theo u vo


Ch :
Trong mc III.2.3, ta ch ra rng khi mt tp hp mnh cho l khng nht
qun th phi tn ti mt mnh khng c trc kin dng, v cn phi c mt mnh
khng c trc kin dng tham gia vo mi php chng minh tnh khng nht
qun bng hp gii. Trong v d trn y, ta phi chn mnh xut pht l c'2 v
tp hp cc mnh cn li to thnh mt tp hp nht qun : ton b trc kin u
dng.
Khi p dng cc mnh Horn, xut pht t mt mnh khng c trc kin dng,
ta ch c th to ra c cc kt qu hp gii cng khng c trc kin dng.
Khi mt tp hp cc mnh Horn l khng nht qun, th cn phi c mt mnh
n v (unitary) (l mnh ch c mt trc kin duy nht) trong chng l dng.
Trong trng hp ny, ni chung s tn ti mt php bc b (bi hp gii nh phn)
sao cho mi ln hp gii, mt trong cc mnh cha phi l mt mnh n v
dng.

III.3. V d minh ho : bi ton tm ngi ni tht


Trn mt hn o n c hai loi ngi : nhng ngi thnh tht lun lun ch ni s tht
v nhng ngi di tr lun lun ch ni di. Mi ngi dn ca o hoc l mt ngi
thnh tht, hoc l mt ngi di tr.
Mt ngi nc ngoi n o v gp ba ngi dn ca o l A, B v C. ng ta hi A :
ng l mt ngi thnh tht hay l mt ngi di tr ?. A tr li p ng nn ngi nc
ngoi n khng hiu g. ng ta quay sang hi B : Anh ta ni g vy ?. B tr li : Anh ta
ni rng anh ta l ngi di tr. Lc ny, C ni xen vo : ng ng tin B, anh ta ni di
y !.
Hy xc nh xem B v C l nhng ngi thnh tht hay l di tr ?
Li gii :
Ta s biu din cc cu hi v cu tr li trn y bi cc cng thc logic. Gi S
(sincere), L (lie) v SAY l cc v t vi quy c nh sau :
S(X) ch rng X lun l ngi thnh tht,
L(X) ch rng X lun l ngi di tr,
SAY(X, Y) ch rng X ni Y.
Ta c :
1. Mi ngi dn trn o l thnh tht hoc di tr :
(X) S(X)) L(X)

Biu din tri thc nh logic v t bc mt

65

2. Khng c ngi no li va thnh tht li va di tr :


(X) S(X) L(X)
3. Nu X l thnh tht v nu anh ta ni Y, th Y l ng :
(X) (Y) (S(X) SAY(X, Y)) Y)
4. Nu X l di tr v nu anh ta ni Y, th Y l sai :
(X) (Y) (L(X) SAY(X, Y)) Y)
5. Nu Y l ng v nu X ni Y, th X l thnh tht :
(X) (Y) (Y SAY(X, Y)) S(X)
6. Nu Y l sai v nu X ni Y, th X l di tr :
(X) (Y) (Y) SAY(X, Y)) L(X)
7. Cu tr li ca A : SAY(a, khng_th_hiu_c))
8. Cu tr li ca B : SAY(b, SAY(a, L(a)))
9. Cu tr li ca C : SAY(c, L(b))
Cc hng a, b, c biu din ba ngi dn trn o ; hng khng_th_hiu_c biu din
cu ni lp ca A. Ta thy c th c nhiu cch biu din cc v t. Trong cc cng thc 3,
4, 5, 6 bin Y c th c xem nh l mt k hiu v t. Trong cng thc 8, cc k hiu v t
SAY v L c xem nh cc k hiu hm, tng t i vi L trong cng thc 9.
lm vic vi logic cc v t bc mt, ta s ch dng mt k hiu v t duy nht l C.
K hiu C(X) c ngha ng (Correct) l X. C th b cc v t S, L v SAY bng cch thay
vo cc hm l s, l v say (tuy nhin vn c th gi v t S m khng thay n bi hm s). Lc
ny ta nhn c 9 cng thc mi nh sau :
1. (X) C(s(X)) C(s(X))
2. (X) C(s(X)) C(s(X))
3. (X) (Y) (C(s(X)) C(say(X, Y))) C(Y)
4. (X) (Y) (C(l(X)) C(say(X, Y))) C(Y)
5. (X) (Y) (C(Y) C(say(X, Y))) C(s(X))
6. (X) (Y) (C(Y) C(say(X, Y))) C(s(X))
7. C(say(a, khng_th_hiu_c))
8. C(SAY(b, say(a, l(a))))
9. C(SAY(c, l(b)))
By gi ta chuyn 9 cng thc ny thnh cc mnh , tr mnh u tin l mnh
Horn, ln lt c nh s nh sau :
1.
2.
3.
4.
5.
6.
7.
8.
9.

C(s(X)) C(l(X))
C(s(X)) C(l(X))
C(s(X)) C(say(X, Y)) C(Y)
C(l(X))
C(say(X, Y)) C(Y)
C(Y) C(say(X, Y)) C(s(X))
C(Y) C(say(X, Y))) C(l(X))
C(say(a, khng_th_hiu_c))
C(say(b, say(a, l(a))))
C(say(c, l(b)))

tin hnh qu trnh bc b, ta cn chn mt phng on v thm cc mnh nhn


c bi ph nh phng on ny vo 9 mnh trn.
Trc ht, ta phng on rng B l mt ngi di tr, ngha l C(l(b)), khi cn thm
vo mnh ph nh C(l(b)). Tip theo, ta cn chn mt chin lc tng qut tin hnh
bc b bi hp gii t cc chin lc :
xy dng tp hp tr gip (tp hp no ?),

dng kho (cch nh s cc trc kin nh th no ?),


tuyn tnh (mnh no c chn lm mnh xut pht ?), v.v...
Mt khc, cn ch r chin lc hp gii l theo chiu rng hay chiu su ?
D chn chin lc no v vi l do no, vic t hp cc hp gii cng gp rt kh khn.

Gi s mnh C(l(b)) c nh s l 0, sau y l mt qu trnh bc b :


1. Hp gii 7 vi 3, ri ly kt qu hp gii vi 1 :
C(say(a, khng_th_hiu_c))

C(s(X))C(say(X, Y))(C(Y)

C(s(a))C(khng_th_hiu_c)
C(khng_th_hiu_c)

C(l(a))

C(s(X))C(l(X))

10

2. Hp gii 9 vi 4, ly kt qu hp gii vi 1, ri tip tc hp gii vi 1 :


C(say(c, l(b)))

C(l(c))C(l(b))

C(s(X))C(l(X))

C(l(c))C(s(b))

C(s(X))C(l(X))

C(s(b)) C(s(c))

C(l(X))C(say(X, Y))C(Y)
1
1

11

3. Hp gii 8 vi 3, ly kt qu hp gii vi 1 :
C(say(b, say(a, l(a))))

C(s(X))C(say(X, Y)) C(Y)

C(s(b)) C(say(a, l(a)))


C(say(a, l(a)))C(l(b))

C(s(X))C(l(X))

12

4. Hp gii 12 vi 3, ly kt qu hp gii vi 1 (s dng nhn t ho) :


C(say(a, l(a)))C(l(b))

12

C(l(b))C(s(a)) C(l(a))

C(l(b))

C(l(a))

C(s(X))C(say(X, Y)) C(Y)


C(s(X))C(l(X))

13

5. Hp gii 12 vi 4, ly kt qu hp gii vi 10 :
C(say(a, l(a)))C(l(b))
C(l(b))C(l(a))

10

C(l(b))

12

C(l(X))C(say(X, Y))C(Y)

C(khng_th_hiu_c) C(l(a))

C(khng_th_hiu_c)

14

67

Biu din tri thc nh logic v t bc mt

6. Hp gii 13 vi 4, ly kt qu hp gii vi 7, ri vi 4 (nhn t ho) :


C(l(b))

C(l(a))

13

C(l(X))C(say(X, Y))C(Y)

C(l(b)) C(say(a, Y)) C(Y) C(say(a,


khng_th_hiu_c))

C(l(b)) C(khng_th_hiu_c) C(l(b))


C(khng_th_hiu_c)

14

15

7. Hp gii 15 vi 0, tc C(l(b)) vi C(l(b)), ta nhn c mnh rng .


Vy ta chng minh c rng B l mt ngi di tr.
Ta nhn thy rng chin lc bc b trn y khng l tuyn tnh, m tng thch vi
chin lc tp hp tr gip. Cc mnh 2, 5 v 9 khng c s dng. Chng hn xc
nh B l ngi nh th no th mnh 9 vi s c mt ca C s tr nn tha.
Vic a ra cc hp gii khc nhau v cc kt qu hp gii khc nhau c c php
bc b cui cng l b ch. Chng hn, kt qu hp gii t 8 v 3 c ngha rng hoc B khng
phi l ngi thnh tht, hoc qu ng A ni rng anh ta l ngi ni di.
Php hp gii ca 15 vi 2, ri ly kt qu hp gii vi 11 dn n C(s(c)). Nu tip tc
phng on rng C l ngi ni di, th ta cn thm vo mnh C(s(c) hp gii vi
C(s(c)), kt qu l mt mnh rng. Vic chng minh C l ngi ni di khng s dng
n mnh 5.
Cng cn ch rng thay v s dng php bc b vi phng on cho, ta c th a ra
cc hp gii bng cch theo di s khng xut hin mnh rng m xut hin mt trong bn
trc kin C(l(c)), C(s(b)), C(l(c)), C(s(b)).
Thc t, dng thc va vn dng trn y khng trung thnh vi pht biu lin quan n
cch biu din thi ca A. Theo mnh 7 th ta x l cu tr li ca A nh l mt
hng, l khng_th_hiu_c. tun th iu ny, ta c tnh khng ni A ni rng
anh ta l ngi thnh tht, tc s(a), hay khng ni A ni rng anh ta l ngi ni di,
tc l(a), v rng hng khng_th_ hiu_c khng tng thch vi cc hng s(a) hay l(a).
Tuy nhin, mc d vi hn ch b sung nh vy, ta vn c th nhn c mnh rng,
tc chng minh c iu phng on. biu din cu pht biu mt cch st thc hn, ta
c th thay th mnh 7 bi mnh 7 :
7. C(say(a, l(a))) C(say(a, s(a)))
vi gi thit rng d l ngi thnh tht hay l ngi ni di, A ch tr li trc tip vo cu
hi ca ngi l, m khng tr li tht th hay di tr khc vi kiu ti l ngi thnh tht,
hay ti l ngi ngi ni di, nh l ng l nc ngoi, hay ng khng phi l nc
ngoi, hay l mt cu no i loi nh B l ngi ny ngi kia.
Nu ci chnh mnh 7 bi mnh 7 v thay v dng mnh :
C(say(a, khng_th_hiu_c))
m dng mt trong cc trc kin C(say(a, l(a))) hay C(say(a, s(a))), th php bc b trn y
khng cn duy nht : mnh rng khng c sinh ra.
Sau y l mt php bc b khc khng dng n mnh 7 :
1. Hp gii 2 v 3 vi php nhn t ho :
C(s(X)) C(say(X, l(X))) 10

2. Hp gii 1 v 4, ri ly kt qu hp gii vi 2 (nhn t ho) :


C(l(X)) C(say(X, l(X))) 11
3. Hp gii 10 v 1, ri ly kt qu hp gii vi 11 (nhn t ho) :
C(say(X, l(X))) 12
4. Hp gii 6 v 8, ri ly kt qu hp gii vi 12 :
C(l(b)) 13
4. Hp gii 13 v 0, ta nhn c mnh rng .
Vy B l mt ngi ni di. Php hp gii khng dng n mnh 9 (c s tham gia
ca C), 5 v 7. y l kt qu ca mt chin lc tuyn tnh, tuy nhin vn c th p dng
chin lc tp hp tr gip.
Hp gii 5 vi 13, cho kt qu hp gii vi 9 nhn c C(s(c)), cui cng hp gii
C(s(c)) vi C(s(c)) nhn c mnh rng, vy C l ngi thnh tht.
Cc giai on bc b hnh thc trn y lin quan n vic xc nh B v C rt gn gi
vi vic suy lun theo ngn ng t nhin nh sau :
Khng th no mt ngi thnh tht hay mt ngi ni di li ni : Ti l ngi ni
di, v rng mt ngi thnh tht th khng th ni di, cn mt ngi di tr th khng khi
no dm ni ln s tht. Do vy, A khng ni rng anh ta l mt ngi ni di v B ni di
khi ni rng A khng nh rng anh ta l ngi ni di. Do vy, B l mt ngi ni di. V
C ni rng B ni di, nn C ni ln iu ng, nn C l mt ngi thnh tht.

Biu din tri thc nh logic v t bc mt

69

Bi tp chng 2
3. Cho cc v d s dng c php ca ngn ng v t bc mt :
a. Bng k hiu
b. Hng (term)
c. Nguyn t (atom)
d. Cc cng thc chnh
4. Th no l tnh hp thc v khng hp thc, tnh nht qun v khng nht qun ca mt
cng thc ? Th no lt nh khng quyt nh c v tnh na quyt nh c ca logic
v t bc mt
5. Cho cc v d v cng thc chnh v php bin i mnh
6. T cc v d cho trong gio trnh, t cho cc v d v cc chin lc hp gii tm kim
v bc b.
7. Tm mt v d khc tng t bi ton tm ngi ni tht.

CHNG 3

My suy din
I am only one, but still I am one. I cannot do everything,
but still I can do something; and because I cannot do everything,
I will not refuse to do something I can do .
Edward Everett Hale

Chng trc, ta vn dng logic hnh thc hp gii bi ton cho, ngha l nghin
cu nhng phng php phn on v khng nh cc li gii, ng thi nh gi nhng tnh
cht v nhng hn ch ca cc phng php ny.
Trong chng ny, da trn cc khi nim cng thc, tin , lut suy din v cc mi
quan h gia chng, ta s nghin cu cc my suy din (inference engine) trong cc h thng
dng lut hay da trn lut (RulesBased Systems).

I.

Nguyn l hot ng ca cc my suy din

Trong cc h thng dng lut, mi lut bao gm thng tin v b khi ng (starter), hay
iu kin khi ng ca lut, v thn (body) ca lut, hay thng tin v kt qu khi ng lut
:
Lut = <b khi ng> + <thn>

My suy din lin kt cc chu k (cycle), mi chu k gm hai giai on (phase) l


EVALUATION (nh gi) v EXECUTION (thc hin).
Khi my c khi ng, c s tri thc cha cc thng tin lin quan n pht biu bi
ton cn gii :
Cc s kin c xc nhn v cc s kin s c thit lp
(biu din bi ton hay ch),
Nhng tri thc thc hnh thuc lnh vc to nn c s lut.
Theo s , giai on EVALUATION, my suy din xc nh trong c s lut c tn
ti cc lut s c khi ng cn c vo trng thi hin hnh ca c s s kin khng, nu
c, th l nhng lut no. Trong giai on EXECUTION, my suy din khi ng cc lut
c tm thy giai on EVALUATION.
Hnh 3.1 di y m t chu k c bn ca mt my suy din. Ta quy c gi RB l c
s lut (Rules Base) v FB l c s s kin (Facts Base) ti thi im bt u ca
EVALUATION. My suy din iu khin lin kt cc bc (step) ca giai on
EVALUATION, ca cc giai on EVALUATION v EXECUTION, ri cc chu k y
gia chng.

PGS. TS. Phan Huy Khnh bin son

71

Giai on 2 : THC HIN

Giai on 1 : NH GI
THU HP
cung cp :
R1 bao gm trong RB
F1 bao gm trong FB

Thc hin cc tin

Cc quy tc ca R3
FB v c th RB c thay i

SO KHP
so snh gia R1 v F1
cung cp :
R2 bao gm trong R1

Cc kt qu khc c th
(hng v mi trng ca
h thng chng hn)

GII QUYT
XUNG T
cung cp :
R3 bao gm trong R2

Tu theo iu khin ca my :
dng hay quay li

Tu theo iu khin ca my :
dng hay quay li

Hnh 3.1 Chu k c bn ca mt my suy din


My suy din c iu khin dng giai on EVALUATION hoc giai on
EXECUTION :
Cn c vo trng thi hin hnh ca c s s kin, my dng giai on
EVALUATION khi khng tm thy cc lut khi ng trong c s lut.
My dng giai on EXECUTION khi mt trong cc lut khi ng cho kt qu
dng.

I.1.

Giai on nh gi EVALUATION

Giai on EVALUATION gm ba bc : RESTRICTION (hay SELECTION),


PATTERNMATCHING (hay FILTERING) v CONFLICT-RESOLUTION.

a. Bc thu hp (RESTRICTION)
RESTRICTION (thu hp) l bc u tin ca giai on EVALUATION, xc nh t
mt trng thi hin hnh hay qu kh ca c s s kin (k hiu FB) v t mt trng thi hin
hnh hay qu kh ca c s lut (k hiu RB), mt tp hp con F1 ca FB v mt tp hp
con R1 ca RB sao cho c th tin hnh so snh c trong bc FILTERING tip theo.
Ngi ta thng dng k thut khai thc cc tri thc da trn s phn b cc s kin v
cc lut theo cc h ring bit. i khi, cc tri thc cho php phn bit cc s kin v cc lut
lin quan trc tip n lnh vc. V d, trong mt ng cnh chn on bnh, ngi ta c th
phn bit c ngay cc lut lin quan n cc bnh tr em vi cc lut khc, hay phn bit
c cc s kin lin quan n phn tch mu vi cc s kin khc.
Nh vy, bc RESTRICTION l u tin cho mt nhm no cc lut hay cc s kin

My suy din

73

i vi mt hoc nhiu chu k. Thng thng, nhng tri thc phn bit cc s kin v cc
lut l rt tng qut.
Chng hn, nhiu h thng phn bit c cc s kin thit lp (coi nh c xc
nhn) vi cc s kin s thit lp (biu din bi ton ban u hay ch, hay gi thuyt). Vic
thu hp s u tin cc s kinbi ton so vi cc s kinbi ton khc, hay u tin bi ton
xut hin gn y nht so vi cc bi ton trc . S phn bit theo h cc s kin hay theo
h cc lut thng c c th ho bi nh ngha cc cu trc phn bit.

b. Bc so khp (PATTERNMATCHING)
PATTERNMATCHING (so khp hay lc) l bc th hai ca giai on
EVALUATION. My suy din so snh phn khi ng ca mi quy tc ca R1 vi tp hp
cc s kin F1. Mt tp hp con R2 ca R1 nhm cc lut tng thch vi F1, ngha l nhng
lut c iu kin khi ng tho mn cc trng thi ca F1 (tu theo mi h thng m c
nhng tiu chun tho mn khc nhau). R2 c gi l tp hp xung t (conflict set).

c. Gii quyt xung t (CONFLICT-RESOLUTION)


Bc th ba ca giai on EVALUATION l CONFLICT-RESOLUTION. My suy din
xc nh cc lut, gi s l mt tp hp con R3 ca R2, cn phi c khi ng. Nu tp
hp R3 rng, th giai on EXECUTION ca chu k ny khng c thc thi.
Thng thng, ngi ta la chn cc lut da trn nhng tiu chun khng lin quan n
ngha (meaning/signification) ca lut c mi quan h vi bi cnh p dng. V d, c s lut
c sp xp ngu nhin thnh mt danh sch v ngi ta chn nhng lut ng u tin,
hoc chn u tin nhng lut t s dng hn, hoc c th chn trc tin nhng lut t phc
tp nht : t iu kin cn kim tra, t bin (variable) cn xc nh trc khi khi ng, v.v...
i khi, ngi ta da trn nhng tiu chun lin quan n ngha chn cc lut c mi
quan h vi bi cnh p dng. Chng hn, mt s lut c th c chn do c nhng du hiu
gii bi ton tt hn, hay c th ng tin cy hn, hay t tn km v chi ph hn so vi nhng
lut khc, v.v...

I.2.

Giai on thc hin EXECUTION

Khi R3 rng, mt s my suy din t ng dng : ngi ta ni nhng my ny c mt ch


iu khin bt buc (irrevocable control regime). Mt s my khc th li xem xt li tp
hp tng tranh R2 ca mt chu k trc v kim tra kh nng khi ng ca cc lut
khc ca R2.
Tuy nhin, nu khng c mt khi ng no cho lut c thc thi k t php chn trc
trong R2, ngha l nu kt qu ca cc lut ny khng c hu b, trc khi khi ng
cc lut khc, th ngi ta cng ni rng nhng my ny hot ng theo ch iu khin bt
buc. Ngc li, ngi ta ni chng hot ng theo ch iu khin bi thm d (tentative
control regime) khi c s thay th cc khi ng lut bi cc khi ng khc.
th hin mt my quay li gii quyt cc xung t trc , bng cch khi ng li
cc lut, ngi ta ni my hot ng quay lui (to backtrack).
S quay lui hay khng quay lui ca my lc u c iu khin giai on
RESTRICTION, tip theo, bi giai on CONFLICT-RESOLUTION. Trong mc tip theo,
ta s gii thiu chi tit hot ng ca mt s my n gin ch iu khin bt buc hay
ch iu khin bi thm d.
Trn thc t, mi giai on ca chu k c bn ca mt my c th dn n nhng cch
sp t rt khc nhau. Hnh 3.1 trn y m t hot ng ca mt chu k. gii quyt mt
bi ton cho, c th cn n hng ngn chu k.

Mi chu k c bn ca mt my suy din lm ta lin tng n chu k-lnh ca mt my


tnh. Nhng mi chu k ca my suy din, hay chu k suy din, i hi hng trm, thm ch
hng ngn cc chu k-lnh ny. Chnh v vy, cn c nhng my tnh c tc ln c th
t c hng trm chu k suy din trong mt giy. D n my tnh th h 5 ca Nht xut
nhng kin trc c trng cho php t c tc hng triu hay hng t lips (Logical
Inference Per Second, mi chu k l mt suy din).

II.

Mt s s c bn xy dng my suy din

Sau y ta s trnh by mt s chin lc lin kt cc lut trong cc my suy din. Ta s


gii thiu cc s (diagram) ca my hot ng theo kiu suy din tin (pre-chaining),
hay theo kiu suy din li (back-chaining), theo chiu su (depth-first), hay theo chiu rng
(breadth-first), tu theo ch bt buc hay theo ch bi thm d. Mt vn cng c
t ra l lp k hoch hnh ng (actions planning). Ring my hot ng theo ch bi
thm d s dng n cc bin (variable).
Di y ta s trnh by su s my. Khi khi ng mt trong bn my u tin l
PREDIAGRAM1, PREDIAGRAM2, BACKDIAGRAM1 v BACK DIAGRAM2, hai
bin ton cc FACTSBASE v RULESBASE c gi thit l biu din cc tp hp s kin
v tp hp lut tng ng.

II.1.

Mt v d v c s tri thc

minh ho hot ng ca bn my va ni trn, ta xy dng mt c s tri thc v d


nh sau :
RULESBASE l danh sch cc lut sau y
:
1 K, L, M I
2 I, L, J Q
3 C, D, E B
4 A, B Q
5 L, N, O, P Q
6 C, H R
7 R, J, M S
8 F, H B
9 G F
FACTSBASE l danh sch : A, C, D, E, G,
H, K

Hnh 3.2 Mt c s tri thc k hiu


Thnh phn bn tri ca mi lut cn c gi l phn tin (premise trong lut ba
on) ca lut, l php hi (conjunction) ca cc s kin k hiu. Thnh phn bn phi cn
c gi l phn kt lun (conclusion) ca lut. Ta gii thch lut 1 nh sau :
Hoc : nu K v L v M l cc s kin c thit lp, th kt lun rng s kin I c
thit lp.
Hoc : nu thit lp I, cn phi thit lp K v L v M.

75

My suy din

th V-HOC sau y biu din mi lin kt c th ca cc lut :


G *
=
H *

E *

C *

F *

C *

O * N *
P *

D *

B *

M *
* A

J * L *

* L

L *
=

* K

* H
=

J *

* R

* M

* I

*
Q

*
S

Hnh 3.3 Mt th V-HOC t c s tri thc k hiu


Trong th V-HOC trn y (cng cn c gi l th cc bi ton con), khi mt
nhnh HOC c thit lp t H V F, mt nhnh HOC c thit lp t E V D V C,
th B c thit lp. S kin F c thit lp do G c thit lp. cho tin trnh by, ta
lp li cc nt s kin C, H, J v M.
Di y, ta xy dng mt th con V-HOC t th V-HOC trn y thit
lp s kin Q khi cc s kin A, C, D v E c thit lp.
E * D * C *
=
B *

* A
=
* Q

Hnh 3.4. th V-HOC thit lp Q khi A, C, D v E c thit lp

II.2. Tm lut nh suy din tin vi ch bt buc n iu


a. S PREDIAGRAM1 : ly ngay kt lun ca mi lut
PREDIAGRAM1 l s my suy din gm hai th tc SETUP-A-FACT v RUN-ACYCLE. My suy din c khi ng khi th tc SETUP-A-FACT c gi. V d, thit
lp Q, ngi ta gi : SETUP-A-FACT (Q).
procedure SETUP-A-FACT (FACT)
1. if FACT in FACTSBASE then return success
2. return RUN-A-CYCLE (RULESBASE)
procedure RUN-A-CYCLE (RULES, FACT, ARULE)
1. if RULES = then return failure
2. ARULE chn mt lut no t RULES (chng hn lut gp u tin)
3. RULES RULES { ARULE }
4. if () (ARULE.premise) in FACTSBASE then
4.1 begin
4.2 if ARULE.conclusion = FACT then return success
4.3 if not (ARULE.conclusion in FACTSBASE) then
FACTSBASE FACTSBASE + { ARULE.conclusion }
4.4 RULESBASE RULESBASE { ARULE }
4.5 return RUN-A-CYCLE (RULESBASE)
4.6 end
5. return RUN-A-CYCLE (RULES)
Hnh 3.5. S my PREDIAGRAM1

Th tc SETUP-A-FACT gy ra s suy din tin ca cc lut, bng cch so snh cc phn


t thuc tin ca cc lut vi cc phn t ca c s s kin, xem chng nh nhng s kin
c thit lp. Ngi ta cng ni trong th tc SETUP-A-FACT, phn tin ca cc lut
(gi s l cc thnh phn bn tri) cng l phn khi ng.
Khi mt lut c khi ng, phn t kt lun c thit lp v ngay lp tc c a
vo trong c s s kin FACTSBASE. Trong sut qu trnh thc hin th tc, FACTSBASE
ch cha cc s kin c thit lp.
Chng hn ta xt c s s kin v lut cho trong v d hnh 3.2. c th thit lp s
kin Q, ta khi ng my PREDIAGRAM1 th tc 3.7 bi li gi SETUP-A-FACT(Q).

77

My suy din

My hot ng nh sau : lut 3 c khi ng b sung B vo FACTSBASE, lut 4


c khi ng b sung Q. Li gi th tc tr v kt qu success.
Hnh 3.4. biu din vic lin kt cc lut 3 v 4 nh l mt th V-HOC. Hnh 3.8
di y biu din th trng thi ca th tc.
A C D E G H K
Lut 3
A C D E G H K B
Lut 4
success
Xut hin Q trong phn kt lun ca
lut 4

Hnh 3.6. th trng thi ca PREDIAGRAM2 thit lp Q


V tr ca PREDIAGRAM1 i vi chu k c bn tng qut
Bc RESTRICTION loi tr tt c nhng lut s dng : xem lnh 4.3 trong th tc
RUN-A-CYCLE hnh 3.5. Cc bc FILTERING v CONFLICT-RESOLUTION an xen
nhau trong cc lnh t 1 n 4 ca RUN-A-CYCLE.

b. S PREDIAGRAM

: to sinh v tch lu s kin theo chiu rng

Tng t PREDIAGRAM1, s my suy din PREDIAGRAM2 cng gy ra s suy


din tin ca cc lut v c gi bi th tc SETUP-A-FACT ().
Cho E l mt s kin ca c s s kin. Trong PREDIAGRAM2, ngc li vi nhng g
xy ra trong PREDIAGRAM1, my tm kim u tin ln lt tng lut i vi cc lut
tng thch vi E, trc khi b sung cc kt lun vo trong E v trc khi s dng chng
khi ng cc lut mi.
Ta gi cc s kin mc 0 l cc s kin khi u, cc s kin mc 1 l cc kt lun
ca cc lut c th c khi ng xut pht t cc s kin khi u, v mt cch tng qut,
cc s kin mc n1 l cc s kin nhn c xut pht t cc s kin m t nht mt s
kin mc n, trong khi , cc s kin khc mc nh hn hoc bng n. Th tc
PREDIAGRAM2 ch to ra cc s kin mc n1 khi tt c cc s kin mc n c to
ra. Ngi ta ni rng PREDIAGRAM2 to ra cc s kin u tin theo chiu rng.
Nhng kt lun mi ca tt c cc lut tng thch vi E c tch lu lin tip nh bin
NEWFACTS (lnh 4.3). Khi tt c cc lut c xem xt, NEWFACTS tr nn rng trong
FACTSBASE (lnh 1.3).
procedure SETUP-A-FACT (FACT)
1. if FACT in FACTSBASE then return success
2. return RUN-A-CYCLE (FACTSBASE, emptylist, FACT)
procedure RUN-A-CYCLE (RULES, NEWFACTS, FACT, ARULE)
1. if RULES = then
1.1 begin
1.2 if NEWFACTS = then return failure
1.3 FACTSBASE FACTSBASE + NEWFACTS
1.4 return RUN-A-CYCLE (FACTSBASE, emptylist, FACT)
1.5 end

2. ARULE chn mt lut no t RULES (chng hn lut gp u tin)


3. RULES RULES { ARULE }
4. if () (ARULE.premise) in FACTSBASE then
4.1 begin
4.2 if kt lun ca ARULE = FACT then return success
4.3 if not (ARULE.conclusion in FACTSBASE)
or not (ARULE.conclusion in NEWFACTS)
then NEWFACTS NEWFACTS + { ARULE.conclusion }
4.4 RULESBASE RULESBASE { ARULE }
4.5 end
5. return RUN-A-CYCLE (RULES, NEWFACTS, FACT)
Hnh 3.7. S my PREDIAGRAM2
Th tc PREDIAGRAM2 gy ra cc s suy din tin ca cc lut v v to ra cc s kin
theo chiu rng. minh ho, ta xt c s s kin v lut cho trong v d hnh 3.2.
c th thit lp s kin Q, ngi ta khi ng my PREDIAGRAM2 bi li gi SETUP-AFACT(Q).
th V-HOC trong hnh sau y biu din hot ng ca my :
Mc 0 :

A *

D *

E *

Lut 3 =
(khi ng 1)
ng 3)
Mc 1 :

* B

C *

H *

G *

K *

Lut 6
= Lut 9
(khi ng 2)
(khi

* R

* F

Lut 4 =
(khi ng 4)
Mc 2 :

* Q

Hnh 3.8. th V-HOC biu din hot ng ca my PREDIAGRAM2


Xut pht t trng thi u ca c s s kin {A, C, D, E, G, H, K}, lut 3 c khi
ng lm cho NEWFACTS = {B}. Sau , ln lt lut 6 ri lut 9 c khi ng xut pht
t cng trng thi u lm cho NEWFACTS = {B, R, F}. Lc ny khng cn trng thi no
c khi ng xut pht t trng thi u. Sau , tp hp NEWFACTS tr nn rng trong
FACTSBASE v FACTSBASE tr thnh {A, C, D, E, G, H, K, B, R, F}. Xut pht t trng
thi ny, lut 4 c khi ng v to ra s kin Q.
V tr ca PREDIAGRAM2 i vi chu k c bn tng qut
Bc RESTRICTION mt mt, loi tr tt c nhng lut s dng, nhng mt khc,
khng cho php s dng cc s kin c mc n1 chng no m tt c cc s kin c mc nh
hn hoc bng n cha c to ra. Cc bc FILTERING v CONFLICT-RESOLUTION
an xen nhau trong RUN-A-CYCLE.
Cc my ch bt buc, n iu
C hai my PREDIAGRAM1 v PREDIAGRAM2 u hot ng theo ch bt
buc, v rng vic khi ng ca mt lut khng bao gi c thay th bi mt khi ng
khc v kt qu to ra bi mt lut trong c s s kin khng bao gi c xt li.
Mt khc, cc lnh trong PREDIAGRAM1 v PREDIAGRAM2 ch cho php b sung

My suy din

79

cc s kin thit lp (lnh 4.2), v rng cc s kin thit lp vn cn tip tc.


Ngi ta ni rng nhng my ny l n iu.

II.3. Tm lut nh suy din li vi ch thm d n iu


a. S BACKDIAGRAM 1 : sn sinh cc bi ton con theo chiu su
My suy din BACKDIAGRAM1 cho trong hnh 3.9. di y gm bn th tc l
SETUP-A-FACT, SETUP1, SETUP2 v FACTS-CONJUNCTION-SETUP.
My c khi ng bng cch gi mt trong cc th tc SETUP-A-FACT hay FACTSCONJUNCTION-SETUP. Chng hn, thit lp Q, ta c li gi : SETUP-A-FACT(Q).
Th tc BACKDIAGRAM1 to ra s suy din li ca cc lut bng cch so snh phn
kt lun ca cc lut vi cc s kin cn thit lp ti thi im ang xt. i vi
BACKDIAGRAM1, phn kt lun ca cc lut (thnh phn bn phi) l phn khi ng ca
chng. Ch rng ti mi thi im, th tc duy tr tp hp cc s kin cn thit lp.
V d, lc u, khi gi SETUP-A-FACT(Q), tp hp cc s kin cn thit lp ch cha
Q. Nu lut 2 c s dng v c khi ng th s kin cn thit lp Q s c thay th
bi I, J v L. Ngi ta ni rng I, J v L l nhng bi ton con ca bi ton Q hay bi ton Q
l cha ca cc bi ton I, J v L.
procedure SETUP-A-FACT (FACT)
1. if FACT in FACTSBASE then return success
2. return SETUP1 (FACTSBASE)
procedure SETUP1 (RULES)
1. if RULES = then return failure
2. ARULE chn mt lut no t RULES (chng hn lut gp u tin)
3. RULES RULES { ARULE }
4. if (FACT in ARULE.conclusion) then
if SETUP2 (ARULE) = success then return success
5. return SETUP1 (RULES)
procedure SETUP2 (RULE, THEFACTS)
1. THEFACTS { F | F in ARULE.premise }
2. return FACTS-CONJUNCTION-SETUP (THEFACTS)
1.
2.
3.
4.
5.

procedure FACTS-CONJUNCTION-SETUP (FACTS)


if FACTS = then return success
AFACT chn mt s kin no t FACTS
(chng hn lut gp u tin)
FACTS FACTS { AFACT }
if SETUP-A-FACT (AFACT) = failure then return failure
return FACTS-CONJUNCTION-SETUP (FACTS)

Hnh 3.9. S my BACKDIAGRAM1


Ta gi cc bi ton ban u mc 0 v cc bi ton m mt cha ca chng l mc n,
cn cc cha khc c th mc nh hn hoc bng n. thit lp mt s kin Q,
BACKDIAGRAM1 to sinh v gii cc bi ton con tu theo mt chin lc l trng hp
c bit ca h cc chin lc u tin theo chiu su : th tc s gii cc bi ton con c mc
u tin cao nht.

Phn bit gia khi ng mt lut v rt ra kt lun ca mt lut


Khi mt lut c s dng thit lp mt s kin c mt trong phn kt lun xut pht
t cc s kin c mt trong phn tin , gi s c thit lp, ngi ta ni rng rt ra
kt lun ca mt lut.
Khi mt lut c s dng theo kiu suy din li thay th cc s kin c mt trong
phn tin bi s kin c mt trong phn kt lun, ngi ta ni rng khi ng mt lut.
Vn l khng nn nhm ln vic khi ng mt lut v rt ra kt lun ca mt lut.
V d hot ng ca th tc BACKDIAGRAM1
Ta tip tc xt c s s kin v lut cho trong v d hnh 3.2. c th thit lp s
kin Q, ngi ta khi ng my BACKDIAGRAM1 bi li gi SETUP-A-FACT (Q).
th cc bi ton con di y biu din hot ng ca my :
E *

D *

C *

M *

L *

* K

Lut 3

Lut 1

=
(khi ng 4)
2)
* B
Lut 4

=
(khi ng
* A

* J

* L

* I
Lut 2

=
(khi ng 3)

=
(khi ng 1)
* Q

Hnh 3.10. th cc bi ton con thit lp Q ca my BACKDIAGRAM1


Khi lut 2 c khi ng, dn n cc s kin J, L v I cn c thit lp. Trc tin, s
kin I c xem xt, t lut 1 c khi ng dn n cc s kin M, L v K. Mc d s
kin K c thit lp, nhng khng c lut no cha L hay M trong phn khi ng, nn s
kin cn c thit lp li quay tr li I. Do khng c lut no cha I trong phn khi ng,
s kin cn c thit lp by gi quay tr li Q. Lut 4 c khi ng, dn n cc s kin
A v B. Do A c thit lp, my xem xt s kin cn c thit lp B. T , lut 3 c
khi ng dn n cc s kin C, D v E. Do C, D v E c thit lp, lut 3 ngay lp tc
c ghi nhn : B c thit lp v do , Q c thit lp.
V tr ca BACKDIAGRAM1 i vi chu k c bn tng qut
Do suy din li, vic khi ng mt lut dn n mt s kin Q, l s kin cn c thit
lp (hay gi thuyt cn truy cp, hay bi ton, hay ch) c thay th bi nhiu s kin khc
cn thit lp, chng hn L, N, O v P.
Tuy nhin, cc bi ton con khng c mt mt cch tng minh (explicit) trong c s s
kin : chng ch c ghi nh trong qu trnh gi th tc. Nhng bi ton con cha c gii
quyt lm thnh mt phn tim n (implicit) trong c s s kin m cc s kin ny c vai tr
xc nh la chn cc lut s c s dng cho chu k tip theo.
Hnh 3.11. di y biu din qu trnh khi ng cc lut ca th tc
BACKDIAGRAM1 bi mt th trng thi thit lp Q.

81

My suy din

Phn bn phi ca mi tng ng vi phn tng minh ca c s s kin, gm cc s


kin thit lp. Phn bn tri tng ng vi phn n, gm cc s kin cn thit lp hay cc
bi ton cha c gii quyt, c in ch m trong hnh). Cc kt lun cui cng ko theo
bi cc lut 3 ri 2 khng c biu din trong hnh.
Q
Lut 2
(khi ng 1)
3)
I J LA C D E G H K

A C D E G H K

Lut 1
(khi ng 1)
4)M J L A C D E G H K

Lut 4
(khi ng

A C D E G H K
Lut 3
(khi ng
A C D E G H K

f il

Hnh 3.11. th trng thi thit lp Q ca BACKDIAGRAM1

Trong BACKDIAGRAM1, giai on RESTRICTION trc tin c c th ho bi s


phn bit gia mt bn l cc s kin thit lp v mt bn l cc bi ton. Ch c cc bi
ton l c so snh vi cc lut, c th khi ng chng. Ngha l vic RESTRICTION
mt mt vo lc u ca mi chu k c bn, ch n bi ton phi c gii quyt trong chu
k ny v mt mt, thu hp tp hp cc lut cn s dng (lnh 3 ca th tc SETUP1).
V nguyn tc, bi ton ny s c xem xt trong s cc bi ton xut hin t chu k
trc (lnh 2 ca FACTS-CONJUNCTION-SETUP, hnh 3.9), loi tr hai trng hp sau
:
Mi bi ton xut hin t chu k trc by gi c coi l thit lp (tr v
thng bo success bi lnh 1 ri lnh 5 ca th tc FACTS-CONJUNCTIONSETUP). Trong trng hp ny, bi ton lm khi ng mt lut chu k trc
c coi l thit lp (tr v ln cui cng thng bo failure bi th tc SETUPA-FACT).
C th xy ra rng mt bi ton xut hin t chu k trc khng th c thit lp
(khng thc hin th tc FACTS-CONJUNCTION-SETUP do lnh 4). Trong trng
hp ny, bi ton lm khi ng chu k trc vn cn phi c thit lp (tr
v ln cui cng thng bo failure bi th tc SETUP-A-FACT).
Trong c hai trng hp, v nguyn tc, vic RESTRICTION s a n mt bi ton ly
t chu k trc trc tip v c th tip tc.

Th tc BACKDIAGRAM1 dng, hoc do tt c cc bi ton lc u c coi l


c thit lp, hoc do mt trong chng khng th c thit lp.
Tuy nhin, BACKDIAGRAM1 c th khng bao gi dng, nu ta thm vo c s lut
RULESBASE v d (hnh 3.2) mt lut th 10 l Q L.
Cc bc GII_QUYT_TRANH_ CHP v FILTERING trong chu k c bn ca
BACKDIAGRAM1 an xen nhau trong cc lnh t 1 n 4 ca th tc SETUP1. Giai on
EXECUTION c biu din bi th tc SETUP2.

b. Mt vi bin dng ca BACKDIAGRAM1


BACKDIAGRAM1 c th c m rng bng nhiu cch, chng hn :
Ghi nh cc s kin c thit lp v hin th cc thng bo mi khi cc s kin

mi xut hin.
Trnh cc vng lp bng cch ring ra tt c nhng lut c khi ng mt
ln.
Cho php h thng c lng mt s s kin nh cc cu hi ca ngi dng, thay v
lin kt cc lut.

c. S BACKDIAGRAM 2 : to sinh cc bi ton con theo chiu su tr khi


c mt lut c kt lun ngay
T s BACKDIAGRAM1, bng cch thay i chin lc theo chiu su, ta nhn
c s BACKDIAGRAM2 cho trong hnh 3.12.
Ch rng cc th tc SETUP1, SETUP2 v FACTS-CONJUNCTION-SETUP ca
BACKDIAGRAM2 v BACKDIAGRAM1 l ging ht nhau.
Gi s ta c tp hp cc lut kt thc ti s kin FACT (lnh 2 ca th tc SETUP-AFACT), ta mong mun ch xt trc tin nu mt trong cc lut ny l kt thc ngay lp tc,
ngha l nu cc s kin ca tin ca lut ny c mt trong FACTSBASE (lnh 3 ca
th tc SETUP-A-FACT).
Ta xt cc lut kt thc ti s kin FACT tng ng vi mt di chuyn theo chiu rng
trn th ca hnh... l sau khi xem xt theo chiu rng khng thnh cng, ngi ta c
xu hng thit lp cc s kin thiu t mt n nhiu lut. iu ny tng ng vi mt s
tng tin t mc theo chiu su so vi nh biu din FACT.
Chin lc ny c nhn nhn nh l mt bc u tin k t cc chin lc u tin
theo chiu su n cc chin lc u tin theo chiu rng. Chin lc ny cng tng ng
vi mt dng thc gii quyt xung t c bit.

My suy din

1.
2.
3.
4.

procedure SETUP-A-FACT (FACT, CONFLICT)


if FACT in FACTSBASE then return success
CONFLICT { R | (R in FACTSBASE) and (FACT in R.conclusion) }
if DIRECTSETUP1 (CONFLICT) =success then return success
return SETUP1 (CONFLICT)

1.
2.
3.
4.

procedure DIRECTSETUP1 (RULES)


if RULES = then return failure
ARULE chn mt lut no t RULES (chng hn lut gp u tin)
RULES RULES { ARULE }
THEFACTS { F | F in ARULE.premise }

83

5. if (THEFACTS l tp hp con ca FACTSBASE) then return success


6. return DIRECTSETUP1 (RULES)
1.
2.
3.
4.

procedure SETUP1 (RULES, ARULE)


if RULES = then return failure
ARULE chn mt lut no t RULES (chng hn lut gp u tin)
RULES RULES { ARULE }
if SETUP2 (ARULE) = success then return success

5. return SETUP1 (RULES)


procedure SETUP2 (RULE, THEFACTS)
1. THEFACTS { F | F in ARULE.premise }
2. return FACTS-CONJUNCTION-SETUP (THEFACTS)
1.
2.
3.
4.
5.

procedure FACTS-CONJUNCTION-SETUP (FACTS, AFACT)


if FACTS = then return success
AFACT ly mt s kin no t FACTS (chng hn lut gp u tin)
FACTS FACTS { AFACT }
if SETUP-A-FACT (AFACT) = failure then return failure
return FACTS-CONJUNCTION-SETUP (FACTS)
Hnh 3.12. S BACKDIAGRAM 2
Cc my ch thm d nhng n iu

C hai th tc BACKDIAGRAM2 v BACKDIAGRAM1 u hot ng theo ch


thm d v rng dy cc khi ng lut m v ch c th b loi b v c thay th bi cc
khi ng khc : cc s kin cn thit lp c thay th bi cc s kin khc. Mc d c s
quay lui tc ng ln cc s kin cn thit lp, nhng ta thy rng c hai th tc
BACKDIAGRAM2 v BACKDIAGRAM1 u khng ly i, v cng khng thm vo,
cc s kin thit lp. C hai th tc u hot ng theo ch n iu.

II.4.

Tm cc lut nh lin kt hn hp, vi ch thm d khng


n iu

Hnh 3.13 di y th hin mt c s tri thc k hiu dng to ra cc k hoch hnh


ng (action plan) v phc v cho s my v d MIXEDIAGRAM hnh 3.15. Lut R1
c gii thch nh sau : gii bi ton P1, cn thc hin cc hnh ng A1 ri A2. Lut
R4 c gii thch nh sau : gii bi ton P3, bit rng s kin F1 c thit lp, ch
cn thc hin hnh ng A5 ri gii bi ton P4.

RULESBASE :

R1 :
R2 :
R3 :
R4 :
R5 :
R6 :
R7 :

P1
P1
P2
P3, F1
P3, F2
P3
P4, F2, F3

A1, A2
A3
P1, A4, P3
A5, P4
P5
A4, P6
A2

FACTSBASE (cc s kin thit lp) : { F3, F4 }


PROBLEMSTACK (cc s kin cn thit lp) : danh sch (P2)
Bng cc hnh ng kt thc (nhng bi ton s khi)
Hnh ng
S kin thm vo
S kin loi b
Khng c
A1
F1, F2
F1
A2
Khng c
Khng
c
A3
F1
Khng c
A4
Khng c
F4
A5
F2
Lc u, PLAN l danh sch rng
Hnh 3.13 Mt c s tri thc khi u ca s my MIXEDIAGRAM

a. Lin kt hn hp
Cc lut c gi bng cch kim tra thnh phn bn tri ca chng. Mi phn t thuc
thnh phn bn tri lut l mt b l, rt gn thnh mt k hiu trong v d ang xt. R rng
rng b lc u tin da trn mt phn c bit ca c s s kin, ch cha cc s kin cn
thit lp (hay cc bi ton cn gii) c gi l PROBLEMSTACK (vit tt PRS). Cc b lc
khc, thng thng thuc thnh phn bn tri ca lut da trn mt phn ca c s s kin,
theo quy c, ch cha cc s kin thit lp, l FACTSBASE.
Thnh phn bn tri ca lut to nn b khi ng ca lut . Cc lut c gi theo lin
kt hn hp theo ngha rng cc b lc ca b khi ng c th quan h ng thi n cc s
kin thit lp v cc s kin cn thit lp. Khi khng c cc b lc lin quan n
FACTSBASE (cc b lc s kin), my hot ng theo kiu suy din li.
Thnh phn bn phi ca lut l thn ca lut . N xc nh cc hnh ng cn thc
hin trn PRS v sau l trn FACTSBASE. Chng hn, nu phn t u tin ca PRS l
P1, lut R1 c th c khi ng : A1 v A2 c t mt cch tng ng cc v tr u
tin v v tr th hai ca PRS, trong khi , P1 c ly ra.

b. Lp hay to sinh k hoch


Cc hnh ng A1, A2, A5, v.v... c th c xem nh l nhng bi ton gii c ngay,
c gi l cc bi ton s khi (primitive problem). Chng cng biu din cc hnh ng s
cp c th c mt trong mt k hoch hnh ng, c gi l cc hnh ng kt thc
(terminal act). Khi mt hnh ng nh vy c chn vo trong mt k hoch ang xy
dng, cn biu din cc kt qu ca n : thm vo hay ly cc s kin ra. Thm mt s kin
vo c gii thch nh l thit lp mt s kin. Ly ra mt s kin c gii thch nh l
khng cn c thit lp na.
Mt k hiu c xem l biu din mt hnh ng kt thc nu n c mt trong bng cc
hnh ng kt thc. Khi , lut R4 tng ng vi :
P3, F1 ADD F2, MOVE F4, R4

My suy din

85

Sau khi khi ng mt lut, khi mt hnh ng c mt ti v tr u tin (hay l nh) ca


PRS, th n c ly ra ngay (t nh) t vo cui danh sch PLAN. Ti thi im ny,
qu trnh t vo, ly ra m t trong bng cc hnh ng kt thc hnh 3.13 trn y c
thc hin. Chng hn, khi A5 c ly ra, F2 c thm vo trong FACTSBASE v F4 c
ly ra.

c. Khng n iu
S khc nhau c bn ca MIXEDIAGRAM so vi cc s my trc y l kh nng
iu khin, bi vic khi tho ra mt lut (cng vi nhng thng tin lin quan nh trong bng
cc hnh ng kt thc), vic ly ra cc kt lun trc c thit lp bi p dng cc
lut khc.
Khi mt my suy din xt li cc s kin c thit lp, ngi ta ni rng my l
khng n iu. Nh vy, MIXEDIAGRAM l my khng n iu.

d. Khi ng u tin theo su


procedure SOLVE-A-PROBLEM (PROBLEM)
1. PROBLEMSTACK danh sch ch cha mi phn t PROBLEM
2. PLAN danh sch rng
3. ACONTEXT danh sch cc phn t
PROBLEMSTACK, FACTSBASE, PLAN
4. if SOLVE (ACONTEXT, RULESBASE) = failure then return failure
5. Son tho PLAN
6. return success
procedure SOLVE (THECONTEXT, RULES)
if PROBLEMSTACK = then return success
RULE-INDIC RUN-A-CYCLE (nh ca PROBLEMSTACK, RULES)
if RULE-INDIC = failure then return failure
ACONTEXT danh sch cc phn t sau khi ra khi RUN-A-CYCLE :
PROBLEMSTACK, FACTSBASE, PLAN
5. if SOLVE (ACONTEXT, RULESBASE) = successthen return success
6. if RULE-INDIC = primitive then return failure
7. PROBLEMSTACK Phn t u tin ca THECONTEXT
Phn t th hai ca THECONTEXT
8. FACTSBASE
Phn t th ba ca THECONTEXT
9. PLAN
10. RULES RULE-INDIC ly i phn t u tin
11. return SOLVE (ACONTEXT, RULESBASE)
1.
2.
3.
4.

1.

2.
3.
4.

5.

procedure RUN-A-CYCLE (PROBLEM, RULES, ARULE)


if PROBLEM c mt trong bng cc s kin kt thc then
1.1 begin
1.2 Loi b PROBLEM l nh ca PROBLEMSTACK
1.3 t PROBLEM vo cui PLAN
1.4 Thc hin t vo v ly ra i vi FACTSBASE nh m t i vi
PROBLEM trong bng cc s kin kt thc
1.5 return primitive
1.6 end
if RULES = then return failure
ARULE Lut u tin ca RULES
if ARULE l khi ng c
(b khi ng tng thch vi PROBLEM v FACTSBASE) then
4.1 begin
4.2 Loi b nh ca PROBLEMSTACK
4.3 t cc phn t trong thn ca ARULE vo PROBLEMSTACK,
ch phn t u tin nm nh v c th tip tc
4.4 return RULES
4.5 end
return RUN-A-CYCLE (PROBLEM, RULES ly i ARULE)

Hnh 3.14. S MIXEDIAGRAM


My MIXEDIAGRAM c m t trong hnh 3.14 trn y. Xut pht t c s tri thc
cho trong hnh 3.13, ta c th s dng li gi :
SOLVE-A-PROBLEM (P2)

87

My suy din

My khi ng lut u tin ca RULESBASE c b khi ng tng thch vi PRS v


FACTSBASE. Lut ny c khi ng v s l lut u tin ca RULESBASE tng thch
vi tnh hung c to ra bi vic khi ng ca lut trc : qu trnh khi ng u tin
theo chiu su.
Nu PRS tr nn rng, my dng li : bi ton ban u c gii, trng thi hin hnh
ca PLAN c cung cp. Nu PRS khng rng, nhng nu khng cn mt lut no khi
ng c, MIXEDIAGRAM s c khuynh hng quay lui : ngha l n s p dng mt lut
mi cho bi ton cui cng khng l s khi c ly ra t PRS, v c th tip tc.
Cc my BACKDIAGRAM1 v BACKDIAGRAM2 cng c c ch quay lui. Tuy
nhin, i vi MIXEDIAGRAM, iu mi y l khi xem xt li cch mt bi ton c
phn tch ra, MIXEDIAGRAM li c dn n thit lp li bi cnh (trng thi ca PRS,
FACTSBASE, PLAN) ging ht bi cnh tn ti thi im bi ton ny c xem xt,
trc khi xem xt li ln na, nu c th, bi lut phn tch khc. Do vy, s
MIXEDIAGRAM dn n mt chng trnh khc hn.
P2
(1) R3

P1 *
(2) R1 =
*
A1

* A4
= R2 (5)

*
A2

*
A3

* P3

R5 =
*
P5

*
A4

= R6
*
P6

= R4 (6)
*
A5
(7) R7

*
P4
=
* A2

Hnh 3.15. th tm kim to sinh bi my MIXEDIAGRAM

Hnh 3.15 trn y l th V-HOC biu din s kt ni cc lut to ra t c s tri


thc cho trong v d hnh 3.13.

Ta c :
Cc
bc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Kt qu
hnh ng
Khi ng lut R3
Khi ng lut R1
Ly A1, A2, A4 t nh PRS
Khi ng lut R5
Khng cn lut no c khi
ng, quay li gii P3
Khi ng lut R6
Ly A4 t nh PRS
Khng cn lut no c khi
ng, quay li gii P3
Khng cn lut no c khi
ng, quay li gii P1
Khi ng lut R2
Ly A3 v A4 t nh PRS
Khi ng lut R4
Ly A5 t nh PRS
Khi ng lut R7
Ly A2 t nh PRS
My dng

Ni dung
Ni dung
Ni dung
PROBLEMSTACK
FACTSBASE
PLAN
(P1 A4 P3)
khng thay i
rng
(A1 A2 A4 P3)
khng thay i
rng
(P3)
{F2 F3 F4}
(A1 A2 A4)
(P5)
khng thay i
khng thay i
(P3)
{F2 F3 F4}
(A1 A2 A4)
RULES={R6 R7}
(A4 P6)
khng thay i
khng thay i
(P6)
khng thay i (A1 A2 A4 A4)
(P3)
{F2 F3 F4}
(A1 A2 A4)
RULES = {R7}
(P1 A4 P3)
{F3 F4}
rng
RULES = {R4 R3 R4 R5 R6 R7}
(A3 A4 P3)
khng thay i
rng
(P3)
{F1 F3 F4}
(A3 A4)
(A5 A4)
khng thay i
khng thay i
(P4)
{F1 F2 F3}
(A3 A4 A5)
(A2)
khng thay i
khng thay i
rng
{F1 F2 F3}
(A3 A4 A5 A2)

e. Gii thch s MIXEDIAGRAM


Th tc SOLVE rt gn bi ton u (gi l PB) khi PROBLEMSTACK khi th tc
RUN-A-CYCLE c gi. C bn trng hp xy ra :
Trng hp 1 :
Th tc RUN-A-CYCLE tr v failure khi PB khng tng ng vi mt hnh ng kt
thc v khng c phn tch bi mt lut no t danh sch RULES. Trong trng hp ny,
th tc hin hnh SOLVE dng v tr v failure mc cao hn.
Tham i th hai ca RUN-A-CYCLE l RULE-INDIC nhn c ging nh l tham i
th hai ca SOLVE. Ti li gi u tin ca SOLVE bi SOLVE-A-PROBLEM (lnh 4),
tham i ny c gi tr ca RULESBASE. Tng t nh vy i vi mt s li gi ca
SOLVE bi chnh n (lnh 5). i vi cc li gi khc (lnh 11 ca SOLVE), tham i ny
khng cn l mt danh sch con ca RULESBASE.
Nu RUN-A-CYCLE khng tr v failure l v, hoc PB l mt hnh ng kt thc,
hoc PB l mt bi ton phn tch c bi mt trong cc lut ca danh sch cung cp cho
li gi RUN-A-CYCLE. Trong hai tnh hung ny, ngi ta gi ngay lp tc th tc SOLVE
vi tham i th nht l bi cnh ca vic x l PB (tin trin ca FACTSBASE v/hoc ca
PROBLEMSTACK) bi RUN-A-CYCLE, v tham i th hai l ton b RULESBASE. Sau
y, ta gi R l li gi ny i vi th tc SOLVE.
Trng hp 2 :
Nu li gi cui cng R ny i vi SOLVE tr v success, th tc SOLVE hin hnh
tr v success mc cao hn. Nu khng, vic x l phi phn bit tu theo th tc RUNA-CYCLE nhn bit PB nh l mt hnh ng kt thc, ngha l mt bi ton s khi
khng th phn tch c, hoc c d kin phn tch.
Trng hp 3 :
Th tc RUN-A-CYCLE s tr v primitive nu PB l mt hnh ng kt thc. Trong

My suy din

89

trng hp ny, s tht bi ca li gi R i vi SOLVE c ngha cn phi xem xt li vic


t PB vo u danh sch PROBLEMSTACK : lc ny, th tc SOLVE hin hnh tr v
failure mc cao hn.
Trng hp 4 :
Nu PB khng l mt hnh ng kt thc, th PB phi phn tch c. Nh vy, th tc
RUN-A-CYCLE khi ng mt lut phn tch PB, t kt qu phn tch ca PB vo
u danh sch PROBLEMSTACK v tr v danh sch con ca RULESBASE c phn t u
tin l lut va c khi ng. Trong trng hp ny, li gi R i vi SOLVE khng
thnh cng do c s xut hin cc bi ton con ca PB. V vy, cn th tm mt phn tch
khc i vi PB : bi cnh tn ti trc li gi RUN-A-CYCLE c khi phc v xut
hin mt li gi mi i vi SOLVE. Tham i th nht ca li gi ny i vi SOLVE l
danh sch cc lut nhn c t tham i ca SOLVE hin hnh, sau khi ly i lut th.

f. Mt vi bin tu n gin khc ca MIXEDIAGRAM


1. Dy cc bi ton. Tng tc

Trn nhiu im khc nhau, ngi ta c th phng theo s BACK DIAGRAM1. a ra mt


dy c th t cc bi ton, ch cn xem xt li th tc SOLVE-A-PROBLEM sao cho dy ny c np
vo PROBLEMSTACK khi mi khi ng. Ta c th d kin mt hot ng tng tc : khi khng c
mt lut no p dng c cho bi ton nm trn nh ca PROBLEMSTACK (xem lnh 2 ca RUN-ACYCLE), ngi ta c th quyt nh, trc khi quay lui, hi ngi s dng xem c cn hin th phn t
nh ca PROBLEMSTACK, v hin th, hoc tt c hoc mt phn ca FACTSBASE hay khng ?
Ngi s dng cng c th ch ra bi ton c th gii c trong iu kin nh.
2. iu khin theo su
V cc s kin thit lp c th c xem xt li, ngi ta cn phi khi ng mt lut
nhiu ln, trong cng mt bi cnh, nn c th dn n nguy c xoay vng. iu khin s
tin trin tm kim theo su, ngi ta c th gn mi phn t PB ca PROBLEMSTACK
vi mt mc bng mc ca bi ton l bi ton c phn tch xut hin PB cng
thm 1. Bi ton khi u s c gn mc 0. Ngi ta khng cho php gii quyt bi ton
c mc vt qu mt gi tr gi hn c n nh trc. Ch rng mc ca mt bi
ton c th gim dn theo qu trnh tm kim.
3. Tm kim tt c cc li gii
C th c nhiu k hoch hnh ng cng biu din li gii ca mt bi ton cho.
Trong v d hnh 3.13, ngi ta c th tm thy hai k hoch gii P l k hoch (A1 A2)
v k hoch (A3).

Nu ta thm mt lut th tm l P1 A1, ta s tm thy hai k hoch gii P2 l (A3


A4 A5 A2) v k hoch (A1 A4 A5 A2).
Lc ny ta c th thay i MIXEDIAGRAM sao cho khi cn, n c th tm c cc k
hoch khc nhau ny. Mun vy, ta s b dng lnh 5 ca SOLVE-A-PROBLEM v thay th
lnh 1 ca SOLVE bi :
1
1.1
1.2
1.3
1.4
1.5
1.6

if PROBLEMSTACK = then
begin
Son tho PLAN
Yu cu ngi s dng lp PLAN khc (Y/N?)
if ng (Y) then return failure
return success
end

lnh 1.4, ngi ta to ra mt failure bt buc my tm kim mt li gii khc c


th, xut pht t bi cnh hin hnh.

II.5.

S my s dng bin

(suy din li vi ch bt buc v n iu)


Hnh 3.16 trnh by mt v d v tri thc v cc bi ton s c gii bi my
BACKDIAGRAM3 cho bi hnh 3.19. Ch rng trong hnh 3.16, cc th hin tri thc c
cha cc bin, cc bin c t tn quy c l x, y, z, u v v. Cc k hiu C1, C2, C3, C4,
C5, C8 biu din cc s kin c thit lp, C6, C7, C9 biu din lut.
S kin C3 trong c s th hin pierre l cha ca jean. S kin C6 ni ln rng d x hay y
l nh th no, ngay khi SON(y, x) c thit lp, ngha l khi thit lp y l con ca x, th
c th thit lp FATHER(x, y), ngha l x l cha ca y. Hay ngc li : d x hay y l nh th
no, thit lp FATHER(x, y), ch cn thit lp SON(y, x). S kin C6 th hin d x, y v z
l nh th no, thit lp rng x l ng ca y, ch cn thit lp x l cha ca z v z l cha ca
y.
y, ta quy c rng cc thnh phn bn tri lut l kt lun ca lut, cc thnh phn
bn phi lut l tin . Cc lut lun lun ch cha mt kt lun duy nht v c mt hoc
nhiu tin .
C1
C2
C3
C4
C5
C6
C7
C8

KNOWLEDGESBASE :
BLOND (marc)
BROWN (jean)
FATHER (pierre, jean)
FATHER (marc, pierre)
FATHER (jean, ren)
FATHER (x, y) SON (y, x)
GRANDFATHER (x, y) FATHER (x, z), FATHER (z, y)
SON (marc, georges)

PROBLEMSTACK (cc s kin cn thit lp) :


List (GRANDFATHER (u, v) BLOND (u))

Hnh 3.16. C s tri thc v PROBLEMSTACK ca BACKDIAGRAM3


V d 1 :
Cn tm x v y sao cho x l ng ca y, x c tc hoe. Trng thi ban u ca
PROBLEMSTACK (vit tt PBS) cho trong hnh 3.16 trn y.

a. Hot ng ca BACKDIAGRAM3
Hot ng ca my BACKDIAGRAM3 tm li gii cho v d 1 nh sau :
Chu k u tin :
My ln lt gii cc bi ton c sp xp trong PBS. Trc tin, my ghp i biu
thc GRANDFATHER (u, v) ln lt vi cc tri thc t C1 n C8 theo th t ny. Nu C1
l mt lut, th vic ghp i ch tc ng ln phn kt lun ca lut. Vic ghp i gia
GRANDFATHER (u, v) vi kt lun ca C7 thnh cng : tht vy, bng cch p dng cc
thay th u bi x v v bi y trong GRANDFATHER (u, v), ta nhn c hai biu thc
ging ht nhau.

91

My suy din

Ta ni l hp nht (unified) GRANDFATHER (u, v) v GRANDFATHER (x, y) bi


php hp nht (unifier) k hiu UNIF nh sau :
UNIF = u bi x v v bi y hay c vit tt l :
UNIF = (x u ; y v)
Trong trng hp c bit ny, s c mt trong cc biu thc khng b thay i bi p
dng php hp nht. Trong khi ghp i, my s bin i PBS bng cch thay th
GRANDFATHER (u, v) bi phn tin ca C7, sau khi p dng php hp nht cho phn
tin ny. C th phn tin khng b thay i bi p dng php hp nht.
UNIF tip tc c p dng cho phn cn li ca PBS, hay BLOND (u). Ta nhn c :
PBS = (FATHER (x, z) FATHER (z, y) BLOND (x))
Nh vy, ta dn bi ton ban u (hy xc nh nu tn ti u, v sao cho u hoc l ng
ca v, hoc v c tc hoe) thnh bi ton hy xc nh nu tn ti x, y v z sao cho x l cha
ca z v z l cha ca y v x c tc hoe.
Hnh 3.17 di y biu din cc chu k thc hin ca BACKDIAGRAM3 :
(GRANDFATHER (u, v) BLOND (u))
(1)
C7
(x | u ; y | v)
(FATHER (x, z) FATHER (z, y) BLOND (x))
(2)
C3
C4
(8)
(pierre | x ; jean | z)
(marc | x ;
pierre | z)
(FATHER(jean, y) BLOND (pierre))
(FATHER(pierre, y) BLOND
(marc))
C5 (3)
C3
(9)
(ren | y)
(jean | y)
BLOND (pierre)
BLOND (marc)
(4) tht bi
C1
(10)
C6
ht bi ton
(5)
thng li
(jean | x)
(SON(y, jean) BLOND (pierre))
(6) tht bi

Hnh 3.17. C s tri thc v PROBLEMSTACK ca BACKDIAGRAM3


Ch : Xut pht t cc biu thc (GRANDFATHER (u, v) BLOND (u)) v
GRANDFATHER (x, y) FATHER (x, z), FATHER (z, y), ta suy din c :
PBS = (FATHER (x, z), FATHER (z, y) BLOND (x))
Ni dung mi ca PBS chnh l kt qu hp gii (resolvant) t cc biu thc ca PBS v
ca lut C7 theo nguyn l hp gii gii thiu trc y.
Chu k th hai :
Phn t u tin ca PBS l FATHER (x, z) s c so snh vi cc tri thc t C1 n C8
theo th t ny.
My pht hin ra php hp nht UNIF = (pierre x, jean z) gia FATHER (x, z) v
C3. Khi , s tn ti x (x = pierre) v z (z = jean) sao cho x phi l cha ca z. Bi ton u
tin ca PBS xem nh c gii v c ly ra khi PBS. Nhng bi ton cn gii cn li
ca PBS tip tc c hp nht bi UNIF v dn n kt qu :

PBS = (FATHER (jean, y) BLOND (pierre))


Cn l so vi chu k trc, vic suy din chu k ny xy ra nh C3 l lut c phn
tin rng.
Chu k th ba :
FATHER (jean, y) c ghp i vi C5 nh php hp nht UNIF = (ren y) nhn
c :
PBS = (BLOND (pierre))
Chu k th t :
BLOND (pierre) khng th c ghp i vi tri thc no trong cc tri thc t C1 n
C8. Chu k th t tht bi (dng khng qua giai on EXECUTION).
Chu k th nm :
Bc RESTRICTION yu cu my quay lui. Lc ny, PBS c khi phc li tnh trng
thi im u chu k trc l khng th tip tc (chu k th ba) :
PBS = (FATHER (jean, y) BLOND (pierre))
Vic ghp i c duy tr trong chu k th ba ny (tng ng vi bc CONFLICTRESOLUTION). My chun b ghp i li (bc FILTERING) i vi FATHER (jean, y)
xut pht t C6. Vic ghp i vi C6 thnh cng, do c php hp nht UNIF = (jean x),
t :
PBS = (SON (y, jean) BLOND (pierre))
Chu k th su :
SON (y, jean) khng th ghp i vi tri thc no trong cc tri thc t C1 n C8. Chu k
th su khng th kt thc bnh thng (dng khng qua giai on EXECUTION).
Chu k th by :
Bc RESTRICTION yu cu my tip tc quay lui. PBS khi phc li tnh trng thi
im u chu k trc l khng th tip tc (chu k nm) :
PBS = (FATHER (jean, y) BLOND (pierre))
Vic ghp i c duy tr trong chu k th nm ny (tng ng vi bc CONFLICTRESOLUTION). My chun b ghp i li (bc FILTERING) i vi FATHER (jean, y)
xut pht t C7. Vic ghp i vi C7 tht bi, do chu k th by khng th chuyn qua
giai on EXECUTION.
Chu k th tm :
My tip tc quay lui. PBS c khi phc li tnh trng thi im u chu k hai,
ngha l :
PBS = (FATHER (x, z), FATHER (z, y) BLOND (x))
Vic ghp i c duy tr trong chu k th hai ny. My chun b ghp i li i vi
FATHER (x, z) xut pht t C4. Vic ghp i vi C6 thnh cng, do c php hp nht
UNIF = (marc x ; pierre z), t :
PBS = (FATHER (pierre, y) BLOND (marc))
Chu k th chn :
My c th ghp i FATHER (pierre, y) vi C3 nh php hp nht :
UNIF = (jean y)
T :
PBS = BLOND (marc)
Chu k th mi :
My c th ghp i BLOND (marc) vi C1 m khng cn dng mt php hp nht no.
Do PBS tr nn rng, nn dy cc php th a vo i vi cc bin khi ng ca PBS

93

My suy din

khng c s dng n (khng quay lui) to thnh mt li gii cho bi ton ban u : tn ti
u (u = marc) v v (v = jean) sao cho u l ng ca jean v u c tc hoe.
Kt qu x l ca s my BACKDIAGRAM3 cho hnh 3.19 i vi bi ton trn
y chnh l dy cc php th nh sau :
UNIF = (x u ; y v ; marc x ; jean y)
V d 2 :
T cc tri thc cho hnh 3.16, ta mun tm kim u sao cho u l ng ca pierre. T
, ni dung ban u ca PROBLEMSTACK s l :
PBS = GRANDFATHER (u, pierre)
Bng cch nhi li (bt chc) y ht cc bc va trnh by trn y, ta nhn c kt
qu hp gii cho trong hnh 3.18 di y. Cu tr li c a ra nhnh th t : tn ti u,
u = georges, sao cho u l ng ca pierre.
Cc con s trong hnh tng ng vi th t ca cc hp nht.
(GRANDFATHER (u, pierre))
(1)
(FATHER (x, z) FATHER (z,pierre))
(2)

(4)

(FATHER(jean, pierre))
(3)

(6)
(FATHER (pierre, pierre))

(FATHER (ren, pierre))

(5)

(SON(pierre, jean))
tht bi

(7)

(SON (pierre, pierre))

(FATHER (pierre, ren))

tht bi

tht bi

(8)

(SON (z, x) FATHER (z, pierre))


(9)
(FATHER (marc, pierre))
(10)
PBS rng : thng li

Hnh 3.18. th hp nht ca BACKDIAGRAM3 gii v d 2

b. BACKDIAGRAM3 : s my suy din kiu Prolog


S my BACKDIAGRAM3 s dng cc tri thc kiu suy din li v u tin theo
su. S ny khng thit lp cc s kin mi m ch n gin l bin i PBS, danh sch c
th t cc s kin ang cn phi thit lp. Do khng bao gi ly ra cc s kin thit lp,
nn cch hot ng ca my l n iu. Mt khc, do cc trng thi trc ca PBS c th
c khi phc (quay lui), my hot ng theo ch thm d.
Giai on SELECTION/RESTRICTION nhm tp trung s dng cc tri thc (lut v s
kin) i vi phn t u tin ca PBS. Tu theo s quay lui ca my, trng thi ca PBS c
th xc nh c.
Ngn ng th hin tri thc cho trong hnh 3.16 v c s dng trong s my
BACKDIAGRAM3 tng t ngn ng Prolog. Cc biu thc biu din tri thc l nhng
mnh Horn. Ch rng thng thng, cc h chuyn gia ch tha nhn cc bin trong

cc lut, m khng tha nhn cc bin trong cc s kin nh trong hai v d trn.
Vic to sinh cc kt qu hp gii u tin theo su c th dn n vng lp, nhng c
th trnh c trong chin lc u tin theo chiu rng. Chng hn, vng lp gy ra bi
chin lc u tin theo su : nu ta thm phn t C9 vo cui danh sch cc tri thc
KNOWLEDGESBASE nh sau :
C9 : SON (x, y) FATHER (y, x)
V nu xt li bi ton GRANDFATHER (u, pierre) v d 2, my s p dng v hn ln cc
lut C6C9C6C9...

1.
2.
3.
4.
5.
6.
7.
7.1
7.2

7.3
7.4
7.5
8.
9.

Procedure JUSTIFY (PROBLEMSTACK, REMAININGBASE, aproblem,


aknowledge, theconclusion, substitu1, substitu2, theproblems)
if PROBLEMSTACK = then return danh sch rng
if REMAININGBASE = then failure
APROBLEM phn t u tin ca PROBLEMSTACK
AKNOWLEDGE phn t u tin ca REMAININGBASE
(tu theo php hp nht tn bin c th thay i)
THECONCLUSION phn kt lun ca AKNOWLEDGE
SUBSTITU1 UNIFICATION (APROBLEM, THECONCLUSION)
if SUBSTITU1 failure then
begin
THEPROBLEMS t c th t cc phn t ca PROBLEMSTACK khc
APROBLEM vo cui danh sch cc tin ca AKNOWLEDGE vi vic
p dng lin tip cc php hp nht ca danh sch c th t SUBSTITU1
cho biu thc trc ca THEPROBLEMS
SUBSTITU2 JUSTIFY (THEPROBLEMS, KNOWLEDGESBASE)
if SUBSTITU2 failure then return danh sch nhn c bng cch thay th cc phn
t ca SUBSTITU2 theo th t vo cui ca SUBSTITU1
end
REMAININGBASE REMAININGBASE {AKNOWLEDGE}
JUSTIFY (PROBLEMSTACK, REMAININGBASE)

c. Gii thch s my BACKDIAGRAM3


C hai tham i trong li gi th tc JUSTIFY. Tham i th nht l mt danh sch c
th t cc bi ton cho trc. Ch rng s xut hin ca mt bin trong biu din bi ton,
chng hn bin x trong P(x), tng ng vi mt cu hi v gi tr ca x c P(x). Tham i
th hai l mt danh sch c th t cc tri thc cho trc lc khi ng th tc. Li gi th
tc c dng :
JUSTIFY (PBS, KNOWLEDGESBASE)
trong PBS v KNOWLEDGESBASE c gi tr cho trong v d 1 hnh 3.16.
Khi th tc JUSTIFY kt thc (c th khng kt thc), JUSTIFY tr v hoc gi tr
failure, hoc li gii l mt danh sch (c th rng) cc php th trn cc bin ca bi ton
ban u. V d, trong v d 1 hnh 3.16, th tc JUSTIFY tr v li gii l danh sch c th t
(x u ; y v ; marc x ; jean y).
Ch rng lnh 4 ca th tc JUSTIFY dng kim tra nu cc bin c mt trong
AKNOWLEDGE l khc vi cc bin c mt trong APROBLEM. Nu c s bng nhau,
ngi ta i tn nhng bin cn thit trong AKNOWLEDGE cho n khi tho mn. V d,

My suy din

95

nu :
AKNOWLEDGE = P(x, a) Q(x) v nu APROBLEM = P(b, x)
th ngi ta i tn bin x thnh mt bin gc, gi s y, trong AKNOWLEDGE, nhn
c : P(y, a) Q(y). S i tn bin l hp l v bin x (tng ng vi lng t ton th)
trong AKNOWLEDGE thc t l mt bin cm, c lp vi cc bin x c mt trong cc th
hin bi ton hay trong cc biu din tri thc khc. S i tn bin l cn thit P(x, a) v
P(b, x) c th hp nht c.
Trong chng trc, ta gii thiu chi tit thut ton hp nht hai trc kin. Th tc
UNIFICATION c s dng trn y c th c lp trnh da theo thut ton ny. Ta gi
thit rng li gi th tc cha ba tham i : hai tham i l hai biu thc cn hp nht, tham
i th ba l mt danh sch rng. Th tc tr v failure nu khng tn ti php hp nht
gia hai biu thc. Th tc tr v kt qu l php hp nht di dng mt danh sch (c th
rng) cc php th nu tn ti php hp nht.

Bi tp chng 3
1. Cho cc cu sau :
Jhon thch tt c cc loi thc n.
To l mt loi thc n.
Tht g l mt loi thc n.
Bt c th g m bt c ngi no n m khng cht u l thc n.
Bill n lc rang v anh ta vn sng.
Sue bt c th gi m Bill n.
Yu cu :
a. Chuyn cc cu trn thnh cc cng thc chnh (wff) theo v t bc mt.
b. Chuyn cc cng thc chnh cu a. thnh dng mnh .
c. S dng hp gii chng minh rng Jhon thch lc rang.
d. S dng hp gii tr li cu hi Sue n thc g ?
2. Cho cc s kin sau :
Cc thnh vin ca cu lc b ng hng l Joe, Sally, Bill v Ellen.
Joe l chng ca Sally.
Bill l anh trai ca Ellen.
V ca mi thnh vin lp gia nh trong cu lc b cng l thnh vin ca cu lc
b.
Bui hp mt cu lc b ng hng gn nht l ti nh Joe.
Yu cu :
a. Chuyn cc s kin trn thnh cc v t bc mt.
b. S dng hp gii chng minh tnh ng n ca hai mnh di y. Ch nu
khng th chng minh ng, th hy thm vo cc s kin mi c th chng minh :
Bui hp mt cu lc b ng hng gn nht l ti nh Sally.
Ellen cha lp gia nh.
3. Cho cc s kin sau :
Steve ch thch cc mn d hc.
Cc mn hc v lp trnh u kh.
Tt c nhng mn hc trong b mn th dc u d hc.

Bng chuyn l mt mn th dc
S dng hp gii tr li cu hi Steve thch hc mn g ?

4. Cho mt c s tri thc nh sau :

R1. B, D, E
R2. D, G
R3. C, F
R4. B
R5. D
R6. A, X
R7. C
R8. X, C
R9. X, B
Yu cu :
a.
b.
c.
d.

F
A
A
X
E
H
D
A
D

V th v-hoc t c s tri thc trn.


V th v-hoc minh ho thut ton suy din tin theo chiu su.
V th v-hoc minh ho thut ton suy din tin theo chiu rng.
V th v-hoc minh ho thut ton suy din li

5. Lm tt c cc cu hi cho trong bi tp 4. cho cc c s tri thc cho cc bi tp


1, 2, 3 trn y.

CHNG 4

H chuyn gia MYCIN v ngn ng OPS5


Javais un extrme dsir dapprendre distinguer
le vrai davec le faux pour pour voir clair en mes actions
et marcher avec assurance en cette vie .
Ren Descartes

I.

H chuyn gia MYCIN

I.1.

Gii thiu MYCIN

Trong nhng nm 1970, mt nhm cc nh nghin cu khoa hc ti trng i hc Tng


hp Stanford, Hoa K, lm vic di s ch tr ca gio s Ed Feigenbaum, xy dng gi
thuyt rng s thng minh (intelligence) c cn c trn s lu tr nhng khi lng ln v
tri thc. H tm ra k thut biu din tri thc v tin hnh thc hin d n lp trnh
nghim suy (HPP: Heuristic Programming Project).
Trong nhng nm 1970-1973, h xy dng mt h thng phn tch d liu t b phn
tch ph t , xy dng h chuyn gia DENDRAL. Khi d n kt thc, h tm ra cch
biu din tri thc di dng cc lut.
Bt u t nm 1973, h nghin cu v lnh vc liu php khng sinh (therapy antibiotic).
Kt qu nghin cu l h chuyn gia MYCIN ra i trong khong thi gian 1973-1978. Th
h tip theo l EMYCIN (Essential MYCIN).
Do c nhiu loi thuc khng sinh, khng vi cng nh c nhiu loi vi trng vi cc cch
x l khc nhau, nn ch c cc thy thuc chuyn gia thuc lnh vc ny mi c th c liu
php cha tr hiu qu. Mc ch ca MYCIN l :
L mt h thng d s dng.
Kh nng vn hnh ng tin cy.
Cha ng nhiu tri thc lin quan n lnh vc khng sinh, khng vi.
Kh nng x l cc ch dn cha tr khng ng hoc khng y .
Kh nng gii thch v ch dn cha tr.
MYCIN l mt chng trnh tra cu. MYCIN cung cp cho cc thy thuc nhng kin
cha tr lin quan n liu php khng sinh.
MYCIN l mt h chuyn gia c cc c tnh :
Lp trnh nghim suy.
Tri thc chuyn gia v lnh vc khng sinh.
Gii thch kiu tng tc.
Kh nng phn on.

TS. PHAN HUY KHANH bin soan

97

98

H chuyn gia

MYCIN c khong 500 lut v cc s kin rt tiu biu. Hot ng ca h thng nh sau
:
1.
2.
3.
4.

MYCIN yu cu thng tin v lm sng.


Bt u suy lun t nhng tri thc hin c
a ra cc phn on v li khuyn.
Tr li cc cu hi lin quan n suy lun
Ngi s dng

Giao din ngi - my


Gii thch

Phc ho

Tri thc v bi ton


Mt suy din

Tri thc v lnh vc


Thu nhn tri thc

Chuyn gia Tin hc

Chuyn gia v lnh vc

Hnh 4.1. Hot ng ca h chuyn gia MYCIN

99

H chuyn gia MYCIN v ngn ng OPS5

I.2.

Biu din tri thc trong MYCIN

MYCIN biu din cc s kin bi mt b bn nh sau :


S kin
(Context
Parameter
Theo thut ng hng i tng

Value

CF)

Ng cnh

Tham bin

Gi tr

H s

(Object

Attribute

Value

CF)

a. Ng cnh
C tt c 10 ng cnh dng suy lun lin quan n cc liu php (therapy) cha tr cc
bnh nhim khun trong MYCIN :
Person
Bnh nhn
1.
PERS
Nhng iu tr trc y
2.
CurCuls
Nhng xt nghim lm (cy khun)
3.
CurDrugs
Nhng loi thuc ung
4.
CurOrgs
Nhng c quan (b phn c th) c cy khun
5.
OpDrugs
Nhng loi thuc cho cha tr
6.
PosTher
Cc liu php c th
7.
PriorCuls
Nhng xt nghim tin hnh trc y
8.
PriorDrugs
Nhng loi thuc ung trc y
9.
PriorOrgs
Nhng c quan b nhim khun trc y
10.
C bn loi cu hi trong MYCIN :
1. C tn ti nhng quan trng khng ?
2. C phi vi khun l nguyn nhn gy ra nhim trng khng ?
3. Nhng loi thuc no l hiu qu ?
4. Nhng loi thuc no l hiu qu nht ?
Cc cu hi trn dn n vic to ra mt cy ng cnh ng bao gm cc tnh hung
ng cnh. Chng hn di y l mt cy ng cnh :
Bnh-nhn-1

Cy-vi-khun-1

Cy-vi-khun-2

C-quan-1

C-quan-2

Cy-vi-khun-3

Thuc-1

Thuc-2

Thuc-3

Hnh 4.2. Cy ng cnh ca MYCIN

Mt cch tng qut, MYCIN cn c trn nhng gi thuyt (hypothesis) chc chn nht
suy lun v s dng cc siu lut (meta-rule) hi t (focalize) vic tm kim nguyn nhn.

b. Cc tham bin
Cc tham bin trong MYCIN u c nh kiu v c gn nhn vi :
H thng : Y/N, NUMB, ONE_OF, ANY_OF
PROMPT (Du nhc) : cu hi yu cu ngi s dng g vo mt gi tr.

100

H chuyn gia

LABDATA (D liu) : ly t cc phng xt nghim s dng gi tr Y/N :


nu Y, h thng yu cu a gi tr vo, nu N, h thng t tm.
LOOKAHEAD (Tm kim) : to ra danh sch cc lut t tham s cho.
TRANS (Dch gii) : dch kt qu ra ting Anh.
C ba loi kiu gi tr trong MYCIN :
Gi tr n (exclusive-single valued) : h thng a ra nhiu gi tr nhng ch c duy nht
mt gi tr ng. V d : tn bnh nhn.
Gi tr bi (non-exclusive-multi valued) : h thng a ra nhiu gi tr.
V d : thuc cha tr, cnh bo d ng thuc.
Gi tr nh phn : Yes/Khng.

c. tin cy (Certain Factor)


Trong MYCIN, mi s kin u c gn mt tin cy (hay chc chn), vit tt CF
(Certainty Factor), vi quy c CF [-1, 1], v mi lut u c gn mt nng lc (force),
CF [-1, 1].

d. Biu din lut


MYCIN s dng k thut suy din li (backward chaining), iu khin bi mt ch
(goal). Cc lut ca MYCIN c dng tri ra (abduction) nh sau :
AB

CFR

mi thi im, MYCIN cn cc php chng minh. Trong lut trn, t ti ch C, cn


chng minh A v B, chng minh A, cn chng minh..., v c th tip tc. Cc lut sau y l
hp l :
ABC D
A (B C) D
(A B C) (D E) F
Nhng cc lut sau y l khng hp l :
A B CD
A (B (C D)) E
MYCIN c cc mu lut (rule template) cho php h thng suy lun trn nhng lut ring
c t ng to ra cc lut mi. Cho cc gi thit H1, H2 c tin cy CF1, CF2 v cc
lut R c nng lc CFR tng ng. Cch MYCIN t hp cc gi thit nh sau :
Php giao :

CF(H1 H2) = min { CF(H1), CF(H2) }


Php hp :
CF(H1

H2) = max { CF(H1), CF(H2) }

Cc lut :

AB

CFR

A (B

C)

T hp cc gi thit :

C
CFR

CFC = CFR min { CFA, CFB }


D

CFD = CFR min { CFA, max { CFB, CFC } }

101

H chuyn gia MYCIN v ngn ng OPS5

Combine(CF1, CF2 ) =

CF1 + CF2 (1 - CF1)

nu CF1 0 v CF2 0

CF1 + CF2
1 - min{CF1, CF2}

nu CF1 CF2 < 0

- Combine( - CF1, - CF2 )

nu CF1 0 v CF2 0

Ta c tnh cht sau :


(H1, CF1 ) v (H2, CF2 ) v (H1 = H2) (H1, CF1 = Combine(CF1, CF2 ))
CF(H) = - CF(H)

I.3.

K thut suy din ca MYCIN

a. Th tc MONITOR
Begin { Monitor }
OK = True
While Cha ht iu kin And OK Do Begin

Ly mt iu kin
If Cc d liu ca iu kin tho mn Then Gi th tc FindOut
If iu kin sai Then OK = False
Else Ly iu kin tip theo
End
If OK Then a ra kt lun

Else Thng bo lut sai


End { Monitor }

b. Th tc FINDOUT
Begin { FindOut }
If C d liu Lab Then Begin

Yu cu ngi s dng tr li
If Not Tm thy kt qu Then Begin
Tm gi cc lut lin quan n d liu
Gi th tc Monitor
End
End
Else Begin

Tm gi cc lut lin quan n d liu


Gi th tc Monitor
If Not Tm thy kt qu Then
Yu cu ngi s dng tr li
End
End
End { FindOut }

c. H thng giao tip ca MYCIN


Ti mi thi im, ngi s dng c th yu cu h thng tr li cc cu hi bng cch
a vo cc lnh nh sau :

102

H chuyn gia

WHY? (ti sao)


h thng lit k cc suy din hin ang tin hnh
HOW? (nh th no)
h thng lit k ngun ca mt s kin
MYCIN c th hiu v suy lun trn cc lut, cc s kin v ng cnh vit bng ting
Anh quy c (pseudo-english). Sau y l mt phin lm vic ca MYCIN :
MYCIN is a rule-based system that diagnoses bacterial infections of the blood. By asking questions
and backward chaining through a rule base of about 500 rules, Mycin can recognize about 100 causes
of bacterial infections, allowing Mycin to recommend effective drug prescriptions. Mycin uses
backward chaining because doctors prefer to focus on one hypothesis at a time, whereas a forward
chaining system can jump around seemingly at random. Here is a fragment of a dialog between
Mycin and a doctor:
>> What is the patients name?
John Doe.
>> Male or Female?
Male.
>> Age?
55.
>> Let's call the most recent positive culture C1. From what site was C1 taken?
From the blood.
...
>> My recommendation is as follows: give gentamycin using a dose of 119 mg (1.7 mg/kg) q8h
IV [or IM] for 10 days. Modify dose in renal failure. Also, give clindamycin using a dose of 595
mg (8.5 mg/kg) q6h IV [or IM] for 14 days.

H chuyn gia MYCIN v ngn ng OPS5

II.

103

H sn xut OPS5

II.1.

Gii thiu OPS5

H sn xut OPS5 (vit tt t Official Production System) do Tin s Charles Forgy


xut v c pht trin vo cui nhng nm 1970 ti trng i hc Carnegie-Mellon, Hoa
K. OPS5, cn c gi l ngn ng lp trnh OPS5, l mt trong nhng h sn xut mnh
c s dng xy dng cc h chuyn gia. V d R1/XCON, XSEL l cc h chuyn gia
v cu hnh v bun bn cc thit b in t, PTRANS qun l cc phn xng sn xut,
v.v...
C th ni, cc m hnh h sn xut c ng dng tng i rng ri trong cc lnh vc
tr tu nhn to, h chuyn gia v tm l nhn thc (cognitive psychology). Sau OPS5, ngi
ta tip tc pht trin OPS-83, ART (Automated Reasoning Tool), CLIPS (C Language
Intergated Production System)...
OPS5 phin bn 2.07 chy trong h iu hnh MS-DOS. Sau khi khi ng, trn mn
hnh xut hin cc dng gii thiu v sn phm.

Nhn mt phm bt k, ca s lm vic OPS5 xut hin nh hnh di y :

Hnh 4.3. Ca s lm vic ca OPS5

104

H chuyn gia

Ti mi thi im, ngi s dng nhn phm F1 hoc gi lnh Help gi hng dn ca
OPS5.
Mn hnh hng dn xut hin nh sau :

Hnh 4.4. Mn hnh hng dn ca OPS5

Ph lc cui gio trnh (ting Anh) hng dn s dng h thng OPS5.

II.2.

Cc thnh phn ca OPS5

II.2.1. Cc c trng chnh ca ngn ng


Ngn ng OPS5 c ba thnh phn chnh l tp hp cc lut, hay c gi l c s lut
(rule base), b nh lm vic (working memory, vit tt WM), v my suy din, c ch ra
trong hnh di y.

OPS5
B nh lm vic

C s lut v s kin

Mt suy din

Hnh 4.5. Ba thnh phn chnh ca OPS5


OPS5 s dng cc lut cha cc bin lng t. My suy din hot ng theo kiu suy
din tin (forworrd-chaining), khng n iu (non-monotone), gii quyt xung t nh cc
tin quan h (antecedence relationships) gia cc s kin trong tp hp cc s kin, cn c
gi l c s s kin (fact base).
C s lut ca OPS5 s dng d liu nh kiu (typed data) c khai bo trc. Mt
chng trnh OPS5 gm cc thnh phn :
1. Mt tp hp cc khai bo cc cu trc d liu c mt trong chng trnh.
2. nh ngha c s lut (vit tt rb).
3. nh ngha c s s kin ban u (vit tt fb).

H chuyn gia MYCIN v ngn ng OPS5

105

4. Mt dy cc lnh tng tc din gii cc lut v p dng chng.


Ch rng ngi s dng c th thay i th t cc thnh phn trn y trong nhng
trng hp c bit sau :
Ngay sau khi ngi s dng nh ngha mt lut u tin, OPS5 xem rng cc khai bo
xong v khng th thay i na.
Khng mt lnh OPS5 no c thc hin trc khi t nht mt lut c nh ngha ;
chng hn khng mt s kin no c to ra cho fb trc nh ngha ny.
Mt lut a vo sau nh ngha ca fb s ch c ngha i vi cc s kin xut hin
trong fb sau khi to ra lut ny.
OPS5 s dng cc lut truy cp b nh lm vic WM, th hin s tinh thng ca h
thng. Cc lut cha cc mu so khp vi WM v cc hnh ng c th sa i WM.
Ngoi ra, cc lut cn c kh nng trao i vi mi trng bn ngoi bng cch gi th tc
v c kh nng t xy dng cc lut mi.

II.2.2. Kiu d liu OPS5


Tng t ngn ng lp trnh hm Lisp, cc i tng s cp ca OPS5 l nguyn t s
hay nguyn t k hiu. Cc k t c bit ( , ) , {, }, <, > v c th xut hin trong mt k
hiu nu c t trc mt du gch ng
Cc lut trong OPS5 thao tc trn cc lp i tng (class of objects). Mi lp i tng
c nh ngha bi tn lp v mt tp hp cc thuc tnh (attributes). Tn lp ch nh kiu
d liu do ngi s dng t t v c s dng sau trong mi trng OPS5. Mi thuc
tnh c t tn phn bit, c gi tr l mt nguyn t s hay k hiu. Nh s thy sau ny,
mi s kin trong fb s l phn t ca mt lp, c gi tr tng ng vi mt thuc tnh no
, nhng thuc tnh khc c th khng c gn gi tr (gi tr mc nhin ca chng l nil).
Lnh khai bo mt lp i tng ca OPS5 l literalize c c php nh sau :
( literalize classname attribute1 attribute2 ... )

Trong , classname l tn lp, attribute1, attribute2, ... l cc thuc tnh. Khi bt u s


dng lnh literalize, cc thuc tnh cha c gn gi tr ngay.
V d 1 :
Khi qun l h s xin vic, ta khai bo mt lp bng lnh literalize nh sau :
(literalize h-s-xin-vic h-lt tn phi tui a-ch ngh-nghip)

Lnh ny khai bo kiu d liu h-s-xin-vic gm cc thuc tnh lin quan n ngi xin
vic nh h-lt, tn, phi, tui, a-ch, ngh-nghip. Ch trong OPS5, du dash (-), nh trong
h-s-xin-vic, l thay cho du cch (whitespace) v cc du cch nh tab, spaces, linefeeds
c dng phn cch trong mt chng trnh OPS5.
V d 2 :
Ta xt mt lp cc dng c trong mt phn xng sn xut, c t tn l tool . Mi
dng c (thuc lp tool ) c cc thuc tnh : tn dng c (th hin chc nng ca dng c ),
kch thc, v tr ca dng c trong phn xng ti mt thi im cho, trng lng, trng
thi s dng, v.v...
Lp c tool khai bo nh sau :
( literalize tool name size weight position state )

Mt lut c th tham chiu n mt i tng ca lp dng c nh mt b lc (filter) nh


sau :
( tool name englishkey position rack-A size 21 )

106

H chuyn gia

y l mt danh sch m phn t u tin l tn lp, phn cn li l mt dy cc cp


thuc tnh / gi tr. Cc thuc tnh c phn bit vi gi tr tng ng bi mt du mi tn
ng trc (trong phin bn OPS5 chy trong MS-DOS, du c thay bng du m ^).
Th t xut hin cc thuc tnh khng nht thit phi tun theo khai bo lp trc . Trong
v d trn, name englishkey cho bit thuc tnh name c gi tr l englishkey.
Gi tr ca mt thuc tnh hoc l mt nguyn t s hay k hiu, hoc l mt vect cc
nguyn t. Tuy nhin, mi lp ch c duy nht mt thuc tnh c gi tr l vect, gi tt l
thuc tnh vect. Thuc tnh vect ny c khai bo bi lnh vector-attribute, s thnh phn
ca vect thay i ty theo cc i tng khc nhau ca lp, nhng phi nh hn mt gii
hn no . Chng hn ta c th khai bo mt thuc tnh vect trong lp dng c trn y :
( vector-attribute position )

V d sau y cho php tham chiu n thuc tnh vect position ca lp tool, mt vect
c 2 thnh phn v mt vect c 4 thnh phn :
( tool name pipekey position cupboard hook-45 )
( tool name crowbar position settled localcoordinate 124 66 )

Ngi s dng c th xy dng mi quan h gia cc lp cho : gi tr mt thuc tnh


ca mt lp ny c th l mt i tng, hay mt vect cc i tng, ca mt lp khc.
V d :
( literalize rack name content )
( vector-attribute content )

Lp rack c th c thuc tnh content l mt vect gm cc dng c nh trong s kin sau


:
( rack name key-rack content crowbar pipekey englishkey1 engliskey2 )

OPS5 cn mt lnh khai bo khc l external dng khai bo cc hm bn ngoi dng


cho ng dng (c th c vit trong mt ngn ng h tr cho OPS5 nh MACLISP,
FRANZLISP hay BLISS, ty theo phin bn ci t ca OPS5).
Ch rng, so vi OPS-83 (phin bn pht trin t OPS5), OPS5 rt yu v nh kiu.
OPS5 khng kim tra kiu i tng lc khai bo ban u. OPS5 khng a ra cc thng bo
li khi din dch chng trnh OPS5 m gp cc sai st v kiu. Chng hn vic thc hin
mt php tnh s hc trn mt thuc tnh kiu k hiu tr v mt kt qu sai m khng gy ra
li.
Sai st thng hay xy ra, k c i vi nhng ngi s dng thnh tho OPS5, h c
th tham chiu n hay to ra cc s kin m khng thuc vo mt lp khai bo no. Mt
thuc tnh vect khng c khai bo ng, c th c OPS5 chp nhn nhng thng gy
ra sai st khi thc hin. Vic tham chiu n mt thuc tnh cha c khai bo trong bt k
mt lp no cng gy ra mt thng bo li.

II.2.3. C s lut (rb)


Trong cc h thng da trn lut, cc lut lm nn tng cho mi hot ng ca h thng,
gip ngi pht trin h thng hiu bit mt cch tng tn v cch lm vic ca h thng.
Cc lut trong OPS5 c cu trc hai thnh phn IF-THEN. Thnh phn IF l phn bn
tri lut (LHS), c nhim v so khp cc mu vi cc s kin trong WM quyt nh lut
c c tun th hay c chn ra (fired) hay khng. Thnh phn THEN l phn bn phi
lut (RHS), quyt nh mi hot ng ca h thng : trao i vi b nh lm vic WM, vora thng tin, xy dng cc lut mi v gi thc hin cc th tc vit trn mt ngn ng khc.
Mi lut OPS5 c nh ngha bi lnh p c c php nh sau :

H chuyn gia MYCIN v ngn ng OPS5

107

( p rule-name
left-member right-member )

trong :
tn lut,
iu kin, cn c gi l cc mu so khp (patterns) my suy din
tin hnh so khp (match),
right-member hnh ng (actions) c trin khai khi iu kin tha mn,
ngn cch phn bn tri v phn bn phi lut.
du
V d, chn on mt ngi mc bnh cm cm, ta vit lut sau :
rule-name
left-member

(p

camcum
( benh

sot
mui
dau
non

sotcao
khorat
daudau
buonnon )

( write(crlf) | Chan doan : Ban da bi benh cam cum | )


( write(crlf) | Xu ly : Ban nen cat thuoc theo bai thuoc sau :| )
( write(crlf) | Tia to : 10g ; Huong nhu : 10g ; Vo quyt : 10g; | )
( write(crlf) | Gung kho : 0,4g ; Cam thao dat : 10g. | )
( write(crlf) | Sac voi 400ml nuoc con lai 200ml, uong luc con am | ))

Lut camcum trn c chn ra khi phn bn tri lut c so khp tha mn vi cc
thnh phn trong b nh lm vic WM, tc l c tnh trng sotcao, khorat, daudau, binon.Khi
, phn bn phi lut s c thc hin : in ra bnh m bnh nhn mc phi v bi thuc
cha tr.

a. Thnh phn bn tri lut : left-member


L mt danh sch m t b lc trn cc s kin ca c s s kin fb, gm :
Tn mt lp i tng l mt nguyn t nm u danh sch.
Cc thuc tnh m mi thuc tnh l mt k hiu c bt u bi du .
Cc bin, mi l mt k hiu nm gia cc cp < >.

Cc quan h i s gia cc thuc tnh :


= bng nhau,
<> khc nhau,
v cc php tuyn or, hay php hi and ca nhng quan h ny.
V d, khai bo sau y :

( tool name <tool-name> position settled )

cho php lc tt c s kin ca lp tool m v tr position (thnh phn u tin ca thuc tnh
vect ny) c gi tr l settled. Bin <tool-name> c gn gi tr cho thuc tnh name. Khai
bo sau y :
( tool name englishkey size >= 12 position <place> )

lc cc s kin ca lp tool, c tn englishkey, c kch thc nh hn hoc bng 12. Bin


<place> c gn gi tr l thnh phn u tin ca thuc tnh position.
Khai bo :
( tool name << eyekey pipekey flat key >> size { <= 9 >=13 } )

lc tt c cng c c tn eyekey, hay pipekey, hay flat key (php tuyn), c kch thc nm
gia 9 v 13 (php hi).

108

H chuyn gia

Mt php tuyn ch c th tc ng ln cc hng s, hoc hng k hiu, trong khi , mt


php hi li c th tc ng ln bin, chng hn khai bo :
( tool size { <dim> >= 9 <= <weight> } )

cho php gn cho <dim> gi tr ca size v tha mn iu kin nm gia 9 v gi tr ca


bin <weight>. Php lc ny l hp l nu bin <weight> c mt trc quan h ny trong thnh
phn bn tri lut.
OPS quan nim mt iu kin l chc chn (positive) : iu kin l hp l (valid) nu
tn ti mt s kin trong fb c tha nhn qua php lc. Ngi ta c th khai bo mt iu
ph nh (negative) bng cch t mt du trc danh sch, chng hn :
- ( crowbar hold <object> )

l mt iu kin hp l nu khng tn ti mt s kin no ca lp crowbar m thuc tnh gi


mt gi tr khc nil.
Ngi ta c th kt hp mt tn vi mt iu kin chc chn : l mt bin cho php
tham kho n thnh phn bn phi lut mt s kin c lc bi iu kin ny. C php
kt hp mt tn vi mt iu kin chc chn nh sau :
{ <key1> ( tool name englishkey position settled ) }

hay :
{ ( tool name englishkey position settled ) <key1> }

Tm li, nhng hn ch chnh trn thnh phn bn tri lut nh sau


Tn bin xut hin u tin (t tri qua phi) khng th t sau bt k php ton no.
Nhng php ton hp l l : =, <> (khc nhau), v so snh nguyn t s. OPS5 khng
cho php thc hin cc php ton i s hay tnh gi tr mt hm ngoi vi trong thnh
phn bn tri.
Mt bin c th nhn gi tr l mt s kin c lc bi mt iu kin, hoc mt gi tr
ca mt thuc tnh v hng (scalar attribute) hay ch mt thnh phn ca mt thuc
tnh vect.

iu kin u tin ca thnh phn bn tri khng th ph nh (-).


b. Thnh phn bn phi lut right-member
Phn bn tri khng trc tip lm thay i gi tr trong b nh lm vic WM, m ch khi
cc thnh phn gi tr ca n c so khp ph hp vi cc s kin tn ti trong WM, cc
thnh phn ca phn bn phi s c thc hin.
Phn bn phi lut c th khi to, xa b hay sa i cc gi tr d liu trong WM.
OPS5 c tt c 15 hm m t s hot ng ca phn bn phi lut.
Ngi ta phn bit 5 kiu hm nh sau :
1. Cc hm lin quan n b nh lm vic WM, lm thay i c s s kin fb :
make
Khi to cc gi tr mi vo WM.
modify
Sa i cc gi tr m tn ti trong WM.
remove
Xa b cc gi tr v cc thnh phn trong WM.
2. Cc hm thao tc vo-ra v truy cp tp :
write
Nhp d liu l mt chui k t v/hoc mt bin.
accept
Nhp vo mt t d liu l mt s hoc l mt k hiu.
acceptline
Nhp vo mt dng d liu.

H chuyn gia MYCIN v ngn ng OPS5


default
Openline
Closefile

109

To ng dn vo-ra
(hu ht cc shell OPS5 t ng mc nh thit b vo-ra).
M v gn mt tn cho tp d liu tham chiu sau .
ng mt tp m.

3. Cc hm tnh ton s hc, lin kt bin - gi tr v gi hm ngoi vi :


compute
Thc hin cc php ton s hc.
genatom
To mt phn t hay mt k hiu mi.
litval
Tr v gi tr ca mt thuc tnh trong WM.
bind
Gn gi tr cho bin.
cbind
Gn mt gi tr trong WM cho mt bin.
substr
Tr v mt chui (xu) con.
call
Gi mt chng trnh con t bn ngoi vo shell OPS5.
4. iu khin m t suy din :
halt
Dng my suy din v dng chng trnh.
5. To cc lut mi :
build

To mt lut mi trong chng trnh.

II.2.4. C s s kin (fb)


Mi phn t ca fb l mt vec t gm 127 thnh phn, mi thnh phn ch c th nhn
mt gi tr nguyn t (s hoc k hiu). Thnh phn u tin nht thit phi l tn ca mt
lp i tng.
Trong giai on khai bo, OPS5 gn cho mi thuc tnh mt gi tr l mt s nguyn t
2..127 vi vai tr l ch s (index) c tham chiu n (bi lnh v m $litbind) m khng
thay i c. Gi tr ny c tnh ton cc (global) v khng thuc v mt lp no. Khi mt
thuc tnh c khai bo trong nhiu lp s tng ng vi mt ch s duy nht chung cho tt
c cc lp ny. Thut ton gn phi tha mn cc iu kin sau :
Mt thuc tnh vect c ch s ln nht trong tt c cc lp cha n : gi s j l gi tr
thuc tnh vect, th cc thnh phn j , j+1, ..., 127 s tng ng vi cc gi tr ca thuc
tnh vect.
Cng mt lp, cc thuc tnh c gn cc gi tr phn bit.
Cc thnh phn ca mt s kin mc nhin bng nil tr thnh phn u tin l tn ca lp,
l nhng thuc tnh mt cch tng minh c gn gi tr khi to mi hay thay i mt s
kin. Gi tr ca mt thuc tnh nhn c bng cch nh ch s (indexation) ln vect
tng ng vi s kin. K t l mt k hiu nh ch s. Sau l mt s nguyn trong
khong t 2 n 127, hay l mt tn thuc tnh kt hp vi n mt cch trc tip. Nu vng
mt , OPS5 xem nh ch s tng ng ny c tng ln mt (increment) truy cp n
thnh phn tip theo. Chng hn ba iu kin sau y :
( tool name <tool-name> size <tool-size> )
( tool 3 <tool-name> 4 <tool-size> )
( tool name <tool-name> <tool-size> )

l tng ng, nu cc thuc tnh name v size c gn cc gi tr nguyn l 3 v 4 tng


ng. Nu thnh phn th hai khng c gn (nil) , th ta nhn c iu kin tng ng
khc nh sau :

110

H chuyn gia

( tool nil <tool-name> <tool-size> )

Khi ci t mt h chuyn gia, ngi ta thng gp nhng bt li lin quan n tnh hiu
qu ca mt c s s kin fb, chng hn :

Cc s kin l mt danh sch phng (plate list) khng c cu trc.

Cc bin ch c th c gn gi tr l nguyn t (hay l cc s kin y nu l


tn ca mt iu kin). Ngi ta phi s dng nhiu bin thu nhn nhiu gi tr gn
cho mt thuc tnh vect.

Tnh ton cc ca cc thuc tnh : s nhm ln cc thuc tnh gia cc lp l mt sai


st nguy him v OPS5 khng cnh bo g. trnh sai st, cc thuc tnh ca cc lp
cn c t tn phn bit. Cc tn thuc tnh ny s gip tip cn n cc thnh phn
ca cc s kin mt cch tng minh. Ch nh s dng du tn thuc tnh
(ng ngay sau du ny) ly gi tr l phn t tip theo tn thuc tnh.
C s s kin c khi ng bi mt dy cc lnh make, chng hn:
( make tool name englishkey position rack-A size 21 )
( make tool name pipekey position cupboard hook- 45 )
( make tool name crowbars position settled localcoordinate 124 66 )

Ch rng cc thuc tnh v cc thnh phn thuc tnh vect ca mt lp khng phi
c nh ngha ht cho mi s kin.
Mi s kin ca fb c lu gi thi im to ra nh mt b m khi ng bt u t
gi tr 1 v tng ln 1 mi ln mt s kin mi c to ra, hay c s thay i s kin. Nh
vy, mi s kin c t tng ng vi mt s th t v ngi s dng c th ch nh n.
Chng hn, lnh :
(remove 1 3)

loi b cc s kin 1 v 3 ca fb. Lnh (wm) cho php xem ni dung ca fb.

II.2.5. B nh lm vic
B nh lm vic WM l ni lu tr cc gi tr s kin. Mi s kin trong WM c gi l
mt phn t nh vn hnh (working memory element). B nh lm vic c truy cp v
hot ng vi nhng kh nng nh sau :
Ngi s dng c th lu tr cc phn t nh vn hnh trong sut qu trnh son tho
chng trnh OPS5.
Ngi s dng c th thm, xa b hoc sa i cc s kin ca WM trong khi chng
trnh vn ang thc hin.
My suy din tin hnh so khp cc thnh phn bn tri lut ang xt vi cc phn t
nh vn hnh.
Trong qu trnh g ri (debugging), ngi s dng c th xem ni dung ca WM nh h
thng tng tc ca OPS5 (interactive shell), lnh (wm).

a. Cu trc b nh lm vic
B nh lm vic ca OPS5 c cu trc tng t bn ghi (record) trong cc ngn ng lp
trnh quen thuc nh Pascal, C, ... Tuy nhin, cu trc ca OPS5 n gin hn do mi trng
c th cha bt k kiu d liu no c xc nh ti thi im gn gi tr. Trong khi ,
Pascal hay C b hn ch bi vic gn kiu d liu ban u. Ngn ng OPS5 yu cu cc phn
t nh vn hnh phi c khai bo trong phn u tin ca chng trnh nh lnh literalize.

b. Khi to b nh lm vic

H chuyn gia MYCIN v ngn ng OPS5

111

lp trnh OPS5, ngi s dng cn khi to b nh lm vic WM gm cc lp d liu


v cc s kin. Vic to ra WM giai on ny c gi l bc khi to (literalization
section) cho mt chng trnh OPS5. Sau , s dng lnh make to ra cc phn t nh
vn hnh.
V d, khi to WM vi lp d liu h-s-xin-vic va c khai bo trn y, ta khi
to cc gi tr thuc tnh nh sau :
( make h-s-xin-vic

h-lt hong-th
tn ng
phi n
tui 21
a-ch 18-ong-ich-khim-da-nang
ngh-nghip gio-vin )

Mi khi WM c khi to, dng lnh :


( wm )

xem ni dung ca WM. xo ni dung ca WM, gi lnh :


( remove )

Do OPS5 lm vic ch din dch nn mi khi chng trnh c ti vo shell OPS5,


ni dung trc ca WM b xa sch s c khi to li, ngay c khi chy li cng mt
chng trnh. Kh nng ny lm cc chng trnh OPS5 chy nhanh hn v mi chng trnh
ch lm vic vi mt tp cc s kin c nh ngha ring.
OPS5 quan nim rng nu nh ni dung WM khng c xa sch th tt c cc s kin
vn cn tn ti mi khi chy chng trnh. Khi , kt qu thu c c th sai, hoc xut hin
li chy chng trnh.
Tuy nhin, ngi ta khng khi to WM ngay bn ngoi shell OPS5 m thng kt hp
khi to WM bng lnh make ngay trong cc lut ca chng trnh v iu ny s to ra mt
lng ln cc s kin y phong ph ch khng hn ch g tng lnh, khi to tng s
kin mt ngoi shell OPS5.

II.3.

Lm vic vi OPS5

II.3.1. Hot ng ca my suy din


My suy din OPS5 hot ng nh sau. u tin, cc s kin v bi ton do ngi s
dng cung cp c thu nhn t vo b nh lm vic WM. Sau , my suy din t ng
so khp cc thnh phn bn tri lut vi cc s kin lu tr trong WM quyt nh lut no
s s dng. Sau khi xc nh c lut, my s thc hin cc hnh ng trong phn bn
phi lut . My suy din s tip tc vng lp ca mnh vi cc lut k tip cho n khi
khng cn lut no trong chng trnh na. Ni cch khc, khi khng cn g so khp na,
my suy din s ngng v chng trnh kt thc ti .
S hot ng ca my suy din nh sau :
Begin { Inference Engine }

Nhp d liu vo b nh lm vic WM


While Cha ht lut Do Begin

Ly mt lut tip theo


So khp cc thnh phn bn tri lut vi cc phn t ca WM
If So khp thnh cng
Then Thc hin cc lnh bn phi ca lut
EndIf
End

112

H chuyn gia

End { Monitor }

II.3.2. Tp xung t v cch gii quyt xung t


Thng thng, mt chng trnh OPS5 ch cho php mt lut c s dng trong sut
mt vng lp ca my suy din. Nhng vn t ra l khng phi lc no my suy din
cng ch tm thy mt lut duy nht. Trong mt s trng hp, my suy din c th tm thy
nhiu lut m c cc thnh phn bn tri so khp ph hp vi cc s kin trong WM. Khi gp
tnh hung nh vy, my suy din phi la chn mt lut ph hp nht s dng. C th
tm tt qu trnh hot ng ca my suy din qua bn bc lp sau y :
1. My suy din lc ton b tp hp cc xung t.
2. Nu :
tp hp cc xung t l rng, hoc nu :
mt s lng ti a cc chu k c thc hin, hoc nu :
lut s dng trc l mt im dng hoc cha lnh dng halt nm bn phi
lut,
Th dng my suy din.
3. Nu khng, chn mt lut no trong tp hp cc xung t tu theo chin lc gii
quyt xung t ang p dng.
4. S dng lut chn : thc hin cc lnh nm bn phi lut.
bc 3, mt nhm cc lut c cc thnh phn bn tri c my suy din so khp ph
hp vi WM c gi l tp xung t (conflict set). Sau khi tp xung t c to ra, bc
tip theo, my suy din cn chn mt lut thc hin bng cch s dng mt trong hai
chin lc gii quyt xung t (conflict resolution strategy) l LEX (LEXicographical
ordering) v MEA (Means-Ends Analysis).
Cc chin lc gii quyt xung t LEX v MEA s dng mt th thi gian (time tag, i
khi cn c gi l th tip cn, access tag) l mt con s gn cho mt phn t ca WM. S
ny c ngha khi mt phn t ca WM c to ra hay va mi c sa i.

a. Chin lc gii quyt xung t LEX


LEX l chin lc gii quyt xung t mc nh (default) ca mi trng OPS5. Mi ln
cn gi LEX, s dng lnh :
(strategy lex)

bng cch hoc g trc tip ti du nhc lnh, hoc t phn bn phi mt lut. Chin lc
LEX gii quyt xung t qua bn bc nh sau :
1. Loi b (discard, hay refraction) cc lut trong tp xung t c chn ra trn cng
mt d liu. Nu ch cn li mt lut trong tp xung t th ly lut thc hin,
nu khng th thc hin bc tip theo.
2. Sp xp cc thnh phn bn tri theo th t gim dn ca cc th thi gian v so snh
tt c cc th thi gian . Sau so snh cc thnh phn bn tri ca cc lut trong
tp xung t tm ra lut c thnh phn va mi lm bin i (altered) WM. Nu tm
c lut c cc iu kin khp vi cc phn t ca WM c th thi gian mi nht th
chn n thc hin. Nu c rng buc xut hin th loi tr tt c cc lut khng c
rng buc t tp xung t v tip tc bc tip theo.
3. Da trn cc thuc tnh vhoc cc bin, so snh cc iu kin ca cc lut cn li theo
nguyn tc lut no c nhiu mu so khp hn th lut quan trng hn. Nu ch cn
li mt lut trong tp xung t th chn n. Nu c rng buc xut hin th loi tr tt
c cc lut khng c rng buc trong tp xung t v tip tc bc tip theo.

H chuyn gia MYCIN v ngn ng OPS5

113

4. Nu sau khi thc hin cc bc trn m vn cn nhiu lut trong tp xung t th chn
ngu nhin (selected randomly) mt lut v thc hin n.

b. Chin lc gii quyt xung t MEA


MEA khng phi l chin lc gii quyt xung t mc nh ca OPS5. Khi cn s dng
MEA, s dng lnh :
(strategy mea)

MEA gii quyt xung t qua nm bc, trong bc 1, bc 4 v bc 5 tng t


chin lc LEX :
1. Loi b cc lut trong tp xung t c chn ra trn cng mt d liu. Nu ch
cn li mt lut trong tp xung t th ly lut thc hin, nu khng th thc
hin bc tip theo.
2. Ch so snh iu kin u tin ca cc lut trong tp xung t tm xem lut no c
dng iu kin u tin va lm thay i WM. Vic so snh c tin hnh cho tt c
cc th thi gian ca cc phn t trong WM so khp vi iu kin u tin. Nu
tm c lut c iu kin u tin khp vi cc phn t ca WM c th thi gian
mi nht th chn n thc hin. Nu c rng buc xut hin th loi tr tt c cc
lut khng c rng buc t tp xung t v tip tc bc tip theo.
3. So snh t iu kin th hai tr i ca cc lut trong tp xung t tm xem lut no
lm thay i WM c th thi gian mi nht. Vic so snh da theo th t gim dn
ca cc th thi gian i vi iu kin th hai. Lut no c th thi gian mi nht
c chn ra. Nu c rng buc xut hin th loi tr tt c cc lut khng c rng
buc t tp xung t v thc hin bc tip theo.
4. Da trn cc thuc tnh vhoc cc bin, so snh cc iu kin ca cc lut cn li
theo nguyn tc lut no c nhiu mu so khp hn th lut quan trng hn. Nu
ch cn li mt lut trong tp xung t th chn n. Nu c rng buc xut hin th
loi tr tt c cc lut khng c rng buc trong tp xung t v tip tc bc tip
theo.
5. Nu sau khi thc hin cc bc trn m vn cn nhiu lut trong tp xung t th chn
ngu nhin mt lut v thc hin n.

c. La chn chin lc gii quyt xung t


Chin lc LEX n gin hn chin lc MEA v LEX khng ch trng n th t cc
iu kin trong phn tri lut, trong khi , chin lc MEA cho php nhm cc lut thnh
cc n th (modules). Cc n th gip gim bt tnh phc tp ca mt chng trnh v do
c s dng lp trnh OPS5. Chin lc MEA cho php iu khin bn trong nh
cch thao tc gin tip trn lut.
Chin lc MEA cng cho php ngi lp trnh so khp mt nhm cc lut vi cc phn
t WM ti nhng thi im xc nh. Ni cch khc th mt chng trnh c th kch hot
mt nhm cc lut thng qua vic truy cp cc phn t WME, to ra th thi gian ca thnh
phn c truy cp mi nht. Chin lc MEA gip cho vic lm gim bt dung lng ca
tp xung t v thi gian cn thit thc hin lut.
Thng thng khi xy dng mt chng trnh OPS5, ngi ta hay s dng chin lc
LEX mc nh gii quyt xung t. Tuy nhin, i vi cc chng trnh c tp xung t
ln, k thut chng trnh phc tp th ngi ta hay s dng chin lc MEA lm cho
chng trnh chy nhanh hn, gii quyt cc vn c tnh quy m hn.

114

H chuyn gia

II.3.3. Lnh v php ton ca OPS5


a. Mt s lnh OPS5
Sau khi khai bo kiu d liu, nh ngha cc c s lut rb v c s s kin fb, ngi s
dng c th vit cc dng lnh chng trnh khai thc cc lut trong ch tng tc. Sau
y l mt s lnh thng dng :
( run k )
khi ng my suy din hot ng ti a k chu k,
( run 1 ) cho php chy tng bc,
( run )
chy khng hn ch s chu k.
( back k )
cho php tm li trng thi ca c s s kin fb trc k chu k
so vi chu k hin hnh, k 32 v mt trong k lut trc
c chn ra khng gi n cc hm t bn ngoi.
( watch i )
nu i = 1, lit k kt qu cc lut c chn ra,
nu i = 2, lit k tt c cc thay i trong c s s kin fb.
( break r1 ... rN ) to im dng ti cc lut r1, ..., rN : sau khi mt trong
cc lut ny c chn ra, my suy din dng li cho n khi
c s can thip, bi ( run k ) chng hn. Lnh ny c tc dng
tng t lnh halt t bn trong v phi lut.
( excise r1 ... rN ) loi b cc lut r1, ..., rN khi c s lut rb.
( pm ), ( wm ), ( cs )
xem ni dung ca fb, rb, wm v tp xung t tng ng.

b. Cc php ton ca OPS5


OPS5 thc hin cc php ton s hc nh cng (+), tr (-), nhn (*), chia (//) v ly phn
d (\\) nh lnh compute t phn bn phi lut. Lnh compute cn c ti thiu hai i s v
mt php ton. Cc i s c th l cc s (cc hng) hoc cc bin. Kt qa ca cc php
tnh ton s hc c lu tr trong WM.
V d, im trung bnh cho ba mn thi Ton, L v Ha ca mt hc sinh c tn l Minh
c tnh ton nh cc cu lnh OPS5 nh sau :
( literalize ketquathi tenhs lop toan ly hoa diemtb )
( make ketquathi

tenhs minh
lop 10d
toan 8
ly 7
hoa 8
diemtb ( compute (( toan+ly+hoa )//3 ))))

Gi tr ca php ton c tnh ton v c lu tr trong WM trc khi thc hin lnh
make. Nhng lp trnh vin OPS5 nhiu kinh nghim c th thc hin cc php ton phc tp

bng cch gi cc th tc t bn ngoi OPS5, chng hn gi cc hm vit trong C. Kt qu tr


v c th l cc tham i ca chng trnh hoc cc tp d liu kt qu.

c. Yu t chc chn
Hu ht cc h chuyn gia cho li khuyn hoc gii quyt mt vn no vi kt qu
c chnh xc c o bi chc chn CF. Gi tr ca CF thay i t -1, ng vi sai chc
chn, n +1, ng vi ng chc chn. Gi tr CF=0 cho bit khng bit, gi tr m th
hin khng tin cy vo gi thuyt trong khi gi tr dng th hin tnh chc chn s tin
cy vo gi thuyt.

115

H chuyn gia MYCIN v ngn ng OPS5

C th sai

CF

-1

C th ng

Sai chc chn

Khng bit

1
ng chc chn

Hnh 4.5. Phm vi gi tr ca nhn t chn chn CF

Trong OPS5, t chc chn khng phi l xc sut, m l cc o khng hnh thc v
s tin tng hay tin cy vo mt vn . th hin tin cy ny, ngi thit k chng
trnh thng thm vo mt s kin mt gi tr CF ph hp. V d, hai s kinhm nay c
kh nng tri s ma v hm nay tri ma, CF=0.6 c ngha nh nhau. Gi tr CF=0.6
c hiu l c kh nng.
Ngi ta cng dng h s CF trong lut th hin quan h khng chc chn gia iu
kin trong phn bn tri lut v hnh ng trong phn bn phi lut.
nu
c my en
V d :
th

tri s ma

CF=0.8

c hiu l nu c my en th gn nh chn chn tri s ma.

II.4.

nh gi v pht trin ca OPS5

II.4.1. nh gi
OPS5 l mt ngn ng xy dng h chuyn gia kh tiu biu. OPS5 mang y nhng
u im ca mt ngn ng da trn lut khi thit k mt chng trnh h chuyn gia :

Mi trng thit k cho cc ngn ng da trn lut khng phc tp do cu trc lut IFTHEN n gin, d hiu v d s dng, d qun l cc s kin c lu tr trong b nh
lm vic.

Mi lut biu din c lp mt lng kin thc ring, thun tin trong vic kim tra, cp
nht v s dng.

S tch bit gia cc lut cho php b sung cc lut mi, to iu kin m rng d dng
cc tri thc trong h thng tri thc ang xt .

My suy din c nhng v n trong h thng, ngi s dng khng th lm thay i


my suy din.
Tuy nhin, bn cnh nhng u im trn y, cc ngn ng da trn lut cng c nhng
hn ch nh :

Cc lut thng theo mt hng duy nht : theo hng suy lun tin hoc theo hng suy
lun li.

H thng vn hnh nng n do phi so khp mu v gii quyt xung t. Cng gii quyt
mt vn , OPS5 thc hin chm hn so vi ngn ng C hoc ngn ng Pascal.

H chuyn gia cng ln cng nhanh chng tr nn phc tp : vi mt h thng c nhiu


lut, s gia tng iu khin dn n chng trnh d b h hng v kh theo di.

II.4.2. Pht trin ca ngn ng OPS5


OPS5 c s dng thnh cng xy dng nhiu h chuyn gia. Tuy nhin, nhc
im ca OPS5 l khng c tnh kt hp gia chng trnh da trn lut vi mt chng
trnh theo dng mnh lnh. khc phc, Tin s Charles Forgy, tc gi ca OPS5, pht
trin OPS5 thnh mt ngn ng mi l OPS8.

116

H chuyn gia

Khc vi trnh din dch OPS5, OPS83 l mt trnh bin dch (compiler), cho php giao
tip vi cc ngn ng khc mt cch d dng, chng hn ngn ng C. V vy, tri thc ca h
chuyn gia v giao din ngi dng c thit k thun tin v hiu qu.
Tng t ngn ng C, Pascal,trong mt chng trnh OPS83, ngi s dng khng
nhng c th thc hin cc vng lp FOR, WHILE, m cn c th gi hm v th tc. Tuy
nhin, khc vi C, Pascal, ..., OPS83 l mt ngn ng thit k h chuyn gia da trn lut,
nn OPS83 cn cho php xy dng cc lut.
OPS83 l phin bn hon thin ca OPS5, va cho php thit k h chuyn gia da trn
lut, va cho php xy dng mt giao din ho linh ng to iu kin thun li trong vic
giao tip gia ngi s dng v h chuyn gia.

H chuyn gia

Ph lc A

117

Hng dn s dng OPS5

Using the Workbench


Copyright (C) Inference Engine Technologies 1988,89. All rights reserved.
Tools in the Workbench
The Workbench has been designed to make the development of OPS5 programs easier. The
Workbench display consists of a top line displaying the product name and version, and the
current active rule set name. The top line also functions as a message display line.
The second line on the screen is the main choice list. The choice list allows easy selection of
one of the built in tools. When the Workbench is first entered, the Interp choice is
highlighted. To select a choice, use either the left or right cursor keys to move the highlight to
the desired choice. Then type enter, and the highlighted choice will be activated. To exit from
any active choice, simply type Esc. You are then free to select another choice.
All choices may also be selected from within the active interpreter by typing cntl and the
capitalized letter in the desired choice. For instance, to get help, type Ctrl-l. Choice list
options prefixed by an exclamation point are 'Alt' commands and may be executed from
within the interpreter by typing alt and the capitalized letter of the desired choice.
The following is a list of the possible choices:
Interp
The main Sienna OPS5 interpreter
Edit
The Sienna Editor
heLp
Sienna OPS5 language summary
Wm
Pop-up window to display working memory
Cs
Pop-up window to display the conflict set
Options
Pop-up window to display and alter options
!Run
Alt command to run OPS5
!Step
Alt command to single step OPS5
!Halt
Alt command to abort a running program
!Back
Alt command to back up 1 rule firing
Pbreak
Pop-up window to display all current break points
Rules
Pop-up window to display active rules and operators
exit
Exit the Sienna OPS5 Workbench
1.
The Two Sections of the Screen.
In addition to the top two workbench lines, the main window is divided into upper and lower
sections, separated by a double horizontal line. The upper window is where all screen output
from a running program is displayed (via WRITE), and where all input to the program (via
ACCEPT or ACCEPTLINE) is read from. The lower window is where all interaction with
the interpreter occurs. This is where top-level commands are entered and where trace and
debugging information is displayed.
Each window is actually the full size of a screen, with only a portion being displayed at any
one time. The position of the double horizontal line may be adjusted at any time that input
can be entered. To move the line up, type ctrlu, and to move the line down, type Ctrl-D
Function key F-2 will swap the position of the line about the center of the screen.
To display the entire program output screen (upper window) with nothing else displayed, type
F-4. To display the entire lower window, type F-5.

118
Key Summary:
Ctrl-L
Ctrl-E
Ctrl-W
Ctrl-C
Ctrl-O
Ctrl-P
Ctrl-R
ALT-R
ALT-S
ALT-H
ALT-B
Ctrl-D
Ctrl-U
F1
F2
F4
F5

H chuyn gia

Display the HELP screen


Invoke the full screen editor
Pop-up the working memory brouse window
Pop-up the conflict set browser
Pop-up the Options window
Pop-up the Breakpoint window
Pop-up the Rules window
Run the rules
Single step
Halt rule firings
Back the interpreter up one rule firing
Move the double dividing line down
Move the double dividing line up
Display the OPS5 help window
Flip the dividing line about the center of the screen
Display the upper screen only
Display the lower screen only

2.
Interp: The OPS5 Interpreter
The OPS5 interpreter is where you will spend most of your time. It can be entered only by
moving the highlight to the Interp choice and typing enter.
If you have had experience with LISP implementations of OPS5, then you should feel
comfortable in the Sienna OPS5 interpreter environment, since all of the same top-level
commands are available, and work the same way. In addition to the standard commands are a
few that are unique to Sienna OPS5, and among the standard commands are some that are
additionally available through pop-up windows.
Choice list functions which are preceded by an exclamation point -- !Run !Step !Halt !Back;
are top level 'Alt' commands, and produce an immediate action. To invoke one of these
commands, type alt and the first letter of the desired 'alt' command. The other entries on the
choice list are 'Ctrl' commands (except for Interp and exit) which can be invoked by typing
ctrl followed by the capitalized letter in the command name. The ctrl commands cause a popup window to be displayed containing information specific to the command. alt and ctrl
commands are dispatched immediately. Even if an OPS5 command has been entered at the
command prompt, if a ctrl/alt command is invoked, it is immediately executed. The command
that was typed at the OPS5 prompt will not be evaluated until the enter key is pressed. Both
alt and ctrl commands are further described below.
3.
Edit: How and When to Enter the Editor
The editor may be invoked by any one of four methods:
1. By moving the choice menu highlight to Edit and typing enter.
2. When in the interpreter, by typing Ctrl-E.
3. When in the Rules window, by selecting the Edit option, selecting a rule, and typing enter.
4. When loading a file into the interpreter, if a syntax error is found and the second
parameter of the load function is 'T', the editor is invoked automatically with the cursor
placed on the line where the error was detected.
When the first two methods are used, the editor buffer which was last displayed, or last
loaded, will be the active buffer. If no files have been loaded into the system, then the default
scratch buffer will be active.

Ph lc A

Hng dn s dng OPS5

119

When the third method is used to invoke the editor, the buffer containing the selected rule is
made active and the top of the screen is positioned at the beginning of the selected rule. The
editor can be exited at any time by pressing esc.
4.
Help: Using the Help Screen
The help screen provides one screen of help, which is available either by selecting the help
option on the choice list and pressing enter, or, when the interpreter is active, by typing Ctrl-L.
Information on the Help screen is divided into three categories: commands, actions, and RHS
functions. The commands category includes commands that can be entered at the top-level. In
addition to those listed, any action preceded by an asterisk in the actions list can also be
entered at the top level. The actions category are those actions that can be entered in the right
hand side of a rule. The RHS function category are functions which can be placed within
most RHS actions. The notational conventions of the help screen are as follows:
n
an integer number
p1
the name of a production
s
a symbol
v
a variable
< x x ...>
optional arguments
/
select one of the listed
[ .. ]
one of the included options is required.
The heLp screen is meant to be a reminder of the most-used language elements and gives an
indication of the syntax.
Press any key to exit the help window.
5.
Options: Setting OPS5 Options
The Options window may be selected by either moving the choice list highlight to Options
and pressing enter, or, when in the interpreter, by typing Ctrl-O. The Options window
displays the current settings of the strategy, watch level, delay level, echo status, and the
default file settings.
The strategy, watch, delay and echo status may be changed in the options window. You can
select the item to change by pressing either the cursor up or cursor down keys. When you
have selected the item to change, one of the allowable values for that item may be selected by
pressing the left or right cursor keys. The strategy, watch and delay options are also top level
commands.
The default files section displays the currently active files for the trace, accept and write files.
To change these values you must use the OPENFILE and DEFAULT actions at the top-level.
To leave the Options window, press the esc or enter key.
6.
Wm: Displaying the Contents of Working Memory
The Wm (Working Memory) window may be displayed by selecting the Wm option from the
choice list and pressing enter, or by typing Ctrl-W whenever text input can be entered, when
the Cs window is displayed, or when the Rules window (but no other) is displayed.
The current contents of working memory are displayed in order of recency, with the latest
addition to, or change of, working memory being displayed first.
The bottom of the window lists the active keys for the window. If there are more WMEs in
working memory than can be displayed in the window, the cursor up, cursor down, page up,
page down, home and end keys can be used to move through the rest of working memory. If
the WMEs are too long to be displayed in the window, the left cursor and right cursor keys
can be used to shift the window contents left and right.
To exit the window press esc.

120

H chuyn gia

7.
Cs:
Displaying the Conflict Set Entries
The Cs window is invoked by selecting the CS option from the choice list, by typing ctrl-c
whenever text input can be entered, or when the Wm or Rules window, but no other are
displayed. The Cs window displays the contents of the current conflict set, sorted in the order
in which the rule instantiations would fire. Displayed with the name of the instantiated rule is
the list of time tags of instantiating WMEs for the rule. Given the instantiating WME time
tags, the Wm window can be invoked to look up the actual working memory elements.
If there are more conflict set entries than can be displayed in the window at one time, the
cursor up, cursor down, page up, page down, home and end keys may be used to view the rest
of the entries. The cursor left and cursor right keys can be used to scroll the window to the
left and right as needed.
To exit the window, press esc.
8.
!Run -- Using the Run Choice
The !Run choice can be selected with the choice list highlight, or can be invoked by typing
Alt-R from within the interpreter. This has the same effect as typing "(RUN)" at the OPS5
prompt. The interpreter begins running and continues until no productions are instantiated or
a halt action or break point is encountered.
Note that, when within the interpreter, typing alt-R causes the interpreter to be run
immediately. Commands which may have been entered at the OPS5 prompt are not evaluated
unless enter has been first pressed from within the interpreter.
9.
!STEP -- Single Stepping Through Your Program
The !Step commands can be invoked by moving the highlight to that option and pressing
enter, or by typing alt-s from within the interpreter.
The action of the !Step command is to fire 1 production from the conflict set. It is
functionally equivalent to typing (RUN 1) at the OPS5 prompt, but somewhat more
convenient.
Commands entered but not evaluated are not evaluated by the !Step command.
10.
!HALT:
How to Stop a Runaway Program
The !Halt commands can be invoked either by selecting it in the choice list menu, or by typing
Alt-H while a program is running. However, since the !Halt commands is useful only while the
interpreter is running, and it is not possible to select an option with the highlight during that
time, the only meaningful way that the command can be invoked is by typing Alt-H.
The !Halt command is functionally equivalent to the evaluation of a Halt action in the RHS of
a production. When the !Halt command is executed the interpreter is halted immediately after
the current rule has completed firing, and control returns to the top level.
11.
!BACK: Running Backwards -- Undoing Rule Firings
The !Back commands can be selected from the choice list by moving the highlight to the
option and pressing enter, or by typing alt-b from within the interpreter.
The !Back command is functionally equivalent to typing (BACK 1) at the OPS5 prompt. The
interpreter is backed up one rule firing and the system is restored to the state prior to the last
rule firing.
The action of this command is immediate. Any commands entered at the OPS5 prompt but
not yet evaluated by typing enter are not evaluated by invoking this command.

Ph lc A

Hng dn s dng OPS5

121

12.
PBREAK: Listing Break Points
The Pbreak option opens a window which displays all currently set break points. The option
can be selected from the menu by highlighting the option and pressing enter, or by typing
CNTl-p from within the interpreter.
Break points cannot be set or cleared with this option, use the Rule window instead. If no
break points have been set then the message "** no break points set **" is displayed in the
window. To close the window and exit, press Esc. To set or clear break points use either the
rules window or the pbreak command.
13.
RULES: Displaying and Manipulating Rules
1.
How to use the Rules screen
The Rules window can be invoked by selecting the Rules choice with the highlight and
pressing enter, or by typing Ctrl-R whenever text input can be entered or while the Wm or
Cs windows are displayed.
The Rules window displays a list of the compiled rules and allows one r of four operations:
Edit, Matches, Pbreak, and Excise, to be applied r to the selected rule. To select a rule, use
the cursor up and cursor r down keys to highlight the desired rule. When there are more rules
r than can fit on one rules screen, you can also use the page up, page r down, home and end
keys to view the rest of the rules. If rule names r are too long to fit within the window, the
Ctrl-Cursor-Left and r Ctrl-Cursor-Right keys can be used to view the truncated portion of r
the rule names.
To select one of the four operations to apply to the selected rule, r uses the Cursor-Left and
Cursor-Right keys to make you choice, and r then press enter.
To summarize the Rules window keys and their actions:
Cursor up
move rules highlight bar up
Cursor down
move rules highlight down
Page up
scroll up one window
Page down
scroll down one window
Home
to top of rules
End
to bottom of rules
Ctrl cursor left
scroll window left
Ctrl cursor right
scroll window right
2.
EDIT: Editing a rule
A rule may be edited by selecting the edit option along with a r particular rule. When enter is
pressed Sienna Edit is entered. The r buffer that contains the rule is made the active buffer,
and the top r of the buffer window is placed at the top of the selected rule. If r the rule cannot
be found, then an error message is displayed.
A rule will not be found if the edit buffer containing the rule does r not exist, or if the rule
text has been deleted.
3.
MATCHES: Displaying WMEs that match a rule
The Matches option performs the same task as the matches command r from the OPS5
prompt. When the Matches option is used from the rules r window is used, however, a
window is opened and the matches for the r rule are displayed in the window. If there is more
information than r can be displayed at one time in the window, then any of the special r keys
listed at the bottom of the window can be used to browse through r the display.
Some care should be exercised when using the Matches option. The r matches information,
when displayed in the window, must be formatted r into a data structure in order to allow
browsing through the list. If r the matches of a rule which creates large cross products of

122

H chuyn gia

objects is r displayed, the resulting space needed to preformat the information r could exceed
available memory. If you suspect that this will be the r case, then use the matches command
at the OPS5 prompt instead.
To close the Matches window, press esc.
4.
PBREAK:
Setting and clearing break points
The Pbreak option allows you to easily set and clear break points r on rules. To set or clear a
break point, select Pbreak with the r highlight, select the rule you want to set/clear, and press
the enter r key. A message will be displayed at the top of the screen.
When a rule has a break point set on it, an asterisk is visible to the r left of the rule name.
When the break point is cleared, the asterisk ris cleared also.
5.
EXCISE: Purging rules from the Knowledge Base
The Excise option can be used to purge a rule from the RETE network. To excise a rule,
select the rule in the Rules window, select the Excise option, and press enter. A window will
appear to verify that you want the rule excised. If you do, then type 'Y'. If not, just press enter
or esc to cancel the operation.
Excising a rule from the RETE network does NOT delete the rule text from the edit buffer, if
it exists in one.
14.
EXIT: Leaving the Workbench
To exit the workbench you must select the exit option on the main choice list, and then press
enter. If you are in the interpreter, the editor, or any other selection, then you must first return
to the choice list by pressing esc.
Upon exit, if any edit buffers have been altered since being last saved, a warning is given
along with the chance to abort the exit. You may then enter the editor and save the modified
buffers by pressing F-4 within each buffer.

http://www.haley.com/3173193312476179/ReteAlgorithm.html

H chuyn gia

123

Ph lc B

Mt s h chuyn gia

Historical Projects
A number of major projects are now considered completed work; their goals have been met,
and our research attention has moved on to new areas.
DENDRAL (1965-83)
The DENDRAL Project was one of the earliest expert systems. DENDRAL began as an
effort to explore the mechanization of scientific reasoning and the formalization of scientific
knowledge by working within a specific domain of science, organic chemistry. Another
concern was to use AI methodology to understand better some fundamental questions in the
philosophy of science, including the process by which explanatory hypotheses are discovered
or judged adequate. After more than a decade of collaboration among chemists, geneticists,
and computer scientists, DENDRAL had become not only a successful demonstration of the
power of rule-based expert systems but also a significant tool for molecular structure
analysis, in use in both academic and industrial research labs. Using a plan-generate-test
search paradigm and data from mass spectrometry and other sources, DENDRAL proposes
plausible candidate structures for new or unknown chemical compounds. Its performance
rivals that of human experts for certain classes of organic compounds and has resulted in a
number of papers that were published in the chemical literature. Although no longer a topic
of academic research, the most recent version of the interactive structure generator, GENOA,
has been licensed by Stanford University for commercial use.
META-DENDRAL (1970-76)
META-DENDRAL is an inductive prograrn that automatically formulates new rules for
DENDRAL to use in explaining data about unknown chemical compounds. Using the plangenerate-test paradigm, META-DENDRAL has successfully formulated rules of mass
spectrometry, both by rediscovering existing rules and by proposing entirely new rules.
Although META-DENDRAL is no longer an active program, its contributions to ideas about
learning and discovery are being applied to new domains. Among these ideas are that
induction can be automated as heuristic search; that, for efflciency, search can be broken into
two steps--approximate and refined; that learning must be able to cope with noisy and
incomplete data; and that learning multiple concepts at the same time is sometimes
inescapable.
MYCIN (1972-80)
MYCIN is an interactive program that diagnoses certain infectious diseases, prescribes
antimicrobial therapy, and can explain its reasoning in detail. In a controlled test, its
performance equalled that of specialists. In addition, the MYCIN program incorporated
several important AI developments. MYCIN extended the notion that the knowledge base
should be separate from the inference engine, and its rule-based inference engine was built on
a backward-chaining, or goal-directed, control strategy. Since it was designed as a consultant
for physicians, MYCIN was given the ability to explain both its line of reasoning and its
knowledge. Because of the rapid pace of developments in medicine, the knowledge base was
designed for easy augmentation. And because medical diagnosis often involves a degree of
uncertainty, MYCIN's rules incorporated certainty factors to indicate the importance (i.e.,
likelihood and risk) of a conclusion. Although MYCIN was never used routinely by
physicians, it has substantially influenced other AI research. At the HPP, MYCIN led to work
in TEIRESIAS, EMYCIN, PUFF, CENTAUR, VM, GUIDON, and SACON, all described
below, and to ONCOCIN and ROGET. The book Rule-Based Expert Sytem: The MYCIN

Ph lc B

Mt s h chuyn gia

124

Experiment at the Stanford Heuristic Programming Project describes the decade of research
on MYCIN and its descendants.
TEIRESIAS (1974-77)
The knowledge acquisition program TEIRESIAS was built to assist domain experts in
refining the MYCIN knowledge base. TEIRESIAS developed the concept of metalevel
knowledge, i.e., knowledge by which a program can not only use its knowledge directly, but
can examine it, reason about it, and direct its use. TEIRESIAS makes clear the line of
reasoning used in making a diagnosis and aids physician experts in modifying or adding to
the knowledge base. Much of this was incorporated into the EMYCIN framework. The
flexibility and understandability that TEIRESIAS introduced into the knowledge base
debugging process have been models for the design of many expert systems.
EMYCIN (1974-79)
The core inference engine of MYCIN, together with a knowledge engineering interface, was
developed under the name EMYCIN, or "Essential MYCIN." It is a domain-independent
framework that can be used to build rule-based expert systems for consultation problems such
as those encountered in diagnosis or troubleshooting. EMYCIN continues to be a primary
example of software that can facilitate building expert systems and has been used in a variety
of domains, both medical (e.g., PUFF) and nonmedical (e.g., SACON). The system has been
widely distributed in the U.S. and abroad and is the basis for the Texas Instruments software
system called Personal Consultant.
PUFF (1977-79)
The PUFF system was the first program built using EMYCIN. PUFF's domain is the
interpretation of pulmonary function tests for patients with lung disease. The program can
diagnose the presence and severity of lung disease and produce reports for the patient's file.
Once the rule set for this domain had been developed and debugged, PUFF was transferred to
a minicomputer at Pacific Medical Center in San Francisco, where it is used routinely to aid
with interpretation of pulmonary function tests. A version of PUFF has been licensed for
commercial use.
CENTAUR (1977-80)
The CENTAUR system was designed to experiment with an expert system that combines
both rule- and frame-based approaches to represent and use knowledge about medicine and
medical diagnostic strategies. For purposes of comparison, CENTAUR was developed for the
same task domain as PUFF, interpretation of pulmonary function tests. CENTAUR
performed well, demonstrating the effectiveness of this representation and control
methodology.
VM (1977-81)
The Ventilator Manager (VM) program interprets online quantitative data in the intensive
care unit (ICU) and advises physicians on the management of post-surgical patients needing a
mechanical ventilator to help them breathe. While based on the MYCIN architecture, VM
was redesigned to allow for the description of events that change over time. Thus, it can
monitor the progress of a patient, interpret data in the context of the patient's present and past
condition, and suggest adjustments to therapy. VM was tested in the surgical ICU at Pacific
Medical Center in San Francisco. Some of the program's concepts have been built directly
into more recent respiratory monitoring devices.

125

H chuyn gia

GUIDON (1977-81)
GUIDON is an experimental program intended to make available to students the expertise
contained in EMYCIN-based systems. GUIDON incorporates separate knowledge bases for
the domain itself and for tutoring, and engages the student in a dialogue that presents dornain
knowledge in an organized way over a number of sessions. Using the MYCIN knowledge
base as the domain to be taught, work in GUIDON explored several issues in intelligent
computer-assisted instruction (ICAI), including means for structuring and planning a
dialogue, generating teaching material, constructing and verifying a model of what the
student knows, and explaining expert reasoning. Although GUIDON was successful in many
respects, it also revealed that the diagnostic strategies and some of the medical knowledge
that were contained implicitly in the MYCIN rules had to be made explicit in order for
students to understand and remember them easily. As a result, a new expert system,
NEOMYCIN, has been developed.
SACON (1977-78)
SACON (for Structural Analysis CONsultant) was implemented as a test of the EMYCIN
framework in an engineering context. SACON advised structural engineers on the use of
MARC, a large structural analysis program, and has served as a prototype of many advisory
systems.
MOLGEN (1975-84)
The MOLGEN project has applied AI methods to research in molecular biology. Initial work
focused on acquiring and representing the expert knowledge needed to design and simulate
experiments in the domain. This led to the development of UNITS, described below. The
second phase of research resulted in two expert systems, representing distinct approaches to
the design of genetic experiments. One system used "skeletal plans," which are abstracted
outlines of experiment designs that can be applied to specific experimental goals and
environments. The other system was based on planning with constraints, in which planning
decisions are made in the spaces of overall strategy, domain-independent decisions, and
domain-dependent laboratory decisions, and the interaction of separate steps or subproblems
of an experiment constitute constraints on the overall problem. These two systems were later
synthesized into a third system, called SPEX. Current work, known as MOLGEN-II (see the
section "The Heuristic Programming Project"), is investigating the process of theory
formation in molecular biology.
UNITS (1975-81)
The frame-based UNITS system was developed in the MOLGEN project as a generalpurpose knowledge representation, acquisition, and manipulation tool. Designed for use by
domain experts with little previous knowledge of computers, it provides an interface that
allows the expert to describe both factual and heuristic knowledge. It contains both domainindependent and domain-specific components, including modified English rules for
describing the procedural knowledge. UNITS has been licensed by Stanford University for
commercial development.
AM (1974-80)
The AM program explored machine learning by discovery in the domain of elementary
mathematics. Using a framework of 243 heuristic rules, AM successfully proposed plausible new
mathematical concepts, gathered data about them, noticed regularities, and, completing this cycle,
found ways of shortening the statement of those hypotheses by making new definitions.
However, AM was not able to generate new heuristics. This failing was found to be inherent in
the design of AM; related work on discovering new heuristics was done as part of EURISKO.

Ph lc B

Mt s h chuyn gia

126

EURISKO (1978-84)
A successor to AM, EURISKO has also investigated automatic discovery, with a particular
emphasis on heuristics, their representation, and the part played by analogy in their discovery.
Several hundred heuristics, mostly related to functions, design, and simulation, guide
EURISKO in applying its knowledge in several domains. In each domain, the program has
three levels of task to perform: working at the domain level to solve problems; inventing new
domain concepts; and synthesizing new heuristics that are specific and powerful enough to
aid in handling tasks in the domain. EURISKO has been applied to elementary mathematics;
programming, where it has uncovered several Lisp bugs; naval fleet design, where it has
reigned undefeated in the Traveller Trillion Credit Squadron tournament; VLSI design, where
it has come up with some novel and potentially useful three-dimensional devices; oil-spill
cleanup; and a few other domains.
RLL (1978-80)
RLL (for Representation Language Language) is a prototype tool for building customized
representation languages. RLL is self-descriptive, i.e., it is itself described in terms of RLL
units. It has been used as the underlying language for EURISKO and other systems.
Contract Nets (1976-79)
The Contract Nets architecture is an early contribution to work on computer architectures for
parallel computation. Recently, it has received much attention in the emerging literature on
multiprocessor architectures for symbolic computation. In the Contract Nets architecture,
problem solving is distributed among decentralized and loosely coupled processors. These
processors communicate about task distribution and answers to subproblems through an
interactive negotiation analogous to contract negotiation in the building trades: the "contract"
is given to the processor that can handle the task at the lowest system cost, and failure to
complete a task results in its reassignment to another processor.
CRYSALIS (1976-83)
The CRYSALIS project explored the power of the blackboard model in interpreting X-ray
data from crystallized proteins. The overall strategy was to piece together the threedimensional molecular structure of a protein by successively refining descriptions of the
structure. Although the knowledge base was developed for only a small part of the problem,
the blackboard model with its hierarchical control structure was shown to be very powerful
for solving such highly complex problems. Results from CRYSALIS are currently being
incorporated in other KSL work and have contributed to improved models of control.
AGE (1976-82)
The AGE (for Attempt to GEneralize) project sought to develop a software laboratory for
building knowledge-based programs. AGE-1, the knowledge engineering tool that resulted, is
designed for building programs that use the blackboard problem-solving framework. It can
aid in the construction, debugging, and running of a program. AGE-1 has been used in a
number of academic laboratories and for various applications in industry and the defense
community.
QUIST (1978-81)
QUIST combines AI and conventional database technology in a system that optimizes queries
to large relational databases. QUIST uses heuristics embodying semantic knowledge about
the contents of the database to make inferences about the meanings of the terms in a query. It
reformultes the original query into an equivalent one whose answer can be found in the
database more efficiently. Then conventional query optimization techniques are used to plan
an efflcient sequence of retrieval operations.

127

H chuyn gia

GLisp (1982-83)
GLisp is a programming language that allows programs to be written in terms of objects and
their properties and behavior. The GLisp compiler converts such programs into efficient Lisp
code. The compiler has been released to outside users, along with the GEV window-based
data inspector, which displays data according to their GLisp description. GLisp is now being
distributed from the University of Texas.
Model of Endorsement (1982-85)
The model of endorsement represents and reasons with heuristic knowledge under
uncertainty. Instead of associating numerical weights with evidence, the model of
endorsement discriminates kinds of evidence and distinguishes the importance of different
evidence-gathering situations. Thus, this model's significance is that it examines the question
of how to reason about uncertainty, as well as with it. in expert systems.
AI Handbook (1975-82)
The Handbook of Artificial Intelligence was a community effort by KSL (formerly HPP)
students and researchers plus collaborators around the country. It describes the fundamental
ideas, useful techniques, and exemplary programs from the first 25 years of AI research.
Designed for scientists and engineers with no AI background. the three-volume Handbook
book contains some 200 articles organized into 15 chapters. Chapters cover such topics as
General Readings
Clancey, W. J., and E. H. Shortliffe. Readings in Medical Artificial Intelligence: The First
Decade. Reading, MA: Addison-Wesley, 1984.
Feigenbaum, E. A., and P. McCorduck. The Fifth Generation: Artificial Intelligence and
Japan's Computer Challenge to the World. Reading, MA: Addison-Wesley, 1983.
Hayes-Roth, F., D. A. Waterman, and D. Lenat, eds. Building Expert Sytems. Reading, MA:
Addison-Wesley, 1983.
Barr, A., E. A. Feigenbaum, and P. Cohen, eds. The Handbook of Artificial Intelligence,
Volumes 1-3. Los Altos, CA: Kaufmann, 1981, 1982.
Feigenbaum, E. A. The art of artificial intelligence: 1. Themes and case studies of knowledge
engineering. Proceedings IJCAI-77, pp. 1014-1029. (Also published in AFIPS Conf
Proceedings: 1978 Computer Conference. Montvale, NJ: AFIPS Press, 1978.)
AGE
Aiello, N., C. Bock, H. P. Nii, and W. White. AGE reference manual. Memo HPP-81-24
(Knowledge Systems Laboratory), October 1981.
Aiello, N., C. Bock, H. P. Nii, and W. White. Joy of AGing: an introduction to AGl system.
Memo HPP-81-23 (Knowledge Systems Laboratory), October 1981.
Nii, H. P. Introduction to knowledge engineering, blackboard model, and AGE. Memo HPP80-29 (Knowledge Systems Laboratory), March 1980.
Nii, H. P., and N. Aiello. AGE: a knowledge-based program for building knowledge-based
programs. Proceedings IJCAI-79, pp. 645-655.
AM
Davis, R., and D. Lenat. Knowledge-Based Systems in Artificial Intelligence: AM and
TEIRESIAS. New York: McGraw-Hill, 1982.
Blackboard Architecture
Blackboard Architecture Hayes-Roth, B. The blackboard model of control. Artificial
Intelligence, in press.
Hayes-Roth, B. BB-l: an environment for building blackboard systems. Memo HPP-8416
(Knowledge Systems Laboratory), 1984.

Ph lc B

Mt s h chuyn gia

128

Hayes-Roth, B. The blackboard architecture: a general framework for problem-solving?


Memo HPP-83-30 (Knowledge Systems Laboratory), May 1983.
CENTAUR
Aikins, J. S. Prototypical knowledge for expert systems. Artificial Intelligence 20(2):163-210
(1983).
Contract Nets
Smith, R. G. A framework for problem solving in a distributed processing environment.
Memo HPP-78-28 (Knowledge Systems Laboratory), December 1978. Also Stanford CS
Report STAN-CS-78-700, 1978.
CRYSALIS
Engelmore, R., and A. Terry. Structure and function of the CRYSALIS system. Proceeding
IJCA1-79, pp. 25256.
DART/HELIOS
Foyster, G. HELIOS user's manual. Memo HPP-84-34 (Knowledge Systems Laboratory),
August 1984.
Singh, N. MARS: a multiple abstraction rule-based simulator. Memo HPP-83-43 (Knowledge
Systems Laboratory), December 1983.
Joyce, R. Reasoning about time-dependent behavior in a system for diagnosing digital
hardware faults. Memo HPP-83-37 (Knowledge Systems Laboratory), August 1983.
Genesereth, M. R. Diagnosis using hierarchical design models. Proceedings AAA1-82, pp.
278-283.
Genesereth, M. R. The use of design descriptions in automated diagnosis. Memo HPP-81-20
(Knowledge Systems Laboratory), January 1981.
DENDRAL
[There have been more than 100 publications about DENDRAL, describing both the
chemical results obtained using the program and the AI issues explored.]
Lindsay, R. K., B. G. Buchanan, E. A. Feigenbaum, and J. Lederberg. Application of
Artificial Intelligence for Chemistry: The DENDRAL Project. New York: McGraw-Hill,
1980.
Gray, N. A. B., D. H. Smith, T. H. Varkony, R. E. Carhart, and B. G. Buchanan. Use of a
computer to identify unknown compounds: the automation of scientific inference. Chapter 7
in G. R. Waller and O. C. Dermer, eds., Biomedical Application of Mass Spectrometry. New
York: Wiley, 1980.
Buchanan, B. G., and E. A. Feigenbaum. DENDRAL and META-DENDRAL: their
applications dimensions. Artificial Intelligence 11:5-24 (1978).
META-DENDRAL
Buchanan, B. G., and T. Mitchell. Model directed learning of production rules. In D. A.
Waterman and F. Hayes-Roth, eds., Pattern-Directed Inference System. New York:
Academic Press, 1978.
EURISKO
Lenat, D. EURISKO: a program that learns new heuristics and domain concepts. Artificial
Intelligence 21(2):61-98 (1983).
Lenat, D. Theory formation by heuristic search. Artificial Intelligence 21(1):31-59 (1983).
Lenat, D. The nature of heuristics. Artificial Intelligence 19(2): 189-249 (1981) .
GLisp

129

H chuyn gia

Novak, G. S., Jr. GLisp: a high-level language for AI programming. Proceedings AAAI-82,
pp. 238-241.
Novak, G. S., Jr. GLisp user's manual. Memo HPP-82-1 (Knowledge Systems Laboratory),
January 1982.
GUIDON
Hasling, D., W. J. Clancey, and G. Rennels. Strategic explanations for a diagnostic
consultation system. International Journal of Man-Machine Studies 20(1):3-19 (1984).
London, B., and W. J. Clancey. Plan recognition strategies in student modeling: prediction
and description. Proceedings AAAI-82, pp. 335-338.
Clancey, W. J. lutoring rules for guiding a case method dialogue. International Journal of
Man-Machine Studies 11:25-49 (1979).
Clancey, W. J. Dialogue management for rule-based tutorials. Proceedings IJCAI-79, pp.
155-161.
Intelligent Agent
Rosenschein, J., and M. R. Genesereth. Communication and cooperation. Memo HPP-84-5
(Knowledge Systems Laboratory), March 1984.
Finger, J. J., and M. R. Genesereth. RESIDUE: a deductive approach to design. Memo HPP83-46 (Knowledge Systems Laboratory), December 1983.
MacKinlay, J. Intelligent presentation of information: the generation problem of user
interfaces. Memo HPP-83-34 (Knowledge Systems Laboratory), March 1983.
Finger, J. J. Sensory planning. Memo HPP-82-12 (Knowledge Systems Laboratory), April
1982.
KBVLSI
Brown, H., C. Tong, and G. Foyster. PALLADIO: an exploratory environment for circuit
design. Computer 16(12):41-56 (1983).
Knowledge Acquisition
Bennett, J. S. ROGET: a knowledge-based system for acquiring the conceptual structure of
an expert system. Journal of Automated Reasoning 1(1):49-74 (1985)
Dietterich, T. G. Constraint propagation techniques for theory-driven data interpretation.
Memo HPP 84-46 (Knowledge Systems Laboratory), December 1984.
Dietterich, T. G., and B. G. Buchanan. The role of the critic in learning systems. In O.
Selfridge, E. Rissland, and M. Arbib, eds, Adaptive Control of Ill-Defined Systems. New
York: Plenum, 1984. (NATO Advanced Workshop on Adaptive Control of Ill-Defined
Systems; Devon, England, June 1981.) Also Memo HPP-81-19 (Knowledge Systems
Laboratory), January 1981.
Buchanan, B. G., T. M. Mitchell, R. G. Smith, and C. R. Johnson, Jr. Models of learning
systems. Encyclopedia of Computer Science and Technology 11 (1978).
Mitchell, T. M. Version spaces: an approach to concept learning. Memo HPP-79-2
(Knowledge Systems Laboratory), January 1979. Also Stanford CS Report STAN-CS-78711, 1978.
Model of Endorsement
Cohen, P. Heuristic Reasoning about Uncertainty: An AI Approach. Boston: Pitman, 1985.

Ph lc B

Mt s h chuyn gia

130

MOLGEN
Friedland, P., and L. Kedes. Discovering the secrets of DNA. To appear in joint issue
ACM/Computer, October 1985.
Friedland, P., and Y. Iwasaki. The concept and implementation of skeletal plans. Journal of
Automated Reasoning 1(2) (in press).
ach, R., Y. Iwasaki, and P. Friedland. Intelligent computational assistance for experiment
design. Nucleic Acids Research, January 1984.
Iwasaki, Y., and P. Friedland. SPEX: a second-generation experiment design system.
Proceedings AAA1-82, pp. 341-344.
Stefik, M. Planning with constraints. Memo HPP-80-2 (Knowledge Systems Laboratory),
January 1980. Also Stanford CS Report STAN-CS-80-784, 1980.
Friedland, P. Knowledge-based experiment design in molecular genetics. Proceedings
IJCA1-79, pp. 285-287.
MYCIN and EMYCIN
Buchanan, B. G., and E. H. Shortliffe. Rule-Based Expert Systems: The MYCIN Experiments
oJ the Stanford Heuristic Programming Project. Reading, MA: Addison-Wesley, 1984.
van Melle, W. System Aids in Constructing Conultation Programs: EMYCIN. Ann Arbor,
MI: UMI Research Press, 1982.
MRS
Smith, D. E., and M. R. Genesereth. Controlling infinite chains of inference. Memo HPP-846 (Knowledge Systems Laboratory), February 1984.
Genesereth, M. R., and D. E. Smith. Partial programs. Memo HPP-841 (Knowledge Systems
Laboratory), January 1984.
Genesereth, M. R. An overview of meta-level architecture. Proceedings AAA1-8, pp. 119124.
Genesereth, M. R., R. Greiner, and D. E. Smith. A meta-level representation system. Memo
HPP-83-28 (Knowledge Systens Laboratory), May 1983.
NEOMYCIN
Clancey, W. J. Methodology for building an intelligent tutoring system. In W. Kintsch, J.R.
Miller, and P.G. Polson, eds., Method and Tactics in Cognitive Science. Hillsdale, NJ:
Lawrence Erlbaum Associates, 1984.
Clancey, W. J. Acquiring, representing, and evaluating a competence model of diagnosis. In
M.T.H. Chi, R. Glaser, and M. Farr, eds., The Nature of Expertise, in preparation. Also
Memo HPP-84-2 (Knowledge Systems Laboratory), February 1984.
Clancey, W. J. The epistemology of a rule-based expert system: a framework for explanation.
Artificial Intelligence 20(3): 215-251(1983).
Clancey, W. J. The advantages of abstract control knowledge in expert system design.
Proceedings AAA1-8, pp. 74-78.
ONCOCIN
Bischoff, M. B., E. H. Shortliffe, A. C. Scott, R. W. Carlsen, and C. D. Jacobs. Integration of
a computer-based consultant into the clinical setting. Proceedings of the Seventh Annual
Symposium on Computer Applications in Medical Care, pp. 149-152 (October 1983).
Tsuji, S., and E. H. Shortliffe. Graphical access to the knowledge base of a medical
consultation system. Proceedings of AAMSI Congress 1983, pp. 551-555.
Langlotz, C. P., and E. H. Shortliffe. Adapting a consultation system to critique user plans.
International Journal of Man-Machine Studies 19(5):479-496 (1983).

131

H chuyn gia

Gerring, P. E., E. H. Shortliffe, and W. van Melle. The interviewer reasoner model: an
approach to improving system responsiveness in interactive AI systems. AI Magazine
3(4):24-27 (1982).
Suwa, M., A. C. Scott, and E. H. Shortliffe. An approach to verifying completeness and
consistency in a rule-based expert system. AI Magazine 3(4):16-21 (1982).
Shortliffe, E. H., A. C. Scott, M. B. Bischoff, A. B. Campbell, W. van Melle, and C. D.
Jacobs. ONCOCIN: an expert system for oncology protocol management. Proceedings
IJCA1-81, pp. 876-881.
PATHFINDER
Horvitz, E. J., D. E. Heckerman, B. N. Nathwani, and L. M. Fagan. Diagnostic strategies in
the hypothesis-directed PATHFINDER system. First Conference on Artificial Intelligence
Applications, pp. 630-636 (IEEE Computer Society, 1984).
PIXIE
Sleeman, D. H. Basic algebra revisited: a study with 14-year-olds. International Journal of
Man-Machine Studies, in press. Also Memo HPP-83-9 (Knowledge Systems Laboratory),
February 1983.
Sleeman, D. H. A user modelling front end subsystem. International Journal of ManMachine Studies, in press.
Sleeman, D. H. Inferring (mal)rules from pupils' protocols. Proceedings of the 1982
European AI Conference, pp. 160-164.
Sleeman, D. H. Inferring student models for intelligent computer-aided instruction. In R. S.
Michalski, J. G. Carbonell, and T. M. Mitchell, eds., Machine Learning. Palo Alto, CA:
Tioga Press, 1982.
Sleeman, D. H., and J. S. Brown. Intelligent tutoring systems: an overview. In D. H. Sleeman
and J. S. Brown, eds., Intelligent Tutoring Systems. New York: Academic Press, 1982.
PUFF
Aikins, J. S., J. C. Kunz, E. H. Shortliffe and R. J. Fallat. PUFF: an expert system for interpretation
of pulmonary function data. Computers and Biomedical Research 16:199-208 (1983).
QUIST
King, J.J. Query optimization by semantic reasoning. Stanford CS Report STAN-CS-81-861, 1981.
RADIX
Blum, R. L. Representation of empirically derived causal relationships. Proceedings NCA1-8,
pp. 268-271.
Blum, R. L. Discovery, confirmation, and incorporation of causal relationships from a large timeoriented database: the RX Project. Computers and Biomedical Research 15(2):164-187 (1982).
Blum, R. L. Discovery and representation of causal relationships from a large time-oriented
database: the RX Project. In D. A. B. Lindberg and P. L. Reichertz, eds., Medical Informatics
19 (1982).
RLL
Greiner, R., and D. B. Lenat. A representation language language. Proceedings of AAA1-80,
pp. 165-169.
SACON
Bennett, J. S., and R. S. Engelmore. SACON: a knowledge-based consultant for structural
analysis. Proceedings IJCA1-79, pp. 47-49.

Ph lc B

Mt s h chuyn gia

132

SOAR
Rosenbloom, P. S., J. E. Laird, J. McDermott, A. Newell, and E. Orciuch. Rl-SOAR: an
experiment in knowledge-intensive programming in a problem-solving architecture.
Proceedings of the IEEE Workshop in Principles of Knowledge-Based Systems, 1984.
Laird, J. E., P. S. Rosenbloom, and A. Newell. Towards chunking as a general learning
mechanism. Proceeding AAA1-84, pp. 188-192.
TEIRESIAS
Davis, R., and D. Lenat. Knowledge-Based Systems in Artificial Intelligence: AM and
TEIRESIAS. New York: McGraw-Hill, 1982.
UNITS
Smith, R., and P. Friedland. Unit package user's guide. Memo HPP-80-28 (Knowledge
Systems Laboratory), December 1980.
Stefik, M. An examination of a frame-structured representation system. Proceedings IJCA179, pp. 845-852.
VM
Fagan, L. M. VM: representing time-dependent relations in a medical setting. Memo HPP
831 (Knowledge Systems Laboratory), June 1980.
Osborn, J., L. M. Fagan, R. Fallat, D. McClung, and R. Mitchell. Managing the data from
respiratory measurements. Medical Instrumentation 13:6 (1979).

H chuyn gia

133

Ph lc C

Tham kho

Une nouvelle re qui s'ouvre...

Il est difficile de parler du Systme Expert sans parler d'Intelligence Artificielle, ou IA en


abrviation. LIA est une combinaison/association de la science des ordinateurs (informatique),
de la physiologie et de la philosophie. Elle comprend de multitudes disciplines, depuis la vision
artificielle jusqu'au systme expert en passant par la programmation des jeux. L'lment en
commun de toutes les disciplines de l'IA est la cration des machines qui "pensent".
Pour qu'une machine soit classe "pensante", il est ncessaire de dfinir ce qu'est
"intelligence". A quel degr d'intelligence est associ la rsolution des problmes
complexes, la cration des liens entre les faits ou encore la gnralisation d'une rgle ? Et
la perception, la comprhension ? Des recherches dans le domaine d'apprentissage, de
langage, de la perception sensorielle ont normment contribu la conception des machines
intelligentes.
L'un des plus grands dfis d'un expert IA est de concevoir un systme qui imite le
comportement humain, compos de milliards de neurones, capable d'entretenir les affaires les
plus complexes du monde. Le dbut de l'Intelligence Artificielle remonte bien avant
l'lectronique, l'poque des philosophes et des mathmaticiens (George BOOLE) et bien
d'autres thories ou principes qui ont t utiliss comme fondement de l'IA.
Elle intriguait les chercheurs avec l'invention de l'ordinateur en 1943. La technologie est
finalement disponible et apte (semble-t-il) simuler un comportement "intelligent". Quarante
ans plus tard et aprs quelques marches trbuchantes, l'Intelligence Artificielle grandissait
d'une dizaine de chercheurs des milliers d'ingnieurs et de spcialistes, de programmes
d'ordinateur capable de jouer aux checs aux systmes capables de diagnostiquer les
maladies.
Un rseau neuronal

Le cerveau humain est constitu d'une toile de milliards de cellules appeles neurones,
comprendre ses complexits semble l'une des dernires frontires des recherches
scientifiques. Une des voies de recherche en Intelligence Artificielle consiste construire des
circuits lectroniques qui sont capables de ragir comme des neurones dans un cerveau
humain. Mais, la plupart des activits neuronales restent inconnues, la complexit du rseau
neuronal constitue prcisment ce que l'on appelle l'intelligence humaine. De par lui-mme
une neurone n'est pas intelligente, mais une fois assemble les neurones sont capables de de
passer les signaux lectriques au travers de ses rseaux.
Systme Expert, une approche descendante

Grce aux normes capacits de stockage d'information, un systme expert est capable
d'interprter les statistiques et en dduire des rgles. Un systme expert fonctionne comme un
dtective qui cherche rsoudre une nigme. En utilisant les informations, les rgles et la
logique, il parvient trouver la solution au problme.Ainsi, un systme expert conu pour
identifier les oiseaux pourrait avoir un raisonnement suivant.

Ph lc C

Tham kho

134

Un diagramme de ce type reprsente la logique des systmes experts. En utilisant un jeu


de rgles similaires, les systmes experts peuvent avoir des applications diverses et varies.
Avec une interface homme machine amliore, les ordinateurs trouvent encore une place plus
large dans la socit.

H chuyn gia

135

Ti liu tham kho


[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]

Ivan Brako. Programmation en Prolog pour lIntelligence Artificielle. Inter-Editions,


Paris 1988.
James L. Crowley. Systmes Experts. Support de cours, ENSIMAG 1999.
AHenry Farrenry, Malik Ghallab. lments dIntelligence Artificielle. HERMES Paris
1990.
Joseph Giarratano, Gart Riley, Expert System. Principles and Programming. PWS
Publishing Company, 1993.
James P. Ignizio, Introduction to Expert System. The development and Implementation
of Rule-Based Expert System, McGRAW-HILL 1991.
Phan Huy Khnh. Lp trnh Prolog. Nh Xut bn i hc Quc gia H Ni 2004.
Phan Huy Khnh.Lp trnh hm. Nh Xut bn Khoa hc v K tthut 2004.
Elaine Rich, Kevin Knight. Artificial Intelligence. International Edition, McGRAWHILL 1991.
Porter D. Sherman, Jhon C. Martin. An OPS5 Primer. Introduction to Rule-Based
Expert System. Pretice Hall, 1990.
Nguyn Thanh Thu. Tr tu nhn to. Cc phng php gii quyt vn v k thut
x l tri thc. Nh Xut bn Gio dc, 1996.
Trung Tun. H chuyn gia. Nh Xut bn Gio dc, 1999.
Trung Tun. Tr tu nhn to. Nh Xut bn Gio dc, 1998.
Trn Thnh Trai. Nhp mn h chuyn gia. Trung tm Khoa hc T nhin v Cng
ngh Quc gia, Phn vin CNTT, tpHCM, 1995.
Ti liu tham kho trn internet
http://www.dockitsoft.com/index.htm
http://www.cas.utk.edu/utcc/user_services/users_guides/OpenVMS_guide/vms.html
http://yoda.cis.temple.edu:8080/UGAIWWW/lectures/rete.html#6
http://www.homeoint.org/articles/kaspar/jjk2dufr.htm#TelePC
http://www.homeoint.org/articles/kaspar/jjk2dufr.htm#TelePC

You might also like