Heä Côsô tri thöùc= Cô sô ûtri thöùc + Ñoäng cô suy dieãn

BEÂN TRONG MOÄT HEÄ CÔ SÔÛ TRI THÖÙC

1

2

Caáu truùc chung cuûa moät heäCSTT

Cô sôû tri thöùc

3

4

Toång quan quaù trình xaây döïng heä CSTT

Moät soá böôùc cô baûn ñeå xaây döïng heä Cô sôû tri thöùc

• Tieáp caän chuyeân gia • Thu thaäp, toå chöùc tri thöùc • Choïn löïa coâng cuï phaùt trieån heä CSTT • Caøi ñaët heä CSTT

5

6

Moät soá tieâu chuaån phaân loaïi caùc heä CSTT

Heä CSTTñoùng • ñöôïc xaây döïng vôùi moät soá “tri thöùc lónh vöïc” ban ñaàu,vaø chæ nhöõng tri thöùc ño ùma øthoâi trong suoát quaùtrình hoaït ñoäng hay suoát thôøi gian soáng cuûa noù.

• Tính ñoùng, môû, keát hôïp • Phöông phaùp bieåu dieãn tri thöùc • Lónh vöïc öùng duïng

7

8

Heä CSTT môû

Heä CSTT keát hôïp

• Bao goàm söï keát hôïp giöõa heä ñoùng vaø heä

heä cô sôû tri thöùc tieân tieán hôn, coù khaû naêng boå sung tri thöùc trong quaù trình hoaït ñoäng, khaùm phaù

môû,heä keát hôïp giöõa CSTT va øCSDL,heä keát hôïp giöõa he äCSTT naøy vôùi moät heä CSTT khaùc, …

• Nhöõng heä CSTT keát hôïp thöôøng phaùt trieån

maïnh döïa treân tri thöùc lieân ngaønh.

• Ví duï: nhöõng heä hoã trôï ra quyeát ñònh trong

ñôøi soáng,kinh teá vaø khoa hoïc, nhöõng heä chaån ñoaùn, döï baùo

10

9

Moät soá heä CSTT ñieån hình

Ví duï: Maùy ñieàu nhieät

MÙA TRONG NĂM MÁY

• Heä giaûi toaùn • Heä chaån ñoaùn y khoa MYCIN • Heä ñieàu khieån töï ñoäng • Heä döï baùo thôøi tieát

ĐIỀU

NGÀY TRONG TUẦN NHIỆT NHIỆT ĐỘ THÍCH HỢP

12

11

GIỜ TRONG NGÀY

CÁC ĐỐI TƯỢNG GIẢI PHÁP ĐIỀU NHIỆT 7 giải pháp điều nhiệt

-Đặt máy điều nhiệt là “14o C”

Đối tượng

Giá trị

Tháng

Tháng 1, …, Tháng 12

- Đặt máy điều nhiệt là “15o C”

Mùa

Xuân, hè, thu, đông

- Đặt máy điều nhiệt là “16o C”

Ngày

Thứ 2, …, Thứ 7, Chủ nhật

- Đặt máy điều nhiệt là “18o C”

Thời gian

Trước 9, Sau 17, Từ 9 -> 17

- Đặt máy điều nhiệt là “20o C”

Sự khởi động

Trong giờ làm việc, ngoài giờ làm việc

13

14

- Đặt máy điều nhiệt là “24o C”

- Đặt máy điều nhiệt là “27o C”

CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT) CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)

Luật dẫn 2: Luật dẫn 1:

Nếu Ngày là Thứ 7 Nếu Ngày Thứ 2 là

Hoặc Ngày Thứ 3 là

Hoặc Ngày Thứ 4 là Hoặc Ngày là Chủ nhật Hoặc Ngày Thứ 5 là

Hoặc Ngày Thứ 6 là

15

16

là Thì Hôm nay Ngày làm việc Thì Hôm nay là Cuối tuần

CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT) CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)

Luật dẫn 4: Luật dẫn 3:

Nếu Hôm nay là Ngày làm việc

Nếu Hôm nay là Ngày làm việc

Và Thời gian trước 9 giờ sáng Và Thời gian giữa 9 giờ sáng và 5 giờ chiều

17

18

Thì Sự khởi động là ‘trong thời gian làm việc’ Thì Sự khởi động là ‘ngoài thời gian làm việc’

CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT) CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)

Luật dẫn 5: Luật dẫn 6:

Nếu Hôm nay là Ngày làm việc Nếu Hôm nay là Cuối tuần

Và Thời gian là sau 5 giờ chiều Thì Sự khởi động là ‘ngoài thời gian làm việc’

19

20

Thì Sự khởi động là ‘ngoài thời gian làm việc’

CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT) CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)

Luật dẫn 7: Luật dẫn 8:

Nếu Tháng là Tháng 3

Nếu Tháng là Tháng 1

Hoặc Tháng là Tháng 4

Hoặc Tháng là Tháng 2

Hoặc Tháng là Tháng 5

Hoặc Tháng là Tháng 12

Thì Mùa là Mùa Thu

21

22

Thì Mùa là Mùa Hè

CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT) CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)

Luật dẫn 9: Luật dẫn 10:

Nếu Tháng là Tháng 6 Nếu Tháng là Tháng 9

Hoặc Tháng là Tháng 7 Hoặc Tháng là Tháng 10

Hoặc Tháng là Tháng 8 Hoặc Tháng là Tháng 11

23

24

Thì Mùa là Mùa Đông Thì Mùa là Mùa Xuân

CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT) CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)

Luật dẫn 11: Luật dẫn 12:

Nếu Mùa là Mùa Xuân Nếu Mùa là Mùa Xuân

Sự khởi động là ‘trong thời gian làm Và Sự khởi động là ‘ngoài thời gian làm việc’ Và việc’

25

26

Thì Cấu hình điều nhiệt là ’15 độ’ Thì Cấu hình điều nhiệt là ’20 độ’

CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT) CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)

Luật dẫn 13: Luật dẫn 14:

Nếu Mùa là Mùa Hè Nếu Mùa là Mùa Hè

Và Sự khởi động là ‘trong thời gian làm việc’ Và Sự khởi động là ‘ngoài thời gian làm việc’

27

28

Thì Cấu hình điều nhiệt là ’24 độ’ Thì Cấu hình điều nhiệt là ’27 độ’

CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT) CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)

Luật dẫn 16: Luật dẫn 15:

Nếu Mùa là Mùa Thu Nếu Mùa là Mùa Thu

Và Sự khởi động là ‘ngoài thời gian làm việc’ Và Sự khởi động là ‘trong thời gian làm việc’

29

30

Thì Cấu hình điều nhiệt là’16 độ’ Thì Cấu hình điều nhiệt là ’20 độ’

CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT) CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)

Luật dẫn 18: Luật dẫn 17:

Nếu Mùa là Mùa Đông Nếu Mùa là Mùa Đông

Và Sự khởi động là ‘ngoài thời gian làm việc’ Và Sự khởi động là ‘trong thời gian làm việc’

31

32

Thì Cấu hình điều nhiệt là ’14 độ’ Thì Cấu hình điều nhiệt là ’18 độ’

MINH HỌA

Giờ ? Tháng ? Thứ ?

9 < Giờ < 17 8 Thứ 6

Luật 1 Luật 3 Luật 9

HEÄ GIAÛI TOAÙN DÖÏA TREÂN TRI THÖÙC

Mùa = Hôm nay= Sự hoạt động =

Mùa Đông ngày làm việc trong giờ làm việc

33

34

Máy điều nhiệt = 18o C

Yeâu caàu

Heä giaûi toaùn=Tieân ñeà,ñònh lyù+Laäp luaänlogic (toaùn hoïc)

Cho pheùp kieåm tra quaù trình suy luaän bao goàm vieäc theå hieän cuï theå caùc böôùc giaûi baøi toaùn vaø traû lôøi hay giaûi thích cho quaù trình giaûi. Cho pheùp vieäc hieäu chænh vaø caäp nhaät cô sôû tri thöùc nhö theâm vaø loaïi bôùt kieán thöùc trong cô sôû tri thöùc. Söû duïng caùc heuristic (thöôøng khoâng ñaày ñuû) trong vieäc suy luaän giaûi baøi toaùn nhaèm ñaït ñöôïc caùc lôøi giaûi toát.

35

36

Caáu truùc cuûa moät heä giaûi baøi toaùn döïa treân tri thöùc

Baûo ñaûm söï taùch bieät giöõa cô sôû tri thöùc vaø boä suy dieãn • Seõ laøm cho vieäc bieåu dieãn tri thöùc ñöôïc thöïc hieän moät

caùch töï nhieân hôn.

• Caùc nhaø thieát keá heä thoáng giaûi baøi toaùn thoâng minh seõ taäp trung vaøo veäc naém baét vaø toå chöùc cô sôû tri thöùc • Seõ taêng cöôøng tính moâ-ñun hoùa cuûa phaàn cô sôû tri thöùc, boä suy dieãn vaø boä phaän caäp nhaät, hieäu chænh kieán thöùc

• Cho pheùp cuøng moät chieán löôïc ñieàu khieån vaø giao tieáp coù theå ñöôïc söû duïng cho nhieàu heä thoáng khaùc nhau

• Giuùp ta coù theå thöû nghieäm nhieàu chieán löôït ñieàu khieån khaùc nhau treân cuøng moät cô sôû tri thöùc

37

38

Cô sôû tri thöùc

Vaán ñeà Suy dieãn Töï ñoäng

• Phöông phaùp hôïp giaûi, luaät “Modus Ponens”,

• raát ña daïng • bao goàm:

luaät “Modus Tollens” vaø luaät “tam ñoaïn luaän” .

– caùc khaùi nieäm töø ñôn giaûn ñeán coù caáu truùc phöùc

taïp

– caùc heä thöùc tính toaùn vôùi nhöõng qui luaät nhaát ñònh – caùc lieân heä ña daïng bao goàm caû ñònh tính laãn

• Phöông phaùp suy dieãn tieán • Phöông phaùp suy dieãn luøi • Keát hôïp suy dieãn tieán vaø suy dieãn luøi

ñònh löôïng

– caùc luaät daãn vaø caùc heuristics

39

40

Moät soá phaàn meàm giaûi toaùn

boä phaàn meàm Engineering 2000

Moät soá keát quaû nghieân cöùu xaây döïng heä giaûi toaùn hình hoïc • Chæ xeùt moät soá luaät suy dieãn cuï theå treân caùc quan heä hình hoïc vaø öùng vôùi moãi luaät phaûi vieát rieâng moät thuû tuïc thi haønh luaät

• Chöa coù moät cô sôû tri thöùc coù theå hieäu chænh

• • Chöông trình StudyWorks • Chöông trình Math Express • Phaàn meàm toaùn hoïc MAPLE

ñöôïc vaø boä suy dieãn seõ hoaït ñoäng döïa treân cô sôû tri thöùc

• Chöa xem xeùt ñeán vaán ñeà tính toaùn • Chöa coù moät ngoân ngöõ qui öôùc cho vieäc ñaëc

taû caùc daïng baøi toaùn

41

42

Vaán ñeà

• Chuùng ta phaûi thöïc hieän nhöõng tính toaùn hay suy dieãn ra nhöõng yeáu toá caàn thieát naøo ñoù töø moät soá yeáu toá ñaõ ñöôïc bieát tröôùc

MAÏNG SUY DIEÃN-TÍNH TOAÙN

43

44

Ví duï 1

Ví duï 1

• Moät vaät theå coù khoái löôïng m chuyeån ñoäng thaúng vôùi gia toác khoâng thay ñoåi laø a trong moät khoaûng thôøi gian tính töø thôøi ñieåm t1 ñeán thôøi ñieåm t2

• Vaän toáùc ban ñaàu cuûa vaät theå laø v1, vaän toác ôû thôøi

• f = m * a; • Δv = a*Δt; • Δs = v*Δt; • 2*v = v1 + v2; • Δv = v2 - v1; • Δt = t2 - t1;

ñieåm cuoái laø v2, vaø vaän toác trung bình laø v • Khoaûng caùch giöõa ñieåm ñaàu vaø ñieåm cuoái laø Δs • Löïc taùc ñoäng cuûa chuyeån ñoäng laø f • Ñoä bieán thieân vaän toác giöõa 2 thôøi ñieåm laø Δv • Ñoä bieán thieân thôøi gian laø Δt

45

46

Ví duï 2

Muïc tieâu

• Xaùc ñònh tính giaûi ñöôïc cuûa moät baøi toaùn treân

maïng tính toaùn

• Trong hoùa hoïc chuùng ta thöôøng phaûi söû duïng caùc phaûn öùng hoùa hoïc ñeå ñieàu cheá caùc chaát naày töø caùc chaát khaùc

• Trong tröôøng hôïp baøi toaùn laø giaûi ñöôïc thì

(cid:206) Cho tröôùc moät soá chaát hoùa hoïc, haõy tìm caùch

haõy cho moät lôøi giaûi

ñieàu cheá ra moät hay moät soá chaát naøo ñoù

• Neáu baøi toaùn khoâng giaûi ñöôïc thì caàn coù theâm

yeáu toá gì ñeå coù theå giaûi ñöôïc

47

48

Maïng suy dieãn vaø tính toaùn

Ñònh nghóa

• Moãi maïng tính toaùn laø moät maïng ngöõ nghóa chöùa caùc bieán vaø nhöõng quan heä coù theå caøi ñaët vaø söû duïng ñöôïc cho vieäc tính toaù

Moâ hình maïng suy dieãn vaø tính toaùn laø moät söï khaùi quaùt cho moät daïng tri thöùc duøng cho vieäc bieåu dieãn tri thöùc vaø thieát keá caùc chöông trình giaûi toaùn töï ñoäng,

49

50

Quan heä

f : u → v

• Cho M = {x1,x2,...,xm

} laø moät taäp hôïp caùc bieán coù theå laáy giaù trò trong caùc mieàn xaùc ñònh töông öùng D1,D2,...,Dm

ta coù theå tính ñöôïc giaù trò cuûa caùc bieán thuoäc khi bieát ñöôïc giaù trò cuûa caùc bieán thuoäc u

u ∩ v = ∅

• Ñoái vôùi moãi quan heä R ⊆ D1xD2x...xDm treân caùc taäp hôïp D1,D2,...,Dm ta noùi raèng quan heä naày lieân keát caùc bieán x1,x2,...,xm (cid:198)R(x1,x2,...,xm) hay R(x)

fR,u,v : Du

→ Dv

51

52

Quan heä khoâng ñoái xöùngcoù haïng k (k>0)

Quan heä ñoái xöùngcoù haïng k (k>0)

• tính ñöôïc k bieán baát kyø töø m-k bieán kia

53

54

Ví duï

• quan heä f giöõ a nöûa chu vi p vôùi caùc ñoä daøi

cuûa 3 caïnh a, b, c:

Quan heä f giöõa 3 goùc A, B, C trong tam giaùc ABC cho bôûi heä thöùc: A+B+C = 180 (ñôn vò: ñoä)

55

56

quan heä ñoái xöùng coù haïng 1

Maïng tính toaùn

Ví duï

• bao goàm moät taäp hôïp caùc bieán M vaø moät taäp hôïp caùc quan heä (tính toaùn) F treân caùc bieán

• Trong ví duï 1 ôû treân, ta coù M(f) = {A,B,C}. • Trong ví duï 2 ôû treân, ta coù M(f) = {a,b,c,p}.

• Kyù hieäu MTT:

}

– M = {x1,x2,...,xn } – F = {f1,f2,...,fm – ta kyù hieäu M(f) laø taäp caùc bieán coù lieân heä trong

quan heä f

57

58

Ví duï

Vi duï (tt)

• Maïng tính toaùn cho moät hình chöõ nhaät

}.

M = {b1, b2, d, s, p}, F = {f1, f2, f3

– b1, b2 : hai caïnh cuûa hình chöõ nhaät; – d : ñöôøng cheùo cuûa hình chöõ nhaät; – s : dieän tích cuûa hình chöõ nhaät; – p : chu vi cuûa hình chöõ nhaät;

• coù caùc quan heä sau ñaây :

2;

– f1 : – f2 : – f3 :

s = b1 * b2; p = 2 * b1 + 2 * b2; 2 + b2 d2 = b1

59

60

Vaán ñeà treân maïng tính toaùn

Vaán ñeà treân maïng tính toaùn

• Cho moät maïng tính toaùn (M,F)

• Coù theå xaùc ñònh ñöôïc taäp B töø taäp A nhôø caùc

quan heä trong F hay khoâng?

– M laø taäp caùc bieán – F laø taäp caùc quan heä

• Giaû söû coù moät taäp bieán A ⊆ M ñaõ ñöôïc xaùc

• Neáu coù theå xaùc ñònh ñöôïc B töø A thì quaù trình tính toaùn giaù trò cuûa caùc bieán thuoäc B nhö theá naøo?

ñònh

• B laø moät taäp bieán baát kyø trong M

• Trong tröôøng hôïp khoâng theå xaùc ñònh ñöôïc B, thì caàn cho theâm ñieàu kieän gì ñeå coù theå xaùc ñònh ñöôïc B.

62

61

Ñònh nghóa

Vaán ñeà treân maïng tính toaùn

• Baøi toaùn xaùc ñònh B töø A treân maïng tính toaùn

• Baøi toaùn A → B ñöôïc goïi laø giaûi ñöôïc khi coù theå tính toaùn ñöôïc giaù trò caùc bieán thuoäc B xuaát phaùt töø giaû thieát A

(M,F) ñöôïc vieát döôùi daïng : A(cid:198)B

Hoaëc A(cid:198)b

• Ta noùi raèng moät daõy caùc quan heä {f1, f2, ..., } ⊆ F laø moät lôøi giaûi cuûa baøi toaùn A → B

fk neáu nhö ta laàn löôït aùp duïng caùc quan heä fi (i=1,...,k) xuaát phaùt töø giaû thieát A thì seõ tính ñöôïc caùc bieán thuoäc B.

64

63

Ñònh nghóa

Ñònh nghóa

• Cho D = {f1, f2, ..., fk} laø moät daõy quan heä

• Lôøi giaûi toát neáu khoâng theå boû bôùt moät soá

cuûa maïng tính toaùn (M,F)

böôùc tính toaùn trong quaù trình giaûi

• Lôøi giaûi toái öu khi noù coù soá böôùc tính toaùn ít

nhaát

• A laø moät taäp con cuûa M • D laø aùp duïng ñöôïc treân taäp A khi vaø chæ khi ta coù theå laàn löôït aùp duïng ñöôïc caùc quan heä f1, f2, ..., fk xuaát phaùt töø giaû thieát A

65

66

Thuaät toaùn tính D(A)

Ñònh nghóa

Nhaäp : Maïng tính toaùn (M,F),

}.

∪ M(f1), . . . ,

A ⊆ M, daõy caùc quan heä D = {f1, f2, ..., fm Xuaát : D(A).

• A0 = A, A1 = A0 ∪ M(fk) • Ak = Ak-1 • kyù hieäu Ak laø D(A) (cid:206)A →D(A) : coù D laø lôøi giaûi

Thuaät toaùn : 1. A’ ← A; 2. for i=1 to m do

D(A) laø söï môû roäng cuûa taäp A nhôø aùp duïng

if fi aùp duïng ñöôïc treân A’ then A’ ← A’ ∪ M(fi);

daõy quan heä D

3. D(A) ← A’

67

68

Ñònh nghóa

Ñònh nghóa

• Bao ñoùng cuûa A laø söï môû roäng toái ña cuûa A treân moâ

• baøi toaùn A → B laø giaûi ñöôïc khi vaø chæ khi B ⊆ A

A

hình (M,F). Kyù hieäu:

• Baøi toaùn A → B laø giaûi ñöôïc khi vaø chæ khi caùc baøi

toaùn A → b laø giaûi ñöôïc vôùi moïi b ∈ B

• Neáu A → B vaø B → C laø caùc baøi toaùn giaûi ñöôïc thì

baøi toaùn A → C cuõng giaûi ñöôïc

• Neáu baøi toaùn A → B laø giaûi ñöôïc vaø B’ laø moät taäp con cuûa B thì A → B’ cuõng laø moät baøi toaùn giaûi ñöôïc

69

70

Tìm moät lôøi giaûi cho baøi toaùn A → B

• Nhaäp :

Tìm bao ñoùng cuûa taäp A ⊆ M Maïng tính toaùn (M,F), A ⊆ M. A

Nhaäp : Maïng tính toaùn (M,F),

• Xuaát : 1. B ← A; 2. Repeat

B1 ← B; for f ∈ F do

taäp giaû thieát A ⊆ M, taäp bieán caàn tính B ⊆ M. Xuaát : lôøi giaûi cho baøi toaùn A → B

if ( f aùp duïng ñöôïc treân B ) then

begin

B ← B ∪ M(f); F ← F \ {f}; end;

71

72

Until B = B1; A 3. ← B;

1. Solution ← empty; // Solution laø daõy caùc

quan heä seõ aùp duïng

3. Repeat

Aold ← A; Choïn ra moät f ∈ F chöa xem xeùt; while not Solution_found and (choïn ñöôïc f) do

begin if ( f söû duïng ñöôïc treân A ) then

2. if B ⊆ A then begin

begin

A ← A ∪ M(f); Solution ← Solution ∪ {f};

Solution_found ← true; goto 4;

end;

end

else

Solution_found ← false;

if B ⊆ A then Solution_found ← true; Choïn ra moät f ∈ F chöa xem xeùt; { while } end;

74

73

Tìm moät lôøi giaûi toát töø moät lôøi giaûi ñaõ bieát

Nhaäp : Maïng suy dieãn (M,F),

lôøi giaûi D={f1, f2, ..., fm} cuûa baøi toaùn A→ B.

4. if not Solution_found then

Baøi toaùn khoâng coù lôøi giaûi;

Xuaát : lôøi giaûi toát cho baøi toaùn A → B Thuaät toaùn :

Until Solution_found or (A = Aold);

else

Solution laø moät lôøi giaûi

1. D ← {f1, f2, ..., fm}; 2.

for i=m downto 1 do

if D \ {fi} laø moät lôøi giaûi then

D ← D \ {fi};

3. D laø moät lôøi giaûi toát.

76

75

Thuaät toaùn kieåm tra lôøi giaûi cho baøi toaùn

1. for i=1 to m do

if (fi aùp duïng ñöôïc treân A) then

A ← A ∪ M(fi);

Nhaäp : Maïng suy dieãn (M,F), baøi toaùn A→ B, daõy caùc quan heä {f1, f2, ..., fm}.

2. if A ⊇ B then

} laø lôøi giaûi

{f1, f2, ..., fm

Xuaát : thoâng tin cho bieát {f1, f2, ..., fm} coù phaûi laø lôøi giaûi cuûa baøi toaùn A→ B hay khoâng.

else

} khoâng laø lôøi giaûi;

{f1, f2, ..., fm

77

78

Ví duï

Ví duï Maïng suy dieãn cuûa tam giaùc

• Cho tam giaùc ABC coù caïnh a vaø 2 goùc keà laø

– M = {a, b, c, α, β, γ, ha, hb, hc, S, p, R, r, ...} – Caùc quan heä suy dieãn :

β, γ ñöôïc cho tröôùc.

• Haõy xaùc ñònh (hay suy ra) S cuûa tam giaùc

79

80

Ví duï

• A = {a, β, γ} • B = {S}

böôùc 1: böôùc 2: böôùc 3:

Xaùc ñònh α Xaùc ñònh b Xaùc ñònh S

(aùp duïng f1). (aùp duïng f2). (aùp duïng f9).

82

81

MAÏNG SUY DIEÃN COÙ TROÏNG SOÁ VAØ LÔØI GIAÛI TOÁI ÖU

(1) a + b + c = 2*p, vaø (2) a2 = b2 + c2 - 2*b*c*cos(A)

84

83

MAÏNG SUY DIEÃN COÙ TROÏNG SOÁ VAØ LÔØI GIAÛI TOÁI ÖU

MAÏNG SUY DIEÃN COÙ TROÏNG SOÁ VAØ LÔØI GIAÛI TOÁI ÖU

maïng suy dieãn coù troïng soá laø moät moâ hình (A,

• r : u ⇒ v • u: phaàn giaû thieát cuûa luaät r - hypothesis(r). • v : phaàn keát luaän cuûa luaät r - goal(r). • attr(r) = hypothesis(r) ∪ goal(r) : taäp hôïp caùc

D, w) bao goàm: – moät taäp hôïp caùc thuoäc tính A, – moät taäp hôïp caùc luaät suy dieãn D, vaø – moät haøm troïng soá döông w : D → R+

thuoäc tính trong luaät r

85

86

• Moãi luaät daãn r thuoäc D coù daïng r : u ⇒ v u vaø v laø caùc taäp hôïp con khaùc roãng vaø rôøi nhau cuûa A

Ví dụ

Ví dụ

• A = {A, B, C, a, b, c, p, S, ha, hb, hc, ...}. • D = {

f1: A + B + C = 180; f2: a/sin(A) = b/sin(B); f3: b/sin(B) = c/sin(C); f4: a/sin(A) = c/sin(C); f5: 2*p = a + b + c; f6: S = a*ha/2; f7: S = b * hb / 2; f8: S = c*hc/2; f9: S = sqrt(p*(p-a)*(p-b)*(p-c)); f10: ha =

b*sin(C);

w(f1) = 2; w(f2) = w(f3) = w(f4) = 2*c2 + 2; w(f5) = 3; w(f6) = w(f7) = w(f8) = 2; w(f9) = c1 + 6; w(f10) = w(f11) = w(f12) = c2 + 1;

f11: hb = a*sin(C); f12: hc =

b*sin(A)

(A,D,w) laø moät maïng suy dieãn coù troïng soá

} +, -, * vaø / ñöôïc ñaët cho troïng soá laø 1 caên baäc 2 coù troïng soá laø moät haèng soá döông c1 (c1>>1), haøm löôïng giaùc coù troïng soá laø moät haèng soá döông c2(c2>>1)

87

88

Lôøi giaûi toái öu

• Cho moät baøi toaùn A → B. Daõy caùc luaät suy dieãn S ñöôïc goïi laø moät lôøi giaûi toái öu khi: – S laø moät lôøi giaûi cuûa baøi toaùn A → B. – w(S) = min {w(S’) | S’ laø moät lôøi giaûi cuûa baøi

• (A, D, w) laø moät MSDT • S = {f1,...,fk} laø moät daõy caùc luaät suy dieãn • w(S) = w(f1) + w(f2) + ... + w(fk). • Ta goïi w(S) laø troïng soá cuûa S.

toaùn A → B }

89

90

Böôùc 1: Tìm moät lôøi giaûi • Khi G ⊄ H ta thöïc hieän quaù trình laëp cho caùc

• Xeùt baøi toaùn H → G treân moät MSDT (A, D, w), vôùi H vaø G laø caùc taäp con cuûa taäp thuoäc tính A.

• Thuaät toaùn

böôùc döôùi ñaây: – Böôùc 1.1: Tìm luaät r ∈ D coù theå aùp duïng ñöôïc ñeå suy ra caùc thuoäc tính môùi: hypothesis(r) bao haøm trong H nhöng goal(r) khoâng baøo haøm trong H. – Böôùc 1.2: Neáu vieäc tìm kieám ôû böôùc 1.1 thaát baïi:

baøi toaùn khoâng coù lôøi giaûi.

– Böôùc 1: Tìm moät lôøi giaûi – Böôùc 2: Ruùt goïn lôøi giaûi

– Böôùc 1.3: Ngöôïc laïi thì boå sung theâm goal(r) vaøo H vaø ghi nhaän r vaøo danh saùch caùc luaät ñaõ ñöôïc aùp duïng.

91

92

Tìm lôøi giaûi toái öu

Böôùc 2: Ruùt goïn lôøi giaûi

Böôùc 2.1: G' ← G \ H; Böôùc 2.2: for k:=p downto 1 do

if (goal(rk) ∉ G') then

Loaïi rk ra khoûi danh saùch S

else

G' ← (G' \ goal(rk)) ∪ (hypothesis(rk) \ H)

93

94

Khoâng gian traïng thaùi cuûa baøi toaùn

• baøi toaùn H → G treân moät MSDT (A, D, w) • r laø moät caïnh noái töø ñænh H ñeán ñænh H’ :

• Moät daõy S goàm caùc luaät laø moät lôøi giaûi cuûa baøi toaùn H → G khi vaø chæ khi S laø moät loä trình treân ñoà thò Graph(H→G) noái töø H ñeán S(H) vaø S(H) ⊃ G

– r coù theå aùp duïng treân H – H’ = H ∪ goal(r)

• Ñoä daøi cuûa moät loä trình S treân ñoà thò

• troïng soá cuûa caïnh r (töùc laø moät luaät suy dieãn)

laø w(r)

Graph(H→G) laø w(S), troïng soá cuûa danh saùch luaät S treân MSDT (A, D, w) • Ñoái vôùi moãi ñænh N treân ñoà thò:

(cid:206)Graph(H→G)

h(N) = min {w(r) | hypothesis(r) ⊂ N}

95

96

Böôùc 2: Thöïc hieän quaù trình laëp ñeå tìm lôøi giaûi toái öu

• Böôùc 1: Khôûi taïo traïng thaùi xuaát phaùt.

– Open ← {H}; // danh saùch ñænh môû ban ñaàu chæ

• While (Open ≠ {}) do • Begin

coù ñænh xuaát phaùt

– Böôùc 2.1: Choïn moät ñænh N trong Open vôùi öôùc tính

ñöôøng ñi f nhoû nhaát.

– Böôùc 2.2: Chuyeån N töø danh saùch Open sang danh

// ñoä daøi loä trình ñeán H laø 0

saùch Close

– Close ← {}; // danh saùch ñænh ñoùng – g(H) ← 0; – f(H) ← h(H); // ñoä daøi loä trình öôùc tính töø H ñeán

– Böôùc 2.3: if (N laø moät muïc tieâu) then

muïc tieâu laø h(H)

Found ← true; Break;

// Keát thuùc quaù trình laëp

– found ← false;

// bieán kieåm tra quaù trình tìm

– Böôùc 2.4 else // N khoâng laø moät muïc tieâu

lôøi giaû

97

98

Begin Duyeät qua caùc ñænh keá S cuûa N maø S ∉ Close, öùng vôùi moãi S ta xeùt caùc tröôøng hôïp sau: S ∉ Open:

Böôùc 3: Kieåm tra keát quaû vieäc tìm kieám.

If Found then Keát quaû laø tìm ñöôïc lôøi giaûi

toái öu vaø thieát laäp lôøi giaûi

Tính g(S) = g(N) + w(r); f(S) = g(S) + h(S); Boå sung S vao Open; S ∈ Open:

Else Keát quaû laø baøi toaùn khoâng coù lôøi giaûi

If g(N) + w(r) < g(S) then Begin

End // Keát thuùc voøng laëp while

99

100

g(S) ← g(N) + w(r); f(S) ← g(S) + h(S); Caäp nhaät thoâng tin veà ñænh keá tröôùc cuûa S treân loä trình; end End

Ví duï

Ví duï

• A = {A, B, C, a, b, c, p, S, ha, hb, hc}

w(f6) = w(f7) = w(f8) = 2;

• w(f1) = 2; • w(f2) = w(f3) = w(f4) = 2*c2 + 2; • w(f5) = 3; • w(f9) = c1 + 6; • w(f10) = w(f11) = w(f12) = c2 + 1.

101

102

Tìm moät söï thu goïn giaû thieát cuûa baøi toaùn

Ví duï

• Nhaäp : Maïng suy dieãn (A, D),

Baøi toaùn H→ G giaûi ñöôïc

• Xeùt baøi toaùn H → G vôùi

H = {a, b, B} vaø G = {S}.

Xuaát : taäp giaû thieát môùi H’ ⊆ H toái tieåu. Repeat

• S = {f2, f1, f3, f5, f9} – w(S) = 4*c2 + c1 + 15

• S’ = {f2, f1, f10, f6} – w(S’) = 3*c2 + 7

H’ ← H; for x ∈ H do if H - {x} → G giaûi ñöôïc then H ← H - {x};

Until H = H’;

103

104

Ví duï:

MAÏNG SUY DIEÃN-TÍNH TOAÙN

• Kieán thöùc veà moät tam giaùc coù theå ñöôïc bieåu dieãn bôûi

moät maïng suy dieãn tính toaùn (A, D, F, R) : – A = {A, B, C, a, b, c, R, S, p, ...} – D = {r1: A, B ⇒ C; r2: A, C ⇒ B; r3: B, C ⇒ A;

• Taäp hôïp A goàm caùc thuoäc tính • Taäp hôïp D goàm caùc luaät suy dieãn (hay caùc

quan heä suy dieãn) treân caùc thuoäc tính

• Taäp hôïp F goàm caùc coâng thöùc tính toaùn hay caùc thuû tuïc tính toaùn töông öùng vôùi caùc luaät suy dieãn (f: D(cid:198)F)

r4: A, a ⇒ R; r5: A, R ⇒ a; r6: R, a ⇒ A; r7: A, b, c ⇒ a; ...}

• Taäp hôïp R goàm moät soá qui taéc hay ñieàu kieän

– F = {f1: C = π-A-B; f2: B = π-A-C; f3: A = π-B-C; f4: R = a/(2.sin(A)); f5: a = 2.R.sin(A); f6: A = arcsin(a/(2.R)); f7: a= b2+c2-2.b.c.cos(A); ...}

raøng buoäc treân caùc thuoäc tính

105

106

– R = {a+b > c; a+c > b; b+c > a; a > b ⇔ A > B; a = b ⇔ A = B; ...}