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

Luận văn thạc sĩ công nghệ thông tin Nghiên cứu cơ sở dữ liệu suy diễn và ứng dụng

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 (1.81 MB, 87 trang )

i
LỜI CẢM ƠN
Nhờ sự dẫn dắt của các thầy, cô giáo trường Đại học Lạc Hồng đến nay tôi đã
hoàn thành luận văn tốt nghiệp này.
Tôi xin chân thành cảm ơn các thầy, cô trường Đại học Lạc Hồng nói chung và
Khoa Công Nghệ Thông Tin nói riêng đã tận tình chỉ bảo, hướng dẫn cho tôi trong
suốt thời gian khóa học.
Tôi xin bày tỏ lòng biết ơn đối với thầy Nguyễn Quang Tấn, người đã trực tiếp
hướng dẫn chúng tôi thực hiện luận văn này. Nếu không có sự truyền đạt kiến thức quý
báo và hướng dẫn tận tình của thầy chắc chắn rằng luận văn của tôi sẽ rất khó hoàn
thành.
Cuối cùng tôi xin gửi lời cám ơn đến gia đình, bạn bè, những người đã luôn
bên chúng tôi, động viên và khuyến khích tôi trong quá trình thực hiện đề tài
nghiên cứu của mình.
Mặc dù đã rất cố gắng, song chắc chắn luận văn không tránh khỏi những thiếu
sót. Tôi rất mong nhận được sự thông cảm và những ý kiến đóng góp tận tình của các
thầy, cô giáo và các bạn cũng như những ai quan tâm tới lĩnh vực trong luận văn này.
Xin chân thành cảm ơn!
Đồng Nai, ngày tháng năm 2013
Học viên


Bùi Văn Lem
ii
LỜI CAM ĐOAN
Tôi ng các kt qu nghiên cu trong lung vn
 mang tính ph bin mà tác gi  cp ti dm
là hoàn toàn mi, nhng v tham khc trích dn c th. Các hình, minh ha,
ví d và kt qu do chính tác gi thc hin. Ni dung c c công b trên
các công trình nghiên cu khác.
Tôi ng mi sc thc hin lu


c c    thông tin trích dn trong lu   c ch rõ ngun gc.
Chúng tôi xin hoàn toàn chu trách nhim v ni dung ca lu

Đồng Nai, ngày tháng năm 2013
Hc viên


Bùi Văn Lem





iii
MỤC LỤC
 mc Trang

LI C i
L ii
MC LC iii
DANH MC CÁC T VIT TT vi
DANH MC BNG vii
M U 1
: TNG QUAN. 2
1.1. Ngun gc và s phát trin ca lp lun logic. 2
1.2. Ngun gc và nhu cu phát trin CSDL suy din. 5
1.3. Ni dung chính ca lu 7
 LÝ THUYT. 9
2.1. Tri thc và hiu bit. 9
2.1.1. Mt s khái nim. 9

2.1.2. Phân loi tri thc theo hii. 11
2.2. Biu din tri thc. 12
2.3. Biu din tri thc bng lut dn xut (lut sinh). 14
2.3.1. Khái nim. 14
2.3.2.  suy lun trên các lut sinh. 15
2.3.3. m ca biu din tri thc bng lut. 18
2.3.3.1. m. 18
2.3.3.2. m. 18
2.4. Công ngh tri thc. 19
2.4.1. X lý tri thc. 19
2.4.2. X lý tri thc bng lut. 19
2.4.3. X lý tri thc bng các lut có dùng bin. 21
2.4.4. X lý tri thc bng lp lun. 22
iv
2.5. Khái quát v lp trình logic. 26
2.6. Ngôn ng Prolog. 28
2.6.1. Prolog là ngôn ng lp trình logic. 28
2.6.2. Xây dng s kin và lut. 30
2.6.2.1. Xây dng s kin. 30
2.6.2.2. Xây dng lut 35
2.6.3. Mt s ví d v  37
2.7. Kt lun. 40
 D LIU SUY DIN. 41
3.1. Gii thiu chung. 41
3.2. Mt s khái ni. 42
3.2.1. Ngôn ng cp mt. 42
3.2.2.  43
3.3.  d liu suy din. 45
3.3.1. ng quát 45
3.3.2. c. 46

3.3.3. Cu trúc ca m d liu suy din. 46
3.3.3.1. Tp các s kin. 46
3.3.3.2. Tp các lut suy din. 47
3.3.3.3. Ràng buc toàn vn (RBTV). 48
3.4.  51
3.4.1. Mô hình d liu. 51
3.4.2. Cú pháp. 52
3.4.3. Ng  52
3.4.4. Cn. 53
3.5. Truy vn trong Datalog (Datalog Query). 55
3.5.1.  55
3.5.2. Cu trúc. 56
3.5.3. So sánh Datalog vi s quan h. 58
v
3.6. a ký hiu hàm. 62
3.7. Kt lun. 63
T DEMO NG DNG 64
4.1. Mc tiêu. 64
4.2. C 64
4.3. Mô hình lung x lý bài toán. 65
4.4. ng thc nghim 66
4.5. Quy trình thc hin. 66
4.5.1. t v. 66
4.5.2. Quy trình thc hin. 67
4.5.3. Thc hi 75
T LUNG PHÁT TRIN. 78
TÀI LIU THAM KHO.
vi
DANH MỤC CÁC TỪ VIẾT TẮT


STT
Từ viết tắt
Diễn giải
Ghi chú
1
CSDL


2
DES
Datalog Education System

3
EDB
Extended Database

4
IDB
Intentional Database
 
5
RBTV






DANH MỤC HÌNH
Tên hình. Trang

Hình 2.1: C th AND/OR. 17
Hình 2.2: Các c x lý tri thc da trên lut. 20
Hình 2.3: Cây gia h. 30
Hình 2.4: Quan h c hp thành t hai quan h cha m. 33
 th không có chu trình. 58
 th có chu trình 58
Hình 4.1: Mô hình lung x lý bài toán 66
Hình 4.2: Giao din chính khi ch 76
Hình 4.3: Thao tác np d li .76
Hình 4.4: La chn d liu cho chnh 77
Hình 4.5: Giao dip d liu. 77
Hình 4.6: Giao din la chn tìm kim theo ch  78
Hình 4.7: Giao din kt qu  78
vii
DANH MỤC BẢNG
Tên bng. Trang
Bng 2.1: ng con trâu 24
Bng 2.2: Bng CSDL mô t i 38
Bng 3.1: Kiu d liu trong DES 50
Bng 3.2: Bng quan h Qun lý công nhân 60
Bng 4.1: Bng d liu mu. 75
1
MỞ ĐẦU
ng trong k nguyên hii vi s phát trin bùng n v công
ngh thông tin. Và  d liu (CSDL) là mc rt quan trng mà chúng ta
cn phi quan tâm. Hu ht các ng dng hiu có s dn CSDL: ng
dng web, phn mm qu
Có nhiu mô hình CSDL ng dng trong thc t: CSDL
quan h, CSDL phân tán, CSDL      nói CSDL
quan h c ng dng rng rãi nht, mang li nhiu thành công nht.

CSDL quan h cho phép tip nh và x lý mng ln d liu. Vic
nghiên cu CSDL quan h c rt nhiu thành công, có nhin
trong vic qun lý. Tuy nhiên ngoài vic tip nh và x lý d lii ta
cn mt loi CSDL có kh n ra các thông tin t các d li.
 ng nhu cu thc t t mô hình CSDL m    
CSDL suy diễn. Ngoài vi các thông tin mt cách rõ ràng theo kiu CSDL
quan h, CSDL suy di c các lut có kh n ra nhng kt
qu mi da trên d li
So vi CSDL quan h thì CSDL suy din tha nhn mt kiu lý thuyt chng
t lý thuyt bao gm mt tp các công thc cp
mt, còn vic thc hin mt câu truy vn hoc làm tha mãn mt RBTV có th xem
ng minh mt công thc cp mt là h qu logic ca lý thuy
CSDL suy din là mt s m rng ca CSDL quan h bi vì bên cnh nhng tính
cht, nhng nguyên tc vn có ca CSDL quan h nó còn có thêm các nguyên tc tng
c suy din và RBTV

2
CHƢƠNG 1: TỔNG QUAN.
N: Trình bày tổng quan về nguồn gốc và sự phát triển của lập luận
logic; nhu cầu của CSDL suy diễn trong thực tế và tổng quan về nội dung chính của
luận văn.
1.1. Nguồn gốc và sự phát triển của lập luận logic.
Theo truyn thc nghiên ct nhánh ca trit hc, nó
c nht ngành nghiên cu v n c. Mc dù
a logic vn là v ãi gia các trit gia. Tuy
nhiên khi môn hnh thì nhim v ca nhà logic hc vn 
y mnh tin b ca vic phân tích các suy lun có hiu lc và suy lun ngy bin
 i ta có th phân bic lun c nào là hp lý và lun c nào có ch không
hp lý.
T gia th k    c nghiên cu trong toán hc và lut (theo

). Gc áp dng vào khoa hc máy tính và
trí tu nhân to. Là mt ngành khoa hc hình thc, logic nghiên cu và phân loi cu
trúc ca các khnh và các lý l, c u thông qua vic nghiên cu các h thng
hình thc ca vic suy lun và qua s nghiên cu lý l trong ngôn ng t nhiên. Tm
bao quát ca logic rt r  tài cu các lý l ngy
bin và nghn nhng phân tích chuyên gia v lp lun. Chng hn lp lun có
xác su n quan h nhân quc
s dng trong lý thuyt lý lun.
Qua sut quá trình lch su s quan tâm trong vic phân bit lp lun
tt và lp lun không tc nghiên cu trong mt s dng ít nhiu
là quen thuc vi chúng ta. Trong toán hc và trit h   c nhn
mng nghiên cu riêng và do vc nghiên cu  m
tr
3
Mt trong nhng tác phm logic sm nht còn tn t n ngày nay là ca
Aristotle. Logic cc chp nhn rng rãi trong khoa hc và toán hc 
P u th k 19. H thng logic ca Aristotle phù hp cho vic gii
thiu suy din gi nh và logic quy np.  Châu Âu, trong cui thi k i, có
nhiu n lc nhm chng t nhng ci ni
c. Trong sut thi k Trung K Trung C, logic tr  tài chính ca các nhà
trit hc, nhi mun tham gia vào nhng cuc tranh lun trit hc v phân tích
logic hc.
Lập luận hay Suy luận t khác nhau tùy theo ng cnh ca hiu
bit v lý tính t hình thc ca tri thcng s dng
lý tính  rút ra mt kt lun t các ti nhnh bng cách s dng mt 
pháp lun c.
Suy luận, cùng vi trc giác c v nhn thc t phát. Suy
lun, là m nhn thc và tìm kim chân lý.
Nhn thc suy lun là kiu nhn thc gián tip. Nhn thc mnh lý toán hc,
mnh lut khoa hu là nh suy lun. Vì rng, suy lun nht thii hi phi

có trung gian, là nhng , nhng khái nim . Ví d  nhn bit s 
a A và C khi A=B, B=C,thì phi s dng các khái ni
hng, s 
Suy lun có tính trng và tng quát. Suy lun dm
mà chúng ta phi tha nhn là khái nim bao gi ng và tng quát. Ví d
khái nii" ch nh tt c mc tính chung ci,
ch n tính riêng bit tri ca Socrates
Hercules hay tính ích k, tham lam, nh nhen c
Suy lun bao gi n lin vi ngôn ng  m khác bit vi trc
giác. Vì th u gì nhn bic nh suy lun, thì có th i khác hiu
4
trn vn nó thông qua ngôn ng chun xác. Khi bc nghe chng minh mu
gì, bn s hin.
Tuy nhiên, trong các ng cnh trit hc ng, lp lum
li cho s m giác ca ta bt c cái gì có th hiu
c mà nhng hành vi trí óc kia có th hàm cha,  tri nghim ca ta
v.
p lun logic: suy luận diễn dịch, suy luận quy nạp, suy luận
loại suy   phép tương tự. Lp lun b 
ng hp c th này tng hp c th khác, kt lun ca lp lun bng phép
 ch là có th p lun b rng gp trong nhn thc
ng, khoa hc, trit hc và khoa h c chp
nh tr.
Suy diễn logic, lập luận bằng suy diễn hay suy diễn là lp lut
luc rút ra t các s kic bic theo kiu : nu các ti t
lun ph kii rng kt lu
Suy diễn u suy lun t ng hp ti
ng hp c th t lu chính xác tính ngang
bng vi các ti.
Ví dụ:

i ta có th nói rng: "Vì trời mưa nên chắc chắn đường ướt". Tuy nhiên, có
mt lun c n trong câu này: "Nếu trời mưa thì đường ướt.". S dng ti "Nếu
trời mưa thì đường ướt.", ta có th tranh lun rng "Vì trời mưa nên chắc chắn đường
ướt", mà không th rng "Đường ướt cho nên chắc chắn trời đang mưa". Hoc ta có
th nói: "Đường không ướt, do đó trời không mưa",  "Trời không mưa,
do đó đường không ướt " .
5
đường ướt là mt kt qu không tránh khi ca mưađường ướt
không nht thit phi do mưa.
Các lun c suy din có th có hiu lc hoc không có hiu lc. Các lun c có
hiu lc tuân theo các quy ti vi tính hiu lc vic các quy tnh
t lun có hiu lc không nht
thit là kt luúng, và các kt lun không có hiu lc có th không sai.
Khi mt lun c va có hiu lc v. Khi có hiu
l.
Ví dụ:
Suy din có hiu lc:
Do Socrates là một người, và do tất cả mọi người đều không bất tử, do đó
Socrates cũng không bất tử.
Suy di, do hai ti "Socrates là người" và "tất
cả mọi người đều không bất tử" 
Suy din không có hiu lc:
Tất cả các thí sinh thi trượt đều không được học bổng, tất cả các thí sinh đỗ vớt
đều không được học bổng, do đó tất cả các thí sinh đỗ vớt đều thi trượt.
1.2. Nguồn gốc và nhu cầu phát triển CSDL suy diễn.
Khái nim v CSDL suy dic nhiu nhà nghiên c cng
phát trin các kt qu  các h thng câu hi 
tr li (theo ).
Xét v m lý thuyt, CSDL suy din có th 
logic vi s khái quát hóa khái nim v CSDL quan hp cn ca Brodie

               a

6
CSDL suy din là sn phm t nhiên ca lc
s dng cho các khái nim tính toán mô hình trc tip. K thut CSDL suy dic
ng dng nhiu trong các h h tr quynh và các h chuyên gia. Cùng vi các k
thut phát trin ca CSDL quan h, CSDL suy din       mt
ng lc suy di
Các h h tr quynh, các h chuyên gia là nhc có ng dng k
thut CSDL suy dic ng dng rng rãi trong vic phân tích tài
chính, phân tích ngôn ng, cú pháp, Nó cho phép phân tích mng ln các d liu
ng suy luCSDL suy din, m
có nhiu kt qu có giá tr u v cn nghiên cu tip, chng hn
 v ng a ph nh và tn.
n CSDL ta không th  cn mt yu t lập
trình logicn ca lp trình logic là s dng logic toán ht ngôn
ng lu  cp trong tài liu cc
t ngôn ng lu
tiên, tc là ngôn ng lp trình PROLOG (PROgramming LOGic). Nh s hình thc
p con ca các logic bc mt, gi là logic m Horn.
Mt câu hay mt m theo logic có th có nhiu ki có mt
hay không có kt lu
i vi nhu cu thc hành CSDL suy din x lý các câu không phc t
câu trong h thng lp trình logic. S các lut, tc là s các câu v  u kin
không trng trong CSDL suy din nh  các s kin, tc các câu vu kin
rng.
Mt khía cnh khác nhau na gia CSDL suy din và lp trình logic là h thng
lp trình logic nhn mnh các ch CSDL suy din nhn mnh tính
hiu qu suy din dùng trong CSDL suy di tính toán tr lc
t thng lp trình logic.

7
Các CSDL suy din có th qun lý hu ht các ng dng hin ti, các vn 
phc tp v
d

liu.
Vi
h
qun tr CSDL quan h dùng i s quan h hin ti thì vic t câu hi
và tr li câu
hi
còn hn ch nht là CSDL có kích thc ln. a, vn  
quy thì trong i s quan h
không
gii quyt c.
CSDL suy din gm các s kin và các lut s
cho
chúng ta các câu tr li t
câu hi, và cung cp cho chúng ta nhng tri thc mi.
Vic nghiên cu CSDL c thc hin trên th gii t nha th k
 c ta hin nay vn còn rt ít nhng nghiên cu v nó. Vic tìm hiu
CSDL suy din và nghiên cu nhng ng dng ca nó là mt v 
thuyt và thc tin.
1.3. Nội dung chính của luận văn.
 tài: “Nghiên cứu cơ sở dữ liệu suy diễn và ứng dụng”.
Lu
Chƣơng 1: Tng quan.
Ni dng chính: Trình bày tổng quan về nguồn gốc và sự phát triển của lập luận
logic; nhu cầu của CSDL suy diễn trong thực tế .
Chƣơng 2:  lý thuyt.

Ni dung chính: Trình bày về hệ thống tri thức, cách thức biểu diễn tri thức và
một số công nghệ xử lý tri thức; khái quát về lập trình logic và ngôn ngữ Prolog.


8
Chƣơng 3:  d liu suy din.
Ni dung chính: Chương này sẽ trình bày một số vấn đề về CSDL suy diễn (CSDL
dựa trên logic); mô hình CSDL suy diễn, chương trình Datalog.
Chƣơng 4: Xây dng demo ng dng.
Ni dung chính: Xây dựng demo ứng dụng: “Ứng dụng CSDL suy diễn vào việc
tìm kiếm thông tin sách trong thư viện”
Chƣơng 5: Kt lung phát trin.
9
CHƢƠNG 2: CƠ SỞ LÝ THUYẾT.
Ni dung chính: Trình bày về hệ thống tri thức, cách thức biểu diễn tri thức và
một số công nghệ xử lý tri thức; khái quát về lập trình logic và ngôn ngữ Prolog.
2.1. Tri thức và hiểu biết.
2.1.1. Một số khái niệm.
Tri thức là các thông tin tài liệu, các cơ sở lý luận, các kỹ năng khác nhau, đạt
được bởi một tổ chức hay một cá nhân thông qua các trải nghiệm thực tế hay thông
qua sự giáo dục đào tạo (theo ); các hiu bit v lý thuyt hay
thc t v mng, mt v, có th lý gic v nó; là nh
c hiu bit trong mc c th hay toàn b, trong tng th, các
thông tin, tài liu, các hiu bit hoc nhng th  c bng kinh nghim
thc t hoc do nhng tình hung, hoàn cnh c th. Tuy nhiên không có mt nh
 chính xác nào v tri thc hic mi chp nhn, có th bao quát
c toàn b, vn còn nhiu hc thuyt, các lý lun khác nhau v tri thc.
Tri th c thông qua các quá trình nhn thc phc tp: Quá trình tri
giác, quá trình hc tp, tip thu, quá trình giao tip, quá trình tranh lun, quá trình lý
lun, hay kt hp các quá trình này.

Theo c n, tri thc có hai dng tn ti chính là tri thức ẩn và tri thức hiện.
Tri thức hiện là những tri thức được giải thích và mã hóa dưới dạng văn bản, tài
liệu, âm thanh, phim, ảnh, thông qua ngôn ngữ có lời hoặc không lời, nguyên tắc hệ
thống, chương trình máy tính, chuẩn mực hay các phương tiện khác (theo
)ng tri thc th hin ra ngoài và d dàng
chuyc tip nhn qua h thng giáo do chính quy.
Tri thức ẩn là những tri thức thu được từ sự trải nghiệm thực tế, dạng tri thức này
thường ẩn trong mỗi cá nhân và rất khó “mã hóa” và chuyển giao, thường bao gồm :
10
niềm tin, giá trị, kinh nghiệm, bí quyết, kỹ năng(theo ) Chng
hu th chuyên nghip có kh m nhn bóng rt t
mt dng tri thc n, nó tn ti trong mi cu th. Nó không th 
bn, không th chuyi ta có th có bng quá trình luyn tp.
Da vào phân loi tri thc, có th chia các hình thc chia s tri thc thành 4 dng
chính:
Ẩn - Ẩni chia s i tip nhn giao tip trc tip vi nhau (ví d:
hc ngh, giao tip, ging bài, ) thì s tip nhn này là t tri thc n thành tri thc n.
Tri thc ci này không qua trung gian mà chuyn trc tip thành tri thc ca
i kia.
Ẩn – Hiện: Mc cn hay các hình
thc hin hc t n
n, tài liu, ).
Hiện - Hiện: Tp hp các tri thc hi to ra tri thc hin khác. Quá trình
c th hin qua vic n giao hay tng hp d liu.
Hiện - Ẩn: Tri thc t dng hin tr thành dng n hình quá trình này là
vic sách. Hc sách (tri thc hic các bài hc, tri thc cho
mình (n).
T khía cnh nhân s, nhng nhu cu ci, chia s và sáng to
trong các nhóm hong gm nhic khác nhau là mt trong nhng lý do
chính dn vic xây dng qun tr tri thc. Bên c  lý

ca nhân viên trong các tình hung phc t nhng tri thc khi các nhóm
làm vic tan rã hay tái ln vic xây dng nên h thng qun lý tri thc tr
nên cn thit.

11
2.1.2. Phân loại tri thức theo hiện đại.
T lâu, các nhà tâm lý hc v nhn thng lý thuyt gii thích v gii
quyt v. Các lý thuyi ta thy các dng tri thi hay dùng,
i t chc này và cách dùng các tri thc mt
cách có hiu qu. Các nhà nghiên cu v trí tu nhân to dùng các kt qu nghiên cu
 phát trin các k thut th hin tri thc trên máy tính.
Không có lý thuyt nào gic cách t chc tri th
không có cu trúc th hin tri thng c. V i phi bit
chn k thut th hin tri thc và các dng tri thc mà các k thut này có th th hin
c.
Tri th c phân loi theo kiu hi i gm các dng sau (theo
):
Tri thức thủ tục: Din t cách mà v c gii quyt. Dng tri thc này cho
bing thc hin. Ví d: Các lut, các chic, lch và các th t
chính là các da tri thc th tc.
Tri thức mô tả: Ví d khái niệm, các đối tượng, các sự kiện. Nó cho bit
mt v  c th  nào. Tri thc này bao gm các khn,
mang tính giá tr 
Tri thức may rủi: Din t lut may ri dn dt quá trình lp lun. Tri thc may ri
c gi là tri thc nông cn, nó da vào kinh nghim, tri thc do gii
quyt v ng ly các tri thn v v
tri thu lun, các quan h chi chuyn chúng thành
các may rn khi gii quyt v.
12
Tri thức cấu trúc: Din t các cu trúc ca tri thc. Loi tri thc này mô t mô

hình trí tu tng quát ca chuyên gia v mt v. Chng hp lut, các
quan h khái nim, khái nim v quan h cng.
2.2. Biểu diễn tri thức.
i sng có th nhn thc th gii nh các giác
quan (tai, mt và các giác quan khác), s dng tri thc và nh kh 
lp lun, suy lui có th ng hp lý cho công vic mà con
t mc tiêu ca trí tu nhân to ng dng là thit k các tác nhân
ng kh i ta có th hiu tác nhân
thông minh là bt c cái gì có kh n thng thông qua các b
cm nhng hng lng thông qua b phn hành
ng. Các robots, các phn mi máy, các h chuyên gia, là các ví d v tác
nhân thông minh. Các tác nhân thông minh cn phi có tri thc v th gii hin thc
mi có th ng quyn.
Thành phn trung tâm ca các tác nhân dựa trên tri thức c gi là hệ dựa
trên tri thức hon là h tri th tri th tri thc là mt tp hp
các tri thc biu dii di khi nh
tác nhân cn có kh  ác câu tr lng h
n. Nhim v c thc hin bi b suy lun. B suy lun là thành phn
khác ca các h tri thy h tri thc bo trì m tri thc trang b
mt th tc suy lun. Mi khi tip nhn c các s kin t ng, th tc suy
lun thc hin quá trình liên kt các s kin vi các tri th tri th rút ra
các câu tr li, hong hp lý mà tác nhân cn thc hi
khi ta thit k mt tác nhân gii quyt mt v  tri thc s cha các
tri thc v ming c th  máy tính có th s dc tri thc, có th
x lý tri thi ta cn biu din tri thi dng thun ti
mc tiêu ca biu din tri thc.
13
Tri thc mô t i dng các câu trong ngôn ng biu din tri thc. Mi câu
có th  mã hóa ca mt s hiu bit ci ta v th gii hin thc. Ngôn
ng biu din tri thi ngôn ng hình thc khác) gm hai thành ph

bn là cú pháp và ngữ nghĩa.
+ Cú pháp ca mt ngôn ng bao gm các ký hiu v các quy tc liên kt các ký
hiu (các lu to thành các câu (công thc) trong ngôn ng. Các câu  
là biu din ngoài, cn phân bit vi biu din bên trong máy tính. Các câu s c
chuyn thành các cu trúc d liu thích ht trong mt vùng nh a
u din bên trong. Bng mt ni dung nào
c.
+ Ngữ nghĩa ca ngôn ng a các câu trong mt
mia th gii hin thc. Chng hn trong ngôn ng các biu thc s hc,
dãy ký hiu (x+y)*z là mt câu vi a ngôn ng này cho
phép ta hiu rng, nu x, y, z ng vi các s nguyên, ký hiu + ng vi phép toán cng,
còn * ng vi phép toán nhân thì biu thc (x+y)*z biu din quá trình tính toán: ly s
nguyên x cng vi s nguyên y, kt qu c nhân vi s nguyên z.
Ngoài hai thành phn cú pháp và ng ngôn ng biu din tri thc cc
cung c suy lun. Mt suy lun cho phép ta suy ra mt công thc t mt tp nào
c. Chng hn, trong logic m, lut modus ponens t hai công thc
A và A > B suy ra công thi ta s hiu lp lun hoc suy lun là mt quá
trình áp dng các lut suy lu t các tri th tri thc và các s kin ta
nhc các tri thc mnh:
Ngôn ng biu din tri thc = Cú pháp + Ng  suy lun.
Mt ngôn ng biu din tri thc tt cn phi có kh u din rng, tc là có
th mô t c mi ta mun nói. Nó cn phi hiu qu 
14
i các kt lun, th tc suy lui ít thi gian tính toán và ít không gian nh.
n ngôn ng biu din tri thc gn vi ngôn ng t nhiên.
i ta tp trung nghiên cu logic v t cp mt, ngôn ng biu din tri
thc, bi vì logic v t cp mt có kh u dii t
s cho nhiu ngôn ng biu din tri thc hu
logic m, nó là ngôn ng n, có kh u din hn ch, song thun tin
cho ta trong viu khái nim quan trng trong logic.

2.3. Biểu diễn tri thức bằng luật dẫn xuất (luật sinh).


2.3.1. Khái niệm.
  u din tri thc bng lu  c phát minh bi Newell và
 gng xây dng mt h gii bài toán t
mt kiu biu din tri thc có cn là tri thc có th c cu trúc
bng mt cp u kin  ng : "NU u kin xy ra THÌ ng s c
thi hành". Chng hn : N THÌ bng, NU
máy tính không khc THÌ kim tra ngu
Ngày nay, các lu nên ph bic áp dng rng rãi trong nhiu
h thng trí tu nhân to khác nhau. Lut sinh có th là mt công c mô t  gii quyt
các v thc t thay cho các kiu phân tích v truyn thng hp
này, các lung ch dn (tuy có th không hoàn cht
h tr giúp cho các quynh trong quá trình tìm kim, t m không
gian tìm kim. Mt ví d khác là lut sinh có th  bc hành vi ca
nhng chuyên gia. Theo cách này, lut sinh không ch n là mt kiu biu din
tri thc trong máy tính mà là mt kiu biu din các hành vi ci.
Mt cách tng quát lut sinh có d
P
1
 P
2
 P
n
 Q
15
Tùy vào các v à lut sinh có nhng ng u to khác
nhau :
Trong logic v t : P1, P2, , Pn, Q là nhng biu thc logic.

Trong ngôn ng lp trình, mi mt lut sinh là mt câu lnh.
IF (P1 AND P2 AND AND Pn) THEN Q.
Trong lý thuyt hiu ngôn ng t nhiên, mi lut sinh là mt phép dch :
t.

t
 biu din mt tp lung phi ch rõ hai thành phn chính sau:
(1) Tp các s kin F(Facts)
F={f1,f2, fn}
(2) Tp các quy tc R(Rules) áp dng trên các s kin d
f1 f2,  fnq
iu thuc F
Ví dụ  tri th
Các s kin : A, B, C, D, E, F, G, H, K
Tp các quy tc hay lut sinh (rule):



R4 : E  
R5 : E  B
R6 : D  E 
R7 : G  K  
2.3.2. Cơ chế suy luận trên các luật sinh.
Suy diễn tiến : Là quá trình suy lun xut phát t mt s s kinh các
s kin có th c "sinh" ra t s kin này.
16
S kiu : H, K
R3 : HA{A, H, K}
A, E, H, H}



R6 : D E  }
Suy diễn lùi : Là quá trình suy luc xut phát t mt s s kiu, ta tìm
kim các s ki kin này. Mt ví d ng gp trong thc t là xut
phát t các tình trng ca máy tính, ch hng hóc  
Ví dụ : Cho tp các s kin và tp các lu
Tp các s kin :
  cng là "hng" hay "hong"
 Hng màn hình.
 Lng cáp màn hình.
 Tình tr cng là "tt" hoc "sáng"
 c  cng.
 Tình trc "ch"
 Không s dc máy tính.
 n vào máy tính "có" hay "không"
Tp các lut :
 R1. Nu ( ( cng "hng") hoc (cáp màn hình "lng")) thì không s
dc máy tính.
 R2. Nc  cng là "không")
hoc tình tr cng là "tt")) thì ( cng "hng").
17
 R3. Nn vào máy là "có") và (tình trp
") thì (cáp màn hình "lng").
 c các nguyên nhân gây ra s kin "không s dc máy tính", ta
phi xây dng mt c th g th 









Hình 2.1: Cấu trúc đồ thị AND/OR.


 c nguyên nhân gây ra hng hóc là do  cng hng hay
cáp màn hình lng, h thng phi l kiu kin
n vào máy "có", âm thanh  ci mc, nu giá tr cn xác
nh không th c suy ra t bt k mt lut nào, h thng s yêu ci dùng trc
tip nhp vào. Chng h bin không, h thng s hin ra màn
hình câu hi "Bn kin vào máy tính không (kin)?
(C/K)".  thc hi suy lung s d
ghi nhn li nhm tra).
18
2.3.3. Ƣu điểm và nhƣợc điểm của biểu diễn tri thức bằng luật.
2.3.3.1. Ƣu điểm.
Biu din tri thc bng luc bit hu hiu trong nhng tình hung h thng c
ra nhng da vào nhng s kin có th c. Nó có nh
m chính y
 Các lut rt d hiu nên có th d  i vi dùng (vì nó là
mt trong nhng dng t nhiên ca ngôn ng).
 Có th d dàng xây d suy lun và gii thích t các lut.
 Vic hiu chnh và bo trì h thi d dàng.
 Có th ci tin d  tích hp các lut m.
 Các lung ít ph thuc vào nhau.
2.3.3.2. Nhƣợc điểm.
 Các tri thc phc ti quá nhiu (hàng ngàn) luu này s
làm ny sinh nhiu v liên quan n t ln qun tr h thng.
 Thng kê cho thi xây dng h thng trí tu nhân to thích s dng lut

t c  hiu, d t) nên h ng tìm m
biu din tri thc bng luác thích h 
m mang tính ch quan ci.
  tri thc lut sinh ln s làm gii hn kh m c
u khin. Nhiu h thng g da trên lut sinh
n khi suy lun trên lut sinh.



×