Tải bản đầy đủ (.pdf) (23 trang)

Tiểu luận MÔN BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG TÌM HIỂU MẠNG TÍNH TOÁN

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 (906.35 KB, 23 trang )


ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN



BÁO CÁO CHUYÊN ĐỀ MÔN HỌC
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG
ĐỀ TÀI:
TÌM HIỂU MẠNG TÍNH TOÁN


GVHD : TS. Đỗ Văn Nhơn

Học viên : Ngô Thanh Tuấn (CH1101054)
Email:





Thành phố Hồ Chí Minh
Tháng 1/2013
Trang 2

Biễu Diễn Tri Thức và Ứng Dụng
LỜ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 3

Biễu Diễn Tri Thức và Ứng Dụng
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN






















Trang 4

Biễu Diễn Tri Thức và Ứng Dụng
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 5


Biễu Diễn Tri Thức và Ứng Dụng
1 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

Biễu Diễn Tri Thức và Ứng Dụng

- 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 7

Biễu Diễn Tri Thức và Ứng Dụng

o 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 8

Biễu Diễn Tri Thức và Ứng Dụng
Biể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 9

Biễu Diễn Tri Thức và Ứng Dụng
trong 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 = {x
1
, x
2
… x
n
}: tập các biến giá trị đơn (dữ liệu không có cấu trúc)
- F = {f
1
, f
2
… f
n
}: 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 10

Biễu Diễn Tri Thức và Ứng Dụng
Và F = {f1: A + B + C = π, f2:





,





,





,
f5: p=(a+b+c)/2, f6: S = a.h
a
/2, f7: S = b.h
b
/2, f8: S = c.h

c
/2, f9: S= a.b.sin(C)/2, … }.
Ví dụ 2: Mạng tính toán cho một hình chữ nhật.
- a, b: là 2 cạnh của hình chữ nhật
- d: là đường chéo hình chữ nhật
- S: là diện tích
- p: là chu vi hình chữ nhật
M= {a, b
,
d, S, p}; F = {f1: S=a*b, f2:2*(a+b), f3: d
2
=a
2
+b
2
}
2.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 = [f
1
, f

2
… f
n
] là danh sách các quan hệ trong F, ký hiệu S(A)=
f
k
(f
k-1
( … f
2
(f
1
(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 = [f
1
, f
2
… f
n
] đượ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 11

Biễu Diễn Tri Thức và Ứng Dụng
sá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 12

Biễu Diễn Tri Thức và Ứng Dụng
Thuật toán 1: tìm lời giải cho bài toán H G.
Bước 1: Solution  empty; // Solution là dãy các quan hệ sẽ áp dụng
Bước 2: if G  H then
begin
Solution_found  true; // Biến Solution_found = true khi bài toán giải được
goto bước 4;
end
else

Solution_found  false;
Bước 3. Repeat
Hold  H;
Chọn ra một f  F chưa duyệt;
while not Solution_found and (chọn được f) do
begin
if ( ứng với f trong H tạo ra được các lập luận mới) then
begin
H  H  M(f);
Solution  Solution  f;
end;
if G  H then
Solution_found  true;
Chọn một f  F chưa xem xét;
end;  while 
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 13

Biễu Diễn Tri Thức và Ứng Dụng
Thuật toán 2: tìm một lời giải tối ưu từ lời giải S = [f
1
, f
2
… f
n

] 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 [f
1
, f
2
… f
n
] là lời giải tối ưu
của bài toán H  G mô tả A
0
= H, A
i
= [f
1
, f
2
… f
i
](H), với i = 1, 2 …m. Thì
tồn tại một danh sách [B
0
, B
1
, …B
m-1
, B
m
] thõa mãn điều kiện sau đây:
1. B

m
= G
2. B
i
 A
i
, i=[0, 1 … m]
3. Cho i=1, … m, [f
i
] là một lời giải của bài toán B
i-1
 B
i
nhưng không
phải là là lời giải của bài B  B
i

Ví dụ 4: Mạng tính toán (M, F) biễu diễn tri thức của tam giác trong ví dụ 1, tìm
lời giải cho bài toán {a, B, C}  {S}. Thuật toán 1 sẽ giải cho chúng ta lời giải S= [f
1
,
f
2
, f
3
, f
5
, f
9
], và lời giải này không phải là lời giải tối ưu bởi vì có f

i
dư thừa như là f
5
chẳng hạn. Từ thuật toán 2 cho ra một lời giải NewS= [f
1
, f
2
, f
9
], với quá trình giải như
sau:
- Bước 1: tính A thông qua f
1

- Bước 2: tính b thông qua f
2

Bước 1: NewS  [];
V  G;
Bước 2: for ( i = k; i <=1; i )
{
if v(f
k
)  V ≠  then
Begin
Insert f
k
u ca NewS;
V  (V  v(f
k

))  (u(f
k
)-H);
End
}
Bước 3: NewS là một lời giải tối ưu.
Trang 14

Biễu Diễn Tri Thức và Ứng Dụng
- Bước 3: Tính S thông qua f
9


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 = {O
1
, O
2
… O
n
} và một tập các quan hệ tính
toán F = {f
1
, f
2
… f
n
}. Ký hiệu mạng tính toán này là (O, F). Với:
 M (f
i
): tập thuộc tính của các đối tượng tính toán trong quan hệ f
i
.
Trang 15

Biễu Diễn Tri Thức và Ứng Dụng
 



 










 



 









 M: tập các thuộc tính của các đối tượng tính toán được xem xét trong bài
toán nào đó.
 M
i
= M  M(O
i
), i = [1, 2 … m]

Dựa vào ký hiệu trên thì M
i
là tập các thuộc tính xem xét của đối tượng O
i
.
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 = {O
1
: tam giác ABC với AB = AC, O
2
: tam giác AEG, O
3
: hình
vuông ABDE, O
4
: hình vuông ACFG}, và F = {f
1
, f
2
, f
3
, f
4
, f
5

}
o f1: O
1
.c=O
3
.a (cạnh c của ABC = cạnh của hình vuông ABDE)
o f2: O
1
.b = O
4
.a (cạnh b của ABC = cạnh của hình vuông ACFG)
o f3: O
2
.b = O
4
.a (cạnh b của AEG = cạnh của hình vuông ACFG)

×