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
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
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
Trang 2
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ầ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 3
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
Chươ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 đó trong
lĩ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ày
bao 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 4
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
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={R
i
: nếu l (R
i
) thì r (R
i
), i=1,2, n}
Ghi chú: l(R
i
): vế trái luật R
i
r(R
i
): vế phải luật R
i
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 R
i
sao cho l(Ri) G.
GT ← GT r(R
i
)
Quay lại bước 2
Nếu không chọn được R
i
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 5
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
1.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 ra
cá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 6
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
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 7
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
M = {x
1
,x
2
, ,x
n
},
F = {f
1
,f
2
, ,f
m
}.
Đố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. Và
M(f) là tập con của M: M(f) ⊆ M. Nếu viết f dưới dạng f : u(f) → v(f)
thì ta có M(f) = u(f) ∪ v(f).
Từ 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 = {O
1
,O
2
, , O
n
}và tập các quan hệ giữa các đối tượng tính toán
F = {f
1
,f
2
, , f
m
}.
Đặt: M(f
i
) = Tập các biến có liên quan với nhau bởi quan hệ f
i.
M(F) =
M(f
i
i 1
m
)
=
.
M(O) =
M(O
i
i 1
n
)
=
.
M là tập hợp những biến được xem xét trên mạng, kể cả các biến thuộc
tập M(f
i
).
M
i
= M ∩ M(O
i
), i=1,2, , m.
Theo các ký hiệu trên, M
i
là tập hợp những biến của đối tượng O
i
được xem xét
trên mạng các đối tượng tính toán. Ngòai ra ta còn có:
M(O
i
i 1
n
)
=
⊇ M ⊇
M(f
i
i 1
m
)
=
,
hay M(O) ⊇ M ⊇ M(F).
Trang 8
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
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
(4) Ops là tập hợp các tóan tử
(5) Funcs là tập hợp các hàm
(6) Rules là tập hợp các luật
Trong mô hình này mỗi đối tượng tính tóan (C_Object) có cấu trúc và được phân
cấp dựa trên các thiết lập của đối tượng.
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 9
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
- 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 10
Chươ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ọc
giả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
có cấu trúc bao gồm
(1) Một danh sách các thuộc tính Attr(O) = {x
1
, x
2
, , x
n
} trong đó mỗi thuộc
tính lấy giá trị trong một miền xác định nhất định, và giữa các thuộc tính ta
có các quan hệ thể hiện qua các sự kiện, các luật suy diễn hay các công
thức tính toán.
Trang 11
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
(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 M
0
(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
MM 0
, rồi tính [
MM 0
;
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 12
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
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}
F = {
}
Facts = {}
Rules = {
}
Trang 13
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
II.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 = {x
1
,x
2
, ,x
m
} 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 D
1,
D
2
, ,D
m
. Đối với mỗi quan hệ R ⊆ D
1
xD
2
x xD
m
trên các tập
hợp D
1,
D
2
, ,D
m
ta nói rằng quan hệ nầy liên kết các biến x
1
,x
2
, ,x
m
, và ký hiệu là
R(x
1
,x
2
, ,x
m
) hay vắn tắt là R(x) (ký hiệu x dùng để chỉ bộ biến < x
1
,x
2
, ,x
m
>).
Ta có thể thấy rằng quan hệ R(x) có thể được biểu diễn bởi một ánh xạ f
R,u,v
với u
∪ v = x, và ta viết : f
R,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 < x
1
,x
2
, ,x
m
>). 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 14
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
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 = {x
1
,x
2
, ,x
n
},
F = {f
1
,f
2
, ,f
m
}.
Đố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 15
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
f : 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ì
để có thể xác định được B.
Bài toán xác định B từ A trên mạng tính toán (M,F) được viết dưới dạng:
A → B,
trong đó A được gọi là giả thiết, B được gọi là mục tiêu tính toán của bài toán.
Định nghĩa 2.1:
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ệ {f
1
, f
2
, ,
f
k
} ⊆ 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ệ f
i
(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
{f
1
, f
2
, , f
k
} đượ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 16
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
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ính
toán để giải bài toán.
Định nghĩa 2.2 :
Cho D = {f
1
, f
2
, , f
k
} 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ệ f
1
, f
2
, , f
k
xuất phát từ giả thiết A.
Nhận xét : Trong định nghĩa trên, nếu đặt : A
0
= A, A
1
= A
0
∪ M(f
1
), . . . ,
A
k
= A
k-1
∪ M(f
k
), và ký hiệu A
k
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ột
mạ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 17
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
Từ đị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:
(1) B ⊆
A
.
(2) Có một dãy quan hệ D = {f
1
, f
2
, , f
k
} ⊆ F thỏa các điều kiện :
(a) D áp được trên A.
(b) D(A) ⊇ B.
Chứng minh : Giả sử có (1), tức là B ⊆
A
. Khi đó bài toán A → B là giải
được. Do đó có một dãy quan hệ {f
1
, f
2
, , f
k
} ⊆ F sao cho khi ta lần lượt áp dụng
các quan hệ f
i
(i=1, ,k) xuất phát từ giả thiết A thì sẽ tính được các biến thuộc B.
Dễ dàng thấy rằng dãy {f
1
, f
2
, , f
k
} 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 {f
i
} là lời giải
của vấn đề A
i-1
→ A
i
, với mọi i = 1,2, , k. Từ mệnh đề 3.2 suy ra bài toán A
0
→
A
k
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 18
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
A ⊆ M.
Xuất :
A
Thuật toán :
1. B ← A;
2. Repeat
B1 ← B;
for f ∈ F do
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
begin
B ← B ∪ M(f);
F ← F \ {f}; // loại f khỏi lần xem xét sau
end;
Until B = B1;
3.
A
← B;
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 19
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
Thuậ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
Thuật toán :
1. Solution ← empty; // 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
goto 4;
end
else
Solution_found ← false;
3. Repeat
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
begin
A ← A ∪ M(f);
Solution ← Solution ∪ {f};
Trang 20
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
end;
if B ⊆ A then
Solution_found ← true;
Chọn ra một f ∈ F chưa xem xét;
end; { while }
Until Solution_found or (A = Aold);
4. 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;
Ghi chú :
1. Về sau, 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.
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={f
1
, f
2
, , f
m
} là một lời giải của bài toán A → B. Ưng
với mỗi i=1, ,m đặt D
i
= {f
1
, f
2
, , f
i
}, D
0
= ∅. Ta xây dựng một họ các dãy con
S
m
, S
m-1
, , S
2
, S
1
của dãy D như sau :
Trang 21
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
S
m
= ∅ nếu D
m-1
là một lời giải,
S
m
= {f
m
} nếu D
m-1
không là một lời giải,
S
i
= S
i+1
nếu D
i-1
∪ S
i+1
là một lời giải,
S
i
= {f
i
} ∪ S
i+1
nếu D
i-1
∪ S
i+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) S
m
⊆ S
m-1
⊆ ⊆ S
2
⊆ S
1
.
(2) D
i-1
∪ S
i
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 S
i
thì D
i-1
∪ S’
i
không phải là một lời
giải của bài toán A → B với mọi i.
(4) S
1
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 {f
1
, f
2
, , f
m
} 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 ← {f
1
, f
2
, , f
m
};
2. for i=m downto 1 do
Trang 22
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
if D \ {f
i
} là một lời giải then
D ← D \ {f
i
};
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ệ {f
1
, f
2
, ,
f
m
}.
Xuất : thông tin cho biết {f
1
, f
2
, , f
m
} 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 ( f
i
đối xứng and Card (M(f
i
) \ A) ≤ r(f
i
) ) or
( f
i
không đối xứng and M(f
i
) \ A ⊆ v(f
i
) ) then
A ← A ∪ M(f
i
);
2. if A ⊇ B then {f
1
, f
2
, , f
m
} là lời giải
else {f
1
, f
2
, , f
m
} không là lời giải;
3. Định lý về sự phân tích quá trình giải :
Trang 23
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
Xét bài toán A → B trên mạng tính toán (M,F). Trong mục nầy ta nêu lên
một cách xây dựng quá trình giải từ một lời giải đã biết. Đối với một lời giải, rất
có khả năng một quan hệ nào đó dẫn tới việc tính toán một số biến thừa, tức là các
biến tính ra mà không có sử dụng cho các bước tính phía sau. Do đó, chúng ta cần
xem xét quá trình áp dụng các quan hệ trong lời giải và chỉ tính toán các biến thật
sự cần thiết cho quá trình giải theo lời giải. Định lý sau đây cho ta một sự phân
tích tập các biến được xác định theo lời giải và trên cơ sở đó có thể xây dựng quá
trình tính toán các biến để giải quyết bài toán.
Định lý 3.4. Cho {f
1
, f
2
, , f
m
} là một lời giải tốt cho bài toán A → B trên
một mạng tính toán (M,F). Đặt :
A
0
= A, A
i
= {f
1
, f
2
, , f
i
}(A), với mọi i=1, ,m.
Khi đó có một dãy {B
0
, B
1
, , B
m-1
, B
m
}, thỏa các điều kiện sau đây:
(1) B
m
= B.
(2) B
i
⊆ A
i
, với mọi i=0,1, ,m.
(3) Với mọi i=1, ,m, {f
i
} là lời giải của bài toán B
i-1
→ B
i
nhưng không
phải là lời giải của bài toán G → B
i
, trong đó G là một tập con thật sự tùy ý của
B
i-1
.
Ghi chú :
(1) Từ định lý trên ta có quá trình tính toán các biến để giải bài toán A→B như sau:
bước 1: tính các biến trong tập B
1
\ B
0
(áp dụng f
1
).
bước 2: tính các biến trong tập B
2
\ B
1
(áp dụng f
2
).
v.v
bước m: tính các biến trong tập B
m
\ B
m-1
(áp dụng f
m
).
(2) Từ chứng minh của định lý trên, ta có thể ghi ra một thuật toán để xây dựng dãy các tập
Trang 24
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
biến {B
1
’, , B
m-1
’, B
m
’} rời nhau cần lần lượt tính toán trong quá trình giải bài toán (B
i
’ = B
i
\
B
i-1
) gồm các bước chính như sau:
• xác định các tập A
0
, A
1
, , A
m
.
• xác định các tập B
m
, B
m-1
, , B
1
, B
0
.
• xác định các tập B
1
’, B
2
’, , B
m
’ .
Trang 25