Tóm t t
Bi u di n tri th c s d ng m ng ng nghĩa
Tác gi
Ths. Đinh Nguy n Anh Dũng
GS.TSKH. Hoàng Ki mế
BI U DI N TRI TH C S D NG M NG
NG NGHĨA
Khái ni m
M ng ng nghĩa là m t ph ng pháp bi u di n tri th c đ u tiên và cũng là ph ng pháp d ươ ươ
hi u nh t đ i v i chúng ta. Ph ng pháp này s bi u di n tri th c d i d ng m t đ th , ươ ư
trong đó đ nh là các đ i t ng (khái ni m) còn các cung cho bi t m i quan h gi a các đ i ượ ế
t ng (khái ni m) này. ượ
Ch ng h n : gi a các khái ni m chích chòe, chim, hót, cánh, t có m t s m i quan h nh ư
sau :
Chích chòe là m t loài chim.
Chim bi t hótế
Chim có cánh
Chim s ng trong t
Các m i quan h này s đ c bi u di n tr c quan b ng m t đ th nh sau : ượ ư
Do m ng ng nghĩa là m t lo i đ th cho nên nó th a h ng đ c t t c nh ng m t m nh ưở ượ
c a công c này. Nghĩa là ta có th dùng nh ng thu t toán c a đ th trên m ng ng nghĩa
nh thu t toán tìm liên thông, tìm đ ng đi ng n nh t,… đ th c hi n các c ch suy lu n.ư ườ ơ ế
Đi m đ c bi t c a m ng ng nghĩa so v i đ th thông th ng chính là vi c gán m t ý nghĩa ườ
(có, làm, là, bi t, ...ế) cho các cung. Trong đ th tiêu chu n, vi c có m t cung n i gi a hai đ nh
ch cho bi t có s ế liên h gi a hai đ nh đó và t t c các cung trong đ th đ u bi u di n cho
cùng m t lo i liên h . Trong m ng ng nghĩa, cung n i gi a hai đ nh còn cho bi t gi a hai ế
khái ni m t ng ng có s liên h ươ nh th nàoư ế . Vi c gán ng nghĩa vào các cung c a đ th
đã giúp gi m b t đ c s l ng đ th c n ph i dùng đ bi u di n các m i liên h gi a các ượ ượ
khái ni m. Ch ng h n nh trong ví d trên, n u s d ng đ th thông th ng, ta ph i dùng ư ế ườ
đ n 4 lo i đ th cho 4 m i liên h : m t đ th đ bi u di n m i liên h "ế là", m t đ th cho
m i liên h " làm", m t cho "bi t" ếvà m t cho "có".
M t đi m khá thú v c a m ng ng nghĩa là tính k th a. B i vì ngay t trong khái ni m, ế
m ng ng nghĩa đã hàm ý s phân c p (nh các m i liên h ư "là") nên có nhi u đ nh trong
m ng m c nhiên s có nh ng thu c tính c a nh ng đ nh khác. Ch ng h n theo m ng ng
nghĩa trên, ta có th d dàng tr l i "có" cho câu h i : "Chích chòe có làm t không?". Ta có
th kh ng đ nh đ c đi u này vì đ nh "chích chòe" có liên k t "là" v i đ nh "chim" và đ nh ượ ế
"chim" l i liên k t "bi t" v i đ nh "làm t " nên suy ra đ nh "chích chòe" cũng có liên k t lo i ế ế ế
"bi t" v i đ nh "làm t ". (N u đ ý, b n s nh n ra đ c ki u ế ế ượ "suy lu n" mà ta v a th c
hi n b t ngu n t thu t toán "loang" hay "tìm liên thông" trên đ th !). Chính đ c tính k th a ế
c a m ng ng nghĩa đã cho phép ta có th th c hi n đ c r t nhi u phép suy di n t nh ng ượ
thông tin s n có trên m ng.
Tuy m ng ng nghĩa là m t ki u bi u di n tr c quan đ i v i con ng i nh ng khi đ a vào ườ ư ư
máy tính, các đ i t ng và m i liên h gi a chúng th ng đ c bi u di n d i d ng nh ng ượ ườ ượ ướ
phát bi u đ ng t (nh v t ). H n n a, các thao tác tìm ki m trên m ng ng nghĩa th ng ư ơ ế ườ
khó khăn (đ c bi t đ i v i nh ng m ng có kích th c l n). Do đó, mô hình m ng ng nghĩa ướ
đ c dùng ch y u đ phân tích v n đ . Sau đó, nó s đ c chuy n đ i sang d ng lu t ho cượ ế ượ
frame đ thi hành ho c m ng ng nghĩa s đ c dùng k t h p v i m t s ph ng pháp bi u ượ ế ươ
di n khác.
u đi m và nh c đi m c a m ng ng nghĩa Ư ượ
u đi m Ư
M ng ng nghĩa r t linh đ ng, ta có th d dàng thêm vào m ng các đ nh ho c cung
m i đ b sung các tri th c c n thi t. ế
M ng ng nghĩa có tính tr c quan cao nên r t d hi u.
M ng ng nghĩa cho phép các đ nh có th th a k các tính ch t t các đ nh khác thông ế
qua các cung lo i "là", t đó, có th t o ra các liên k t "ng m" gi a nh ng đ nh không ế
có liên k t tr c ti p v i nhau. ế ế
M ng ng nghĩa ho t đ ng khá t nhiên theo cách th c con ng i ghi nh n thông tin. ườ
Nh c đi m ượ
Cho đ n nay, v n ch a có m t chu n nào quy đ nh các gi i h n cho các đ nh và cungế ư
c a m ng. Nghĩa là b n có th gán ghép b t kỳ khái ni m nào cho đ nh ho c cung!
Tính th a k (v n là m t u đi m) trên m ng s có th d n đ n nguy c mâu thu n ế ư ế ơ
trong tri th c. Ch ng h n, n u b sung thêm nút "Gà" vào m ng nh hình sau thì ta có ế ư
th k t lu n r ng "Gà" bi t "bay"!. S dĩ có đi u này là vì có s không rõ ràng trong ế ế
ng nghĩa gán cho m t nút c a m ng. B n đ c có th ph n đ i quan đi m vì cho
r ng, vi c sinh ra mâu thu n là do ta thi t k m ng d ch không ph i do khuy t ế ế ế
đi m c a m ng!. Tuy nhiên, xin l u ý r ng, tính th a k sinh ra ư ế r t nhi u m i liên
"ng m" nên kh năng n y sinh ra m t m i liên h không h p l là r t l n!
H u nh không th bi n di n các tri th c d ng th t c b ng m ng ng nghĩa vì các khái ư
ni m v th i gian và trình t không đ c th hi n t ng minh trên m ng ng nghĩa. ượ ườ
M t ví d tiêu bi u
Dù là m t ph ng pháp t ng đ i cũ và có nh ng y u đi m nh ng m ng ng nghĩav n có ươ ươ ế ư
nh ng ng d ng vô cùng đ c đáo. Hai lo i ng d ng tiêu bi u c a m ng ng nghĩa là ng
d ng x lý ngôn ng t nhiên và ng d ng gi i bài toán t đ ng.
Ví d 1 : Trong ng d ng x lý ngôn ng t nhiên, m ng ng nghĩa có th giúp máy tính phân
tích đ c c u trúc c a câu đ t đó có th ph n nào "hi u" đ c ý nghĩa c a câu. Ch ngượ ượ
h n, câu "Châu đang đ c m t cu n sách dày và c i khoái trá" ườ có th đ c bi u di n b ng ượ
m t m ng ng nghĩa nh sau : ư
Ví d 2 : Gi i bài toán tam giác t ng quát
Chúng ta s không đi sâu vào ví d 1 vì đây là m t v n đ quá ph c t p đ có th trình bày
trong cu n sách này. Trong ví d này, chúng ta s kh o sát m t v n đ đ n gi n h n nh ng ơ ơ ư
cũng không kém ph n đ c đáo. Khi m i h c l p trình, b n th ng đ c giáo viên cho nh ng ườ ượ
bài t p nh p môn đ i lo i nh ư "Cho 3 c nh c a tam giác, tính chi u dài các đ ng cao", ườ
"Cho góc a, b và c nh AC. Tính chi u dài trung tuy n", ... ế V i m i bài t p này, vi c b n c n
làm là l y gi y bút ra tìm cách tính, sau khi đã xác đ nh các b c tính toán, b n chuy n nó ướ
thành ch ng trình. N u có 10 bài, b n ph i làm l i vi c tính toán r i l p trình 10 l n. N uươ ế ế
có 100 bài, b n ph i làm 100 l n. Và tin bu n cho b n là s l ng bài toán thu c lo i này là ượ
r t nhi u! B i vì m t tam giác có t t c 22 y u t khác nhau!. Không l m i l n g p m t bàiế
toán m i, b n đ u ph i l p trình l i? Li u có m t ch ng trình t ng quát có th t đ ng gi i ươ
đ c ượ t t c (vài ngàn!) nh ng bài toán tam giác thu c lo i này không? Câu tr l i là CÓ !
ng c nhiên h n n a, ch ng trình này l i khá đ n gi n. Bài toán này s đ c gi i 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 hay đ yế ế
d ng m t 1 tam giác ta c n có 3 y u t trong đó ph i có y u t c nh. Nh v y có kho ng ế ế ư
C322 -1 (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ê, có
kho ng 200 công th c liên quan đ n c nh và góc 1 tam giác. ế
Đ gi i bài toán này b ng công c 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 hai lo i :
Đ nh ch a công th c (ký hi u b ng hình ch nh t)
Đ nh ch a y u t c a 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 ho c cung n iườ
gi a hai đ 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ì khi bi t đ c hai góc, ta s tính đ c góc còn l i. ế ượ ượ
C ch suy di n th c hi n theo thu t toán "loang" đ n gi n sau : ơ ế ơ
Gi s ta có m ng ng nghĩa đ gi i bài toán tam giác nh nh sau ư
Ví d : "Cho hai góc α﹐ β và chi u dài c nh a c a tam giác. Tính chi u dài đ ng cao hC". ườ
V i m ng ng nghĩa đã cho trong hình trên. Các b c thi hành c a thu t toán nh sau : ướ ư
B t đ u : đ nh α﹐ β﹐ a c a đ th đ c kích ho t. ượ
Công th c (1) đ c kích ho t (vì ượ α﹐ β﹐ a đ c kích ho t). T công th c (1) tính đ c c nh b.ượ ượ
Đ nh b đ c kích ho t. ượ
Công th c (4) đ c kích ho t (vì ượ α﹐ β). T công th c (4) tính đ c góc δ ượ
Công th c (2) đ c kích ho t (vì 3 đ nh ượ β﹐ δ ﹐ b đ c kích ho t). T công th c (2) tính đ cượ ượ
c nh c. Đ nh c đ c kích ho t. ượ
Công th c (3) đ c kích ho t (vì 3 đ nh a, b, c đ c kích ho t) . T công th c (3) tính đ c ượ ượ ượ
di n tích S. Đ nh S đ c kích ho t. ượ
Công th c (5) đ c kích ho t (vì 2 đ nh S, c đ c kích ho t). T công 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. ượ ế
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.
Đ th c hi n thao tác "kích ho t" m t đ nh hình tròn, ta đ t giá tr c a toàn dòng ng v i y u ế
t tam giác b ng 1.
Đ ki m tra xem m t công th c đã có đ n-1 y u t hay ch a (nghĩa là ki m tra đi u ki n ế ư
"đ nh hình ch nh t có cung n i v i n đ nh hình tròn mà n-1 đ nh hình tròn đã đ c kích ượ
ho t"), ta ch vi c l y hi u gi a t ng s ô có giá tr b ng 1 và t ng s ô có giá tr -1 trên c t
ng v i công th c c n ki m tra. N u k t qu b ng ế ế n, thì công th c đã có đ n-1 y u t . ế
Tr l i m ng ng nghĩa đã cho. Quá trình thi hành kích ho t đ c di n ra nh sau : ượ ư
M ng bi u di n m ng ng nghĩa ban đ u
Kh i đ u : đ nh α﹐ β, a c a đ th đ c kích ho t. ượ