Hay nói cách khác, các đối tượng nghiên cứu của Ontology chủ yếu xoay quanhviệc phân loại các sự vật dựa trên các đặc điểm mang tính bản chất, hướng tới các lĩnhvực khoa học mô tả các lo
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
- -BÀI THU HOẠCH
MÔN: BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG
Đề tài: Ontology cơ sở tri thức các đối tượng tính toán
Giảng viên hướng dẫn : PGS ĐỖ VĂN NHƠN
Trang 2LỜI NÓI ĐẦU
Trong quá trình thiết kế hệ thống, việc biểu diễn tri thức là vấn đề quan trọng Mỗimột loại tri thức cần 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
Có nhiều phương pháp biểu diễn hệ cơ sở tri thức khác nhau như mạng nơron, đồ thịkhái niệm, mạng ngữ nghĩa Tuy nhiên, đối với những hệ tri thức mang tính tổng quát thìnhững phương pháp trên còn gặp nhiều hạn chế Mô hình COKB được PGS Đỗ VănNhơn đề xuất năm 2002 để giải quyết vấn đề biểu diễn tri thức cho các đối tượng tínhtoán Còn ontology là phương pháp hiện đại để phát triển khả năng biểu diễn tri thức, xâydựng các hệ trí tuệ nhân tạp phân tán Dựa trên nền tảng COKB và ONT, mô hìnhontonogy biểu diễn và giải quyết vấn đề trên nhiều miển tri thức, đặc biệt là ứng dụngtrong các lình vực toán học, vật lý, hóa học và các lĩnh vực khoa học tính toán khác.Trong phạm vi bài thu hoạch này, tôi xin trình bày những kiến thức tìm hiểu được vềontology và xây dựng cơ sở tri thức bằng phương pháp mô hình ontology cho các đốitượng tính toán (COKB-ONT) Từ đó thiết kế mô hình ứng dụng đối với các bài toánhình học 2D
Chân thành cảm ơn PGS Đỗ Văn Nhơn đã tận tình chỉ dẫn, giảng dạy nhiệt tìnhnhững kiến thức nền tảng cho tôi có cơ hội tìm hiểu và nghiên cứu các lĩnh vực này.Đồng cảm ơn quý thầy cô quản lý phòng đào tạo sau đại học, trường đại học CNTT đãtạo mọi điều kiện tốt nhất để chúng tôi học tập
Trân trọng!
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 2
I. ONTOLOGY 4
1. Giới thiệu 4
2. Thành phần của một Ontology 4
3. Phân loại Ontology 7
4. Xây dựng Ontology 8
II. MÔ HÌNH ĐỐI TƯỢNG TÍNH TOÁN–COKB 12
1. Đối tượng tính toán (Computational Object) 12
2. Các thành phần của mô hình COKB-ONT 13
3. Các loại sự kiện giả thiết trong mô hình COKB-ONT 15
4. Ngôn ngữ đặc tả 17
5. Các phương pháp thiết kế 19
III. ỨNG DỤNG MÔ HÌNH COKB GIẢI MỘT SỐ BÀI TOÁN HÌNH HỌC 2D 22 1. Mô tả bài toán 22
2. Xây dựng mô hình COKB giải quyết bài toán hình học 2D 22
KẾT LUẬN 35
TÀI LIỆU THAM KHẢO 36
Trang 4I ONTOLOGY [1]
1. Giới thiệu
Ontology được tạm dịch là “Bản thể học”, theo nhà triết học siêu hình Aristotle địnhnghĩa là một nhánh của triết học, liên quan đến sự tồn tại và bản chất các sự vật trongthực tế Hay nói cách khác, các đối tượng nghiên cứu của Ontology chủ yếu xoay quanhviệc phân loại các sự vật dựa trên các đặc điểm mang tính bản chất, hướng tới các lĩnhvực khoa học mô tả các loại thực thể trong thế giới thực và cách chúng liên kết với nhau.Trong ngành khoa học máy tính và khoa học thông tin, Ontology mô tả các đốitượng và quan hệ giữa chúng trong một hệ thống hay ngữ cảnh cần quan tâm Các đốitượng có thể là khái niệm, từ vựng, thuật ngữ được sử dụng trong một lĩnh vực chuyênmôn nào đó Ontology cũng có thể được hiểu như là một ngôn ngữ hay một tập các quytắc được dùng để xây dựng thành hệ thống Ontology, định nghĩa những tập phổ biến Mộtcách khái quát, Ontology là “một biểu diễn của khái niệm hóa”của một miền hay lĩnh vựcnhất định Nó cung cấp bộ từ vựng chung bao gồm khái niệm, các thuộc tính quan trọng,các định nghĩa về khái niệm và thuộc tính đó, ngoài ra nó còn cung cấp các ràng buộcđược xem như là giả định cơ sở về ý nghĩa của bộ từ vựng, nó được sử dụng trong cáclĩnh vực giao tiếp giữa người và người hay các hệ thống ứng dụng phân tán
Ontology được ứng dụng trong trí tuệ nhân tạo, công nghệ Web ngữ nghĩa, hệ thống
kỹ thuật, hệ thống phần mềm, hệ thống kiến trúc thông tin và biểu diễn tri thức
2. Thành phần của một Ontology
Một Ontology bao gồm:
- Các cá thể (individuals): các thực thể hoặc các đối tượng (đối tượng cơ bản hoặc cấp độ
nền) Các cá thể là thành phần cơ bản của một Ontology, bao gồm các đối tượng cụ thểnhư con người, động vật, chiếc bàn… hoặc cá thể trừu tượng như thành viên, các từ…Một ontology có thể không cần bất kỳ cá thể nào, nhưng một ontology là để cung cấp ngữnghĩa của việc phân lớp cá thể, dù cho cá thể này không thực sự là một phần của nó
- Các lớp (classes): các tập hợp, bộ sưu tập, các khái niệm, nhóm đối tượng trừu tượng.
Chúng có thể chứa các cá thể, các lớp khác hoặc kết hợp cả hai Một số ví dụ về lớp:
Trang 5Các ontology biến đổi tùy thuộc nội dung và cấu trúc của nó Một lớp có thể chứacác lớp con, có thể là lớp tổng quan, có thể chỉ chứa các cá thể riêng lẻ Dựa vào mốiquan hệ giữa các lớp để xếp thứ bậc, thông thường là có một lớp trên đỉnh, và các lớp con
cụ thể ở phía dưới cùng
Ví dụ:
Hình 1: Mô hình các lớp đối tượng hình học
Nếu quy tắc phân vùng đảm bảo mỗi hình không thể ở hai lớp, các phân vùng nàyđược gọi là một phân vùng phân chia Nếu quy tắc phân vùng đảm bảo mỗi đối tượng cụthể trong siêu lớp là một thể hiện của ít nhất một trong các lớp phân vùng, các phân vùngnày được gọi là một phân vùng toàn bộ
- Các thuộc tính (attributes): các khía cạnh, đặc tính, tính năng, đặc điểm hoặc thông số
mà các đối tượng (các lớp) có thể có Các đối tượng trong ontology được mô tả thông quaviệc khai báo các thuộc tính của chúng Mỗi thuộc tính đều có tên và giá trị để lưu trữthông tin của đối tượng Giá trị của một thuộc tính có thể là một kiểu dữ liệu phức tạp
- Các quan hệ (relations): cách thức mà các lớp và các cá thể có thể liên kết với nhau, quy
định rõ sự liên quan giữa đối tượng này và đối tượng khác Ontology mô tả ngữ nghĩa cácquan hệ trong một lĩnh vực nào đó Hệ thống phân cấp và sự thiết lập các loại quan hệ mô
tả khả năng biểu hiện của ngôn ngữ mà Ontology được thể hiện
Một trong những kiểu quan hệ quan trọng là kiểu quan hệ xếp gộp (subsumption).Kiểu quan hệ này mô tả các đối tượng nào là thành viên của lớp đối tượng Ontologyphân biệt các loại quan hệ khác nhau:
Trang 6 Loại quan hệ giữa các lớp
Loại quan hệ đôi khi được dùng để lưu trữ các loại đặc trưng của sự kiện hoặc trả lờitừng loại câu hỏi riêng biệt Các định nghĩa của loại quan hệ được mô tả trong ontology,sau đó ontology định nghĩa trên ngôn ngữ của nó
- Các thuật ngữ chức năng (function – terms): cấu trúc phức tạp được hình thành từ
những mối quan hệ nhất định có thể được sử dụng thay cho một thuật ngữ cá thể trongmột báo cáo (statement)
- Các sự hạn chế (restrictions): những mô tả chính thức được tuyên bố về những điều phải
chính xác cho một số khẳng định được chấp nhận ở đầu vào
- Các quy tắc (rules):tuyên bố có hình thức nhu một cặp nếu-thì (if-then) mô tả suy luận
logic có thể duợc rút ra từ một sự khẳng dịnh trong từng hình thức riêng
- Các tiền đề (axioms): các khẳng định (bao gồm các quy tắc) trong một hình thức hợp lý
với nhau bao gồm các lý thuyết tổng thể mà ontology mô tả trong các lĩnh vực ứng dụng
- Các sự kiện (even): Sự thay đổi các thuộc tính hoặc mối quan hệ
Trang 7Top level Ontology
Task Ontology
Application Ontology Domain Ontology
3. Phân loại Ontology
Ontology mô tả khả năng khác nhau cho việc tái sử dụng hệ thống cơ sở tri thức, sựphân loại của Ontology được tạo ra theo chủ đề của sự khái niệm hóa
- Top level Ontology: là ontology lớp cao, nhằm diễn tả những khái niệm tổng quan và trừu
tượng, có thể chia sẻ qua nhiều lĩnh vực và ứng dụng Do tính chất tổng quan nên loạiontology này không sử dụng trực tiếp mà thông qua các ontology khác
- Domain Ontology và Task Ontology: các loại ontology này lấy tri thức từ các lĩnh vực
xác định (y khoa, vật lý, địa lý…) hay tri thức về một tác vụ riêng biệt (chẩn đoán, cấuhình, …) Những loại ontology này xác định, cụ thể và phạm vi hẹp hơn Top levelOntology
Khái niệm hóa trong domain ontology là các tác vụ độc lập và những miêu tả trongcác tác vụ không có sự phân biệt rõ rệt giữa các lĩnh vực Task ontology được phát triểncho các tác vụ xây dựng, sắp xếp, lên kế hoạch làm việc, giám sát trong các lĩnh vực nhưkhoa học, cơ sở tri thức máy học, theo dõi tên lửa, hướng dẫn điều trị… vv
Hình 2: Phân loại Ontology
- Application Ontology: cung cấp một bộ từ vựng xác định được yêu cầu để mô tả các tác
vụ trong một ngữ cảnh ứng dụng cụ thể, nó có thể sử dụng cả domain ontology và taskontology và mô tả vai trò của chúng trong các tác vụ
Thông qua sơ đồ chúng ta có thể thấy được sự phân cấp giữa các loại ontology, cácontology cấp thấp phạm vi ứng dụng thu hẹp hơn, kế thừa và chuyên môn hóa các kháiniệm, quan hệ các ontology cấp cao hơn
4. Xây dựng Ontology
Phương pháp chung để xây dựng ontology là thực hiện hai bước cơ bản: xây dựngcấu trúc lớp phân cấp và định nghĩa các thuộc tính cho lớp Việc phát triển một ontologyphụ thuộc lớn vào công cụ sử dụng, tính chất, quy mô, sự thay đổi thường xuyên của
Trang 8miền và các quan hệ phức tạp giữa các đối tượng Quá trình xây dựng ontology được lặp
đi lặp lại để cải thiện, tinh chế, từng bước phát triển và mở rộng các phạm vi Hệ thốngontology cần có khả năng kế thừa, tính linh động và mô tả các quan hệ phức tạp trong thếgiới thực
Các giai đoạn của việc xây dựng một ontology
a.Xác định lĩnh vực quan tâm và phạm vi của ontology
Yêu cầu đối với một hệ thống ontology là mô tả lĩnh vực cần quan tâm nhằm phục
vụ cơ sở tri thức trong việc giải quyết những mục đích chuyên biệt Công việc đặc tả đểxác định, phân tích, nhận diện chính xác các yêu cầu được thực hiện bằng cách trả lời cáccâu hỏi sau:
Trong quá trình xây dựng ontology, câu trả lời cho những câu hỏi này sẽ thườngxuyên thay đổi, nhất là những khi cần bổ sung tính năng trong việc xây dựng cơ sở trithức Việc trả lời chính xác các câu hỏi tại mỗi bước lặp sẽ giúp giới hạn phạm vi của môhình cần mô tả và dự trù các kỹ thuật sẽ sử dụng trong quá trình phát triển Sau khi phácthảo phạm vi ontology dựa trên việc trả lời các câu hỏi trên, người thiết kế sẽ tiếp tục trảlời các câu hỏi mang tính chất đánh giá nhằm mục đích tinh chỉnh lại phạm vi của hệthống cần xây dựng:
b.Xem xét việc kế thừa các Ontology có sẵn
Dựa trên các ontology có sẵn, người thiết kế có thể xây dựng những ontology kếthừa nhằm giảm thiểu thời gian, công sức và tinh chỉnh theeo yêu cầu hệ thống Việc kếthừa này khi tương tác giữa các ứng dụng khác nhau cần phải xem xét mức độ hiểu giữacác lớp, các đối tượng, thực thể, quan hệ để thuận tiện trong việc trao đổi, thống nhất
Trang 9Vấn đề đặt ra khi xây dựng một ontology mới kế thừa các ontology cũ là trộn cácontology và làm thế nào để bổ sung các quan hệ, thuộc tính có sẵn vào một hệ thống mới.
Ví dụ: Trong trường hợp tên các khái niệm được định nghĩa trong các ontology có thểgiống nhau trong khi chúng mô tả các đối tượng hoàn toàn khác nhau, hoặc xảy ra trườnghợp ngược lại
Hiện nay, hầu hết các ontology sử dụng trong ngành khoa học máy tính và web ngữnghĩa đều được xây dựng trên các công cụ và hệ thống quản trị ontology, chẳng hạn nhưSesame, Ontolingua, Chimaera, … Đa số phần mềm này đều hỗ trợ chức năng tự độngtrộn các ontology và người xây dựng cần kiểm tra lại bằng thủ công Một số ontology
Liên Hiệp Quốc hợp tác với tổ chức Dun & Bradstreet nhằm cung cấp các thuật ngữ của
BioPax trong lĩnh vực sinh vật học, UMLS trong lĩnh vực mạng ngữ nghĩa, GO (GeneOntology), WordNet (Đại học Princeton)
c.Liệt kê các thuật ngữ quan trọng trong Ontology
Đây là giai đoạn làm tiền đề cho hai bước tiếp theo là xây dựng cấu trúc phân cấplớp và định nghĩa các thuộc tính cho lớp Ở bước này, người xây dựng liệt kê tất cả cácthuật ngữ xuất hiện trong miền quan tâm (có thể đồng nghĩa hoặc chồng nhau) như tênkhái niệm, quan hệ, thuộc tính…Thông thường, thuật ngữ là danh từ sẽ xây dựng thànhcác lớp, tính từ sẽ thành thuộc tính, động từ sẽ thành quan hệ giữa các lớp
d.Xây dựng các lớp và cấu trúc lớp phân cấp
Nhiệm vụ của bước này là định nghĩa các lớp từ một số thuật ngữ đã được liệt kê ởbước trên, sau đó xây dựng cấu trúc lớp phân cấp theo quan hệ lớp cha – lớp con Lớp ở
vị trí càng cao sẽ có mức độ tổng quát càng cao, tiếp theo là các lớp trung gian, và cuốicùng ở vị trí thấp nhất là các lớp lá Lớp lá là lớp không thể triển khai được nữa và chỉđược biểu hiện bằng các thực thể
Quan hệ giữa thực thể lớp con với lớp cha là quan hệ “is – a”, nghĩa là một thực thểlớp con cũng là một thực thể của lớp cha Một số hướng tiếp cận cho vấn đề xây dựng cấutrúc lớp phân cấp như sau:
tổng quát cao nhất, sau đó triển khai dần đến các lớp lá
Trang 10- Hướng xây dựng từ dưới lên (bottom – up): ngược lại với hướng xây dựng cấutrúc lớp phân cấp từ tren xuống, hướng này bắt đầu bằng việc xác định các lớpđược cho là cụ thể nhất, sau đó tổng quát hóa dần cho đến khi được lớp gốc.
hướng xây dựng trên Đầu tiên chọn các lớp nổi bật nhất trong lĩnh vực quan tâm,sau đó tổng quát hóa và cụ thể hóa cho đến khi tìm được cấu trúc mong muốn
e. Định nghĩa các thuộc tính và quan hệ cho lớp
Các lớp sau khi phân cấp chỉ mới được phân biệt với nhau bằng tên gọi Để có đầy
đủ thông tin phục vụ cho việc biểu diễn tri thức, cần định nghĩa các thuộc tính của lớp.Thuộc tính của lớp chứa các thông tin bên trong lớp, mô tả các khía cạnh của lớp và cóthể phân biệt với các lớp khác Có các loại thuộc tính khác nhau:
property) mô tả các tính chất nội tại bên trong sự vật và thuộc tính bên ngoài(extrinsic property) mô tả phần biểu hiện của sự vật
giá trị đơn và thuộc tính phức (complex property) có thể chứa hoặc tham chiếuđến một đối tượng khác
Một lớp sẽ kế thừa toàn bộ các thuộc tính của cha nó Do đó, cần xem xét một thuộctính đã được định nghĩa ở mức cao hơn chưa? Thuộc tính chỉ nên được định nghĩa khi nó
là tính chất riêng của lớp đang xét mà không phải là biểu hiện ở các lớp cao hơn
f. Định nghĩa các ràng buộc cho thuộc tính và quan hệ của lớp
Ràng buộc là các giới hạn giá trị mà một thuộc tính có thể nhận Có hai loại ràngbuộc quan trọng là số yếu tố (cardinality) và kiểu (type)
thường có hai giá trị loại này là đơn trị (single) và đa trị (multiple), một số phầnmềm cho định nghĩa chính xác số yếu tố
kê và kiểu thực thể Riêng kiểu thực thể có liên quan đến các khái niệm gọi làmiền (domain) được dùng để chỉ lớp hay các lớp mà một thuộc tính thuộc về vàkhoảng (range) là lớp (hay các lớp) làm kiểu giá trị thuộc tính kiểu thực thể
g. Tạo các thực thể cho lớp
Trang 11Đây là thao tác cuối cùng để hoàn thành một vòng lặp xây dựng ontology Tại bướcnày, người xây dựng tạo thực thể cho mỗi lớp và gán giá trị cho các thuộc tính Về cơbản, các thực thể tạo nên nội dung của một cơ sở tri thức.
Trang 12II MÔ HÌNH ĐỐI TƯỢNG TÍNH TOÁN – COKB
Mô hình tri thức các đối tượng tính toán (The Computational Object KnowledgeBase Ontoloy) là phương pháp biểu diễn tri thức từ cách tiếp cận hướng đối tượng để mô
tả kiến thức và các kỹ thuật lập trình tính toán Nhiều kết quả mang lại trong việc sử dụngcông cụ và phương pháp hướng đối tượng [2], [3] Mô hình này thực sự hữu ích trongviệc xây dựng các hệ thống kiến thức cơ sở, và đặc biệt là trong lĩnh vực giáo dục nhưgiải toán THCS, THPT, mô hình hóa giải các toán vật lý, hóa học, vv…
1.Đối tượng tính toán (Computational Object)
Định nghĩa: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[4]:
(1) Một danh sách các thuộc tính Attr(O) = {x1, x2, , xn} 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
(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ượnghay trên các sự kiện như:
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 AB 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ỏirằ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
Ví dụ: Đối tượng tính toán thuộc loại “tam giác” được biểu diễn theo mô hình trên
Trang 13Rules = {{GocA = GocB} {a = b}, {a = b} {GocA = GocB},
{a2 = b2 + c2 {GocA = Pi/2}…}
2. Các thành phần của mô hình COKB-ONT
Mô hình tri thức các đối tượng tính toán (Computational Objects Knowledge Base)
là một hệ thống gồm 6 thành phần: C, H, R, Ops, Funcs, Rules [5] Ý nghĩa các thànhphần như sau:
on the concepts)
C:Mỗi khái niệm trong C là một lớp đối tượng của C Cấu trúc của C có thể được mô
hình hóa (Attrs, F, Facts, Rules) như trên Một đối tượng cũng có những Behavior cơ bản
để giải quyết vấn đề trên tập thuộc tính của nó
H (hierarchy) đại diện cho các mối quan hệ đặc biệt trên C và H có thể được coi như
là sơ đồ Hasse cho mối quan hệ đó
Ví dụ: Hình sau mô tả mối quan hệ trên các đối tượng hình tam giác trong hình họcphẳng:
Trang 14R là một tập hợp các quan hệ khác trên C, và trong trường hợp quan hệ R là một quan
hệ nhị phân, nó có thể có các thuộc tính như đối xứng, phản xạ, vv… Trong hình họcphẳng và hình học giải tích có nhiều mối quan hệ như vậy: Mối quan hệ "thuộc về" củamột điểm và một đường thẳng Mối quan hệ "song song", “vuông góc”, “cắt nhau” giữahai đoạn thẳng, đường thẳng Mối quan hệ “bằng nhau” giữa các hình tam giác,
Opslà bộ bao gồm các thao tác, phép toán (Operators) trên C Thành phần này thể hiện
một phần của tri thức trên tập các đối tượng
Funcslà bộ bao gồm các hàm trên C-Object Tri thức về hàm cũng là một loại tri thức
phổ biến trong các lĩnh vực kiến thức trong thực tế, đặc biệt là lĩnh vực khoa học tự nhiênnhư các lĩnh vực của toán học, vật lý, hóa học…
Rules đưa ra các quy tắc suy luận Các quy tắc thể hiện trên các định lý, định luật, tiên
đề, công thức, và vv Hầu như các quy tắc suy luận có thể được viết như hình thức "nếu
<facts> thì <facts>" Trong cấu trúc của một quy tắc suy luận, <facts> là một tập hợp cácgiải thuyết với phân loại nhất định Vì vậy, chúng ta sử dụng các quy tắc suy diễn trong
mô hình COKB Các giả thuyết phải được phân loại để các quy tắc thành phần có thểđược xác định và xử lý trong các công cụ suy luận của hệ thống cơ sở tri thức hoặc các hệthống thông minh
Dựa trên mô hình COKB-ONT, cơ sở tri thức có thể được tổ chức bởi các thành phầnnhư sau:
quan hệ và các khái niệm liên quan
Trang 15Ví dụ: chúng ta có thể yêu cầu một hình tam giác để tính toán và cung cấp các thuộctính của nó.
Ví dụ: một quy tắc suy luận bao gồm một phần giả thuyết và phần kết luận Cả haiđều là danh sách các sự kiện
3. Các loại sự kiện giả thiết trong mô hình COKB-ONT
Trong mô hình COKB có 11 loại sự kiện giả thiết được chấp nhận Các loại sự kiệngiả thiếtđược đề xuất từ nghiên cứu các yêu cầu thực tế và các vấn đề trong nhiều lĩnhvực tri thức khác nhau Các loại các sự kiện như sau:
- Loại 1: Thông tin về loại đối tượng
ABCD là một hình bình hành.
Ma trận A là một ma trận vuông
- Loại 2: Định nghĩa một loại đối tượng hoặc thuộc tính của một đối tượng.
VD: Cho bài toán hình học giải tích với các giả thiết sau:
Kết luận: Tìm phương trình của (P)
Trong bài toán này có 3 sự kiện thuộc loại 2:
Trang 16M N
- Loại 3: xác định một đối tượng hoặc một thuộc tính của một đối tượng bằng một giá
trị hoặc biểu thức là một hằng số
VD: - Trong tam giác ABC, giả sử rằng chiều dài của cạnh BC = 5
- Loại 4: Đẳng thức giữa các loại đối tượng hoặc các thuộc tính của đối tượng.
VD: Cho tứ giác ABCD là hình bình hành Giả sử M và N là hai điểm thuộc AC sao cho
AM = CN Chứng minh rằng hai tam giác ABM và CDN bằng nhau
- Loại 5: sự phụ thuộc của một đối tượng vào các đối tượng khác bằng một phương
trình
VD: w = 2*u + 3*v Trong đó u và v là các vector
- Loại 6: Một quan hệ của các đối tượng hoặc thuộc tính của đối tượng.
Trong hầu hết các vấn đề đều có sự kiện loại 6 Chẳng hạn như hai đường thẳng songsong, điểm thuộc đường thẳng, đường thẳng thuộc mặt phẳng, vv…
- Loại 7: Định nghĩa một hàm
- Loại 8: Định nghĩa một hàm bằng một giá trị hoặc một biểu thức hằng số
- Loại 9: Đẳng thức giữa một đối tượng và một hàm
- Loại 10: Đẳng thức giữa hai hàm phân biệt
- Loại 11: Sự phụ thuộc của một hàm vào hàm khác hoặc các đối tượng khác bằng một
Trang 175 loại sự kiện cuối cùng có liên quan đến các function Tập Funcs được mô hình hóatrong COKB.
Các mô hình và các loại sự kiện có thể được dùng biểu diễn các tri thức trong ứngdụng thực tế Các thuật toán được thiết kế, xây dựng và được dùng trong các ứng dụngkhác nhau như hệ thống hỗ trợ học tập tri thức và phân tích giải quyết vấn đề hình họcgiải tích, chương trình học và phân tích các vấn đề trong hình học phẳng, hệ thống trithức trong đại số tuyến tính, vv…
Định nghĩa kiểu đối tượng tính toán
C-Object_type ::= COBJECT name;
Trang 18equation ::= expr = expr
Định nghĩa quan hệ đặc biệt
isa ::= ISA: name <,name>*;
hasa ::= HASA:
[fact-def]
Định nghĩa sự kiện giả thiết:
facts ::= FACT: fact-def+
fact-def ::= object-type| attribute| name|
equation|relation|expression
object-type ::= cobject-type (name)|
cobject-type (name <, name>*)relation ::= relation (name <, name>*)
Định nghĩa quan hệ cơ sở của tập sự kiện giả thiết
relation-def ::= RELATION name;