MÔN BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG Giải bài toán tam giác bằng Mạng ngữ nghĩa - Pdf 26

Giải bài toán tam giác bằng Mạng ngữ nghĩa
MỤC LỤC
LỜI NÓI ĐẦU 2
CHƯƠNG I 3
TỔNG QUAN VỀ TRI THỨC VÀ BIỂU DIỄN TRI THỨC 3
1. Tri thức 3
2. Biểu diễn tri thức 3
3. Các loại tri thức 3
4. Các kỹ thuật biểu diễn tri thức 4
4.1. Bộ ba Đối tượng -Thuộc tính - Giá trị 4
4.2. Các luật dẫn 5
4.3. Mạng ngữ nghĩa 8
4.4. Frame 10
4.5. Logic 11
CHƯƠNG II 14
GIẢI BÀI TOÁN TAM GIÁC SỬ DỤNG MẠNG NGỮ NGHĨA 14
1.Sơ lược về bài toán tam giác bằng mạng ngữ nghĩa 15
2. Cơ chế thực hiện và giải thuật 15
3. Xây dựng chương trình giải bài toán tam giác bằng mạng ngữ nghĩa theo ví dụ trên 16
4. Giao diện chương trình 21
5. Cách sử dụng chương trình demo 22
CHƯƠNG III 22
KẾT LUẬN 22
TÀI LIỆU THAM KHẢO 23
1
Giải bài toán tam giác bằng Mạng ngữ nghĩa
LỜI NÓI ĐẦU
Biểu diễn tri thức đóng vai trò hết sức quan trọng trong việc khảng định
khả năng giải quyết vấn đề của một hệ cơ sở tri thức. Dựa vào cách thức con
người giải quyết vấn đề, các nhà nghiên cứu đã xây dựng các kỹ thuật biểu diễn
các dạng tri thức khác nhau trên máy tính.

hình thức, biểu diễn tri thức thủ tục, biễu diễn dạng mạng, và biểu diễn cấu trúc.
Mỗi phương pháp này chỉ biểu diễn được một khía cạnh nào đó của tri thức
trong khi tri thức cần được biểu diễn da dạng trong các hệ ứng dụng.
Các phương pháp biểu diễn tri thức nêu trên đều có ưu điểm nhất định
trong biểu diễn từng dạng tri thức. Nhưng tất cả các phương pháp này đều có
một nhược điểm chung là chỉ biểu diễn một khía cạnh tri thức rất đa dạng và
chưa hướng tới biểu diễn một tri thức bao hàm nhiều dạng thông tin, nhiều dạng
sự kiện khác nhau. Các hệ giải toán như: các chương trình tính toán hình học
trong bộ phần mềm Engineering 2000, chương trình StudyWorks, chương trình
Math Express chúng đều có một hạn chế lớn nhất là không cho ta những mô
hình biểu diễn tri thức tốt giúp xây dựng một cơ sở tri thức, bộ suy diễn và các
thành phần khác của hệ thống. Từ đó ông nêu ra các mô hình biểu diễn tri thức
như: mô hình một đối tượng tính toán (C-Object), mô hình tri thức về các C-
Object, và mô hình mạng các C-Object và các ứng dụng của chúng vào các bài
toán giải toán một C-Object, các bài toán hình học phẳng, giải các bài toán hình
học giải tích ba chiều, và giải một số các bài toán về phản ứng hóa học.
3. Các loại tri thức
Dựa vào cách thức con người giải quyết vấn đề, các nhà nghiên cứu đã
xây dựng các kỹ thuật để biểu diễn các dạng tri thức khác nhau trên máy tính.
3
Giải bài toán tam giác bằng Mạng ngữ nghĩa
Mặc dù vậy, không một kỹ thuật riêng lẻ nào có thể giải thích đầy đủ cơ chế tổ
chức tri thức trong các chương trình máy tính. Để giải quyết vấn đề, chúng ta chỉ
chọn dạng biễu diễn nào thích hợp nhất. Sau đây là các dạng biểu diễn tri thức
thường gặp.
- Tri thức thủ tục mô tả cách thức giải quyết một vấn đề. Loại tri thức
này đưa ra giải pháp để thực hiện một công việc nào đó. Các dạng tri thức thủ
tục tiêu biểu thường là các luật, chiến lược, lịch trình, và thủ tục.
- Tri thức khai báo cho biết một vấn đề được thấy như thế nào. Loại tri
thức này bao gồm các phát biểu đơn giản, dưới dạng các khẳng định logic đúng

định của một vài đối tượng. Ví dụ, mệnh đề "quả bóng màu đỏ" xác nhận "đỏ" là
giá trị thuộc tính "màu" của đối tượng "quả bóng". Kiểu sự kiện này được gọi là
bộ ba Đối tượng-Thuộc tính-Giá trị (O-A-V – Object-Attribute-Value).
Hình 1. Biểu diễn tri thức theo bộ ba O-A-V
Một O-A-V là một loại mệnh đề phức tạp. Nó chia một phát biểu cho
trước thành ba phần riêng biệt: đối tượng, thuộc tính, giá trị thuộc tính. Hình 0.1
minh họa cấu trúc bộ ba O-A-V.
Trong các sự kiện O-A-V, một đối tượng có thể có nhiều thuộc tính với
các kiểu giá trị khác nhau. Hơn nữa một thuộc tính cũng có thể có một hay nhiều
giá trị. Chúng được gọi là các sự kiện đơn trị (single-valued) hoặc đa trị (multi-
valued). Điều này cho phép các hệ tri thức linh động trong việc biểu diễn các tri
thức cần thiết.
Các sự kiện không phải lúc nào cũng bảo đảm là đúng hay sai với độ chắc
chắn hoàn toàn. Ví thế, khi xem xét các sự kiện, người ta còn sử dụng thêm một
khái niệm là độ tin cậy. Phương pháp truyền thống để quản lý thông tin không
chắc chắn là sử dụng nhân tố chắc chắn CF (certainly factor). Khái niệm này bắt
đầu từ hệ thống MYCIN (khoảng năm 1975), dùng để trả lời cho các thông tin
suy luận. Khi đó, trong sự kiện O-A-V sẽ có thêm một giá trị xác định độ tin cậy
của nó là CF.
Ngoài ra, khi các sự kiện mang tính "nhập nhằng", việc biểu diễn tri thức
cần dựa vào một kỹ thuật, gọi là logic mờ (do Zadeh đưa ra năm 1965). Các
thuật ngữ nhập nhằng được thể hiện, lượng hoá trong tập mờ.
4.2. Các luật dẫn
Luật là cấu trúc tri thức dùng để liên kết thông tin đã biết với các thông tin
khác giúp đưa ra các suy luận, kết luận từ những thông tin đã biết.
5
Giải bài toán tam giác bằng Mạng ngữ nghĩa
Trong hệ thống dựa trên các luật, người ta thu thập các tri thức lĩnh vực
trong một tập và lưu chúng trong cơ sở tri thức của hệ thống. Hệ thống dùng các
luật này cùng với các thông tin trong bộ nhớ để giải bài toán. Việc xử lý các luật

Giải bài toán tam giác bằng Mạng ngữ nghĩa
AND hay ho
AND Họng đỏ
THEN Viêm họng
Thiết kế
IF Cao 1m75
AND Da sẫm
THEN Chọn áo vải sáng
AND Chọn tấm vải khổ 1m40
. Mở rộng cho các luật
Trong một số áp dụng cần thực hiện cùng một phép toán trên một tập hay
các đối tượng giống nhau. Lúc đó cần các luật có biến.
Ví dụ:
IF X là nhân viên
AND Tuổi của X > 65
THEN X xó thể nghỉ hưu
Khi mệnh đề phát biểu về sự kiện, hay bản thân sự kiện có thể không chắc
chắn, người ta dùng hệ số chắc chắn CF. Luật thiết lập quan hệ không chính xác
giữa các sự kiện giả thiết và kết luận được gọi là luật không chắc chắn.
Ví dụ:
IF Lạm phát CAO
THEN Hầu như chắc chắn lãi suất sẽ CAO
Luật này được viết lại với giá trị CF có thể như sau:
IF Lạm phát cao
THEN Lãi suất cao, CF = 0.8
7
Giải bài toán tam giác bằng Mạng ngữ nghĩa
Dạng luật tiếp theo là siêu luật - một luật với chức năng mô tả cách thức
dùng các luật khác. Siêu luật sẽ đưa ra chiến lược sử dụng các luật theo lĩnh vực
chuyên dụng, thay vì đưa ra thông tin mới.

ra đối tượng tổng quát như "Con vật". Lúc này, không những có thể biết được
rằng "Chim là Con vật", mà còn biết "Chip thở bằng không khí".
Hình 4. Phát triển mạng ngữ nghĩa
Tính chất quan trọng của mạng ngữ nghĩa là tính kế thừa. Nó cho phép
các nút được bổ sung sẽ nhận các thông tin của các nút đã có trước, và cho phép
mã hóa tri thức một cách dễ dàng.
9
Giải bài toán tam giác bằng Mạng ngữ nghĩa
Để minh họa cho tính kế thừa của mạng ngữ nghĩa, hãy xét một câu hỏi
trên đồ thị. Chẳng hạn tại nút "Chim", người ta muốn hỏi con "Chip" hoạt động
như thế nào? Thông qua cung hoạt động người ta biết được nó bay.
Hình 5. Các bước thực hiện phép toán trên mạng ngữ nghĩa
4.4. Frame
Một trong các kỹ thuật biểu diễn tri thức là dùng frame, phát triển từ khái
niệm lược đồ. Một lược đồ được coi là khối tri thức điển hình về khái niệm hay
đối tượng nào đó, và gồm cả tri thức thủ tục lẫn tri thức mô tả.
Theo định nghĩa của Minsky (1975), thì frame là cấu trúc dữ liệu để thể
hiện tri thức đa dạng về khái niệm hay đối tượng nào đó.
Hình 6. Cấu trúc frame
Một frame có hình thức như bảng mẫu, như tờ khai cho phép người ta
điền các ô trống. Cấu trúc cơ bản của frame có tên đối tượng được thể hiện trong
frame, có các trường thuộc tính của đối tượng. Mỗi thuộc tính có một ngăn để
nhập dữ liệu riêng. Các thuộc tính và giá trị thuộc tính tạo nên danh sách các
mệnh đề O-A-V, cho phép thể hiện đầy đủ về đối tượng.
10
Giải bài toán tam giác bằng Mạng ngữ nghĩa
Một frame lớp thể hiện các tính chất tổng quát của tập các đối tượng
chung. Chẳng hạn người ta cần mô tả các tính chất tổng quát như bay, có cánh,
sống tự do,… của cả loài chim.
Để mô tả một biểu diễn của frame lớp, ta dùng một dạng frame khác, gọi

đề. Logic mệnh đề gán một biến ký hiệu vào một mệnh đề, ví dụ A = "Xe sẽ
khởi động".
Khi cần kiểm tra trị chân trị của câu trên trong bài toán sử dụng logic
mệnh đề, người ta kiểm tra giá trị của A. Nhiều bài toán sử dụng logic mệnh đề
để thể hiện tri thức và giải vấn đề. Bài toán loại này được đưa về bài toán xử lý
các luật, mỗi phần giả thiết và kết luận của luất có thể có nhiều mệnh đề.
Ví dụ:
IF Xe không khởi động được ; ; A
AND Khoảng cách từ nhà đến chỗ làm là xa  B
THEN Sẽ trễ giờ làm ; ; ; ; → C
Luật trên có thể biểu diễn lại như sau: A ∧ B → C.
Các phép toán quen thuộc trên các mệnh đề được cho trong bảng 2.
A B
¬ A A ∧
B
A ∨
B
A→B A≡ B
T T F T T T T
F T T F T T F
T F F F T F F
F F T F F T T
Bảng 2. Bảng chân trị, với các giá trị Đúng (T), Sai (F)
12
Giải bài toán tam giác bằng Mạng ngữ nghĩa
4.5.2. Logic vị từ
Logic vị từ là sự mở rộng của logic mệnh đề nhằm cung cấp một cách
biểu diễn rõ hơn về tri thức. Logic vị từ dùng ký hiệu để biểu diễn tri thức.
Logic vị từ, cũng giống như logic mệnh đề, dùng các ký hiệu để thể hiện
tri thức. Những ký hiệu này gồm hằng số, vị từ, biến và hàm.

Giải bài toán tam giác bằng Mạng ngữ nghĩa
Ví dụ:
thích(X,Y) AND thích(Z,Y) -> ¬ thích(X,Z).
Việc lập luận theo cách không hình thức đòi hỏi một khả năng rút ra được
kết luận từ các sự kiện đã có. Việc lấy ra thông tin mới từ các thông tin đã biết
và các luật là trọng tâm của lập luận trong các hệ chuyên gia. Quá trình lập luận
được hình thức hoá trong bài toán suy luận.
CHƯƠNG II
GIẢI BÀI TOÁN TAM GIÁC SỬ DỤNG MẠNG NGỮ NGHĨA
14
Giải bài toán tam giác bằng Mạng ngữ nghĩa
1.Sơ lược về bài toán tam giác bằng mạng ngữ nghĩa.
Có 22 yếu tố liên quan đến cạnh và góc của tam giác. Để xác định một
tam giác thì ta phải có 3 yếu tố. Trong đó phải có yếu tố cạnh. Như vậy có
khoảng (khoảng vài ngàn) cách để xây dựng hay xác định một tam
giác. Theo thống kê thì có khoảng trên 200 công thức liên quan đến cạnh và
góc của tam giác.
Để giải bài toán này bằng mạng ngữ nghĩa, ta phải sử dụng khoảng 200
đỉnh để chứa công thức và khoảng 22 đỉnh để chứa các yếu tố của tam giác.
Mạng ngữ nghĩa cho bài toán này có cấu trúc như sau:
- Đỉnh của đồ thị bao gồm 2 loại:
+ Đỉnh chứ công thức (ký hiệu bằng hình chữ nhật):
+ Đỉnh chứa các yếu tố tam giác (ký hiệu bằng hình tròn):
Cung: chỉ nối từ đỉnh hình tròn đến đỉnh hình chữ nhật cho biết yếu tố tam
giác xuất hiện trong công thức nào(không có trường hợp cung nối giữa hai đỉnh
hình tròn hay nối giữa 2 đỉnh hình chữ nhật).
*Lưu ý: trong một công thức liên hệ giữa n yếu tố của tam giác, ta
giả định rằng nếu đã biết giá trị của n-1 yếu tố thì sẽ tính được giá trị của yếu tố
còn lại. Chẳng hạn như trong công thức tổng 3 góc của tam giác bằng 180
0

thức (5) tính được hC. Đỉnh hC được kích hoạt.
Giá trị hC đã được tính.
Thuật toán kết thúc.
3. Xây dựng chương trình giải bài toán tam giác bằng mạng ngữ
nghĩa theo ví dụ trên.
16
Giải bài toán tam giác bằng Mạng ngữ nghĩa
Về mặt chương trình, ta có thể cài đặt mạng ngữ nghĩa giải bài toán tam
giác bằng một mảng hai chiều A trong đó:
Cột:: ứng với công thức. Mỗi cột ứng với một công thức tam giác khác
nhau (đỉnh hình chữ nhật).
Dòng: ứng với yếu tố tam giác. Mỗi dòng ứng với một yếu tố tam giác
khác nhau (đỉnh hình tròn).
Phần tử A[i, j] = -1 nghĩa là trong công thức ứng với cột j có yếu tố
tam giác ứng với cột i. Ngược lại A[i,j] = 0.
// Khai báo biến.
private float[,] a = new float[8, 5];
// Khởi tạo các yếu tố trong tam giác theo ma trận lúc đầu.
private void init()
{
float temp = -1; // Bien tam
for (int i = 0; i < 8; i++ )
{
for (int j = 0; j < 5; j++ )
{
a[i, j] = 0;
}
}
a[0, 0] = a[1, 0] = a[3, 0] = a[4, 0] = temp;
a[1, 1] = a[2, 1] = a[4, 1] = a[5, 1] = temp;


(1) (2) (3) (4) (5)
18
Giải bài toán tam giác bằng Mạng ngữ nghĩa
α
1 0 0 1 0
β
1 1 0 1 0
δ
0 -1 0 -1 0
a 1 0 1 1 0
b -1 -1 -1 0 0
c 0 -1 -1 0 -1
S 0 0 -1 0 -1
hC 0 0 0 0 -1
Trên cột (1), hiệu (1+1+1 - (-1)) = 4 nên dòng b sẽ được kích hoạt.

(1) (2) (3) (4) (5)
α
1 0 0 1 0
β
1 1 0 1 0
δ
0 -1 0 -1 0
a 1 0 1 1 0
b 1 1 1 0 0
c 0 -1 -1 0 -1
S 0 0 -1 0 -1
hC 0 0 0 0 -1
Trên cột (4), hiệu (1+1+1 - (-1)) = 4 nên dòng δ sẽ được kích hoạt.


(1) (2) (3) (4) (5)
20
Giải bài toán tam giác bằng Mạng ngữ nghĩa
α
1 0 0 1 0
β
1 1 0 1 0
δ
0 1 0 1 0
a 1 0 1 1 0
b 1 1 1 0 0
c 0 1 1 0 1
S 0 0 1 0 1
hC 0 0 0 0 -1
Trên cột (5), hiệu (1+1 + (1)) = 3 nên dòng hC được kích hoạt.
Các hàm xử lý các ma trận ngữ nghĩa:
// Lấy vị trí yếu tố chưa biết.
private int GetElementNotKnow(int k)
// Kích hoạt yếu tố chưa biết.
private void activationElementKnow()
// Kích hoạt theo cơ chế lan truyền.
private void spreadingActivation(int j, int ElementNotKnow)
// Xử lý
private void Solution()
4. Giao diện chương trình
21
Giải bài toán tam giác bằng Mạng ngữ nghĩa
Chương trình được xây dựng trên môi trường visual studio 2010, ngôn
ngữ C#

[3] Side Bài giàng môn Biểu diễn tri thức và ứng dụng, PGS.TS Đỗ Văn
Nhơn
[4] Hoàng Kiếm, Giáo trình Các hệ Cơ sở Tri thức, NXB ĐHQG, 2006.
[5] Stuart Russell & Peter Norvig, Artificial Intelligence – A modern
approach (second edition), Prentice Hall, 2003.
[6] John F. Sowa. Knowledge Representation: Logical, Philosophical and
Computational Foundations, Brooks/Cole, 2000.
[7] L. Stojanovic, J. Schneider, A. Maedche, S. Libischer, R. Suder, T.
Lumpp, A. Abecker, G. Breiter, J. Dinger, The Role of Ontologies in Autonomic
Computing Systems, IBM Systems Journal, Vol 43, No 3, 2004.
[8] Lê Tấn Hùng, T.M. Phương, H.Q. Thắng, Tác tử - Công nghệ phần
mềm hướng tác tử, NXB Khoa học và Kỹ thuật, 2006.
[9] Michel Chein & Marie-Laure Mugnier, Graph-Based Knowledge
Representation - Computational Foundations of Conceptual Graphs, Springer-
Verlag London Limited 2009.

24
Giải bài toán tam giác bằng Mạng ngữ nghĩa
25


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status