Tìm hiểu các biểu diễn tri thức trong giải bài toán hình học giải tích không gian LỜI MỞ ĐẦU Trong quá trình học môn biểu diễn tri thức và ứng dụng, được sự giảng dạy và hướng dẫn của Th
Trang 1Tìm hiểu các biểu diễn tri thức trong giải bài toán hình học giải tích không gian
Mục lục:
LỜI MỞ ĐẦU 3
Chương I CƠ SỞ LÝ THUYẾT LIÊN QUAN ĐẾN XÂY DỰNG HỆ CƠ SỞ TRI THỨC 4
I.1 Các phương pháp biểu diễn tri thức 4
Hình 1: mạng ngữ nghĩa mô tả tri thức về xe 7
Chương II Áp Dụng Mạng Tính Toán Trong Hình Học Giải Tích Không Gian 11
II.1 Khái Niệm Về Đối Tượng Tính Toán Và Mô Hình 11
II.2 Mô Hình Tri Thức Mạng Suy Diễn Tính Toán 14
Chương III Demo Giải Toán Hình Học Giải Tích Không Gian Bằng Maple 26
III.1 Mô Hình Mạng Tính Toán 26
III.2 Giải Các Bài Toán Cơ Bản Bằng Maple – Phương pháp bình thường 31
Chương IV Cài Đặt Và Chạy Thử Nghiệm 42
IV.1 Giới Thiệu Về Maple 16 42
Chương V TÀI LIỆU THAM KHẢO 47
Trang 3Tìm hiểu các biểu diễn tri thức trong giải bài toán hình học giải tích không gian
LỜI MỞ ĐẦU
Trong quá trình học môn biểu diễn tri thức và ứng dụng, được sự giảng dạy và hướng dẫn của Thầy PGS TS Đỗ Văn Nhơn, tôi đã được Thầy giới thiệu về các
mô hình cũng như những thuật toán được sử dụng trong việc biểu diễn tri thức
Được sự gợi ý của Thầy PGS TS Đỗ Văn Nhơn, tôi xin thực hiện đề tài "Tìm
hiểu các biểu diễn tri thức trong giải các bài toán hình học giải tích không gian” nhằm vận dụng các kiến thức về các mô hình biển diễn tri thức, kiến thức về
trí tuệ nhân tạo để thực hiện đề tài Bài viết nghiên cứu sâu về mô hình mạng tính toán và việc lập trình trên phần mềm maple 16
Xin chân thành cám ơn Thầy PGS TS Đỗ Văn Nhơn đã tận tình giảng dạy, định hướng và hướng dẫn tôi trong suốt môn học “Biểu diễn tri thức và ứng dụng”
Học viên Nguyễn Xuân Nghề
Trang 4Chương I CƠ SỞ LÝ THUYẾT LIÊN QUAN ĐẾN XÂY DỰNG HỆ CƠ SỞ TRI THỨC
Tri thức là sự hiểu biết về một lĩnh vực của một chủ đề Tri thức thừơng bao gồm các khái niệm, sự kiện Biểu diễn tri thức là sự diễn đạt và thể hiện của tri thức dưới những dạng thích hợp để có thể tổ chức một cơ sở tri thức của hệ thống Phần này sẽ trình bày các phương pháp và kỹ thuật biểu diễn tri thức
I.1 Các phương pháp biểu diễn tri thức
1.1.1 Biểu diễn tri thức dựa trên logic hình thức
Đây được xem như các biểu diễn tri thức đơn giản nhất trong máy tính Sử dụng các kí hiệu để mô tả tri thức Mỗi kí hiệu nhằm diễn tả một khái niệm nào đó tronglĩnh vực đang xét, và mỗi kí hiệu này mang 2 giá trị luận lý là đúng hoặc sai Các
phép tóan logic được sử dụng phổ biến của dạng là: and( ), or ( ), not(~) và phép
kéo theo(→), tương đương ( ) Ví dụ: Tri thức “nếu trời mưa và xe máy hư thì đi
xe buýt” được biểu diễn là: s p→ r, trong đó s diễn tả khái niệm trời mưa, p
diễn tả khái niệm xe hư và r là đi xe buýt Như vậy mô hình cho phương pháp nàybao gồm: tập các kí hiệu và tập các luật để diễn đạt các sự kiện và luật trong hệ cơ
sở tri thức
Trang 5Tìm hiểu các biểu diễn tri thức trong giải bài toán hình học giải tích không gian
Phương pháp suy luận trong cách biểu diễn này là sử dụng suy diễn tiến, suy diễn lùi hoặc kết hợp cả hai Phương pháp suy diễn tiến là suy dẫn từ giả thuyết đi đến kết luận và suy diễn lùi là truy ngược từ kết luận trở về giả thuyết
Cho bài tóan suy diễn: Tập luật R={Ri: nếu l (Ri) thì r (Ri), i=1,2, n}
Ghi chú: l(Ri): vế trái luật Ri
r(Ri): vế phải luật Ri
Thuật giải suy diễn tiến(suy diễn đơn điệu tăng)
Đầu vào: Tập giả thiết G và tập kết luận K.
Đầu ra: thành công hay thất bại
Bước 1: GT ← G
Bước 2: nếu K G thì dừng thành công
Ngược lại, chuyển sang bước 3
Bước 3: Từ R chon luật Ri sao cho l(Ri) G
GT ← GT r(Ri)
Quay lại bước 2
Nếu không chọn được Ri thì dừng thất bại
Thuật giải suy diễn lùi
Đầu vào: Tập giả thiết G và tập kết luận K.
Đầu ra: thành công hay thất bại
Bước 1: O ← K: // O là tập các sự kiện kết luận cần chứng minh
Bước 2: nếu O G thì dừng thành công, ngược lại qua bước 3
Bước 3: chứng minh tất cả các sự kiện giả thiết của một luật nào đó trong G mà cókết luận là K
Mô hình biểu diễn này rất khó áp dụng trong thực tế vì các phát biểu (sự kiện) được mô tả quá đơn giản, và giá trị của các phát biểu này chỉ là đúng, sai Trong khi đó tri thức của mỗi lĩnh vực thì phức tạp và trị mô tả trong tri thức là đa dạng
Trang 61.1.2 Biểu diễn tri thức dựa trên hệ luật dẫn
Một luật dẫn được mô tả dưới dạng nếu <giả thiết> thì <kết luận> Đây là dạng
biểu diễn tri thức rất phổ biến Mô hình biểu diễn tri thức dạng này thường bao gồm: tập các ký hiệu mô tả các sự kiện(có cấu trúc đơn giản) và tập luật dẫn Trong đó phần giả thiết và kết luận của luật là tập các sự kiện Mỗi sự kiện được
mô tả có cấu trúc đơn giản như (tên đối tượng- thuộc tính –giá trị) Ví dụ: quả cam – màu-vàng
Mô hình biểu diễn tri thức dạng này có những ưu điểm là dễ hiểu, dễ giải thích vì các khái niệm được mô tả có cấu trúc tương đối đơn giản Có thể xây dựng cơ chế suy luận dễ dàng bằng cách áp phương pháp suy diễn tiến hay lùi Ngòai ra, các luật được biểu diễn theo mô hình này thường độc lập nhau nên việc cập nhật luật, hiệu chỉnh và bảo trì hệ trì hệ thống thuận lợi Tuy nhiên, từ những đặc điểm trong cách biểu diễn tri thức dạng này tạo nên ưu điểm thì nó cũng tạo racác khuyết điểm sau: Chính vì các sự kiện có cấu trúc đơn giản, trong khi tri thức của một số lĩnh vực lại trừu tượng và phức tạp, các khái niệm của lĩnh vực có quan
hệ ràng buộc lẫn nhau nên mô hình biểu diễn này không thể hiện được hết tất cả những yếu tố trừu tượng đó
1.1.3 Biểu diễn tri thức dựa trên mạng ngữ nghĩa
Mạng ngữ nghĩa có dạng một đồ thị, trong đó nút là các khái niệm hay đối tượng, cung là quan hệ giữa các đối tượng hay khái niệm
Trang 7Tìm hiểu các biểu diễn tri thức trong giải bài toán hình học giải tích không gian
Hình 1: mạng ngữ nghĩa mô tả tri thức về xe
Dựa vào mạng ngữ nghĩa ta nhận biết tri thức một cách trực quan giúp thiết kế các
xử lý như: thêm bớt các khái niệm/ đối tượng , tìm kiếm thông tin
Cơ chế suy diễn thực hiện theo thuật tóan “loang” như sau
Bước 1: Kích hoạt các nút ứng với giả thiết cho ban đầu( những yếu tố đã có giá trị)
Bước 2: lặp lại bước sau cho đến khi kích họat tất cả các đỉnh ứng với các yếu tố cần tính (thành công) hoặc không thể kích họat được bất kỳ đỉnh nào nữa(thất bại)
Mô hình mạng ngữ nghĩa rất linh động, ta dễ dàng thêm các các đỉnh hoặc cung để
bổ sung thêm tri thức Cách biểu diễn tri thức dạng đồ thị nên rất dễ hiểu Ngòai
ra với cách biểu diễn này giữa các đỉnh còn thể hiện mối quan hệ “kế thừa” nếu thông qua quan hệ “là” Cùng với những ưu điểm trên thì cách biểu diễn này khá trừu tượng và khái quát, trong áp dụng phải phát triển các mô hình tri thức cụ thể hơn
Các mô hình biểu diễn tri thức theo mạng ngữ nghĩa:
Mạng tính tóan: Là một dạng biểu diễn tri thức về các vấn đề tính toán và được
áp dụng một cách có hiệu quà để giải quyết một số dạng bài tóan Mỗi mạng tính tóan là một mạng ngữ nghĩa chứa các biến và những quan hệ có thể cài đặt sử dụng cho việc tính toán Mạng tính tóan gồm tập M và F
M: tập các biến trong miền giá trị số thực
F: tập các quan hệ giữa các biến
Trang 8Từ mô hình này theo tác giả Đỗ Văn Nhơn thì sẽ cần giải quyết các vấn đề :
(1) Cho trước tập A M và B tập các biến bất kỳ Có thể xác định B từ tập A nhờ
các quan hệ trong F hay không?
(2) Nếu xác định được tập B thì quá trình tính tóan các biến của B được thực hiện như thế nào?
(3) Trong trường hợp không tìm được B thì cần bổ sung thêm điều kiện gì để có thể tìm được B
Mạng tính tóan cho ta thấy được cấu trúc nội bộ bên trong của một mạng Nhưng nếu xét trên bài tóan có nhiều mạng tính tóan thì mô hình này chưa thể hiện một cách đầy đủ các quan hệ , liên kết giữa các mạng tính tóan này
Mạng các đối tượng tính toán:
Một mạng tính tóan còn gọi là đối tượng tính tóan (ký hiệu O) Một mạng các đối tượng tính tóan bao gồm tập các đối tượng tính tóan
O = {O1,O2, , On}và tập các quan hệ giữa các đối tượng tính toán
Trang 9Tìm hiểu các biểu diễn tri thức trong giải bài toán hình học giải tích không gian
Mô hình biểu diễn tri thức dạng này cho phép ta thực hiện tính tóan các biến của một hay hiều đối tượng dựa trên tập biến của các đối tượng khác
1.1.4 Mô hình biểu diễn tri thức COKB
Theo lý thuyết từ mô hình COKB (Computational Object Knowledge Base) của tác giả Đỗ Văn Nhơn Mô hình này gồm 6 thành phần sau:
M=(C,H,R,Ops,Funcs,Rules)
Trong đó:
(1) C là tập hợp các khái niệm về C_Object
(2) H là tập hợp các quan hệ phân cấp giữa các lọai đối tượng
(3) R là tập hợp các khái niệm về các loại quan hệ trên C_Object
Ngòai ra, mô hình này có 11 lọai sự kiện sau:
- Sự kiện loại 1: Sự kiện thông tin loại của đối tượng
- Sự kiện loại 2: Sự kiện về tính xác định của một đối tượng hay của một thuộc tính của đối tượng
- Sự kiện loại 3: Sự kiện về tính xác định của một đối tượng hay của một thuộc tính của đối tượng thông qua biểu thức hằng
- Sự kiện loại 4: Sự kiện về sự bằng nhau của một đối tượng hay một thuộc tính của đối tượng với một đối tượng hay một thuộc tính khác
- Sự kiện loại 5: Sự kiện về sự phụ thuộc giữa các đối tượng và các thuộc tính của các đối tượng thông qua một công thức tính toán hay một đẳng thức theo các đối tượng hay các thuộc tính
- Sự kiện loại 6: Sự kiện về một quan hệ trên các đối tượng hay trên các thuộc tính của các đối tượng
- Sự kiện loại 7: Sự kiện về tính xác định của một hàm
- Sự kiện loại 8: Sự kiện về tính xác định của một hàm thông qua một biểu thức hằng
- Sự kiện loại 9: Sự kiện về sự bằng nhau giữa một đối tượng với một hàm
Trang 10- Sự kiện loại 10: Sự kiện về sự bằng nhau giữa một hàm với một hàm khác
- Sự kiện loại 11: Sự kiện về sự phụ thuộc của một hàm theo các hàm hay các đối tượng khác thông qua một công thức tính toán
Mô hình biểu diễn này sử dụng cách tiếp cận hướng đối tượng để biểu diễn tri thức Do đó, sử dụng mô hình này giúp dễ thiết kế các mô hình cho những ứng dụng cụ thể vá thiết kế các giải thuật
Trang 11Chương II Áp Dụng Mạng Tính Toán Trong Hình Học Giải Tích Không Gian
II.1 Khái Niệm Về Đối Tượng Tính Toán Và Mô Hình
1.1.1 Đối tượng tính toán (C-object)
Trong nhiều vấn đề giải toán dựa trên tri thức ta thường đề cập đến các đối tượng khác nhau và mỗi đối tượng có cấu trúc bao gồm một số thuộc tính với những quan hệ nhất định Những quan hệ nầy giúp ta thực hiện sự suy diễn, tính toán và giải một số bài toán suy diễn-tính toán trên các thuộc tính của đối tượng
Ví dụ: trong hình học giải tích không gian, một đường thẳng có các thuộc tính như điểm mà đường thẳng đi qua, vector chỉ phương, vị trí tương đối của đường thẳng với đường thẳng, vị trí tương đối của đường thẳng với mặt phẳng,v.v… cùng với các công thức liên hệ giữa các thuộc tính đó sẽ cho ta một cấu trúc của một đối tượng như thế
Dựa trên các đối tượng nầy, nhiều bài toán khác nhau có thể được biểu diễn dưới dạng mạng các đối tượng Cách biểu diễn nầy có thể được áp dụng một cách
có hiệu quả trong các hệ giải toán, chẳng hạn như các hệ giải các bài toán hình họcgiải tích trong không gian
- Định nghĩa 3.1: Ta gọi một đối tượng tính toán (C-object) là một đối tượng O
Trang 12(2) Các hành vi liên quan đến sự suy diễn và tính toán trên các thuộc tính của đối tượng hay trên các sự kiện như:
• Xác định bao đóng của một tập hợp thuộc tính A ⊂ Attr(O), tức là đối tượng O có khả năng cho ta biết tập thuộc tính lớn nhất có thể được suy
ra từ A trong đối tượng O
• Xác định tính giải được của bài toán suy diễn tính toán có dạng A → B với A ⊂ Attr(O) và B ⊂ Attr(O) Nói một cách khác, đối tượng có khả năng trả lời câu hỏi rằng có thể suy ra được các thuộc tính trong B từ các thuộc tính trong A không
• Thực hiện các tính toán
• Thực hiện việc gợi ý bổ sung giả thiết cho bài toán
• Xem xét tính xác định của đối tượng, hay của một sự kiện
Ví dụ 3.1 một cấu trúc của một đường thẳng gồm các yếu tố phương trình đường thẳng, vector chỉ phương của đường thẳng, điểm thuộc đường thẳng,v.v… Sẽ trở thành một đối tượng C-object khi ta tích hợp cấu trúc nầy với các hành vi xử lý liên quan đến việc giải bài toán đường thẳng cũng như các hành vi xem xét một sựkiện nào đó liên quan đến các thuộc tính hay chính bản thân đối tượng Như vậy ta
có một đối tượng đường thẳng Khi đối tượng đường thẳng này được yêu cầu cho một lời giải cho bài toán{M,d} => kc nó sẽ cung cấp một lời giải gồm 3 bước sau đây:
Bước 1: Xác định tọa độ đỉnh M(x1,y1,z1), phương trình đường thẳng d.Bước 2: Tìm tọa độ điểm M0(x2,y2,z2), mà đường thẳng d đi qua Tìm vector chỉ phương của đường thẳng d là u Tính M 0 M, rồi tính [M 0 M;u
]
Bước 3: Tính khoáng cách từ điểm M đến đường thẳng d theo công thức:
Trang 13Tìm hiểu các biểu diễn tri thức trong giải bài toán hình học giải tích không gian
Nếu yêu cầu là giải bài toán {d}⇒ kc thì đối tượng sẽ trả lời rằng “không giải được” và nó có thể đề nghị cung cấp thêm thông tin như M,d
1.1.2 Mô hình cho một C-object
Một C-Object có thể được mô hình hóa bởi một bộ:
(Attrs, F, Facts, Rules)
trong đó: Attrs là tập hợp các thuộc tính của đối tượng, F là tập hợp các quan hệ suy diễn tính toán, Facts là tập hợp các tính chất hay các sự kiện vốn có của đối tượng, và Rules là tập hợp các luật suy diễn trên các sự kiện liên quan đến các thuộc tính cũng như liên quan đến bản thân đối tượng
Ví dụ 3.3: Đối tượng (C-Object) thuộc loại “DUONG_THANG” được biểu diễn theo mô hình trên gồm có:
Attrs = { A, PHUONG_TRINH, VECTOR_CHIPHUONG}
Trang 14II.2 Mô Hình Tri Thức Mạng Suy Diễn Tính Toán
2.1.1 Khái Niệm
Mạng tính toán là một dạng biểu diễn tri thức có thể dùng biểu diễn các tri thức về các vấn đề tính toán và được áp dụng một cách có hiệu quả để giải một số dạng bài
toán Mỗi mạng tính toán là một mạng ngữ nghĩa chứa các biến và những quan hệ
có thể cài đặt và sử dụng được cho việc tính toán Chúng ta xét một mạng tính
toán gồm một tập hợp các biến cùng với một tập các quan hệ (chẳng hạn các công thức) tính toán giữa các biến Trong ứng dụng cụ thể mỗi biến và giá trị của nó thường gắn liền với một khái niệm cụ thể về sự vật, mỗi quan hệ thể hiện một sự tri thức về sự vật
2.1.2 Các Quan Hệ
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 tương ứng D1,D2, ,Dm Đối với mỗi quan hệ R ⊆ D1xD2x xDm trên các tập hợp D1,D2, ,Dm ta nói rằng quan hệ nầy liên kết các biến x1,x2, ,xm, và ký hiệu là R(x1,x2, ,xm) hay vắn tắt là R(x) (ký hiệu x dùng để chỉ bộ biến < x1,x2, ,xm >)
Ta có thể thấy rằng quan hệ R(x) có thể được biểu diễn bởi một ánh xạ fR,u,v với u
∪ v = x, và ta viết : fR,u,v : u → v, hay vắn tắt là f : u → v
Đối với các quan hệ dùng cho việc tính toán, cách ký hiệu trên bao hàm ý nghĩa như là một hàm: ta có thể tính được giá trị của các biến thuộc v khi biết được giá trị của các biến thuộc u
Trong phần sau ta xét các quan hệ xác định bởi các hàm có dạng f : u → v, trong đó u ∩ v = ∅ (tập rỗng) Đặc biệt là các quan hệ đối xứng có hạng (rank)
bằng một số nguyên dương k Đó là các quan hệ mà ta có thể tính được k biến bất
kỳ từ m-k biến kia (ở đây x là bộ gồm m biến < x1,x2, ,xm >) Ngoài ra, trong trường hợp cần nói rõ ta viết u(f) thay cho u, v(f) thay cho v Đối với các quan hệ
Trang 15Tìm hiểu các biểu diễn tri thức trong giải bài toán hình học giải tích không gian
không phải là đối xứng có hạng k, không làm mất tính tổng quát, ta có thể giả sử quan hệ xác định duy nhất một hàm f với tập biến vào là u(f) và tập biến ra là v(f);
ta gọi loại quan hệ nầy là quan hệ không đối xứng xác định một hàm, hay gọi vắn
tắt là quan hệ không đối xứng.
Ví dụ: quan hệ f giữa 3 góc A, B, C trong tam giác ABC cho bởi hệ thức:
A+B+C = 180 (đơn vị: độ)
Hình 2-1: Quan hệ 3 góc trong tam giác ABC
2.1.3 Mạng Tính Toán Và Các Ký Hiệu
Như đã nói ở trên, ta sẽ xem xét các mạng tính toán bao gồm một tập hợp các biến
M và một tập hợp các quan hệ (tính toán) F trên các biến Trong trường hợp tổng quát có thể viết:
M = {x1,x2, ,xn},
F = {f1,f2, ,fm}
Đối với mỗi f ∈ F, ta ký hiệu M(f) là tập các biến có liên hệ trong quan hệ f Dĩ nhiên M(f) là một tập con của M: M(f) ⊆ M Nếu viết f dưới dạng:
Trang 16f : u(f) → v(f)
thì ta có: M(f) = u(f) ∪ v(f)
2.1.4 Bài Toán Trên Mạng Tính Toán
Cho một mạng tính toán (M,F), M là tập các biến và F là tập các quan hệ Giả sử
có một tập biến A ⊆ M đã được xác định và B là một tập biến bất kỳ trong M
Các vấn đề đặt ra là:
1 Có thể xác định được tập B từ tập A nhờ các quan hệ trong F hay khô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?
2 Nếu có thể xác định được B từ A thì quá trình tính toán giá trị của các biến
thuộc B như thế nào?
3 Trong trường hợp không thể xác định được B, thì cần cho thêm điều kiện gì
Bài toán A → B được gọi là giải được khi có thể tính toán được giá trị các
biến thuộc B xuất phát từ giả thiết A Ta nói rằng một dãy các quan hệ {f1, f2, ,
fk} ⊆ F là một lời giải của bài toán A → B nếu như ta lần lượt áp dụng các quan
hệ fi (i=1, ,k) xuất phát từ giả thiết A thì sẽ tính được các biến thuộc B 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
Việc tìm lời giải cho bài toán là việc tìm ra một dãy quan hệ để có thể áp
Trang 17Tìm hiểu các biểu diễn tri thức trong giải bài toán hình học giải tích không gian
dụng suy ra được B từ A Điều nầy cũng có nghĩa là tìm ra được một quá trình tínhtoán để giải bài toán
Định nghĩa 2.2 :
Cho D = {f1, f2, , fk} là một dãy quan hệ của mạng tính toán (M,F), A là
một tập con của M Ta nói dãy quan hệ D 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
Nhận xét : Trong định nghĩa trên, nếu đặt : A0 = A, A1 = A0∪ M(f1), ,
Ak = Ak-1∪ M(fk), và ký hiệu Ak là D(A), thì ta có D là một lời giải của bài toán A
→ D(A) Trong trường hợp D là một dãy quan hệ bất kỳ (không nhất thiết là áp dụng được trên A), ta vẫn ký hiệu D(A) là tập biến đạt được khi lần lượt áp dụng các quan hệ trong dãy D (nếu được) Chúng ta có thể nói rằng D(A) là sự mở rộng của tập A nhờ áp dụng dãy quan hệ D
GIẢI QUYẾT VẤN ĐỀ :
1 Tính giải được của bài toán :
Trong mục nầy chúng ta nêu lên một khái niệm có liên quan đến tính giải được của vấn đề trên một mạng tính toán : bao đóng của một tập hợp biến trên mộtmạng tính toán
Định nghĩa 3.1: Cho mạng tính toá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ô hình (M,F)
Một cách trực quan, có thể nói bao đóng của A là sự mở rộng tối đa của A trên môhình (M,F) Ký hiệu bao đóng của A là A, chúng ta có định lý sau đây:
Định lý 3.1 Trên một mạng tính toán (M,F), bài toán A → B là giải được khi và chỉ khi B ⊆ A
Trang 18Từ định lý nầy, ta có thể kiểm tra tính giải được của bài toán A → B bằng cách tính bao đóng của tập A rồi xét xem B có bao hàm trong A hay không.
Định lý 3.2 Cho một mạng tính toán (M,F), A, B là hai tập con của M Ta
có các điều sau đây là tương đương:
Dễ dàng thấy rằng dãy {f1, f2, , fk} nầy thỏa các điều kiện (2)
Đảo lại, giả sử có (2) Với các điều kiện có được bởi (2) ta thấy {fi} là lời giải của vấn đề Ai-1→ Ai, với mọi i = 1,2, , k Từ mệnh đề 3.2 suy ra bài toán A0→
Ak là giải được Do đó bài toán A → B cũng giải được, suy ra B ⊆ A theo định lý 3.1
Qua các định lý trên, ta thấy rằng việc xác định bao đóng của một tập biến trên môhình tính toán là cần thiết Dưới đây là thuật toán cho phép xác định bao đóng của tập hợp A ⊆ M Trong thuật toán nầy chúng ta thử áp dụng các quan hệ f ∈ F để tìm dần những biến thuộc M có thể tính được từ A; cuối cùng sẽ được bao đóng của A
Thuật toán 3.1 tìm bao đóng của tập A ⊆ M :
Nhập : Mạng tính toán (M,F),
Trang 19Tìm hiểu các biểu diễn tri thức trong giải bài toán hình học giải tích không gian
2 Lời giải của bài toán :
Ở trên ta đã nêu lên cách xác định tính giải được của bài toán Tiếp theo, ta
sẽ trình bày cách tìm ra lời giải cho bài toán A → B trên mạng tính toán (M,F)
Mệnh đề 3.4 : dãy quan hệ 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
Do mệnh đề trên, để 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ử áp dụng các quan hệ để mở rộng dần tập các biến
có giá trị được xác định; và quá trình nầ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ến B Dưới đây là thuật toán tìm một lời giải cho bài toán A → B trên mạng tính toán (M,F)
Trang 20Thuật toán 3.2 tìm một lời giải cho bài toán A → B :
Nhập : Mạng tính toán (M,F), tập giả thiết A ⊆ M, tập biến cần tính B ⊆ M.Xuất : lời giải cho bài toán A → B
Trang 21Tìm hiểu các biểu diễn tri thức trong giải bài toán hình học giải tích không gian
Until Solution_found or (A = Aold);
4 if not Solution_found then
Bài toán không có lời giải;
2 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 thuật toán để tìm một lời giải tốt từ một lời giải đã biết nhưng chưa chắc là tốt Thuật toán sẽ dựa trên định
lý được trình bày tiếp theo đây
Định lý 3.3 Cho D={f1, f2, , fm} là một lời giải của bài toán A → B Ưng với mỗi i=1, ,m đặt Di = {f1, f2, , fi}, D0 = ∅ Ta xây dựng một họ các dãy con
Sm, Sm-1, , S2, S1 của dãy D như sau :
Trang 22Sm = ∅ nếu Dm-1 là một lời giải,
Sm = {fm} nếu Dm-1 không là một lời giải,
Si = Si+1 nếu Di-1∪ Si+1 là một lời giải,
Si = {fi}∪ Si+1 nếu Di-1∪ Si+1 không là một lời giải,
với mọi i = m-1, m-2, , 2, 1
Khi đó ta có :
(1) Sm ⊆ Sm-1⊆ ⊆ S2⊆ S1
(2) Di-1∪ Si là một lời giải của bài toán A → B với mọi i=m, , 2, 1
(3) Nếu S’i là một dãy con thật sự của Si thì Di-1∪ S’i không phải là một lờigiải của bài toán A → B với mọi i
(4) S1 là một lời giải tốt của bài toán A → B
Thuật toán 3.3 tìm một lời giải tốt từ một lời giải đã biết.
Nhập : Mạng tính toán (M,F),
lời giải {f1, f2, , fm} của bài toán A→ B
Xuất : lời giải tốt cho bài toán A → B
Thuật toán :
1 D ←{f1, f2, , fm};
2 for i=m downto 1 do
Trang 23Tìm hiểu các biểu diễn tri thức trong giải bài toán hình học giải tích không gian
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
Trong thuật toán 3.3 có sử dụng việc kiểm tra một dãy quan hệ có phải là lời giải hay không Việc kiểm tra nầy có thể được thực hiện nhờ thuật toán sau đây:
Thuật toán kiểm tra lời giải cho bài toán :
Nhập : Mạng tính toán (M,F), bài toán A→ B, dãy các quan hệ {f1, f2, ,
fm}
Xuất : thông tin cho biết {f1, f2, , fm} có phải là lời giải
của bài toán A→ B hay không
Thuật toán :
1 for i=1 to m do
if ( fi đối xứng and Card (M(fi) \ A) ≤ r(fi) ) or
( fi không đối xứng and M(fi) \ A ⊆ v(fi) ) then
A ← A ∪ M(fi);
2 if A ⊇ B then {f1, f2, , fm} là lời giải
else {f1, f2, , fm} không là lời giải;
3 Định lý về sự phân tích quá trình giải :