Tải bản đầy đủ (.docx) (18 trang)

Tiểu luận môn biểu diễn tri thức và suy luận SỬ DỤNG MÔ HÌNH COKB TRONG VIỆC GIẢI QUYẾT BÀI TOÁN HÌNH HỌC PHẲNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (331.21 KB, 18 trang )

Đại Học Quốc Gia TPHCM
Trường Đại Học Công Nghệ Thông Tin
BÁO CÁO ĐỀ TÀI MÔN BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
Đề tài
SỬ DỤNG MÔ HÌNH COKB TRONG VIỆC GIẢI QUYẾT BÀI TOÁN HÌNH HỌC
PHẲNG
GVHD: PGS.TS Đỗ Văn Nhơn
Học viên: Nguyễn Thành Quân
Cao học: Khoá 9
MSHV: CH1301032
MỤC LỤC

CHƯƠNG I. TỔNG QUAN ĐỀ TÀI
1.1 Tình hình thực tế.
- Trong quá trình thiết kế hệ thống, việc biểu diễ tri thức là vấn đề quan trọng cần
giải quyết . Mỗi một loại tri thức có một phương pháp biểu diễn phủ hợp, từ đó thiết kế
các thuật toán và xây dựng hệ thống.
- Hiện nay có nhiều hệ thống biểu diễn cơ sở tri thức khác nhau như mạng nơron,
đồ thị khái niệm, mạng ngữ nghĩa, nhưng đối với những hệ thống mang tính tổng quát thì
các phương pháp trên còn gặp nhiều hạn chế . Để giải quyết vấn đề này hiện nay chúng ta
sử dụng một phương pháp tiếp cận mới theo mô hình COKB (Computational Object
Knowledge Base).
- Do đó trong phạm vi bài thu hoạch này em tóm tắt kiến thức về việc biểu diễn tri
thức , đồng thời nêu lên khái niệm về COKB trong việc giải quyết các bài toán mang tính
tồng quát
1.2 ứng dụng
Hiện nay phạm vi ứng dụng của biểu diễn tri thức rất đa dạng và phong phú bao
gồm các lĩnh vực:
- Phần mềm dạy học
- Phần mềm tra cứu kiến thức
- Phần mềm hỗ trợ giải bài tập (có suy luận dựa trên CSTT)


- Phần mềm kiểm tra đánh giá kiến thức
- Quản lý công văn: tổ chức sắp xếp lưu trữ, xử lý hay giải quyết công văn
- Hỗ trợ tìm kiếm các tài liệu văn bản dựa trên nội dung (semantic).
- Thương mại (E-commerce)
- Internet và các search engineSemantic Web, và Semantic Search…
CHƯƠNG II. KIẾN THỨC NỀN TẢNG
2.1 Khái niệm tri thức:
Tri thức hay kiến thức (tiếng Anh: knowledge) bao gồm những dữ kiện, thông tin,
sự mô tả, hay kỹ năng có được nhờ trải nghiệm hay thông qua giáo dục. Trong tiếng Việt,
cả "tri" lẫn "thức" đều có nghĩa là biết.

Tri thức có thể chỉ sự hiểu biết về một đối tượng,
về mặt lý thuyết hay thực hành. Nó có thể ẩn tàng, chẳng hạn những kỹ năng hay năng
lực thực hành, hay tường minh, như những hiểu biết lý thuyết về một đối tượng; nó có thể
ít nhiều mang tính hình thức hay có tính hệ thống. Mặc dù có nhiều lý thuyết về tri thức,
nhưng hiện không có một định nghĩa nào về tri thức được tất cả mọi người chấp nhận.
Sự thành tựu tri thức liên quan đến những quá trình nhận thức phức tạp: tri giác, truyền
đạt, liên hệ, và suy luận. Trong triết học, ngành nghiên cứu về tri thức được gọi là tri thức
luận.
Tri thức có 2 dạng tồn tại chính là tri thức ẩn và tri thức hiện
• Tri thức hiện là những tri thức được giải thích và mã hóa dưới dạng văn bản, tài
liệu, âm thanh, phim, ảnh,… thông qua ngôn ngữ có lời hoặc không lời, nguyên tắc hệ
thống, chương trình máy tính, chuẩn mực hay các phương tiện khác. Đây là những tri
thức đã được thể hiện ra ngoài và dễ dàng chuyển giao, thường được tiếp nhận qua hệ
thống giáo dục và đào tạo chính quy.
• Tri thức ẩn là những tri thức thu được từ sự trải nghiệm thực tế, dạng tri thức này
thường ẩn trong mỗi cá nhân và rất khó “mã hóa” và chuyển giao, thường bao gồm:
niềm tin, giá trị, kinh nghiệm, bí quyết, kỹ năng VD: Trong bóng đá, các cầu thủ
chuyên nghiệp có khả năng cảm nhận bóng rất tốt. Đây là một dạng tri thức ẩn, nó
nằm trong mỗi cầu thủ. Nó không thể “mã hóa” thành văn bản, không thể chuyển

giao, mà người ta chỉ có thể có bằng cách tự mình luyện tập.
Dựa vào sự phân loại tri thức, có thể chia các hình thức chia sẻ tri thức thành bốn
dạng chính:
• Ẩn - Ẩn: Khi người chia sẻ và người tiếp nhận giao tiếp trực tiếp với nhau (ví dụ:
học nghề, giao tiêp, giảng bài ) thì việc tiếp nhận này là từ tri thức ẩn thành tri thức
ẩn. Tri thức từ người này không qua trung gian mà chuyển ngay thành tri thức của
người kia.
• Ẩn - Hiện: Một người mã hóa tri thức của mình ra thành văn bản hay các hình
thức hiện hữu khác thì đó lại là quá trình tri thức từ ẩn (trong đầu người đó) trở thành
hiện (văn bản, tài liệu, v.v.).
• Hiện - Hiện: Tập hợp các tri thức hiện đã có để tạo ra tri thức hiện khác. Quá trình
này được thể hiện qua việc sao lưu, chuyển giao hay tổng hợp dữ liệu.
• Hiện - Ẩn: Tri thức từ dạng hiện trở thành dạng ẩn. Điển hình quá trình này là việc
đọc sách. Học sinh đọc sách (tri thức hiện) và rút ra được các bài học, tri thức cho
mình (ẩn).
2.2 Biểu diễn tri thức
2.2.1 Khái niệm
Biểu diễn tri thức( knowledge representation): các phương pháp diễn tả và tổ chức
tri thức trong máy tính cho các hệ thông tin có tính chất trí tuệ để máy có thể tiến hành
các phép lập luận tự động.
Trong trí tuệ nhân tạo, các phương pháp BDTT thường được sử dụng như lôgic vị
từ, mạng ngữ nghĩa, biểu diễn khung, luật dẫn.
2.2.2 Lược đồ biểu diễn tri thức
Lược đồ logic:
• Dùng các biểu thức trong logic hình thức để biểu diễn như là phép toán vị từ
• Các luật suy diễn áp dụng cho lược đồ này
• Ngôn ngữ hiện thực tốt nhất cho loại lược đồ này là: PROLOG
Lược đồ thủ tục:
• Biểu diễn tri thức như tập các chỉ thị lệnh để giải quyết vấn đề
• Các chỉ thị lệnh trong lược đồ thủ tục chỉ ra bằng cách nào giải quyết vấn đề.

Lược đồ mạng:
• Biểu diễn tri thức như là đồ thị, các đỉnh như là các đối tượng hay khái niệm,
các cung như là các quan hệ giữa chúng.
• Các vị dụ về loại lược đồ này: mạng ngữ nghĩa
Lược đồ cấu trúc:
• Là sự mở rộng của lược đồ mạng bằng cách cho phép các nút cho thể là CTDL
phức tạp gồm các khe có tên và trị hay một thủ tục
• Kịch bản , khung , đối tượng là ví dụ cho lược đồ này
Biểu diễn và ánh xạ:
Tri thức của lĩnh vực
• Là toàn bộ những kiến thức về lĩnh vực đó
• Gồm : khái niệm, đối tượng , quan hệ giữa chúng, luật tồn tại giữa chúng
• Hiện tồn tại một số lược đồ ghi nhận tri thức
Để giải bài toán AI cần
• Tri thức về bài toán
• Phương tiện để xử lý tri thức : retrieval, update , refer
Hình thức hoá tri thức:
Gồm: Đối tượng và các
quan hệ của chúng trong
lĩnh vực
Gồm: Bảng ánh xạ giữa
Đối tượng thực -> đối tượng tính
toán
Quan hệ thực-> quan hệ tính toán
Bằng cách: dùng các
lược đồ biểu diễn
 Chọn dùng lược đồ cho
loại tri thức là vấn đề
quan trọng
Hai mức cấu trúc cho facts/representations:

– Mức tri thức: mức mà các sự kiện, gồm cách hành xử của agent và goal hiện tại,
được mô tả.
– Mức ký hiệu:mức mà sự biểu diễn của các đối tượng đã được chọn trong mức tri
thức được viết ra ở dạng ký hiệu để có thể xử lý được bằng chương trình.
Ví dụ:
- Câu tiếng anh:
“Spot is a dog”
“Every dog has a tail”
- Ta có thể biểu diễn
1. dog(Spot).
2. ∀X(dog(X) => hastail(X)).
Từ đó câu: “Spot has a tail”, có thể thu được qua các bước:
3. Từ 2, X=“Spot”: dog(Spot)=>hastail(Spot).
4. Từ 1, 3: hastail(Spot).
- Ánh xạ ngược “Spot has a tail”.
Dạng mạng ngữ nghĩa :
Ánh xạ biểu diễn không hẳn là one-to-one (1-1), thường là many-to-many.
 Xác định quan hệ (english sentences, facts) khi biểu diễn
Biểu diễn tốt
- Suy luận chính xác
- Việc suy luận đơn giản.
Ví dụ: Thử chọn cách biểu diễn nào sau đây cho bài toán “mutilated checkerboard”
Mô hình giải quyết vấn đề của con người và máy:
2.2.3 4 thuộc tính của hệ thống biểu diễn tri thức:
1. Representational adequacy:
- Khả năng biểu diễn tất cả các tri thức cần thiết cho lĩnh vực đó.
2. Inferential adequacy:
- Khả năng xử lý các cấu trúc sẵn có để sinh ra các cấu trúc mới tương ứng với tri
thức mới được sinh ra từ tri thức cũ.
3. Inferential efficiency:

- Khả năng thêm vào cấu trúc tri thức thông tin bổ sung mà nó có thể được dùng để
hướng dẫn cơ chế suy luận theo hướng có nhiều triển vọng nhất.
4. Acquisitional efficiency:
- Khả năng thu được thông tin mới dễ dàng. Trường hợp đơn giản nhất là chèn trực
tiếp tri thức mới (do người) vào cơ sở tri thức. Lý tưởng nhất là chương trình có thể kiểm
soát việc thu được tri thức.
Tình hình thực tế:
• Không một hệ thống nào có thể tối ưu tất cả các khả năng trên cho mọi kiểu tri thức.
• Nhiều kỹ thuật dùng cho biểu diễn tri thức cùng tồn tại.
• Chương trình thường dùng nhiều hơn 1 kỹ thuật biểu diễn.
2.3 Mô hình COKB(Computational Object knowledge base)
2.3.1 Mô hình ontology COKB-ONT
Mô hình ontology COKB-ONT là một hệ thống gồm 6 thành phần : K = (C, H, R,
Ops, Funcs, Rules )
(1) C là một tập hợp các khái niệm về các C-Object (khái niệm về C-Object
được định nghĩa trong [2]).
(2) H là một tập hợp các quan hệ phân cấp giữa các loại đố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ác C-Object.
(4) Ops là một tập hợp các toán tử.
(5) Funcs là một tập hợp các hàm.
(6) Rules là tập hợp các luật.
Mỗi đối tượng thuộc C là một lớp các đối tượng tính toán có cấu trúc nhất định và
được phân cấp theo sự thiết lập của cấu trúc các đối tượng (xem [1] và [2]).
Trong mô hình COKB-ONT, ta có 11 loại sự kiện như sau:
- Sự kiện loại 1: Sự kiện thông tin về 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 hoặc 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.
- Sự kiện loại 10: Sự kiện về sự bằng nhau củ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
2.3.2 Mô hình bài toán
Dựa vào mạng các các đối tượng tính toán trong [11], ta có mô hình bài toán của
ontology COKB-ONT gồm 3 thành phần:
O = {O1, O2, . . ., On},
F = {f1, f2, . . ., fm},
Goal = { g1, g2, . . ., gk }.
Trong đó: O là tập hợp gồm n C-Objects, F là tập hợp các sự kiện giữa các C-
Objects, (O, F) là một mạng các đối tượng tính toán, và G là tập hợp các mục tiêu của
bài toán. Mục tiêu của bài toán có thể là:
- Xác định một đối tượng.
- Xác định thuộc tính của đối tượng.
- Chứng minh một quan hệ giữa các đối tượng.
- Tính giá trị các tham số
- Tính giá trị của hàm số trên các đối tượng.
Đặt L = O -> F, bài toán có thể được kí hiệu thành L → G
2.3.3 Thuật giải
Thuật giải 4.1: Cho bài toán P= L→G trong mô hình ontology COKB sử dụng

bài toán mẫu, dựa vào định lý 4.1, ta có thể tìm được lời giải của bài toán P qua những
bước sau:
- Bước 1: Thu thập các phần tử từ giả thiết và kết luận của bài toán.
- Bước 2: Tìm bài toán mẫu có thể áp dụng được.
- Bước 3: Kiểm tra mục tiêu G. Nếu G được xác định thì chuyển qua bước 8.
- Bước 4: Sử dụng các qui tắc heuristic để chọn lựa bước giải thích hợp
nhằm phát sinh thêm sự kiện mới, các đối tượng mới và đạt đến trạng thái
mới của quá trình suy luận.
- Bước 5: Nếu bước 4 không thành công thì sử dụng một luật bất kì có thể
áp
dụng dụng được nhằm phát sinh thêm sự kiện mới, các đối tượng mới vàđạt
đến trạng thái mới của quá trình suy luận
- Bước 6: Nếu ở bước 4 và bước 5 chọn được luật có thể áp dụng thì ta ghi
nhận các thông tin của bước giải, ghi nhận đối tượng mới vào tập hợp các
đối tượng, ghi nhận các sự kiện mới vào tập các sự kiện đã biết và quay lại
bước 2.
- Bước 7: Nếu không tìm được luật ở bước 4 và bước 5, thì ta kết luận:
không tìm thấy lời giải cho bài toán và dừng.
- Bước 8: Rút gọn lời giải tìm được để có một lời giải tối ưu hơn bằng cách
phân tích quá trình giải để xác định các sự kiện mới cần thiết sau mỗi bước
giải, từ đó loại bỏ các bước giải dư thừa.
- Bước 9: Thể hiện lời giải.
Thuật giải 4.2: Cho bài toán P = L → G trên mô hình COKB-SP, khi đó ta có thuật giải
sau để tìm bài toán mẫu có thể áp dụng cho bài toán P như sau:
- Bước 1:
SP ← Sample
Sample_found← false
- Bước 2: Repeat
Chọn S trong tập SP
if (các sự kiện của L có thể áp dụng trong (S.O p and S.Fp)) then

begin
if loại của S.Gp = loại của mục tiêu G then
Sample_found ← true
Else if S.Gp L then
Sample_found ← true
end
SP ← (SP – S)
Until SP = {} or Sample_found
- Bước 3: if Sample_found then
S là một bài toán mẫu của bài toán P;
else
Không tìm thấy bài toán mẫu;
Thuật giải trên đã mô phỏng được một phần tư duy của con người khi tìm kiếm
các mẫu bài toán liên quan đến bài toán đã cho. Qua đó, giúp cho quá trình suy luận của
hệ thống trở nên nhanh chóng và hiệu quả hơn.
CHƯƠNG III. ỨNG DỤNG
3.1 Thiết kết hệ cơ sở tri thức cho miền tri thức hình học phẳng
Tri thức về hình học phẳng được mô hình hóa bằng mô hình COKB-SP như sau:
a) Tập C – tập các khái niệm đối tượng tính toán:
Tập C gồm các khái niệm: “Điểm”, “Tia”, “Đoạn”, “Góc”, “Đường thẳng”, “Tam
giác”, “Hình thang”, “Đường tròn”…
- “Điểm” là đối tượng cơ bản.
- “Tia”, “Đoạn” là các đối tượng cấp 1.
- “Tam giác” , “Đường tròn” là các đối tượng cấp 2.
b) Tập H tập quan hệ phân cấp giữa các đối tượng:
Từ tập hợp các khái iệm về đối tượng tính toán ở trên ta có quan hệ phân cấp
giữa các tượng, ví dụ như:
- “Góc nhọn”, “Góc tù” là những dạng của khái niệm của “Góc”
- “Tam giác cân”, “Tam giác vuông”, “Tam giác đều” là những dạng của
khái niệm “Tam Giác”.

c) Tập R- tập quan hệ giữa các đối tượng tính toán:
Ta có các loại quan hệ sau:
- Quan hệ nền: là quan hệ giữa các số thực
- Quan hệ cấp cơ bản: là quan hệ giữa các đối tượng nền và quan hệ giữa các
đối tượng cấp 1.
- Quan hệ cấp 1: là quan hệ giữa các đối tượng cơ bản, đối tượng cấp 1 và
đối tượng cấp, hoặc quan hệ giữa các đối tượng cấp cao hơn.
d) Tập Ops– tập hợp các toán tử:
Trong miền tri thức hình học phẳng ở cấp THCS, toán tử là quan hệ giữa các số
thực nên ta có thể xem như Ops = {}.
e) Tập Funcs- tập hợp các hàm:
Tập Func gồm các hàm sau:
• Trung điểm của đoạn thẳng.
• Hình chiếu của một điểm trên đường thẳng.
• Hàm đối xứng của một điểm qua một đường thẳng.
f) Rules–tập hợp các luật:
Các tính chất, mện đề, định lý trong tri thức toán hình học phẳng ở cấp THCS có
thể được biểu diễn bằng các luật trên các đối tượng tính toán. Chẳng hạn:
{a: DOAN, b: DOAN, c: DOAN, a // b, c

a} =>{c

b}
{A: DIEM, B: DIEM, C: DIEM, BC = AC} => {ABC là tam cân tại C}.
{A: DIEM, B: DIEM, C: DIEM, AB

BC} => { góc ABC = 90
o
}.
g) Tập Sample– tập hợp các bài toán mẫu:

- Bài toán mẫu về việc xác định loại của đối tượng: Xác định tam giác
vuông, Hình chữ nhật, đường tròn.
- Bài toán mẫu về:
• Giải tam giác vuông.
• Giải tam giác cân.
• Quan hệ giữa đường kính và dây cung trong đường tròn.
3.2 Thiết kế bộ suy diễn tự động
Mô hình bài toán trên miền tri thức hình học phẳng được định nghĩa gồm 3 thành
phần như sau: (O, F, Goal).
Áp dụng: Bài toán P: ” Cho đường tròn (O; 3) với tâm O và đường kính BC = 6.
Lấy điểm A trên đường tròn. H là hình chiếu của A trên BC. Cho AB = 4. Tính AH.”
Mô hình bài toán:
O = { DUONGTRON[O,3], DOAN[B,C], [A, DIEM], [H, DIEM] }
F = { [“THUOC”,A, DUONGTRON[O,3]],
[“DUONGKINH”, DOAN[B,C], DUONGTRON[O,3]] ,
H = HINHCHIEU(A, DOAN[B,C]) ,
DOAN[B,C].dai = 6, DOAN[A,B].dai = 4;}
Goal = {DOAN[A,H].dai}.
Ta xây dựng bộ suy diễn của chương trình. Động cơ suy diễn này mô phỏng quá
trình tìm lời giải bài toán tương tự như cách giải của con người, bằng cách tìm các mẫu
bài toán có thể áp dụng được cho bài toán. Việc này chính là việc tìm lại các kiến thức cũ
đã biết để ứng dụng giải quyết bài toán.
Lời giải của chương trình:
- Bước 1:
{ [“DUONGKINH”, DOAN[B,C], DUONGTRON[O,3]],
[“THUOC”,A, DUONGTRON[O,3]] }
=> {TAMGIACVUONG[A,B,C]}
Bởi “Bài toán mẫu” : ["Xác định tam giác vuông”]
- Bước 2:
{ H = HINHCHIEU(A, DOAN[B,C])}

=> {[“DUONGCAO”, DOAN[A,H], TAMGIACVUONG[A,B,C]]}
Bởi “Luật suy diễn”: ["Tính chất của hình chiếu”]
- Bước 3:
{ [“DUONGCAO”, DOAN[A,H], TAMGIACVUONG[A,B,C]],
TAMGIACVUONG[A,B,C],
DOAN[B,C].dai = 6, DOAN[A,B].dai = 4}
=> {DOAN[A, H].dai =
Bởi “Bài toán mẫu” : ["Giải tam giác vuông"] .
Mô hình COKB-SP được bổ sung thêm thành phần Bài toán mẫu giúp cho hệ
thống suy diễn của mô hình mô phỏng được cách suy nghĩ của con người và đưa ra lời
giải tự nhiên và chính xác.
CHƯƠNG IV. KẾT LUẬN
Ontology COKB-ONT là một mô hình rất tốt cho việc biểu diễn các tri thức của
con người, đặc biệt là các tri thức về Toán học, Vật lý, Hóa học. Hơn thế nữa, sự mở
rộng của mô hình COKB bằng việc bổ sung thêm thành phần các bài toán mẫu trong cơ
sở tri thức và cải tiến các thuật giải trên mô hình, mô hình mở rộng ấy được gọi là mô
hình COKB-SP, làm cho quá trình suy luận của hệ thống trở nên thông minh hơn và mô
phỏng cách giải giải quyết bài toán tương tự như của con người.
Chương trình giải toán tự động về Toán Hình học phẳng ở THCS được xây
dựng bằng cách Ứng dụng mô hình COKB-SP cho việc biểu diễn tri thức trên miền tri
thức này. Lời giải của hệ thống tự nhiên, chính xác và phù hợp với cách suy nghĩ của
con người.
Tài liệu tham khảo:
1. Nhon Do, Hien Nguyen , “Phương pháp suy diễn trên mô hình COKB dựa trên tri thức
Bài toán mẫu và Ứng dụng”
2. Nhon Do, “An ontology for knowledge representation and Applications, Proceeding of
World Academy of science, engineer and technology, vol. 32, August 2008, ISSN: 2070-
370”
3 Bạch Hưng Khang, Hoàng Kiếm, “Trí tuệ nhân tạo - Các phương pháp và ứng
dụng, NXB Khoa học Kỹ thuật, 1989”.

4 Hoàng Kiếm, “Giải một bài toán trên máy tính như thế nào (tập 1 và 2), NXB Giáo
dục, 2001”.

×