1. Trang chủ
  2. » Luận Văn - Báo Cáo

BIỂU DIỄN TRI THỨC - ỨNG DỤNG MẠNG SUY DIỄN TÍNH TOÁN TRONG BÀI TOÁN GIẢI TAM GIÁC

26 734 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 329,72 KB

Nội dung

Nói cách khác là xây dựng mô hình biểu diễn tri thức để tổchức lưu trữ và xử lý tri thức trên máy, sao cho máy có thể suy luận giải các vấn đề, cácbài toán Và đó chính là nhiệm vụ của mô

Trang 1

Đại Học Quốc Gia TP.HCM Trường Đại Học Công Nghệ Thông Tin

Trang 2

-NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Trang 3

MỤC LỤC I GIỚI THIỆU 4

II NỘI DUNG 5

1 Khái niệm và vấn đề biểu diễn tri thức 5

a. Tri thức (knowledge) 5

b. Các mô hình biểu diễn tri thức cơ bản 6

i logic vị từ 7

ii Mạng ngữ nghĩa 7

iii Hệ luật dẫn 9

iv Frame 12

2 MẠNG SUY DIỄN - TÍNH TOÁN 13

a Đặt vấn đề 13

b Một số ví dụ 13

c Mô hình mạng suy diễn 15

d. Các vấn đề cơ bản 17

Tính giải được: 17

Tìm lời giải: 17

Bổ sung giả thiết: 17

Định nghĩa: 17

Ký hiệu: 18

Ví dụ: 18

Định nghĩa lời giải: 18

e Tìm lời giải 18

Tính giải được 18

f. Phân tích quá trình giải 23

3 Cài đặt bài toán giải tam giác dựa trên mạng suy diễn (bằng ngôn ngữ MAPLE) 24

III KẾT LUẬN 25

IV TÀI LIỆU THAM KHẢO 26

Trang 4

I GIỚI THIỆU

Ngày nay, với sự phát triển mạnh mẻ của chuyên ngành trí tuệ nhân tạo, con người

đã đạt được những thành tựu to lớn trong công nghệ tri thức, con người từng bước thựchiện ước mơ biến máy tính thành những hệ thống thông minh, có khả năng suy diễn nhưcon người Chẳng hạn như các hệ chuyên gia có khả năng tích lũy tri thức của nhiềuchuyên gia và giải quyết được nhiều vấn đề mà để giải quyết được đòi hỏi phải có sựuyên bác của các chuyên gia, hay các hệ cơ sở tri thức cho phép mô hình hoá các tri thứccủa chuyên gia, dùng tri thức này để giải quyết vân đề phức tạp thuộc cùng lĩnh vực

Trongcác hệ thống như trên, thành phần quan trọng nhất là Cơ sở tri thức và Máy suy diễn Vàmột trong những công việc khó khăn, quan trọng là làm sau ‘chuyển’ các tri thức, nhữngcách suy diễn, lập luận của con người vào máy tính để giúp nó có tri thức và biết lậpluận, suy diễn như con người Nói cách khác là xây dựng mô hình biểu diễn tri thức để tổchức lưu trữ và xử lý tri thức trên máy, sao cho máy có thể suy luận giải các vấn đề, cácbài toán Và đó chính là nhiệm vụ của môn học biểu diễn tri thức: xây dựng các mô hình

để biểu diễn được các tri thức và hoạt động suy diễn thể hiện được như con người

Trong chuyên đề này, Thầy đã cung cấp các kiến thức và trình bày nhiều mô hìnhbiểu diễn tri thức khác nhau Trong phạm vi tiểu luận này, tôi xin tóm tắt lại một số môhình và xây dựng một ứng dụng hệ giải toán tam giác bằng cách dùng mô hình mạng suydiễn tính toán và dùng MAPLE để thể hiện

Người sử dụng

(User)

Hệ thống giao tiếp (User Interface)

Cơ sở tri thức(Knowledge Base)Máy suy diễn(Inference Engine)

Trang 5

Tôi chân thành cảm ơn Thầy PGS.TS Đỗ Văn Nhơn đã truyền đạt những kiếnthức quý báu, tinh thần say mê nghiên cứu khoa học, cũng như đã cung cấp những kiếnthức mở rộng phục vụ cho quá trình nghiên cứu về sau.

II. NỘI DUNG

1 Khái niệm và vấn đề biểu diễn tri thức

Trang 6

Các luật thể hiên qua các hệ thức như:

 tổng các góc trong một tam giác bằng Pi: A + B + C = π,

 định lý sin: sinA a = b

sinB=

c sinC=2 R ,

b. Các mô hình biểu diễn tri thức cơ bản

Ngày nay, việc xây dựng mô hình biểu diễn tri thức thường dựa trên:

 Các cấu trúc dữ liệu cơ bản và trừu tượng đã biết

Trang 7

 Các mô hình và cấu trúc toán học: Đại số tuyến tính, Toán rời rạc, Đồ thị, Giải tích, Hình học giải tích, Xác xuất thống kê, LOGIC, …

 Các mô hình biểu diễn tri thức cơ bản:

Mô hình: (Predicates, Clauses)

Predicates là tập gồm các vị từ, mỗi vị từ biểu diễn cho phát biểu nói về một tính

chất của đối tượng hay một quan hệ giữa các đối tượng mỗi vị từ xác định bởi tên vị từ

và các kiểu tham biến

Ví dụ: gioi(x:sinhvien)

vg(v: vector, P: plane)

Clauses là tập gồm các biểu thức vị từ gồm 2 dạng fact và rule.

Nên dùng PROLOG, công cụ xử lý biểu diễn theo vị từ

Predicates

us(integer, integer) uscln(integer, integer, integer) clauses

uscln(A,0,A).

uscln(0,A,A).

uscln(A,B,D) :- A > B, A1 = A-B, uscln(A1,B,D).

uscln(A,B,D) :- A <= B, B1 = B-A, uscln(A,B1,D).

Trang 8

uscln(24,36, What) Run  What = 12

ii Mạng ngữ nghĩa+ Mô hình tri thức dạng đồ thị: (Nodes, Arcs)

Nodes gồm các yếu tố hay các bộ phận cấu thành tri thức Các node có thể là khái

niệm, đối tượng, sự kiện, cấu trúc trừu tượng,

Arcs gồm các liên kết biểu diễn cho các quan hệ giữa các nodes Các quan hệ có

thể là: IS_A, HAS_A, …

+ Tổ chức lưu trữ: Dựa trên các kỹ thuật biểu diễn và tổ chức lưu trữ xử lý đồ thị

Ví dụ: Biểu diễn ma trận, biểu diễn dạng danh sách kề hay danh sách cạnh, …

S

bay là

Trang 9

Để giải bài toán này bằng mạng ngữ nghĩa, ta phải sử dụng khoảng 200 đỉnh đểchứa công thức và khoảng 22 đỉnh để chứa các yếu tố của tam giác Mạng ngữ nghĩa chobài toán này có cấu trúc như sau:

Đỉnh của đồ thị bao gồm 2 loại:

- Đỉnh chứa công thức (ký hiệu bằng hình chữ nhật)

- Đỉnh chứa các yếu tố tam giác (ký hiệu bằng hình tròn)

Cung: chỉ nối từ đỉnh hình tròn đến đỉnh hình chữ nhật cho biết yếu tố tam giácxuất hiện trong công thức nào(không có trường hợp cung nối giữa hai đỉnh hình tròn haynối giữa 2 đỉnh hình chữ nhật)

* Lưu ý : trong một công thức liên hệ giữa n yếu tố của tam giác, ta giả định rằngnếu đã biết giá trị của n-1 yếu tố thì sẽ tính được giá trị của yếu tố còn lại Chẳng hạn nhưtrong công thức tổng 3 góc của tam giác bằng 1800 thì khi biết được hai góc, ta sẽtính được góc còn lại

Trang 10

Cơ chế suy diễn thực hiện theo thuật toán "loang" đơn giản sau :

o B1 : Kích hoạt những đỉnh hình tròn đã cho ban đầu (những yếu tố đã cógiá trị)

o B2 : Lặp lại bước sau cho đến khi kích hoạt được tất cả những đỉnh ứng vớinhững yếu tố cần tính hoặc không thể kích hoạt được bất kỳ đỉnh nào nữa.Nếu một đỉnh hình chữ nhật có cung nối với n đỉnh hình tròn mà n-1 đỉnh hìnhtròn đãđược kích hoạt thì kích hoạt đỉnh hình tròn còn lại (và tính giá trị đỉnh còn lại nàythông qua công thức ở đỉnh hình chữ nhật)

các luật được quản lý bằng một module gọi là bộ suy diễn.

+ luật dẫn có dạng “if … then …”

Mô hình Hệ luật dẫn: (Facts, Rules)

Facts là ….

Rules là …

Ví dụ: một phần kiến thức về một tam giác trong hình học

Các yếu tố của tam giác, mỗi sự kiện là một phát biểu nói lên tính xác định củayếu tố  ký hiệu cho các sự kiện: a, b, c, A, B, C, S, p, R, ha, hb, hc, …

Các luật nói lên liên hệ “dẫn xuất” giữa các sự kiện:

if A, B then C;

if B, C then A;

if A, C then B;

Trang 11

if a, A then R;

v.v …

b Mô hình: (Facts, Rules)

Facts gồm các phát biểu chỉ các sự kiện hay tác vụ nào đó

Rules gồm luật dẫn có dạng “if … then …”

Phần tri thức trên có thể biểu diễn theo mô hình hệ luật dẫn (Facts, Rules) gồm:

Facts = {a, b, c, A, B, C, S, p, R, ha, hb, hc, …}

Lưu trên đĩa: sử dụng 2 tập tin dạng “text có cấu trúc”: Facts.txt và Rules.txt

Cấu trúc file Facts.txt:

Begin

a : cạnh a của tam giác.

b : … v.v…

Trang 12

Cho trước hệ luật dẫn K = (Facts, Rules) Giả sử có một tập sự kiện GT đã xácđịnh, ta xét một tập sự kiện mục tiêu KL Hỏi có thể suy ra KL từ GT dựa trên tri thức Khay không ?

Ký hiệu bài toán: GT  KL

Thuật giải suy diễn tiến:

B1: Solution = [];

Known = GT;

B2: while (KL chưa nằm trong Known) do

2.1: Tìm luật r để áp dụng trên Known nhằm sinh ra sự kiện mới:

gt(r)  Known, và kl(r) không nằm trong Known.

Trang 13

Frame : XE HƠI

 Thuộc lớp: phương tiện vận chuyển.

 Tên nhà sản xuất: Audi

 Quốc gia của nhà sản xuất: Đức

 Máy (tham chiếu frame Máy)

Kiểu: In-line, overhead cam

Trong cấu trúc của một hệ giải toán dựa trên tri thức, 2 thành phần trung tâm là cơ

sở tri thức và bộ suy diễn dựa trên tri thức

Nhiệm vụ: cần xây dựng và phát triển các mô hình biểu diễn tri thức giúp thiết kế

Trang 14

Trong nhiều chủ đề giải toán thường gặp những vấn đề đặt ra dưới dạng như sau:

 Cần phải thực hiện những tính toán hay suy diễn ra những yếu tố cần thiếtnào đó từ một số yếu tố đã được biết trước

 Để giải quyết vấn đề người ta phải vận dụng một số hiểu biết (tri thức) nào

đó về những liên hệ giữa các yếu tố đang được xem xét Những liên hệ chophép ta có thể suy ra được một số yếu tố từ giả thiết đã biết một số yếu tốkhác

b. Một số ví dụ

Ví dụ1:

Giả sử chúng ta đang quan tâm đến một số yếu tố trong một tam giác, chẳng hạn :

3 cạnh a, b, c; 3 góc tương ứng với 3 cạnh : α, β, γ; 3 đường cao tương ứng : ha,

hb, hc; diện tích S của tam giác; nửa chu vi p của tam giác; bán kính đường trònnội tiếp r của tam giác

Giữa 12 yếu tố trên có các công thức thể hiện những mối quan hệ giúp ta có thểgiải quyết được một số vấn đề tính toán đặt ra như: Tính một yếu tố từ một số yếu

tố được cho trước Chẳng hạn, tính S khi biết a, b và p

Trong tam giác, ta có các quan hệ giữa các yếu tố thể hiện dưới dạng công thứcnhư sau:

Trang 15

f Độ biến thiên vận tốc giữa 2 thời điểm là v, và độ biến thiên thời gian là t.Ngoài ra còn có một số yếu tố khác nữa của chuyển động vật thể có thể được quantâm.

Để giải những bài toán về chuyển động nầy chúng ta phải sử dụng một số côngthức liên hệ giữa các yếu tố của chuyển động, chẳng hạn như:

f = m * a;

v = a*t;

Trang 16

c. Mô hình mạng suy diễn

Nhận thấy có nhiều vấn đề trong các lĩnh vực khác nhau đặt ra dưới dạng một

“mạng” các yếu tố, trong đó giữa các yếu tố có những mối liên hệ (hay quan hệ) cho phép

ta có thể suy ra được một số yếu tố nầy từ một số yếu tố khác

Mô hình mạng suy diễn - tính toán là một sự khái quát dạng tri thức trên, và có thểdùng biểu diễn tri thức và thiết kế các chương trình giải toán tự động

Định nghĩa

Quan hệ suy diễn:

Cho M = x1,x2, ,xm là một tập hợp các biến có thể lấy giá trị trong các miền xácđịnh D1, D2, ,Dm Mỗi quan hệ suy diễn R trên M được xác định bởi một (hay một số)ánh xạ có dạng:

• fR,u,v : Du  Dv,

• trong đó u,v là các bộ biến được phân chia từ bộ biến

x = <x1,x2, ,xm>; Du và Dv là tích của các miền xác định tương ứng của các biếntrong u và trong v

Quan hệ suy diễn R(x) có thể được biểu diễn bởi một (hay một số) ánh xạ fR,u,v và

ta viết vắn tắt là:

f : u  v

Trang 17

Cách ký hiệu trên bao hàm ý nghĩa như một luật suy diễn: ta có thể xác định haysuy ra được các biến thuộc v khi biết các biến thuộc u.

Quan hệ là đối xứng và có hạng k khi quan hệ đó giúp ta có thể tính được k biếnbất kỳ từ m-k biến kia (ở đây x là bộ gồm m biến < x1,x2, ,xm >)

Quan hệ f giữ a n biến x1, x2, , xn được cho dưới dạng một hệ phương trìnhtuyến tính có nghiệm Trong trường hợp nầy f là một quan hệ đối xứng có hạng k bằnghạng của ma trận hệ số của hệ phương trình

Định nghĩa

Mạng suy diễn, viết tắt là MSD, là một cấu trúc (M,F) gồm 2 tập hợp:

 M = {x1,x2, ,xn}, là tập hợp các thuộc tính hay các biến lấy giá trị trongcác miền xác định nào đó

 F = {f1,f2, ,fm}, là tập hợp các luật suy diễn có dạng:

f : u(f)  v(f)trong đó u(f) và v(f) là các tập hợp con khác rỗng của M sao cho u(f)  v(f) = 

˜ Ký hiệu: M(f) = u(f)  v(f)

d. Các vấn đề cơ bản

Cho một mạng suy diễn (M,F) với M là tập các thuộc tính (hay các biến) và F là

Trang 18

Giả sử có một tập biến A  M đã được xác định (tức là tập gồm các biến đã biếttrước), và B là một tập biến bất kỳ trong M.

Tính giải được:

Có thể xác định được (hay suy ra) tập B từ tập A nhờ các quan hệ trong F haykhông? Nói cách khác, ta có thể tính được giá trị của các biến thuộc B với giả thiết đãbiết giá trị của các biến thuộc A hay không?

Tìm lời giải:

Nếu có thể suy ra được B từ A thì quá trình suy diễn như thế nào? Trong trườnghợp có nhiều cách suy diễn khác nhau thì cách suy diễn nào là tốt nhất?

Bổ sung giả thiết:

Trong trường hợp không thể xác định được B, thì cần cho thêm điều kiện gì để cóthể xác định được B

Ký hiệu bài toán xác định B từ A là:

A  B

Định nghĩa:

Một luật suy diễn u  v được được gọi là áp dụng được trên A khi u  A

Một quan hệ suy diễn được gọi là áp dụng được trên A khi nó xác định một luậtsuy diễn áp dụng được trên A

Dãy D = {f1, f2, , fk} các quan hệ suy diễn (hay luật suy diễn) của mạng suydiễn (M,F) được nói là áp dụng được trên tập A khi và chỉ khi ta có thể lần lượt áp dụngđược các quan hệ f1, f2, , fk xuất phát từ giả thiết A

Trang 19

Ví dụ:

Trong mạng suy diễn cho một hình chữ nhật, với A = { b1, b2 } và D = { f1: S =b1 * b2; f2: p = 2*(b1+b2)} ta có D(A) = { b1, b2, S, p}

Định nghĩa lời giải:

• D = f1, f2, , fk là một lời giải của bài toán A B khi lần lượt áp dụng cácquan hệ fi (i=1, ,k) xuất phát từ giả thiết A thì sẽ suy ra được các biến thuộc B Nói cáchkhác D là một lời giải của bài toán khi D(A) B

• Bài toán A B là giải được khi nó có một lời giải

• Lời giải f1, f2, , fk được gọi là lời giải tốt nếu không thể bỏ bớt một sốbước tính toán trong quá trình giải, tức là không thể bỏ bớt một số quan hệ trong lời giải

• Lời giải ngắn nhất: có số bước suy diễn thấp nhất

e. Tìm lời giải

Tính giải được

Định nghĩa “bao đóng”:

• Cho mạng suy diễn (M,F), và A là một tập con của M Ta có thể thấy rằng

có duy nhất một tập hợp B lớn nhất M sao cho bài toán A  B là giải được, và tập hợp

B nầy được gọi là bao đóng của A trên mạng (M,F)

• Ký hiệu bao đóng của A là

Trang 20

if ( f đối xứng and Card (M(f) \ B) ≤ r(f) ) or

(f không đối xứng and M(f) \ B v(f) ) then

• Dãy quan hệ suy diễn D là một lời giải của bài toán

A  B khi và chỉ khi D áp dụng được trên A và

D(A)  B

 Để tìm một lời giải ta có thể làm như sau: Xuất phát từ giả thiết A, ta thử ápdụng các quan hệ để mở rộng dần tập các biến được xác định (được biết); và quá trìnhnầy tạo ra một sự lan truyền tính xác định trên tập các biến cho đến khi đạt đến tập biếnB

Thuật toán tìm một lời giải của bài toán A B

• 1 Solution empty;

Trang 21

// Solution là dãy các quan hệ sẽ áp dụng

• 2 if B A then

begin

Solution_found true;

// biến Solution_found = true khi

// bài toán là giải được

Aold A; Chọn ra một f F chưa xem xét;

while not Solution_found and (chọn được f) do

begin

if ( f đối xứng and 0 < Card (M(f) \ A) ≤ r(f) ) or

(f không đối xứng and  M(f) \ A v(f)) then

Until Solution_found or (A = Aold);

if not Solution_found then

Bài toán không có lời giải;

else

Solution là một lời giải;

Nhận xét:

Trang 22

khi cần trình bày quá trình giải (hay bài giải) ta có thể xuất phát từ lời giải tìmđược dưới dạng một dãy các quan hệ để xây dựng bài giải.

Lời giải (nếu có) tìm được trong thuật toán trên chưa chắc là một lời giải tốt Ta cóthể bổ sung thêm cho thuật toán ở trên một thuật toán để tìm một lời giải tốt từ một lờigiải đã biết nhưng chưa chắc là tốt

Thuật toán tìm một lời giải tốt của bài toán A B

• Giả sử {f1, f2, , fm} là một lời giải của bài toán A  B Tìm một lời giảitốt cho bài toán

1 D {f1, f2, , fm};

2 for i=m downto 1 do

if D \ {fi} là một lời giải then

D D \ {fi};

3 D là một lời giải tốt.

Lưu ý: ta có thể tìm một lời giải tốt từ một lời giải biết trước bằng cách lần lượt

xem xét các quan hệ trong tập lời giải đã biết và chọn ra các quan hệ để đưa vào một lờigiải mới sao cho trong lời giải mới nầy không thể bớt ra bất kỳ một quan hệ nào

Ví dụ: Cho tam giác ABC có cạnh a và 2 góc kề là β, γ được cho trước Hãy xác

định (hay suy ra) S của tam giác

Để tìm ra lời giải cho bài toán trước hết ta xét mạng suy diễn của tam giác Mạngsuy diễn nầy gồm :

• Tập biến M = {a, b, c, , , , ha, hb, hc, S, p, R, r, },

• trong đó a,b,c là 3 cạnh; α, β, γ là 3 góc tương ứng với 3 cạnh; ha, hb, hc là

3 đường cao; S là diện tích tam giác; p là nửa chu vi; R là bán kính đường tròn ngoại tiếptam giác; r là bán kính đường tròn nội tiếp tam giác, v.v

• Các quan hệ suy diễn thể hiện bởi các công thức sau đây:

Ngày đăng: 10/04/2015, 11:08

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w