Một phương pháp biễu diễn tri thức tốt phải là một phương pháp có những quy ước, ràng buộc mà con người có thể dễ dàng đọc hiểu, dễ dàng thao tác, để mà con người dễ dàng đưa các vấn đề
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Thành phố Hồ Chí Minh
Tháng 1/2013
Trang 2LỜI MỞ ĐẦU
Trong bối cảnh xã hội thông tin hiện nay, thông tin chứa rất nhiều tri thức, chúng ta phải xử lý tốt những thông tin đó nhằm mang lại tiện ích cho cuộc sống con người Tuy nhiên muốn giải quyết được những vấn đề cấp thiết trong cuộc sống hiện nay bằng công nghệ thông tin, thì trước tiên chúng ta cần phải tìm cách đem chúng vào máy tính
Biễu diễn tri thức chính là phương pháp nhằm đem những tri thức, vấn đề trong cuộc sống vào máy tính nhằm hỗ trợ con người giải quyết nhanh chóng các vấn đề gặp phải Một phương pháp biễu diễn tri thức tốt phải là một phương pháp có những quy ước, ràng buộc mà con người có thể dễ dàng đọc hiểu, dễ dàng thao tác, để mà con người dễ dàng đưa các vấn đề của mình vào một cách nhanh chóng hơn
Trong tiểu luận này, em trình bày phương pháp dùng mạng tính toán để hỗ trợ giải quyết các bài toán sử dụng các giá trị tính toán: toán học, vật lý … Bài tiểu luận trình bày tổng quan về biễu diễn tri thức và cụ thể cho hai phương pháp dùng mạng tính toán với các giá trị đơn và mạng tính toán trên các đối tượng tính toán Em xin chân thành cảm ơn thầy Nhơn đã hướng dẫn, giúp em tiếp cận và làm quen với các phương pháp tiếp cận biễu diễn tri thức để tổng hợp thành bài báo cáo chuyên đề này Tuy nhiên, với kiến thức còn hạn chế và thời gian có hạn nên bài tiểu luận khó tránh khỏi các thiếu sót
Em mong thầy cho em các ý kiến để em có thể hoàn thiện bài báo cáo hơn đồng thời cũng có thể gầy dựn cho mình những kinh nghiệm để làm tốt hơn những chuyên đề khác
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 4
NỘI DUNG
1 Tổng quan về biễu diễn tri thức 5
2 Mạng tính toán 8
2.1 Giới thiệu: 8
2.2 Mạng tính toán với các giá trị đơn giản: 9
2.2.1 Định nghĩa: 9
2.2.2 Bài toán: 10
2.2.3 Định lý và thuật toán: 11
2.3 Mạng các đối tượng tính toán: 14
2.4 Mở rộng mạng tính toán: 19
3 Ứng dụng: 21
4 Kết luận 23
5 Tài liệu tham khảo 23
Trang 51 Tổng quan về biễu diễn tri thức
Biễu diễn tri thức (knowledge representation) là một lĩnh vực trong nghiên cứu trí tuệ nhân tạo (artificial intelligence) nhằm vào mục đích biễu diễn tri thức bằng các
ký hiệu tượng trưng để dễ dàng suy luận từ những thành phần của tri thức, và tạo ra những tri thức mới Biễu diễn tri thức có thể được tạo ra một cách độc lập dưới mô hình tri thức hay cơ sở tri thức (knowledge base system) ví dụ như mạng ngữ nghĩa
Nghiên cứu biễu diễn tri thức liên quan đến phân tích làm thế nào giải thích chính xác, hiệu quả và làm thế nào sử dụng tốt bộ các ký hiệu tượng trưng để biễu diễn tập các sự thật (fact) nội trong một lĩnh vực tri thức Một từ đại diện và một hệ thống logic kết hợp sẽ có thể tạo thành các suy luận từ các thành phần của tri thức dể tạo thành một tri thức mới
Các loại kỹ thuật biễu diễn tri thức phổ biến: khung (frame), luật (rule), the (tagging), và mạng ngữ nghĩa (semantic network) được hình thành từ nhận thức khoa học Mục tiêu căn bản của biễu diễn tri thức là tạo điều kiện cho lập luận, suy diễn, hay xây dựng kết luận Một kỹ thuật biễu diễn tri thức tốt cần phải có cả tri thức mô tả và tri thức thủ tục Để hiểu biễu diễn tri thức là gì chúng ta có thể hiểu nó thông qua năm vai trò căn bản bên dưới:
1 Biễu diễn tri thức là một đại diện
Bất kỳ thực thể thông minh nào đều muốn giải thích hợp lẽ cho những gì mà mình bắt gặp trong thế giới, sự thực là suy luận là quá trình diễn ra trong nội bộ, trong khi những hầu hết các đối tượng khác muốn biết lý do về sự tồn tại chỉ là bên ngoài Ví dụ, một chương trình (hay người) lắp ráp một chiếc xe đạp, đều phải suy luận về các vật như bánh xe, xích, bánh răng, bàn đạp … những thứ chỉ tồn tại ở thế giới bên ngoài
Khi xem xét biễu diễn tri thức như một đại diện thì tự nhiên dẫn đến hai câu hỏi:
Trang 6- Một đại diện thì nó đự định để nhận dạng hay xác định cái gì: nó đang đại diện cho cái gì? Phải có sự tương đồng cho cái nó dự định đại diện trong thế giới và vật đại diện, một đại diện phải có ý nghĩa về mặt ngữ nghĩa để cho dễ dàng biễu diễn
- Câu hỏi thứ hai là về sự đúng đắn: một đại diện có thực sự gần với đối tượng thực tế mà nó đại diện hay không? Thuộc tính nào của đối tượng thực tế mà
nó mô phỏng, làm rõ, và thuộc tính nào nó bỏ qua Nếu chúng ta đòi hỏi một đại diện mô tả chính xác đối tượng thì nhìn chung là không thể
Với hai bước nhỏ để mở rộng góc nhìn của biễu diễn tri thức như các cách đại diện:
- Đối xử như nhau vật thể không thể sờ được như các vật thể có thể chạm được tương tác được Ví dụ: bánh răng, sử dụng các hàm biễu diễn như các đại diện cho các khái niệm trừu tượng: hoạt động, xử lý, độ tin cậy, chủng loại… cho phép mô tả bên trong mỗi đối tượng
- Những đối tượng hình thức có thể tồn tại bên trong một cách chính xác Ví dụ: đối tượng/thực thể toán học, có thể mô tả chính xác đúng đắn bởi vì chúng là các đối tượng hình thức
2 Là một tập các cam kết thuộc bản thể (ontological commitments)
Tất cả các phương pháp biễu diễn chỉ mô tả tương đối với thế giới hiện thực, nó biễu diễn một số phương diện và bỏ qua một số phương diện khác Việc này giống với tạo ra các quyết định về việc chúng ta xem thế giới là cái gì hay nó như thế nào Ví dụ việc ta chụp một tấm ảnh, ta sẽ đưa ống kính vào vùng ta quan sát, chọn lựa vùng nào làm điểm lấy nét rõ, còn các vùng khác sẽ mờ đi Quả thật như vậy, chọn lựa một cách để biễu diễn là tạo ra một tập các cam kết thuộc bản thể Những lựa chọn này không phải ngẫu nhiên, mà chúng thuộc về bản chất, chúng góp phần mô tả rõ hơn đối tượng
- Cam kết bắt đầu từ các lựa chọn ban đầu
Trang 7o Các luật, khung, logic… mỗi cái là biểu hiện của một khía cạnh trên các thứ quan trọng trong thế giới Logic nhìn thế giới trong phạm vi của các cá thể và mối quan hệ giữa chúng Hệ thống dựa trên luật nhìn thế giới trong phạm vi bộ ba giá trị - thuộc tính - đối tượng và các luật của các suy luận hợp lý để kết nối chúng, trong khi khung nhìn trên phạm vi của các đối tượng nguyên mẫu ban đầu
- Các cam kết tích lũy dần trong các lớp (layers): cam kết về những khía cạnh riêng biệt của thế giới do đó nó bắt đầu là sự lựa chọn các kỹ thuật để mô tả tri thức, và tích lũy các lựa chọn được quyết định sau đó về làm sao xem xét thế giới trong các phạm vi đã xác định trước
- Biễu diễn tri thức không phải là một cấu trúc dữ liệu
3 Là một lý thuyết rời rạc của sự suy luận thông minh
Vai trò này xuất phát từ khái niệm ban đầu của biễu diễn được hỗ trợ bởi những quan niệm bên trong làm thế nào con người suy luận một cách thông minh, hay bởi sự tin tưởng về cái mà biễu diễn tri thức làm phương tiện để suy luận thông minh
4 Là phương tiện của tính toán hiệu năng cao
Từ cái nhìn một cách máy móc, sự suy diễn bên trong các máy móc (con người)
là một quá trình tính toán Biễu diễn tri thức căn bản cung cấp một tập các ý tưởng làm thế nào để tổ chức, sắp xếp thông tin theo cách nào đó để dễ dàng tạo
ra các suy diễn
Ví dụ, khái niệm frame (khung) là một dạng mô tả rập khuôn, gắn kết mỗi khung với vài loại thông tin Một số thông tin về việc gì sẽ xảy ra tiếp theo, hay một số nói về cái gì tiếp tục nếu những dự định chưa được xác nhận
5 Là phương tiện cho sự diễn đạt của con người
Trang 8Biểu diễn tri thức là phương tiện con người mô tả những điều về thế giới, phương tiện mô tả và giao tiếp mà chúng ta đưa vào máy tính Vai trò của biểu diễn không thể chối cãi trong lúc mà chúng ta còn cần mô tả thế giới vào máy tính
Mô tả thế giới vào máy tính dẫn đến hai dạng câu hỏi:
Dạng câu hỏi về sự quen thuộc: Các hàm biễu diễn về vai trò phương tiện
mô tả tốt như thế nào? Nó tổng quát ra sao? Chính xác như thế nào? Nó
có mô tả đầy đủ không?
Dạng câu hỏi khác ít phổ biến hơn: Vai trò của nó về phương tiện giao tiếp tốt ra sao? Làm thế nào dễ dàng cho chúng ta nó chuyện với nó? Khó khăn và thuận lợi gì trong ngôn ngữ giao tiếp với nó?
Sự biễu diễn là ngôn ngữ mà chúng ta giao tiếp, do đó chúng ta có thể nói bình thường mà không cần phải cường điệu nó lên
2 Mạng tính toán
2.1 Giới thiệu:
Trong lĩnh vực khoa học trí tuệ nhân tạo, mô hình và phương pháp đóng một vai trò quan trọng trong hệ cơ sở tri thức và hệ chuyên gia Ngày nay, có nhiều mô hình biễu diễn tri thức được đề nghị và ứng dụng vào thực tế như: logic vị từ, khung, mạng ngữ nghĩa, luật suy diễn Giữa các phương pháp như mạng neural logic mờ có thể sử dụng cho tính toán thông minh Một số phương pháp khác lại phù hợp cho sử lý ngữ nghĩa và biễu diễn như là đồ thị khái niệm
Các phương pháp nêu trên rất cho việc thiết kế một hệ thống thông minh, và giải quyết các bài toán phức tạp Tuy nhiên, nó lại không phù hợp để biễu diễn tri thức trong các trường hợp ứng dụng cụ thể trong thực tế, đặc biệt hệ thống có thể giải quyết các bài toán trong thực tiễn dựa trên hệ cơ sở tri thức Kỹ thuật ontology mà được gọi là COKB-ONT được giới thiệu công cụ tốt và hữu dụng để phát triển hệ cơ sở tri thức
Trang 9trong thực tiễn Kỹ thuật ontology được dùng để xây dựng một số hệ thống thông minh trong dạy học Tuy vậy kỹ thuật COKB-ONT không đủ mạnh để biễu diễn tri thức trong nhiều ứng dụng thực tế Do đó chúng ta cần một mô hình khác để biễu diễn các bài toán dùng tri thức Trong các phần tiếp theo của tiểu luận này sẽ trình bày kỹ thuật biểu diễn tri thức dùng mạng tính toán Nó được dùng để thiết kế một số cơ sở tri thức trong dạy học như hỗ trợ dạy học, giải quyết phân tích các bài toán địa lý … Các ứng dụng này thường được xây dựng trên ngôn ngữ C++, JAVA, MAPLE
2.2 Mạng tính toán với các giá trị đơn giản:
2.2.1 Định nghĩa:
Định nghĩa 1: Mạng tính toán với các giá trị đơn là một cặp (M, F), trong đó
- M = {x1, x2 … xn}: tập các biến giá trị đơn (dữ liệu không có cấu trúc)
- F = {f1, f2 … fn}: tập các quan hệ tính toán trên các biến của tập M Mỗi quan hệ tính toán f F có dạng như sau:
i Một phương trình trên các biến của M
ii Luật suy diễn f: u(f) v(f), u(f) M, v(f) M, và có công thức tương ứng để tính toán v(f) từ u(f) Có thể định nghĩa tập M(f) = u(f) v(f)
* Trong một số ứng dụng phương trình được nói đến ở trên cũng có thể là các luật suy diễn
Ví dụ 1: Tri thức tính toán trên các thành phần của tam giác ABC biễu diễn thông qua mạng tính toán (M, F) với M = {A, B, C, a, b, c, R, S, p …} (tập các thuộc tính của tam giác ABC)
- A, B, C: là 3 đỉnh của tam giác
- a, b, c: là 3 cạnh của tam giác tương ứng đối diện 3 đỉnh A, B, C
- R, S, p: lần lượt là bán kính đường tròn ngoại tiếp, diện tích, chu vi tam giác
Trang 102.2.2 Bài toán:
Cho mạng tính toán (M, F) Bài toán đặt ra từ các ứng dụng thực tế tìm cách giải quyết để xác định G M từ tập H M Bài toán được ký hiệu là H G H là giả thiết, còn G là kết luận của bài toán Muốn giải quyết bài toán, ta phải trả lời hai câu hỏi:
1 Bài toán có thể giải quyết được với hệ cơ sở tri thức K = (M, F)?
2 Làm thế nào để đạt được G từ giả thuyết H từ tri thức K = (M, F) trong trường hợp vấn đề có thể giải được?
Ví dụ 3: từ tri thức K= (M, F) ở ví dụ trên, giả sử ta có tập giả thiết H = {a=3, b=4, C= /2}
Định nghĩa 2: cho mạng tính toán K = (M, F)
1 Với mỗi A M và f F, gọi f(A) = A M(f) là tập suy ra từ A dựa vào
f Gọi S = [f1, f2 … fn] là danh sách các quan hệ trong F, ký hiệu S(A)=
fk(fk-1( … f2(f1(A)) …)) để mô tả tập các biến suy ra từ A dựa vào các quan hệ trong S
2 Danh sách S = [f1, f2 … fn] được gọi là lời giải cho bài toán H G nếu S(H) G Lời giải S gọi là một lời giải tốt nếu không có một lời danh
Trang 11sách con S’ của S có thể giải bài toán Bài toán có thể giải được nếu có một lời giải để giải nó
Định nghĩa 3: cho mạng tính toán K = (M, F) Gọi A là tập con của M, dễ dàng kiểm tra rằng có tập duy nhất ̅ mà bài toán ̅ có thể giải được; ̅ được gọi là bao đóng của tập A
2.2.3 Định lý và thuật toán:
Định lý 1: cho mạng tính toán K = (M, F) Những câu sau là tương đương:
Bài toán H G là có thể giải được
Tồn tại một danh sách các quan hệ S mà
Trang 12Thuật toán 1: tìm lời giải cho bài toán H G
Until Solution_found or (H = Hold);
Bước 4: if not Solution_found then
Bài toán không có lời giải;
else
Bài toán có lời giải;
Trang 13Thuật toán 2: tìm một lời giải tối ưu từ lời giải S = [f1, f2 … fn] của bài toán H
G trên mạng tính toán (M, F)
Định lý 2: cho mạng tính toán K = (M, F) Gọi [f1, f2 … fn] là lời giải tối ưu của bài toán H G mô tả A0 = H, Ai = [f1, f2 … fi](H), với i = 1, 2 …m Thì tồn tại một danh sách [B0, B1, …Bm-1, Bm] thõa mãn điều kiện sau đây:
- Bước 1: tính A thông qua f1
- Bước 2: tính b thông qua f2
End }
Bước 3: NewS là một lời giải tối ưu
Trang 14- Bước 3: Tính S thông qua f9
2.3 Mạng các đối tượng tính toán:
Trong nhiều bài toán ta gặp nhiều loại đối tượng khác nhau, mỗi đối tượng có những đặc tính đặc trưng và có mối quan hệ riêng bên trong của nó Do đó, chúng ta cần xem xét để mở rộng mạng tính toán trong trường hợp các biến là các đối tượng tính toán chứ không đơn thuần là các giá trị giản đơn
Định nghĩa 1: Một đối tượng tính toán có những đặc trưng sau đây:
- Nó có giá trị các thuộc tính, tập hợp bao gồm tất cả thuộc tính của đối tượng O được ký hiệu là M (O)
- Có những quan hệ tính toán nội tại của mỗi đối tượng tính toán O Chúng được mô tả trong những đặc điểm sau đây của đối tượng:
o Cho tập con A của M (O) Đối tượng O có thể cho chúng ta thấy các thuộc tính mà nó có thể xác định từ A
o Đối tượng O sẽ cung cấp giá trị của một thuộc tính
o Nó có thể chỉ ra quá trình nội tại của việc xác định các thuộc tính
Ví dụ 1: một tam giác với các tri thức (công thức, định lý …) là một đối tượng Thuộc tính của một tam giác là 3 cạnh, 3 góc … Một đối tượng tam giác cũng có thể trả lời một số câu hỏi “có thể có lời giải cho bài toán tính diện tích từ một cạnh và hai góc
đã cho trước?”
Định nghĩa 2: một quan hệ tính toán f giữa các thuộc tính của một số đối tượng nào đó thì được gọi là quan hệ giữa các đối tượng Một mạng các đối tượng tính toán bao gồm 1 tập các đối tượng tính toán O = {O1, O2 … On} và một tập các quan hệ tính toán F = {f1, f2 … fn} Ký hiệu mạng tính toán này là (O, F) Với:
M (fi): tập thuộc tính của các đối tượng tính toán trong quan hệ fi
Trang 15Dựa vào ký hiệu trên thì Mi là tập các thuộc tính xem xét của đối tượng Oi
Trên mạng tính toán (O, F), chúng ta xét bài toán xác định các thuộc tính trong tập G từ các thuộc tính trong tập H Ký hiệu bài toán H G
Ví dụ 2: cho hình sau
Giả sử: AB = AC, góc A và cạnh BC cho trước, ABDE và ACFG là hình vuông Tính độ dài cạnh EG
Bài toán có thể được xem xét trong mạng đối tượng tính toán (O, F) như sau:
- O = {O1: tam giác ABC với AB = AC, O2: tam giác AEG, O3: hình vuông ABDE, O4: hình vuông ACFG}, và F = {f1, f2, f3, f4, f5}
o f1: O1.c=O3.a (cạnh c của ABC = cạnh của hình vuông ABDE)
o f2: O1.b = O4.a (cạnh b của ABC = cạnh của hình vuông ACFG)
o f3:O2.b = O4.a (cạnh b của AEG = cạnh của hình vuông ACFG)