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

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

a. b. c.

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 7

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 :
H thng giao tip (User interface) C s tri thc (Knowledge Base)

Ngi s dng (User)

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 Ngi qun tr K thut vin Vn t ra Ti c th dng n lm g ? Lm cch no ti vn hnh n tt nht ?

M u Nh nghin cu Ngi s dng cui Lm sao ti c th m rng n ? 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


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.

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

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

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)

I.4.

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 (Instruction) Gii thch (Interpretation) Kim tra (Monitoring) Lp k hoch (Planning) D on (Prognosis) Cha tr (Remedy) iu khin (Control)

11 v sao (why?), nh th no (how?) v ci g nu (what if?) ging nh hi mt ngi thy gio Gii thch nhng d liu thu nhn c So snh d liu thu lm c vi d liu chuyn mn nh gi hiu qu 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 ACE IN -ATE NDS EURISKO PALLADIO REDESIGN CADHELP SOPHIE DIPMETER LITHO MUD PROSPECTOR REACTOR DELTA STEAMER 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 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 Interpret dipmeter logs Interpret oil well log data Diagnosis / remedy drilling problems Interpret geologic data for minerals Diagnosis / remedy reactor accidents Diagnosis / remedy GE locomotives Instruct operation - steam power-plant

Bng 2 Ngnh in t (Electronics)

Bng 3 Ngnh a cht (Geology)

Bng 4 Cng ngh (Engineering)

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 PTRANS BDS XCON XSEL XSITE YES/MVS TIMM

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 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

Bng 6 My tnh in t (Computer systems)

II.
II.1.

Kin trc tng qut ca cc h chuyn gia


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 B nh lm vic Lch cng vic

C s tri thc Cc lut

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 Chuyn gia Cu trc my suy din C s tri thc

D liu Ngi s dng

My suy din

Li gii Gii thch

Theo di

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 Giao din ngi s dng

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 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

17

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 Tom l n ng Tom l cha ca Mary V t MAN(tom) FATHER(tom, mary) 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.

Tt c mi ngi u cht

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 s loi chim bit bay cnh

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.
c s l l cnh ct bit ln loi chim bit l cnh ng vt bay trng

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

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

My suy din

S kin

Lut sn xut Post

So khp hiu qu

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 : Dng i Cho ung thuc Aspirin

Bnh nhn st Cc lut c th c nhiu tin :

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) (2) (3) xy y x

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) - n nh im bt u v im kt thc d n - gii quyt xung t khi gp cc vic cng mc u tin

Lp biu cng vic (scheduling)

M u Phn b thi gian (chronicling) Phn tch (analysis) - kim tra thc hin d n (monitor project performance) - phn tch cc hot ng v lp k hoch, lp biu cng vic v phn b thi gian hot ng

27

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 hot ng

Qun l cu hnh sn phm

Qun l ti nguyn

Lp k hoch

Ln lch cng tc

Ghi chp s kin

Phn tch

Qun l sn phm

Qun l thay i

Gim thiu tr tr ti nguyn

Tip nhn ti nguyn

Phn cng trch nhim ti nguyn

D bo ti nguyn cn thit

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

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
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) Bo tr v pht trin (maintenance&evolution)

29 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)

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 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

C s tri thc (knowledge base)

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

31

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.

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 : I2 : I3 :

D1 = {1, 2} D2 = {1, 3} D3 = {4, 5}

P(1) F Q(1, 1) F a 4

P(2) T Q(1, 3) T Q(3, 1) F f(4) 5 f(5) 4 Q(3, 3) F

Ch :

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} I1 : D = {1} P(1) P(1) T F Q(1) T Q(1) T Tuy nhin, n l khng hp thc v din gii I1 sau y tr v gi tr F : 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 (G H) (G H) ( (G)) ((G H)) ((G H)) ((G (H K)) ((G (H K)) (G H) (G H) ((G H) K) ((G H) K)) (G H) ((G) H) ((G H) (H G)) G ((G) (H)) ((G) (H)) ((G H) (G K)) ((G H) (G K)) (H G) (H G) (G (H K)) (G (H K)) ((H) (G)) Lut kt hp cho php loi b du ngoc Lut i v Lut giao hon Lut phn phi Lut De Morgan c gi l

Cng thc tng ng (G ) (G ) (G ) (G ) (G (G)) (G (G)) (X)(G(X)) (X)(G(X)) ((X)G(X)) ((X)G(X)) (X)(G(X) H(X)) (X)(G(X)) H(X)) (Y)(G(Y)) (Y)(G(Y)) (Y)(G(Y)) (Y)(G(Y)) ((X)G(X) (Y)H(Y)) ((X)G(X) (Y)H(Y)) G G

c gi l

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) 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)) tr thnh (P(X) Q(X, a)) (P(X) R(Y, f(X), b))

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 : v ((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 G ,..., G l cc dng mnh tng ng vi G1,..., Gp 1 p 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 G ,..., G . Gi s mi G c dng : 1 p i G = { C ,..., Ci i } i 1 Ta thy rng { G1,..., Gp } l khng nht qun nu v ch nu :
i = 1, p i U G"

l khng nht qun.

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


i = 1, p i U G" .

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 : 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. K = G1 ... Gn H

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 : 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 :

G = G1 ... Gn

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

Biu din tri thc nh logic v t bc mt

47

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))


Ch :

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

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 s1). Vj sao cho Vj l mt bin ca 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.

W}

b. B hp nht (unifier)

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

Biu din tri thc nh logic v t bc mt

49

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

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

T kt qu hp gii l

Biu din tri thc nh logic v t bc mt Mt mgu ca G3 = Q(Y) v H2 = Q(Z) l

51 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
Mt mgu ca G1, G2 v H1 l

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 G ,..., G l cc mnh phn bit sao cho : 1 p G l mnh rng, p
i = 1..p, hoc Gthuc v G, hoc Gl mt kt qu hp gii ca hai mnh cha ng i i trc trong dy.

Mt dy {G} nh vy chng minh tnh khng nht qun ca G c gi l mt bc b i (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.

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 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
n

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 Ch :

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 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
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.

thuc R c (G) :

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.

Biu din tri thc nh logic v t bc mt

55

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) R

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

P(b)

Q(f(b))

Q(f(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) Q(f(b)) R(a, Y) Q(f(b)) R (a,

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) R

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

P(b)

Q(f(b))

Q(f(b)) R(a, Y) R(a, Y) Hnh 2.6. th tm kim R

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

Biu din tri thc nh logic v t bc mt

57

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) P(X)

Hnh 2.9. th bc b

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) Q2 (f(b)) v R4(a, Y) R4(a, Y) R5(a, b)

Hnh 2.10. th tm kim

Biu din tri thc nh logic v t bc mt

59

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 Gj

Mnh bin th nht (cng l mnh vo)


mnh trung tm th hai th p+1

CCq

Gk

...

............ Hnh 2.11. S bc b

mnh bin (hoc l mnh vo, (hoc l t tin ca CCp) tng t i vi Gi

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(X)) P(b) R(a, Y) R(a, b) R(a, Y) P(X) R(a, Y) Q(f(b)) Q(Z)

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

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.

Biu din tri thc nh logic v t bc mt

61

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(f(b)) P(b) Q(Z) R(a, Y) P(X)

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


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

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)

Q(f(X))

Q(Z)

R(a,

R(a, Y) R(a, Y)

Q(f(b))

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)}
Q(Z), ta nhn c P(a)
1

S dng chin lc tuyn tnh theo u vo, xut pht t P(Z) th bc b nh sau :
4 P(Z) 5 P(Z) 6 Q(Y) 7 P(a) Q(Z) P(U)
3

Q(U)

P(Y)

Q(Y)

Q(X)

2 (vi nhn t ho)

P(Z)

(t tin) hoc :
3

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 (a,

EQUAL (b, V) V) a'1 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))
3 7

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

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)))
9

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


1 1

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

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

11

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

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


1

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


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(s(X))C(say(X, Y)) C(Y) C(s(X))C(l(X))


1

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

C(l(b))

C(l(a))

13

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

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

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

C(khng_th_hiu_c) C(l(a))

C(l(b))

C(khng_th_hiu_c)

14

Biu din tri thc nh logic v t bc mt

67

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)
7

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)


15 14

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 1 : NH GI THU HP cung cp : R1 bao gm trong RB F1 bao gm trong FB SO KHP so snh gia R1 v F1 cung cp : R2 bao gm trong R1 GII QUYT XUNG T cung cp : R3 bao gm trong R2

Giai on 2 : THC HIN Thc hin cc tin

Cc quy tc ca R3 FB v c th RB c thay i Cc kt qu khc c th (hng v mi trng ca h thng chng hn)

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.

My suy din

75

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


G * = H * F * = O * N * P * = * L = = B * = * A M * J * L * L * = * I = * K J * E * D * C * C * = * R * M * H

* 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 * = * Q * A

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).

My suy din

77

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 * C * H * G * K *

Lut 3 = (khi ng 1) ng 3) Mc 1 : Lut 4 = (khi ng 4) Mc 2 : * Q * B

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

* R

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 * Lut 3 = (khi ng 4) 2) * B Lut 4 = (khi ng 3) * Q * A * J * L = (khi ng 1) = (khi ng * I Lut 2 D * C * M * L * * K Lut 1

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.

My suy din

81

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 Lut 1 (khi ng 1) 4)M J L A C D E G H K f il 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

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

83

1. 2. 3. 4. 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) 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 }

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. 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)

2. 3. 4.

5.

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)

My suy din

87

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 * A2 = R2 (5) * A3 * P5

* A4 R5 = * A4 = R6 * P6

* P3 = 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.

My suy din

91

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

My suy din

93

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 (pierre, pierre)) (5) (SON (pierre, pierre)) tht bi (6) (FATHER (ren, pierre)) (7) (FATHER (pierre, ren)) tht bi (SON (z, x) FATHER (z, pierre)) (9) (FATHER (marc, pierre)) (10) PBS rng : thng li (8)

(FATHER(jean, pierre)) (3) (SON(pierre, jean)) tht bi

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...
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)

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

7.3 7.4 7.5 8. 9.

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.
I.1.

H chuyn gia MYCIN


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 : 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

H chuyn gia

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

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

H chuyn gia MYCIN v ngn ng OPS5

99

I.2.

Biu din tri thc trong MYCIN


Value
Gi tr

MYCIN biu din cc s kin bi mt b bn nh sau : S kin (Context Parameter


Ng cnh Tham bin

CF)
H s

Theo thut ng hng i tng

(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

Cy-vi-khun-3

C-quan-1 Thuc-3

C-quan-2

Thuc-1

Thuc-2

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 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.

H chuyn gia

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 Cc lut :

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


CFR

AB A (B

C
CFR

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

C)

T hp cc gi thit :

H chuyn gia MYCIN v ngn ng OPS5

101 nu CF1 0 v CF2 0 nu CF1 CF2 < 0 nu CF1 0 v CF2 0

CF1 + CF2 (1 - CF1) Combine(CF1, CF2 ) = CF1 + CF2 1 - min{CF1, CF2} - Combine( - CF1, - CF2 ) 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

103

II.
II.1.

H sn xut OPS5
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


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

107

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
( tool nil <tool-name> <tool-size> )

H chuyn gia

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
End { Monitor }

H chuyn gia

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.

H chuyn gia MYCIN v ngn ng OPS5

115

C th sai

CF

C th ng

-1
Sai chc chn

0
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

117

Ph lc A

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

123

H chuyn gia

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).

133

H chuyn gia

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.

135

H chuyn gia

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