- Nghiên cứu phát triển các lọai sự kiện, có cài đặt xử lý một số sự kiện liênquan đến thành phần tri thức dạng hàm Tuy nhiên các luận văn trên chỉ giải quyết được một số dạng toán nhỏ,
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
Đồ án môn học Biểu Diễn Tri Thức Và Suy Luận
XÂY DỰNG HỆ GIẢI TOÁN
DỰA TRÊN CƠ SỞ TRI THỨC VỀ
Trang 2Để có thể hoàn thành tốt bài báo cáo, trước tiên tôi gởi lời chân thành cảm ơnđến PGS TS Đỗ Văn Nhơn đã tận tình giảng dạy và giúp đỡ trong thời gian thựchiện bài tiểu luận.
Xin gửi lời cảm ơn đến gia đình, cảm ơn các anh chị, bạn bè, những ngườiluôn sát cánh, động viên tôi trên bước đường học tập cũng như trong cuộc sống Xinchân thành biết ơn sự tận tình dạy dỗ và sự giúp đỡ của tất cả quý thầy cô tại trườngĐại học Công Nghệ Thông Tin, đặc biệt là các thầy cô trong khoa Khoa học Máytính, cảm ơn các thầy cô thuộc bộ phận quản trị thiết bị đã tạo điều kiện thuận lợi vềmặt tinh thần, điều kiện học tập trong quá trình học tập môn học Tất cả các kiến thức
mà nhà trường và quý thầy cô đã truyền đạt là hành trang to lớn để tôi mang theo trêncon đường học tập, làm việc và nghiên cứu cũng như trong quá trình hoàn thiện nhâncách của mình
Tp Hồ Chí Minh, ngày 26 tháng 03 năm 2013
Học viênLâm Hàn Vũ
Lời nói đầu
Trong khoa học Trí tuệ Nhân tạo, để xây dựng các hệ chuyên gia và các hệ giảibài toán dựa trên tri thức người ta phải thiết kế một cơ sở tri thức cho hệ thống vàmột động cơ suy diễn để giải quyết vấn đề dựa trên tri thức Hoạt động chuyên giaphụ thuộc rất lớn vào kiến thức đã có, cho nên nghiên cứu phát triển các phươngpháp biểu diễn tri thức và cơ chế suy luận giải bài toán dựa trên tri thức có ý nghĩarất lớn về lý thuyết cũng như ứng dụng trong khoa học máy tính nói chung và trongkhoa học Trí tuệ Nhân tạo nói riêng, đặc biệt là đối với các hệ giải toán dựa trên trithức Với hệ giải bài toán dùng trong giáo dục còn đòi hỏi một lời giải tốt phù hợpvới cách suy nghĩ và cách viết bình thường của con người, càng tự nhiên càng tốt.Giải toán tự động là một đề tài khá thú vị cho những ai quan tâm đến lĩnh vựctrí tuệ nhân tạo của ngành khoa học máy tính Ứng dụng của giải toán tự động được
sử dụng rộng rãi trong các ngành khoa học tính toán Các nhà khoa học cố gắngnghiên cứu quá trình suy luận của bộ óc con người trong quá trình giải toán để có thểlập trình được Mặc dù không hoàn toàn giống hệt nhưng họ cũng đưa ra được nhữnggiải pháp thích hợp cho việc xây dựng các hệ giải bài toán dựa trên tri thức Trong
Trang 3cấu trúc của hệ thống, “cơ sở tri thức” là phần kiến thức của con người, là cơ sở cho
“bộ suy diễn”, là động cơ sẽ hoạt động “tư duy” trong khi giải toán Quá trình giải
toán là suy diễn dựa trên những kiến thức có quan hệ nhau trong cơ sở tri thức để từgiả thuyết có thể suy ra được kết luận của bài toán Người ta đã nghiên cứu cách biểudiễn tri thức của con người và xây dựng các chiến lược tìm kiếm lời giải cho bộ suydiễn để có thể có được một hệ thống thông minh uyển chuyển có khả năng giải bàitoán thông minh tương tự như con người
Kiến thức Đại số Vectơ là kiến thức cơ sở quan trọng cho học sinh Trung học
Phổ thông trong quá trình học và ôn luyện thi Đại học Cao đẳng Vì vậy đề tài tiếpcận vàvận dụng các phương pháp biểu diễn tri thức đã có cũng như xây dựng môhình biểu diễn tri thức mới nhằm xây dựng hệ hỗ trợ giải bài tập Đại số vectơ
Trong đề tài này, chúng tôi giới thiệu kiến thức Đại số Vectơ bao gồm kiếnthức tổng quát, phân loại bài tập và một số nhận xét; xây dựng mô hình biểu diễn trithức và thuật giải suy luận cho các dạng bài tập cụ thể; trình bày các kĩ thuật thiết kế
và cài đặt hệ giải toán Đại số Vectơ
Hiện nay trên thế giới đã có một số phần mềm dành cho toán học Một số
phần mềm chuyên dụng như: vẽ đồ thị Graph, Geometry, Mathprof …đến các phần
Trang 4mềm toán học được gọi là “siêu mạnh” như Maple, Mathematica…Các phần mềm
toán học này đã giúp ích khá nhiều trong việc học toán cũng như giải toán, tuy nhiênchúng cũng còn một số hạn chế sau:
- Một số phần mềm chỉ hỗ trợ việc tính toán đơn giản (tính toán số học, tính
toán trên các đối tượng cơ bản,…) hay chỉ cung cấp một số công cụ hỗ trợmột yêu cầu cụ thể nào đó (vẽ đồ thị, cung cấp các công thức toán học,…)
- Một số phần mềm tốt hơn thì hỗ trợ thao tác trên các đối tượng trừu tượng
như ma trận, Vectơ, đạm hàm, tích phân,…nhưng chúng chỉ dừng lại ởviệc đưa ra kết quả hoặc nếu có chỉ là một số bước hướng dẫn nhưng phứctạp
- Bên cạnh đó, việc nhập dữ liệu đầu vào một số phần mềm phải tuân theo
một số quy ước phức tạp gây khó khăn cho người sử dụng, thường chỉthích hợp với những nhà chuyên môn biết kĩ thuật lập trình
Ở Việt Nam đã có nhiều công ty có những hoạt động nghiên cứu, sản xuất cácsản phẩm công nghệ thông tin cho giáo dục, cho ra các phần mềm giáo dục hỗ trợgiảng dạy trong một số lĩnh vực nhất định như : Nhóm phát triển phần mềm sinh viênhọc sinh Student Software Development Group, Công ty cổ phần Kim Ngân, Tuynhiên, các sản phẩm thường tập trung vào khía cạnh hướng dẫn học tốt là chủ yếu,một số phần mềm giúp tự học và kiểm tra dưới hình thức sách điện tử với một số tínhnăng bổ sung tương đối đơn giản
Bên cạnh các sản phẩm phần mềm cũng có một số công trình nghiên cứu khoahọc về ứng dụng tin học trong toán học ở Việt Nam và cả trên thế giới, các công trình
đã đạt được một số kết quả nhất định Một số công trình nghiên cứu như: nghiên cứu
sử dụng phần mềm toán học cho việc giảng dạy và nghiên cứu khoa học[5], hệ hỗ trợhọc tri thức và giải toán hình học giải tích[6], mạng tính toán mở rộng và ứng dụngtrong phần mềm giáo dục [7], mạng đối tượng tính toán mở rộng và ứng dụng trongphần mềm giáo dục [8]… Các nghiên cứu này đã tìm ra cách tổ chức, lưu trữ tri thức
và các mô hình dùng trong quá trình suy luận để giải quyết vấn đề trong một số miềntri thức cụ thể
Một số luận văn có thực hiện và vận dụng mô hình tổ chức tri thức COKB,ECOKB [6], [7], [8]sử dụng cho suy diễn để giải toán, đặc biệt là mô hình hướng đếngiải toán Hình học giải tích hai chiều [1] đã đạt được một số thành quả nhất định :
- Mô hình hóa một lớp bài toán, nghiên cứu thiết kế thuật giải.
- Cài đặt được các xử lý, và tìm lời giải cho một lớp bài toán trên mô hình
của một cơ sở tri thức
Trang 5- Nghiên cứu phát triển các lọai sự kiện, có cài đặt xử lý một số sự kiện liên
quan đến thành phần tri thức dạng hàm
Tuy nhiên các luận văn trên chỉ giải quyết được một số dạng toán nhỏ, chưaxem xét giải quyết một lớp bài toán tổng quát, việc biện luận giải quyết theo tham sốvẫn là một vấn đề chưa giải quyết, giao diện thể hiện chưa thẩm mĩ, gây khó khăncho người sử dụng, chưa đưa ra được lời giải một cách tự nhiên, việc đọc hiểu lờigiải bài toán chưa thực sự phù hợp với học sinh phổ thông, còn nặng về máy móc
Vận dụng, kế thừa và phát huy những kết quả đã đạt được ở trên, em xây dựngmột chương trình ứng dụng Đại số vectơ Qua đó bố trí lại cách tổ chức mô hình trithức để phù hợp hơn với miền tri thức được áp dụng
Đề tài hướng đến việc xây dựng hệ hỗ trợ giải toán “Đại số vectơ” giúp sinh
viên tiếp thu và học toán một cách dễ dàng Chương trình được xây dựng dựa trênmột mô hình biểu diễn tri thức giúp cho việc thiết kế và cài đặt chương trình đượcthuận tiện, đặc biệt chương trình phải dựa trên một hệ cơ sở tri thức được tổ chức tốtgiúp cho việc thêm, xóa hay chỉnh sửa tri thức sau này Chương trình phải thật sựgần gũi, dễ tương tác giúp phần lớn sinh viên không chỉ riêng sinh viên nhóm ngànhcông nghệ thông tin có thể sử dụng được dễ dàng
Xây dựng hệ hỗ trợ giải toán Hình học giải tích hai chiều có các chức năngchính sau:
- Phạm vi giải toán là các dạng bài về đại số Vectơ.
- Nghiên cứu, vận dụng các phương pháp của trí tuệ nhân tạo, đặc biệt là
biểu diễn và suy luận tri thức để giải quyết bài toán đại số Vectơ với nhữngyêu cầu sau:
o Có lưu trữ cơ sở tri thức ngoài, để thuận tiện cho việc thêm, xóa,sửa tri thức cho phù hợp với các miền tri thức được áp dụng
o Cho nhập bài toán bất kỳ, dạng tổng quát theo quy ước
o Tìm ra lời giải tự nhiên như con người, dễ hiểu đối với người dùng
Trang 6- Khắc phục một số hạn chế của các mô hình tri thức trước đây như :
o Cụ thể hóa và phân loại chi tiết, chia nhỏ từng miền tri thức để xâydựng lời giải tốt nhất
o Phân loại các dạng bài toán tổng quát theo từng miền tri thức, từngđặc trưng riêng của các đối tượng tính toán
o Vận dụng linh hoạt mô hình tri thưc COKB, ECOKB dạng khuyếthoặc dạng đầy đủ để xử lý hiệu quả nhất cho miền tri thức áp dụng
o Đi sâu vào việc giải quyết tốt từng vấn đề cụ thể trong mỗi miền trithức riêng
Chương 2
TRI THỨC VỀ ĐẠI SỐ VECTƠ
2.1 Kiến thức tổng quát
Phần này trình bày tóm tắt kiến thức tổng quát trong phạm vi miền tri thức
về đại số Vectơ, tham khảo từ các tài liệu [2], [10]
2.1.1 Các định nghĩa
Điểm : là một khái niệm cơ bản trong toán học, được thừa nhận như một khái
niệm xuất phát để xây dựng môn hình học, được hình dung như là cái gì đó rất nhỏ
bé, không có kích thước hay kích thước bằng không Trong hình học sơ cấp người tachỉ mô tả hình ảnh của một Đ (hạt bụi, chấm mực)
Vectơ : là một đoạn thẳng có hướng, nghĩa là trong hai điểm của đoạn thẳng
đã chỉ rõ điểm nào là điểm đầu, điểm nào là điểm cuối
Để xác định một vectơ cần biết một trong hai điều kiện sau:
o Điểm đầu và điểm cuối của vectơ
o Độ dài và hướng
Hai vectơ và được gọi là cùng phương nếu giá của chúng song song hoặctrùng nhau
Trang 7Nếu hai vectơ và cùng phương thì chúng có thể cùng hướng hoặc ngượchướng
Độ dài của một vectơ là khoảng cách giữa điểm đầu và điểm cuối của vectơ
đó
Vectơ bằng nhau : = khi và chỉ khi và , cùng hướng
Với mỗi điểm A ta gọi là vectơ – không Vectơ – không được kí hiệu là vàquy ước rằng 0 Vectơ cùng phương và cùng hướng với mọi vectơ
2.1.2 Tổng và hiệu hai Vectơ
Định nghĩa tổng của hai vectơ và quy tắc tìm tổng
o Cho hai Vectơ tùy ý và Lấy điểm A tùy ý, dựng và Khi đó =
o Với ba điểm M, N và P tùy ý ta luôn có (quy tắc 3 điểm)
o Tứ giác ABCD là hình bình hành, ta có: (quy tắc hình bình hành)
Định nghĩa Vectơ đối
o Cho vectơ Vectơ có cùng độ dài và ngược hướng với được gọi là vectơđối của vectơ , kí hiệu là
o Mỗi vectơ đều có vectơ đối, chẳng hạn vectơ đối của là , nghĩa là =
o Vectơ đối của là
Định nghĩa hiệu của hai Vectơ và quy tắc tìm hiệu
o Quy tắc ba điểm đối với phép trừ vectơ: Với ba điểm bất kì O, A, B ta có
o Lưu ý:
I là trung điểm AB Với điểmO bất kỳ :
G là trọng tâm tam giác ABC Với điểm O bất kỳ : 2.2 Phân loại bài tập
Phân loại bài tập theo từng dạng cơ bản và trình bày minh họa một số ví dụbài toán thuộc dạng bài tập đó, tham khảo trong tài liệu [2], [9]
2.2.1 Dạng 1: Dạng toán rút gọn biểu thức
Phương pháp : Ta dùng quy tắc tìm tổng, hiệu của hai Vectơ, tìm vectơ đối đểbiến đổi biểu thức về dạng đơn giản nhất có thể
Trang 8Một số bài tập mẫu cơ bản :
Rút gọn các biểu thức vectơ sau :
a
b
c
2.2.2 Dạng 2: Dạng toán chứng minh đẳng thức Vectơ
Dạng toán chứng minh đẳng thức không có điều kiện : dạng toán này chủ yếu
áp dụng các tính chất của phép cộng vectơ, tìm vectơ đối
Dạng toán chứng minh đẳng thức có điều kiện dạng quan hệ như : trung điểm,trọng tâm tam giác, tâm hình bình hành, trung tuyến từ đó suy ra các đẳng thức hệquả để áp dụng vào biểu thức vectơ, kết hợp các quy tắc cộng trừ vectơ để biến đổibiểu thức vế trái thành biểu thức vế phải
Dạng toán chứng minh đẳng thức vectơ có điều kiện dạng phương trình : dạngtoán này thường áp dụng luôn các phương trình mà đề bài đã cho vào luôn đẳng thức
Dạng toán chứng minh đẳng thức tổng quát : gồm các điều kiện dạng phươngtrình, dạng quan hệ, đây là dạng toán kết hợp của các dạng toán trên
Phương pháp chung : Mỗi vế của một đẳng thức vectơ gồm các vectơ đượcnối với nhau bởi các phép toán vectơ Ta dùng quy tắc tìm tổng, hiệu của hai vectơ,tìm vectơ đối để biến đổi vế này thành vế kia của đẳng thức hoặc biến đổi cà hai vếcủa đẳng thức để được hai vế bằng nhau Ta cũng có thể biến đổi đẳng thức vectơcần chứng minh đó tương đương với một đẳng thức vectơ được công nhận là đúng
Một số bài tập mẫu cơ bản
Bài 1 Cho tam giác ABC, gọi M, N, K lần lượt là trung điểm của BC, CA,
AB Chứng minh :
a
b
c
Bài 2 : Cho tứ giác ABCD, I,J là trung điểm AC, BD Chứng minh
Bài 3 : Cho tứ giác ABCD, gọi M,N,I,J là trung điểm AD,BC,AC,BD Chứng
Trang 9b
c
Chương 3
MÔ HÌNH COKB VÀ ECOKB
Chương này trình bày về mô hình tri thức được sử dụng làm cơ sở lý thuyết,
mô hình COKBvà ECOKB, tham khảo trong tài liệu [3], [6], [7], [8]
3.1 Mô hình COKB
3.1.1 Định nghĩa đối tượng tính toán (C-Object):
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 baogồm:
(1) Một danh sách các thuộc tính Attr(O) = {x1, x2, , xn} trong đó mỗi thuộc tínhlấ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ácquan 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ínhtoán
(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 đốitượ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à đốitượ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ăngtrả 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ộctí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
Trang 103.1.2 Mô hình cho một C-Object
Một C-Object có thể được mô hình hoá bởi một bộ
(Attrs,F,Fact,Rule)
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 sự kiện vốn có của đối tượng
- 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ộctính cũng như liên quan đến bản thân đối tượng
3.1.3 Mô hình tri thức các đối tượng tính toán (COKB)
Để có một mô hình biểu diễn tri thức rộng hơn có thể sử dụng trong việc xâydựng một hệ cơ sở tri thức và giải toán về các C-Object ta cần phải xem xét kháiniệm C-Object trong một hệ thống các khái niệm C-Object cùng với các loại sự kiện,các loại quan hệ khác nhau và các dạng luật khác nhau liên quan đến chúng Ta sẽxem xét một mô hình tri thức như thế và gọi nó là mô hình tri thức về các C-Object
Mô hình tri thức các C-Object , viết tắt là mô hình COKB (ComputationalObjects Knowledge Base), là một hệ thống (C, H, R, Ops, Rules) gồm:
1. Một tập hơp C các khái niệm về các C-Object
Mỗi khái niệm là một lớp C-Object có cấu trúc và được phân cấp theo sự thiếtlập của cấu trúc đối tượng:
[1] Các biến thực
[2] Các đối tượng cơ bản có cấu trúc rỗng hoặc có cấu trúc gồm một số
thuộc tính thuộc kiểu thực (ví dụ như DIEM không có thuộc tính giá trịthực trong hình học phẳng) Các đối tượng loại nầy làm nền cho cácđối tượng cấp cao hơn
[3] Các đối tượng C-Object cấp 1 Loại đối tượng nầy có một thuộc tính
loại <real> và có thể được thiết lập từ một danh sách nền các đối tượng
cơ bản Ví dụ: DOAN[A,B] và GOC[A,B,C] trong đó A, B, C là cácđối tượng cơ bản loại DIEM
[4] Các đối tượng C-Object cấp 2 Loại đối tượng nầy có các thuộc tính
loại real và các thuộc tính thuộc loại đối tượng cấp 1, và đối tượng cóthể được thiết lập trên một danh sách nền các đối tượng cơ bản Ví dụ:
Trang 11TAM_GIAC[A,B,C] và TU_GIAC[A,B,C,D], trong đó A, B, C, D làcác đối tượng cơ bản loại DIEM.
Cấu trúc bên trong của mỗi lớp đối tượng gồm:
- Kiểu đối tượng Kiểu nầy có thể là loại kiểu thiết lập trên một danh sáchnền các đối tượng cơ bản
- Danh sách các thuộc tính, mỗi thuộc tính có kiểu thực, kiểu đối tượng cơbản hay kiểu đối tượng cấp thấp hơn
- Quan hệ trên cấu trúc thiết lập Quan hệ nầy thể hiện các sự kiện về sự liên
hệ giữa đối tượng và các đối tượng nền (tức là các đối tượng thuộc danhsách đối tượng nền)
- Tập hợp các điều kiện ràng buộc trên các thuộc tính
- Tập hợp các tính chất nội tại liên quan đến các thuộc tính của đối tượng.Mỗi tính chất nầy cho ta một sự kiện của đối tượng
- Tập hợp các quan hệ suy diễn - tính toán Mỗi quan hệ thể hiện một quiluật suy diễn và cho phép ta có thể tính toán một hay một số thuộc tính nầy
từ một số thuộc tính khác của đối tượng
- Tập hợp các luật suy diễn trên các loại sự kiện khác nhau liên quan đếncác thuộc tính của đối tượng hay bản thân đối tượng Mỗi luật suy diễn códạng:
{các sự kiện giả thiết}⇒{các sự kiện kết luận}
Cùng với cấu trúc trên, đối tượng còn được trang bị các hành vi cơ bản trongviệc giải quyết các bài toán suy diễn và tính toán trên các thuộc tính của đối tượng,bản thân đối tượng hay các đối tượng liên quan được thiết lập trên nền của đối tượng(nếu đối tượng được thiết lập trên một danh sách các đối tượng nền nào đó)
2. Một tập hơp H các quan hệ phân cấp giữa các loại đối tượng
Trên tập hợp C ta có một quan hệ phân cấp theo đó có thể có một số kháiniệm là sự đặc biệt hóa của các khái niệm khác, chẳng hạn như một tam giác câncũng là một tam giác, một hình bình hành cũng là một tứ giác Có thể nói rằng H làmột biểu đồ Hasse khi xem quan hệ phân cấp trên là một quan hệ thứ tự trên C
3. Một tập hơp R các khái niệm về các loại quan hệ trên các C-Object
Mỗi quan hệ được xác định bởi <tên quan hệ> và các loại đối tượng của quan
hệ, và quan hệ có thể có một số tính chất trong các tính chất sau đây: tính chất phản
Trang 12xạ, tính chất đối xứng, tính chất phản xứng và tính chất bắc cầu Ví dụ: Quan hệ cùngphương trên 2 đoạn thẳng có các tính chất phản xạ, đối xứng và bắc cầu.
4. Một tập hơp Ops các toán tử
Các toán tử cho ta một số phép toán trên các biến thực cũng như trên các đốitượng, chẳng hạn các phép toán số học và tính toán trên các đối tượng đoạn và góctương tự như đối với các biến thực
5. Một tập hơp Rules gồm các luật được phân lớp
Các luật thể hiện các tri thức mang tính phổ quát trên các khái niệm và cácloại sự kiện khác nhau Mỗi luật cho ta một qui tắc suy luận để đi đến các sự kiệnmới từ các sự kiện nào đó, và về mặt cấu trúc nó gồm 2 thành phần chính là: phần giảthiết của luật và phần kết luận của luật Phần giả thiết và phần kết luận đều là các tậphợp sự kiện trên các đối tượng nhất định Như vậy, một luật r có thể được mô hìnhdưới dạng:
r : {sk1, sk2, , skn}⇒{ sk1, sk2, , skm}
Để mô hình luật dẫn trên có hiệu lực trong cơ sở tri thức và để có thể khảo sátcác thuật giải để giải quyết các bài toán, ta cần định nghĩa các dạng sự kiện khácnhau trong các luật Dưới đây là định nghĩa cho 6 loại sự kiện khác nhau được xemxét trong mô hình
Các loại sự kiện :
[1] Sự kiện thông tin về loại của một đối tượng
[2] Sự kiện về tính xác định của một đối tượng (các thuộc tính coi như đã biết)hay của một thuộc tính
[3] Sự kiện về sự xác định của một thuộc tính hay một đối tượng thông qua mộtbiểu thức hằng
[4] Sự kiện về sự bằng nhau giữa một đối tượng hay một thuộc tính với một đốitượng hay một thuộc tính khác Sự bằng nhau nầy giữa 2 đối tượng sẽ được hiểu theonghĩa là các thuộc tính tương ứng của chúng bằng nhau
[5] Sự kiện về sự phụ thuộc của một đối tượng hay của một thuộc tính theo nhữngđối tượng hay các thuộc tính khác thông qua một công thức tính toán Loại sự kiệnnầy có dạng :
[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 đốitượng
Trang 13Một ví dụ áp dụng của mô hình COKB là biểu diễn tri thức về các tam giác và
tứ giác trong hình học phẳng theo mô hình tri thức về các C-Object ([3]) Một phầnlớn kiến thức về hình học giải tích 3 chiều hay kiến thức về các phản ứng hóa họccũng có thể được biểu diễn theo mô hình nầy Cách biểu diễn kiến thức theo mô hìnhnầy có nhiều ưu điểm thuận lợi cho việc thiết kế một cơ sở tri thức truy cập được dễdàng bởi các môđun quản trị tri thức cũng như các môđun giải toán và tra cứu kiếnthức Đặc biệt là mô hình giúp ta có thể thiết kế các thuật giải để giải toán tự động
Mô hình tri thức về các C-Object giúp ta có một tổ chức cơ sở tri thức chặcchẽ và tiện lợi cho việc hiệu chỉnh, truy cập cũng như cho việc sử dụng tri thức tronggiải tự động các bài toán Mô hình này thể hiện được ưu thế và lợi ích của chúngtrong việc thiết kế các chương trình giải bài toán thông minh dựa trên tri thức
3.2 Định nghĩa Mô hình ECOKB
Một mô hình tri thức các C-Object mở rộng (viết tắt là mô hình ECOKB –Extended Computational Objects Knowledge Base) là một hệ thống gồm 6 thànhphần:[9]
(C, H, R, Ops, Funcs, Rules )
Trong đó:
o C là một tập hợp các khái niệm về các C-Object
o 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
o 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
o Ops là một tập hợp các toán tử
o Funcs là một tập hợp các hàm
o Rules là tập hợp các luật được phân lớp
Chi tiết về mỗi thành phần được mô tả cụ thể như sau:
o Một tập hợp C các khái niệm về các C-Object:
o Một tập hợp H các quan hệ phân cấp giữa các loại đối tượng
o Một tập hợp R các khái niệm về các loại quan hệ trên các C-Object
o Một tập hợp Ops các toán tử
o Một tập hợp Funcs gồm các hàm
Trang 14o Một tập hợp Rules gồm các luật được phân lớp
Mỗi luật cho ta một quy tắc suy luận để đi đến các sự kiện mới từ các sự kiệnnào đó và về mặt cấu trúc nó gồm 2 thành phần chính là: phần giả thiết và phần kếtluận đều là các tập hợp sự kiện trên các đối tượng nhất định:
R:{sk1,sk2,…,skn}=>{sk1,sk2,…,skm}
Để mô hình luật dẫn trên có hiệu lực trong cơ sở tri thức và để có thể khảo sátcác thuật giải để giải quyết các bài toán, ta cần định nghĩa các dạng sự kiện khácnhau trong các luật Dưới đây là định nghĩa cho 11 loại sự kiện khác nhau được xemxét trong mô hình:
Các loại sự kiện
[1] Sự kiện thông tin về loại của đối tượng
[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
[3] Sự kiện về tính xác định của một thuộc tính hay một đối tượng thông qua mộtbiểu thức hằng
[4] Sự kiện về sự bằng nhau giữa một đối tượng hay một thuộc tính với một đốitượng hay một thuộc tính khác
[5] Sự kiện về sự phụ thuộc của một đối tượng hay một thuộc tính theo những đốitượng hay thuộc tính khác thông qua một công thức tính toán
[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 đốitượng
[7] Sự kiện về tính xác định của một hàm
[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
[9] Sự kiện về sự bằng nhau giữa một đối tượng với một hàm
[10] Sự kiện về sự bằng nhau của một hàm với một hàm khác
[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ácthông qua một công thức tính toán
3.3.1 Các thành phần
Trang 15Cơ sở tri thức về các C-Object theo mô hình COKB có thể được tổ chức bởimột hệ thống tập tin văn bản có cấu trúc thể hiện các thành phần trong mô hình trithức Có thể thiết kế hệ thống các tập tin nầy gồm những tập tin như sau:
o Tập tin “Objects.txt” lưu trữ các định danh (hay tên gọi) cho các khái
niệm về các loại đối tượng C-Object
o Tập tin “Relations.txt” lưu trữ thông tin về các loại quan hệ khác nhau
trên các loại C-Object
o Tập tin “Hierarchy.txt” lưu lại các biểu đồ Hasse thể hiện quan hệ phân
cấp đặc biệt hóa trên các khái niệm
o Các tập tin với tên tập tin có dạng “<tên khái niệm C-Object>.txt” đểlưu trữ cấu trúc của loại đối tượng <tên khái niệm C-Object> Ví dụ:
tập tin “TamGiac.txt” lưu trữ cấu trúc của loại đối tượng tam giác.
o Tập tin “Operators.txt” lưu trữ các thông tin về các toán tử trên các đối
tượng
o Tập tin “Define-Operators.txt” lưu trữ định nghĩa về các toán tử trên
các đối tượng
o Tập tin “Functions.txt” lưu trữ thông tin các hàm.
o Tập tin “Define-Functions.txt” lưu trữ định nghĩa các hàm.
o Tập tin “Facts.txt” lưu trữ thông tin về các loại sự kiện khác nhau.
o Tập tin “Rules.txt” lưu trữ hệ luật của cơ sở tri thức.
3.3.2 Cấu trúc của các tập tin lưu trữ các thành phần ECOKB
Các tập tin lưu trữ các thành phần trong cở sở tri thức các C-Object được ghidưới dạng các văn bản có cấu trúc dựa trên một số từ khóa và qui ước về cú pháp kháđơn giản và tự nhiên Dưới đây là phần liệt kê cấu trúc của các tập tin:
- Cấu trúc tập tin “Objects.txt”
begin_Objects
<tên lớp đối tượng 1>
<tên lớp đối tượng 2>
.
end_Objects
- Cấu trúc tập tin “relations.txt”
Trang 16- Cấu trúc tập tin “<tên khái niệm C-Object>.txt”
begin_object: <tên khái niệm C-Object>[các đối tượng nền]
<các đối tượng nền> : <kiểu>;
vf={ghi thuộc tính kết quả nếu flag = 0}
expf= `biểu thức tính toán`
cost= <trọng số của sự tính toán>
Trang 17kind_rule = "<loại luật>";
<các tên đối tượng> : <kiểu đối tượng>;
o O là tập các đối tượng tính toán trong bài toán,
o M là tập các thuộc tính của các đối tượng được đề cập tới trong bàitoán,
o F là tập các hàm được đề cập trong bài toán,
o Facts là tập các sự kiện thuộc 6 lọai [1]-[6], và
o FFacts là tập các sự kiện thuộc các lọai khác liên quan đến tri thứchàm
o Goal là mục tiêu hay yêu cầu của bài toán
Ví dụ 1: Xét bài toán sau đây: Cho đường thẳng (d): x + 2y - 7 = 0.
a Xác định A, B là giao điểm của Ox, Oy với (d)
b Tìm toạ độ hình chiếu H của gốc O lên (d)
c Viết phương trình (d’) đối xứng với (d) qua O
Bài toán có thể được mô hình hóa theo mô hình trên như sau:
O := {d: đường thẳng, Ox: đường thẳng, Oy: đường thẳng, A: điểm,
Trang 18B: điểm, O: điểm, H: điểm, d’: đường thẳng }
M := {d.ptdt, Ox.ptdt, Oy.ptdt, H.x, H.y}
F := {GiaoĐiểm(đường thẳng, đường thẳng),
HìnhChiếu(điểm, đường thẳng), ĐốiXứng(đường thẳng, điểm)}
Goal := [A, B, H, (d’)]
Ví dụ 2: Xét bài toán sau đây: Viết phương trình đường thẳng đi qua giao
điểm hai đường thẳng 2x + 7y – 8 = 0; 3x + 2y + 5 = 0 và hợp với đường thẳng (d):2x + 3y -7 = 0 một góc 450
Bài toán có thể được mô hình hóa theo mô hình trên như sau:
O := {d: đường thẳng, d1: đường thẳng, d2: đường thẳng,
d3: đường thẳng, A: điểm}
M := {d.ptdt, d1.ptdt, d2.ptdt, d3.ptdt}
F := {Goc(đthẳng, đthẳng), GiaoDiem(đthẳng, đthẳng) }Facts : = {d.ptdt : 2x + 3y -7 = 0,
d1.ptdt: 2x + 7y – 8 = 0, d2.ptdt: 3x + 2y + 5 = 0,
A “thuộc” d3}
FFacts := {Goc(d,d3) = 45,
Trang 19o Tính đơn giản.
o Tính tự nhiên
o Tính tiện dụng
o Khả năng đặc tả tốt
Hệ thống sẽ cung cấp 2 cách để đặc tả bài toán:
Đề bài có thể được cho dưới dạng một tập tin văn bản có cấu trúc dựa trên
một số từ khoá như: begin_exercise, end_exercise, begin_hypothesis,
end_hypothesis, parameters, end_parameters, objects, end_object, facts, end_facts, functions, end_functions, goals, end_goals cùng với một số qui ước
khai báo các tham biến, các đối tượng, các sự kiện, các hàm, và yêu cầu của bài toán
Cấu trúc của đề bài bài toán có dạng như sau:
Trang 20// Phần kết luận_mục tiêu của bài toán
Tập hợp các loại sự kiện : Trong mô hình tri thức đại sốvectơ chỉ sử dụng một
số sự kiện sau :
1 Sự kiện thông tin về loại của đối tượng
Cấu trúc sự kiện: [<object>, <loại object>].
Ví dụ: [O1,”TamGiac”], [a,”Vecto”]
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ấu trúc sự kiện:<object> hay <object>.<thuộc tính>
E.A1=[-a,0] (a có thể là 1 trong những Objects hay thuộc tính của Objects)
4 Sự kiện về sự phụ thuộc của một đối tượng hay một thuộc tính theo những đốitượng hay thuộc tính khác thông qua một công thức tính toán
Cấu trúc sự kiện:
<object> = <biểu thức theo các object hay thuộc tính khác> hay
<object>.<thuộc tính> = <biểu thức theo các object hay thuộc tính khác>
Trang 21Chi tiết về mỗi thành phần được mô tả cụ thể như sau:
4.1.1 Tập C các khái niệm về các đối tượng tính toán
Tập các khái niệm C bao gồm 5 đối tượng “Điểm”, “Vectơ”, “Đoạn”, “Tamgiác”, “Hình bình hành”
- Khái niệm “Điểm”chỉ một loại đối tượng cơ bản “Điểm” là cấu trúc rỗng.
- Khái niệm “Đoạn”, “Vectơ” chỉ các loại đối tượng cấp 1 Mỗi “đoạn”
được thiết lập từ 2 điểm không trùng nhau “Vectơ” được thiết lập từ mộtdanh sách nền gồm 2 đối tượng loại “điểm”
- “Tam giác”, “Hình bình hành” là loại đối tượng cấp 2 được thiết lập từ
danh sách nền các đối tượng cơ bản kiểu điểm, có các thuộc tính loại real
và các thuộc tính loại đối tượng cấp 1
4.1.2 Tập các quan hệ trên các đối tượng
Mỗi quan hệ được xác định bởi <tên quan hệ> và các loại đối tượng của quan
hệ và quan hệ có thể có một số tính chất trong các tính chất sau đây: tính chất phản
xạ, tính chất đối xứng và tính chất bắc cầu Ví dụ một số quan hệ sau:
- Quan hệ “Trọng tâm” giữa một “điểm” với một “tam giác”
o [TrongTam, Diem, TamGiac],{}
- Quan hệ “Trung điểm” giữa “điểm” với một “đoạn”
- {A,B,C,D : điểm, O1 : hình bình hành ABCD{
Trang 22- {A,B,C,G : điểm, G là “trọng tâm” tam giác ABC]} {
- {A,B,C,D,O là điểm, O1 : hình bình hành ABCD, O là "tâm”hình bình
hành ABCD}{O là “trung điểm”đoạn AC, O là “trung điểm”đoạn BD}
o Tập tin “Objects.txt” lưu trữ các định danh (hay tên gọi) cho các khái
niệm về các loại đối tượng C-Object
o Tập tin “Relations.txt” lưu trữ thông tin về các loại quan hệ khác nhau
trên các loại C-Object
o Các tập tin với tên tập tin có dạng “<tên khái niệm C-Object>.txt” đểlưu trữ cấu trúc của loại đối tượng tên khái niệm C-Object> (có 5 tập
tin lưu trữ : “Diem.txt”, “Doan.txt”, “Vecto.txt”, “TamGiac.txt”,
“HinhBinhHanh.txt” ).
o Tập tin “Rules.txt” lưu trữ hệ luật của cơ sở tri thức.
4.2.2 Cấu trúc của các tập tin lưu trữ các thành phầnCOKB
Các tập tin lưu trữ các thành phần trong cở sở tri thức các C-Object được ghidưới dạng các văn bản có cấu trúc dựa trên một số từ khóa và qui ước về cú pháp kháđơn giản và tự nhiên của mô hình COKB Dưới đây là phần liệt kê cấu trúc của cáctập tin:
Tập tin “Objects.txt”
begin_Objects
Diem Vecto Doan TamGiac HinhBinhHanh end_Objects
Chi tiết một số tập tin<C-Object.txt>
Chi tiết về tập tin “Diem.txt”
begin_object: Diem;
Trang 23begin_variables end_variables begin_constraints end_constraints begin_computation_relations end_computation_relations begin_rule
end_rules end_object
Tập tin “Relations.txt”
begin_Relations
["TrungDiem",Diem,Doan],{}
["TrongTam", Diem, TamGiac],{}
["TrungTuyen", Doan, TamGiac],{}
["TrungDiem", Diem, Vecto],{}
{ Vecto[A, B] + Vecto[A, D] = Vecto[A,C] ,Vecto[C, B] + Vecto[C, D]=Vecto[C,A] , Vecto[B, A] + Vecto[B, D] = Vecto[B,D], Vecto[D, A] + Vecto[D, C] = Vecto[D,B],Vecto[B,C]= Vecto[A,D],Vecto[A,B]= Vecto[D,C]}
end_goal_part readTrue = "true"
{Vecto[M,A] + Vecto[M,B] = Vecto[0],Vecto[A,M] + Vecto[B,M] = Vecto[0],Vecto[A,B] = 2*Vecto[A,M],Vecto[A,B] =