Luận văn Logic mô tả và ứng dụng trong cơ sở dữ liệu

BGIÁO DC VÀ ĐÀO TO  
TRƯỜNG ĐẠI HC BÁCH KHOA HÀ NI  
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯  
LUN VĂN THC SKHOA HC  
LOGIC MÔ TNG DNG  
TRONG CƠ SDLIU  
NGÀNH: CÔNG NGHTHÔNG TIN  
MÃ S:.............................................  
ĐẶNG VĂN HUỆ  
Người hướng dn khoa hc: TS. TRN ĐÌNH KHANG  
HÀ NI 2006  
LI CAM ĐOAN  
Các kết qunghiên cu trong lun văn, ngoài nhng vn đề mang tính  
phbiến mà tác giả đề cp ti dưới dng các định nghĩa và khái nim là hoàn  
toàn mi, nhng vn đề tham kho được trích dn cth. Các hình, minh ho,  
ví dvà kết qudo chính tác githc hin. Ni dung ca đề tài chưa công bố  
trên các công trình nghiên cu khác. Tác gixin chu hoàn toàn trách nhim  
vni dung ca lun văn này.  
Tác giả  
Đặng Văn Huệ  
LI CÁM ƠN  
Dưới sdn dt ca các thy, các cô giáo trường Đại hc Bách khoa  
Hà Ni đến nay em đã hoàn thành lun văn tt nghip này.  
Em xin chân thành cám ơn các thy, các cô trường Đại hc Bách Khoa  
Hà Ni nói chung và Khoa Công nghThông tin nói riêng đã tn tình chbo,  
hướng dn cho em trong nhng năm qua.  
Em xin bày tlòng biết hơn đến thy giáo Trn Đình Khang, người  
trc tiếp hướng dn em làm lun văn. Nếu không có struyn đạt kiến thc  
quý báu và hướng dn tn tình ca thy giáo chc chn rng lun văn ca em  
srt khó được hoàn thành.  
Tôi cũng xin chân thành cám ơn bn bè đã động viên, giúp đỡ tôi trong  
thi gian hc tp ti Trường, cũng như quá trình hoàn thành lun văn.  
Mc dù đã rt cgng, song chc chn lun văn không tránh khi  
nhng thiếu sót. Em rt mong nhn được sthông cm và nhng ý kiến đóng  
góp tn tình ca các thy, cô giáo và các bn cũng như nhng ai quan tâm ti  
lĩnh vc trong lun văn này.  
Hà Ni, ngày 31 tháng 10 năm 2006  
Tác giả  
Đặng Văn Huệ  
-3-  
MC LC  
Ni dung  
Trang  
LI CAM ĐOAN .............................................................................................1  
LI CÁM ƠN ...................................................................................................2  
MC LC.........................................................................................................3  
DANH SÁCH CÁC BNG..............................................................................6  
DANH SÁCH CÁC HÌNH ...............................................................................6  
LI GII THIU..............................................................................................7  
Chương 1. LOGIC MÔ T.............................................................................10  
1.1. GII THIU.........................................................................................10  
1.2. NGÔN NGTHUC TÍNH AL ...........................................................11  
1.2.1. Ngôn ngmô tcơ bn AL ..............................................................11  
1.2.2. Ngnghĩa ca các khái nim AL .....................................................12  
1.2.3. Hngôn nglogic mô tAL............................................................13  
1.2.4. Ngôn ngmô tlà tp con ca logic vtbc nht.......................15  
1.3. HCƠ STRI THC.........................................................................15  
1.3.1. Kiến trúc hlogic mô t.................................................................15  
1.3.2. Bthut ng(TBox) ......................................................................16  
1.3.2.1. Tiên đề thut ng..................................................................... 16  
1.3.2.2. Định nghĩa khái nim............................................................... 17  
1.3.2.3. Mrng bthut ng.............................................................. 20  
1.3.2.4. Đệ quy...................................................................................... 22  
1.3.2.5. Thut ngvi các tiên đề bao hàm.......................................... 22  
1.3.3. Bkhng định (ABox)...................................................................23  
1.3.4. Cá th..............................................................................................25  
-4-  
1.3.5. Suy lun..........................................................................................26  
1.3.5.1. Lp lun đối vi khái nim...................................................... 26  
1.3.5.2 Loi trTBox ........................................................................... 28  
1.3.5.3. Lp lun đối vi ABox ............................................................ 29  
1.3.5.4. Ngnghĩa “đóng”, ngnghĩa “m........................................ 30  
1.4. CÁC THUT TOÁN SUY LUN ......................................................33  
1.4.1. Thut toán bao hàm cu trúc..........................................................33  
1.4.2. Thut toán tableau ..........................................................................35  
1.5. MRNG NGÔN NGMÔ T.......................................................41  
1.5.1. Các constructor vai trò ...................................................................41  
1.5.2. Biu din các gii hn s...............................................................42  
1.6. NGÔN NGDATALOG ....................................................................42  
1.6.1. Các khái nim và thành phn ca Datalog.....................................43  
1.6.2. Cú pháp ca chương trình Datalog ................................................44  
1.7. TNG KT CHƯƠNG........................................................................46  
Chương 2. SƠ LƯỢC VCƠ SDLIU .................................................48  
2.1. MÔ HÌNH THC TH- QUAN H...................................................48  
2.2. MÔ HÌNH HƯỚNG ĐỐI TƯỢNG......................................................52  
2.3. TNG KT CHƯƠNG........................................................................56  
Chương 3. CHUYN ĐỔI CƠ SDLIU THÀNH CƠ STRI  
THC CA LOGIC MÔ T........................................................57  
3.1. MÔ HÌNH HOÁ LƯỢC ĐỒ THC TH- QUAN HỆ  
BNG LOGIC MÔ T........................................................................57  
3.2. MRNG KHNĂNG BIU DIN CA NGÔN  
NGMÔ HÌNH HOÁ .........................................................................63  
3.2.1. Tng quát hoá thc th...................................................................63  
3.2.2. Lc các tính cht thuc mt cu trúc IS-A.....................................64  
-5-  
3.3. BIU DIN MÔ HÌNH DLIU HƯỚNG ĐỐI  
TƯỢNG BNG LOGIC MÔ T.........................................................64  
3.4. CHUYN DLIU TCƠ SDLIU VÀO  
ABOX CA LOGIC MÔ T...............................................................66  
3.5 TNG KT CHƯƠNG.........................................................................72  
Chương 4. TRUY VN ..................................................................................73  
4.1. NGUYÊN TTRUY VN, ĐỐI TƯỢNG, CÁ THỂ  
VÀ BIN ..............................................................................................73  
4.1.1. Nguyên ttruy vn khái nim........................................................73  
4.1.2. Nguyên ttruy vn vai trò .............................................................74  
4.2. TRUY VN PHC HP.....................................................................75  
4.3. HTRMÔ T- ĐỊNH NGHĨA VÀ THUT TOÁN.....................76  
4.4. TNG KT CHƯƠNG........................................................................78  
KT LUN.....................................................................................................79  
CÁC THUT NG........................................................................................80  
TÀI LIU THAM KHO...............................................................................82  
-6-  
DANH SÁCH CÁC BNG  
1.1 Cú pháp ca ngôn ngAL  
trang 12  
trang 13  
trang 67  
trang 68  
trang 68  
trang 69  
trang 69  
trang 69  
trang 69  
1.2 Ngnghĩa ca logic mô tả  
3.1 Bng thc thProfessor  
3.2 Bng thc thStudent  
3.3 Bng thc thCourse  
3.4 Bng thc thAdvCourse  
3.5 Bng quan hTeaching  
3.6 Bng thc thGradStudent  
3.7 Bng quan hEnrolling  
DANH SÁCH CÁC HÌNH  
1.1 Kiến trúc hlogic mô tả  
trang 16  
trang 18  
trang 20  
trang 23  
trang 30  
trang 37  
trang 39  
trang 49  
trang 52  
trang 59  
trang 65  
trang 67  
1.2 TBox vi các khái nim vquan hgia đình  
1.3 Khai trin TBox quan hgia đình trong Hình 1.2  
1.4 Bkhng định (ABox)  
1.5 ABox Aoe vcâu truyn Oedipus  
1.6 Lut biến đổi ca thut toán tableau gii bài toán thoả  
1.7 Ví dchng minh Mother v Parent  
2.1 Lược đồ ER  
2.2 Môt mô hình hướng đối tượng  
3.1 TBox chuyn đổi tlược đồ ER trong Hình 2.1  
3.2 Cơ stri thc ALCQI tương ng vi lược đồ trong Hình 2.2  
3.3 Thtc chuyn dliu tbng vào ABox  
3.3 ABox nhn được tvic chuyn đổi dliu ca các thc thtrang 71  
4.1 Thtc htrmô ttrang 76  
-7-  
LI GII THIU  
Nghiên cu trong lĩnh vc biu din tri thc và suy din thường tp trung  
vào các phương pháp có khnăng mô t“thế gii” mc cao. Trong nhng  
năm gn đây, người ta thường nhc ti “logic mô t” (Description logic) như  
là mt phương pháp biu din tri thc hiu qu. Trong nhng ng dng cthể  
có sdng logic mô t, tri thc ca min ng dng được đặc tbng các khái  
nim và các mi quan h.  
Lĩnh vc ng dng ca logic mô tcũng rt đa dng, ngay tngày đầu,  
logic mô tả đã được xem như là nhng ngôn ngvi mc đích biu din tri  
thc và suy din, vì thế nó phù hp cho nhiu ng dng. Tuy nhiên nhng  
ng dng mang tính thương mi đến nay vn chưa thc sphbiến.  
Các ng dng ca logic mô tcó thkể đến như công nghphn mm,  
thiết lp cu hình, y hc, các hthng thư vin đin t, hthng thông tin  
web ngnghĩa, xlý ngôn ngtnhiên, qun trcơ sdliu...  
Mi quan hgia logic mô tvà cơ sdliu khá khăng khít. Thc tế,  
nhu cu xây dng các hthng mà va có khnăng biu din tri thc logic  
mô tvà qun trcơ sdliu là cn thiết. Các hqun trcơ sdliu gii  
quyết vn đề toàn vn dliu và qun trmt slượng ln dliu, trong khi  
đó hbiu din cơ stri thc logic mô tqun lý tri thc ni hàm. Hơn na,  
logic mô tcung cp mt khung chun mà được xem như rt gn gũi vi các  
ngôn ngữ được dùng để mô hình hoá dliu, như mô hình thc th- quan h.  
Logic mô ttương đương vi các công clp lun. Chng hn, bng vic sử  
dng tính nht quán khái nim ta có thxác nhn mt thc thcó ít nht mt  
thhin ngay ti thi đim thiết kế.  
Mt yếu tna tăng cường cho hqun trcơ sdliu bng logic mô tả  
là ngôn ngtruy vn. Bng vic biu din truy vn cơ sdliu trong logic  
-8-  
mô tngười ta có khnăng phân loi chúng, vì thế xlý kết qunhư thc  
hin và ti ưu hoá truy vn. Hơn na, logic mô tcó thể được dùng để biu  
din các ràng buc và các câu trli ni hàm.  
Trong thi gian qua em đã có điu kin được tiếp xúc, nghiên cu vlogic  
mô t. Tnhng nghiên cu này, nên trong lun văn em strình bày theo  
hướng nêu lên các vn đề cơ bn ca logic mô t, sơ lược vcác mô hình cơ  
sdliu phbiến, mi quan hgia cơ sdliu và logic mô t. Do vy,  
các ni dung ca lun văn này sẽ được trình bày như sau:  
Chương 1. Logic mô t: Đây là chương gii thiu vnhng ni dung cơ  
bn ca logic mô tnhư khái lược vlogic mô t, các ngôn ngca  
logic mô t, kiến trúc ca mt hcơ stri thc da trên logic mô t,  
các bài toán quyết định. Đồng thi gii thiu mt ngôn nglp trình  
logic Datalog.  
Chương 2. Sơ lược vcơ sdliu: Trong chương này em xin đề cp  
mt cách khái lược nht vhai mô hình cơ sdliu đó là mô hình dữ  
liu thc th- quan hvà mô hình dliu hướng đối tượng.  
Chương 3. Chuyn đổi cơ sdliu thành cơ stri thc ca logic mô  
t: Chương này sgii thiu phương pháp để biến đổi các lược đồ ca  
mô hình dliu thc th- liên kết cũng như mô hình hướng đối tượng  
thành bthut ng(TBox) ca logic mô t, đồng thi tho lun vvic  
chuyn đổi dliu ca cơ sdliu vào bkhng định (ABox) ca  
logic mô t.  
Chương 4. Truy vn: Chương này tho lun vtruy vn cơ stri thc, từ  
các thành phn cơ bn ca truy vn như truy vn nguyên tkhái nim, truy  
vn nguyên tvai trò đến các truy vn phc hp bng biu thc hi các thành  
phn khái nim và vai trò cơ s. Đồng thi cũng đưa ra thut toán nhm  
-9-  
chuyn đổi các câu truy vn xây dng theo cách thhin ca ngôn nglp  
trình logic Datalog sang biu din mô tkhái nim trong logic mô t.  
Trên đây là nhng phn chính sẽ được trình bày trong lun văn. Trên  
thc tế vn còn nhiu vn đề mtrong lý thuyết vlogic mô tng dng  
ca nó. Em hy vng mình sđiu kin để tiếp tc đi sâu hơn vào vic  
nghiên cu ng dng ca logic mô ttrong thi gian ti.  
Cui cùng, em xin được gi li cám ơn ca mình ti thy giáo hướng  
dn Tiến sTrn Đình Khang đã dìu dt, htrvà giúp đỡ em hoàn thành đề  
tài này. Phn trình bày ca em chc chn còn nhiu thiếu sót, em rt mong  
được sgóp ý ca thày để có thhoàn thin tt hơn đề tài.  
-10-  
Chương 1. LOGIC MÔ TẢ  
1.1. GII THIU  
“Logic mô t” là thut ngmi nht trong hbiu din tri thc (KR),  
trước khi cm t“logic mô t” phbiến như hin nay, người ta nói đến logic  
mô tdưới nhng cm tnhư “ngôn ngbiu din tri thc thut ng” hay  
“ngôn ngkhái nim”. Logic mô tả được ng dng rt hiu qutrong các hệ  
thng trí tunhân to, hthng biu din tri thc ngnghĩa. Các hthng này  
hot động da vào khnăng suy lun theo cách ca con người thường làm.  
Đó là phân lp các khái nim và các cá th. Vic phân lp các khái nim xác  
định mi quan h(mà người ta gi là quan hbao hàm) gia các khái nim  
ca các thut ngcho trước, và như vy cho phép người ta xây dng thut  
ngtheo dng cu trúc. Cu trúc này cung cp nhng thông tin hu ích trong  
kết ni gia các khái nim khác nhau và nó có thể được dùng để tăng tc các  
dch vlp lun khác. Vic phân lp các cá ththc cht là xác định cá thể  
cho trước có luôn luôn là mt thhin (instance) ca mt khái nim nào đó  
hay không. Vì vy nó cung cp nhng thông tin hu ích vtính cht ca cá  
th.  
Để biu din tri thc bng logic mô tcông vic trước tiên ta phi làm  
đó là xây dng các khái nim tcác khái nim nguyên t, các vai trò nguyên  
tvà bng các lut khái nim. Hthng khái nim mà ta có được gi là bộ  
thut ng(TBox). Đây là mt trong hai thành phn chính ca hcơ stri thc  
da vào logic mô t. Còn mt thành phn chính khác ca hcơ stri thc nêu  
trên là bkhng định (ABox). Bnày là tp hp các khng định thhin mi  
quan hgia khái nim vi cá thhay gia hai cá thvi nhau. Bên cnh vic  
biu din tri thc phn quan trng khác ca hlogic mô tlà cung cp các  
dch vsuy lun da trên tri thc đã được biu din. Phn ln các thtc suy  
-11-  
lun bng logic mô tlà các thtc quyết định vi các câu trli “đúng”  
hoc “sai”. Để xây dng mt hthng cơ stri thc da trên logic mô tả  
người ta đã đúc rút thành ba bước quan trng là:  
Xác định các khái nim nguyên t, các vai trò nguyên tvà các cá  
thban đầu;  
Sdng mt ngôn ngkhái nim để xây dng lên các khái nim  
phc hp;  
Sdng các thtc suy lun để rút ra nhng tri thc đúng đắn về  
các khái nim và các cá thnếu có th.  
Để chi tiết hơn, ta sln lượt tìm hiu tng vn đề trong logic mô t.  
Trước hết là các ngôn ngữ định nghĩa khái nim, tiếp theo là vcơ stri thc  
được xây dng bng logic mô tvà các thtc suy din cho các bài toán  
quyết định.  
1.2. NGÔN NGTHUC TÍNH AL  
Nhng khái nim phc tp trong logic mô tả được xây dng bng ngôn  
ngthuc tính AL (Attributive Language) hoc các ngôn ngmrng ca AL.  
Ta gi các ngôn ngnày là các “ngôn ngmô t”. Xut phát tnhng “mô tả  
cơ s” bng các lut xây dng khái nim mà ngôn ngmô thtrta hình  
thành nên các khái nim mi.  
Thành phn cơ bn ca ngôn ngmô tAL là các khái nim và các vai  
trò nguyên t. Các mô tphc tp được xây dng bng vic kết hp các thành  
phn cơ bn đó thông qua các bto (constructor). Người ta thường dùng ký  
tA và B để biu din các khái nim nguyên t, ký tR và P để biu din các  
vai trò, ký tC và D để biu din các khái nim phc hp.  
1.2.1. Ngôn ngmô tcơ bn AL  
-12-  
AL là ngôn ngcó lut cú pháp đơn gin nht. Nhng lut cú pháp ca ngôn  
ngmô tAL thhin như sau:  
C, D ! A |  
> |  
(Khái nim nguyên t)  
(Khái nim đỉnh)  
(Khái nim đáy)  
? |  
: |  
(Phủ định khái nim)  
(Giao khái nim)  
C u D |  
R.C |  
R.T |  
(Lượng tvi mi)  
(Lượng ttn ti)  
Bng 1.1: Cú pháp ca ngôn ngAL  
Ví d: Gista có các khái nim nguyên tPERSON và MALE thì  
PERSON u MALE và PERSON u :MALE  
là các mô tkhái nim. Ta thy rng các mô ttrên là “Người đàn ông” và  
“Người không phi là đàn ông”.  
Gista có mt vai trò nguyên thasChild biu thrng mt cá thcó con.  
Ta có thto ra các mô tkhái nim:  
PERSON u hasChild.>  
để biu din người có con  
và  
PERSON u hasChild.:MALE  
để biu din người có toàn con gái.  
Sdng khái nim đáy ta có thbiu din người không có con như sau:  
PERSON u hasChild.?  
1.2.2. Ngnghĩa ca các khái nim AL  
-13-  
Bên cnh vic xây dng các khái nim, ta cũng cn phi hiu tng khái  
nim được to ra. Ngnghĩa ca các khái nim trong logic mô tả được thể  
hin thông qua phép din dch.  
Định nghĩa 1 [8]: Mi din dch, ký hiu là I, là mt cp (4I, .I). Trong đó,  
min din dch 4I là mt tp không rng, còn .I là mt hàm dch. Hàm dch .I  
chuyn mi khái nim A thành mt tp AI µ 4I, chuyn mi vai trò R thành mt  
quan hRI µ 4I £ 4I.  
Hàm din dch được mrng cho khái nim phc hp như sau:  
> = 4I  
? =  
;
(:C)I = 4I\CI  
(C u D)I = CI DI  
(C t D)I = CI DI  
(R.C)I = {a 4I | b.(a,b) RI ! b CI}  
(R. >)I = {a 4I | b.(a,b) RI}  
Bng 1.2: Ngnghĩa ca logic mô tả  
Ta nói rng hai khái nim C và D là tương đương nhau, viết là C D  
nếu CI = DI vi mi din dch I.  
Ví d: Quay trli định nghĩa ngnghĩa ca các khái nim, ta ddàng thy  
rng hai mô tkhái nim:  
hasChild.Male u hasChild.Student hasChild.(Male u  
Student) là tương đương nhau.  
1.2.3. Hngôn nglogic mô tAL  
-14-  
Khi ta thêm các bto (constructor) vào ngôn ngAL cơ bn ta được  
mt ngôn ngAL mrng có khnăng biu din linh hot hơn. Các  
constructor đó bao gm:  
* Hp khái nim (ký hiu bng chU) được viết là C t D, và được din dch  
là:  
(C t D)I = CI DI.  
Ví d: mô tnhc công là nhc shoc nghs:  
Composer t Performer  
* Lượng ttn ti (ký hiu bng chE) viết là R.C, và được dch là:  
(R.C)I = {a 4I | b.(a,b) RI ^ b CI}  
* Gii hn slượng (ký hiu bng chN) được viết là ¸nR (gii hn nhnht)  
và là nR (gii hn ln nht), n là mt snguyên không âm. Nó được din  
dch như sau:  
(¸nR)I = {a 4I | |{b|{(a,b) RI}| n}  
và  
(·nR)I = {a 4I | |{b|{(a,b) RI}| · n}  
Ví d:  
Person u (1 hasChild t 3 hasChild)  
* Phủ định khái nim (ký hiu bng chC) viết là :C, din dch là:  
(:C)I = 4I\CI  
Ví d: ta có Female là bù ca Male: :Male  
Ngôn ngAL mrng là ngôn ngAL khi ta thêm vào  
mt  
hoc  
vài  
constructor va nêu. Ta đặt tên cho tng ngôn ngmrng bng cách thêm  
các ký t:  
AL[U][E][N][C]  
Ví dvmô tkhái nim bng AL mrng như sau:  
Person u (·1 hasChild t (3 hasChild u hasChild.Male)  
-15-  
Ví dnêu trên mô tkhái nim người có nhiu nht 1 con hoc ít nht 3 con  
đồng thi có con gái.  
Ngôn ngmrng ALU có thbiu din bng ALC thông qua dng phủ định vì:  
C t D và :(:D u : D) là tương đương nhau  
hoc ALE cũng có thbiu din bng ALC vì:  
R.C và :R.:C là tương đương nhau.  
Vì vy ta có thviết ALC thay vì viết ALUE và viết ALCN thay vì viết ALUEN.  
1.2.4. Ngôn ngmô tlà tp con ca logic vtbc nht  
Ngnghĩa ca các khái nim xác định ngôn ngmô tlà phân đon  
ca logic vtbc nht. Khi din dch I ln lượt áp vào tt ccác khái nim  
và vai trò nguyên tta được các vtkhông ngôi tcác khái nim và vthai  
ngôi tcác vai trò. Khái nim C bt kỳ được din dch vào công thc logic vị  
tφC(x) bng mt biến x:  
Mt khái nim nguyên tA được chuyn thành công thc A(x), các  
phép giao, hp, phủ định được din dch vào φC(x) và R là mt vai trò nguyên  
tthì các lượng ttn ti, vi mi được chuyn theo dng công thc:  
φ∃R.C(y) = x.R(y,x) ^ φC(x)  
φ∀R.C(y) = x.R(y,x) ! φC(x)  
ở đây y là mt biến mi; gii hn slượng được biu din theo công thc:  
φ¸nR(x) = y1,..., yn.R(x,y1) ^ ... ^R(x,yn) ^ yiyj  
^
i<j  
φ·nR(x) = y1,..., yn+1.R(x, y1) ^... ^R(x,yn) ! yi =  
yj  
_
i<j  
1.3. HCƠ STRI THC  
1.3.1. Kiến trúc hlogic mô tả  
-16-  
Như ta biết rng hlogic mô tlà các hthng thông tin có sdng  
logic mô tả để biu din tri thc. Các hnày sdng khnăng biu din  
mnh mca logic mô t, kết hp vi các thtc suy din để to nên tính linh  
hot ca chúng. Nhvào logic mô tngười ta thiết lp lên nhng hthng  
khái nim ca lĩnh vc ng dng.  
Mt hcơ stri thc được biu din bng logic mô tcha đựng hai  
thành phn chính. Thành phn thnht đó là “bthut ng” (TBox), nơi cha  
đựng các khái nim được xây dng bng ngôn ngmô t; thành phn thhai  
đó là “bkhng định” (ABox) là nơi cha các khng định hay nói cthhơn  
là các mô tvthế gii. Bên cnh đó, bng các dch vsuy lun ta có thể  
nhn được nhng tri thc đúng đắn. Hình 1.1 minh hokiến trúc chung ca  
hlogic mô t.  
TBox  
Ngôn ngmô tả  
Suy din  
ABox  
KB  
Chương trình  
ng dng  
Lut  
Hình 1.1: Kiến trúc hlogic mô tả  
1.3.2. Bthut ng(TBox)  
Bthut ng(TBox) được sdng để lưu các thut ng. Đó là các khái  
nim phc được định nghĩa thông qua các khái nim và các vai trò nguyên tố  
da trên các constructor ca ngôn ngAL mà hthng sdng.  
1.3.2.1. Tiên đề thut ngữ  
Trường hp thông dng nht tiên đề thut ngcó dng:  
C v D ( R v S) hoc C ´ D ( R ´ S).  
-17-  
Trong đó C, D là các khái nim; R,S là các vai trò. Tiên đề thnht (C v D  
(Rv S)) được gi là bao hàm; tiên đề thhai (C ´ D (R ´ S) được gi là tương  
đương.  
Ngnghĩa ca các tiên đề được xác định như sau: Mt din dch I thoả  
mãn mt bao hàm C v D nếu CI µ DI, và nó thomãn mt tương đương C ´ D  
nếu CI = DI. Nếu T là mt tp các tiêu đề thì I thomãn T khi và chkhi I thoả  
mãn tng thành phn ca T. Nếu I thomãn mt tiên đề thì ta nói rng nó là  
mô hình ca tiên đề này. Hai tiên đề hoc hai tp tiên đề là tương đương nếu  
chúng có cùng mô hình.  
1.3.2.2. Định nghĩa khái nim  
Mt tương đương mà vế bên trái là mt khái nim nguyên t, là mt  
định nghĩa khái nim. Định nghĩa khái nim dùng mt tên tượng trưng để mô  
tmt khái nim phc tp.  
Ví d:  
Mother ´ Woman u hasChild.Person  
Father ´ Man u hasChild.Person  
Ta ngý mô tả ở vế bên phi người đàn bà (đàn ông) có con bng tên là  
Mother và Father.  
Các tên tượng trưng có thể đượng coi như là srút gn trong các mô tkhác.  
Thai ví dtrên ta có thể định nghĩa Parent là:  
Parent ´ Mother t Father.  
Tp các định nghĩa phi rõ ràng. Ta gi tp hu hn các định nghĩa T là TBox  
nếu không có tên tượng trưng nào được định nghĩa nhiu hơn mt ln.  
Ví d:  
Woman  
´
Person u Female  
-18-  
Man  
Mother  
´
´
´
´
´
Person u : Woman  
Woman u hasChild.Person  
Man u hasChild.Person  
Father t Mother  
Father  
Parent  
Grandmother  
Mother u hasChild.Parent  
MotherWithManyChildren ´ Mother u 3 Children  
MotherWithoutDaughter ´ Mother u hasChild.:Woman  
Wife Woman u hasHusband.Man.  
´
Hình 1.2: TBox vi các khái nim vquan hgia đình  
GisT là mt thut ng. Ta chia các khái nim nguyên txut hin  
trong T thành hai tp: tp tên NT xut hin bên trái ca các tiên đề, và tp cơ  
sBT xut hin bên phi ca các tiên đề. Tp tên NT được gi là các khái nim  
được định nghĩa, tp cơ sBT gi là các khái nim nguyên thu.  
Mt din dch cơ sở đối vi T là mt din dch chdch các khái nim  
cơ s. Cho J là mt din dch cơ s, mt din dch I mà dch ccác khái nim  
được định nghĩa là mt mrng ca J nếu nó có cùng min là J, có nghĩa là 4I  
= 4J.  
Ta nói rng J không nhp nhng nếu tt ccác din dch cơ scó chính  
xác mt mrng là mô hình ca J. Nói cách khác, nếu ta biết tp cơ snói về  
cái gì và T không nhp nhng thì nghĩa ca khái nim được định nghĩa (tên)  
hoàn toàn xác định. Rõ ràng, nếu mt thut nglà không nhp nhng, thì cả  
các thut ngtương đương cũng không nhp nhng.  
Câu hi đặt ra là mt thut ngcó nhp nhng hay không? ví dthut ngữ  
cha tiên đề sau:  
Human’ ´ Animal u hasParent.Human’  
-19-  
Ví dtrên bao gm mt chu trình. Thông thường, chúng ta định nghĩa trong  
thut ngT như sau: Cho A, B là các khái nim nguyên txut hin trong T. Ta  
nói rng A sdng trc tiếp B trong T nếu B xut hin bên phi thut ngca  
A, T cha chu trình khi và chkhi tn ti mt khái nim nguyên ttrong T mà  
sdng li chính khái nim đó. Ngược li ta gi thut ngữ đó là không có chu  
trình.  
-20-  
1.3.2.3. Mrng bthut ngữ  
Nếu mt thut ngT không có chu trình thì nó xác định. Ta có thmở  
rng các định nghĩa trong T thông qua vic thay thế các khái nim được định  
nghĩa xut hin bên phi ca các tiên đề bng các mô tto ra chúng. Mc  
đích ca vic mrng là nhm đạt được bthut ngT vi hai tính cht sau:  
Mi thut ngữ đều dng định nghĩa khái nim;  
Vế trái ca mi thut nglà mt tên tượng trưng, còn vế phi chỉ  
cha các khái nim nguyên thu.  
Ví d:  
TBox hình 1.2 là không có chu trình. Ta có thmrng như sau:  
Woman  
Man  
´
´
´
´
´
Person u Female  
Person u :(Person u Female)  
Mother  
Father  
Parent  
(Person u Female) u hasChild.Person  
(Person u :(Person u Female)) u hasChild.Person  
((Person u :(Person u Female)) u hasChild.Person) t  
((Person u Female) u hasChild.Person)  
((Person u Female) u hasChild.Person)  
u hasChild.( ((Person u :(Person u Female))  
u hasChild.Person) t ((Personu Female) u  
hasChild.Person)  
Grandmother  
´
MotherWithManyChildren ´ ((Person u Female) u hasChild.Person) u 3  
Children  
MotherWithoutDaughter ´ ((Person u Female) u hasChild.Person)  
u hasChild.(:(Person u Female))  
-21-  
Wife  
´
(Person u Female)  
u hasHusband.(Person u :(Person u Female))  
Hình 1.3: Khai trin TBox quan hgia đình trong Hình 1.2  
Mnh đề 1.1. [8] Gi T là mt bthut ngkhông cha chu trình và T' là bộ  
thut ngmrng ca nó, khi đó:  
* T T ' có cùng các tên định nghĩa (symbol tên) và khái nim cơ sở  
(Symbol cơ s);  
* T T ' tương đương nhau;  
* CT T ' đều xác định.  
Chng minh: Cho T1 là mt thut ng. GisA ´ C và B ´ D là các định  
nghĩa trong T1 để B xut hin trong C. Cho C’ là mt khái nim thu được bng  
vic thay thế các skin ca B trong C bng D, cho T2 là thut ngthu được  
bng vic thay thế định nghĩa C ´ D vi A ´ C’ trong T1, khi đó chai thut  
ngcó cùng symbol tên và symbol cơ s. Hơn na thu được J2 bng vic thay  
thế tương đương J1, vy chai thut ngcó cùng mô hình, khi đó ta thu được  
T' tT thông qua vic thay thế nói trên.  
GisJ là mt din dch ca các symbol cơ s. Ta mrng J thành mt din  
dch I tác động lên symbol tên theo cách thiết lp AI ´ C’J, nếu A ´ C’ là định  
nghĩa ca A trong T'. Rõ ràng, I là mt mô hình ca T' đồng thi cũng là mở  
rng ca J. Điu đó có nghĩa là T được xác định. Hơn na, T hoàn toàn xác  
định khi đó T tương đương T '.  
Tt nhiên cũng có các thut ngcó chu trình mà vn xác định. Ví d:  
A ´ R.B t R.(A u :A)  
Tuy nhiên, R.(A u :A) tương đương vi khái nim đáy nên ví dtrên tương  
đương vi tiên đề không có chu trình:  
A ´ R.B  
-22-  
1.3.2.4. Đệ quy  
Gista mun mô tkhái nim vngười đàn ông chcó con cháu trai  
(Man who has only male offspring) viết ngn gn là MOMO. Trường hp đặc  
bit ông ta chcó con trai (Man who has only son) viết tt là MOS. MOS  
được định nghĩa không có chu trình như sau:  
MOS = Man u hasChild.Man  
Còn đây là định nghĩa đệ quy khái nim người đàn ông chcó con cháu trai:  
MOMO ´ Man u hasChild.MOMO  
Chu trình xut hin khi ta mun mô hình hoá cu trúc đệ quy như trên.  
Ta xem xét tiếp ví dụ đệ quy trong biu din cây nhphân: Giscó tp các  
đối tượng là các cây (Tree) và các quan hnhphân có cây con (hasBranch)  
gia các đối tượng liên quan gia mt cây và cây con ta có:  
BinaryTree ´ Tree u · 2 hasBranch u hasBranch.BinaryTree.  
1.3.2.5. Thut ngvi các tiên đề bao hàm  
Có nhiu khái nim mà chúng ta không thể định nghĩa chúng mt cách  
hoàn thin. Trong trường hp như vy, ta vn có thbiu din các trng thái  
cn thiết bng vic sdng bao hàm. Ta còn gi bao hàm là tng quát hoá.  
Ví d: Nếu mt người xây dng tri thc nghĩ rng định nghĩa “Woman” trong  
ví dụ ở Hình 1.2 là không thoả đáng (Woman ´ Person u Female), nhưng anh  
ta cũng cm thy rng không thể định nghĩa khái nim “Woman” mt cách  
chi tiết hơn, anh ta có thquy định rng tt cphntrên đời này là người  
bng stng quát hoá:  
Woman v Person  
Mt tp tiên đề T là mt thut ngữ được tng quát hoá nếu vế bên trái ca nó  
là mt khái nim nguyên tvà vi tt ccác khái nim nguyên tthì có nhiu  
nht mt tiên đề xut hin bên trái.  
-23-  
Ta schuyn thut ngbtng quát hoá T sang thut ngthường T  
chcha các định nghĩa để T tương đương vi T theo nghĩa sau: Ta thu  
được T tT bng cách la chn symbol cơ sA cho tt ccác phép  
chuyên bit hoá A v C trong T , và bng vic thay thế chuyên bit hoá A v C  
bng định nghĩa A ´ A u C. Thut ngT là chun hoá ca T.  
Nếu mt TBox cha chuyên bit hoá như ví d: Woman v Person, thì  
chun hoá cha định nghĩa là  
Woman ´ Woman u Person.  
Mnh đề 1.2. [8] Cho T là mt thut ngkhái quát hoá và T là chun hoá  
ca T, khi đó:  
* Tt cmô hình caT là mô hình ca T  
* Đối vi tt cmô hình I ca T có mt mô hình I ca T mà có cùng  
min như I, khp vi I vcác khái nim và vai trò nguyên ttrong T.  
1.3.3. Bkhng định (ABox)  
Ngoài bthut ngTBox va trình bày, thành phn thhai ca cơ sở  
tri thc là bkhng định ABox. Bng bkhng định người ta biu din các cá  
th. Ta ký hiu các cá thlà nhng ký ta, b, c. Dùng các khái nim C, D và  
vai trò R ta có thto ra các khng định theo hai loi ABox là:  
C(a),  
R(b,c)  
Loi thnht C(a) được gi là khng định khái nim; loi thhai  
R(b,c) được gi là khng định vai trò.  
Khng định khái nim cho biết mt cá ththuc vào khái nim nào, còn  
khng định vai trò thhin mi quan hgia hai cá th(c gi là Filler ca vai  
trò R đối vi b).  
Ví d: Nếu ta có PETER, PAUL, MARY, HARRY là tên các cá thvà ta có  
ABox sau:  
MotherWithoutDaughter (MARY)  
-24-  
Father (PETER)  
hasChild (MARY, PETER)  
hasChild (PETER, HARRY)  
hasChild (MARY, PAUL)  
Hình 1.4: Bkhng định (ABox)  
ABox trong hình 4 biu din rng: MARY là mt người mkhông có con gái,  
PETER là mt người cha, MARY có các con là PETER và PAUL, PETER có  
con là HARRY.  
Xem xét mt cách đơn gin ta thy, ABox có thxem như mt minh dụ  
(instance) ca cơ sdliu quan hvi các quan hchlà mt ngôi hoc hai  
ngôi.  
Ta xác định nghĩa ca ABox bng vic mrng các din dch đến tên  
cá th. tgitrở đi, mt din dch I = (4I, .I ) không chánh xcác khái nim và  
vai trò nguyên t, mà còn ánh xtng tên cá tha vào phn taI 4I. Gisử  
rng tên các cá thlà khác nhau và biu din các đối tượng khác nhau, thì  
phép ánh xnày ánh xgiả định tên duy nht (UNA). Nếu a, b là tên khác  
nhau thì aI bI. Din dch I thomãn khng định khái nim C(a) nếu aI CI,  
và thomãn khng định vai trò R(a,b) nếu (aI, bI) RI.  
Mt din dch thomãn ABox A nếu nó thomãn tng khái nim trong  
A. Trong trường hp như vy ta nói rng I là mô hình ca bkhng định  
ABox.  
Khi I thomãn mt khng định / hoc mt ABox A đối vi TBox T, nếu  
nó là mô hình ca / hay ca A thì nó là mô hình ca T.  
Như vy, mt mô hình ca A T là mt tru tượng ca thế gii cth, ở đó  
các khái nim được din dch thành các tp con ca min xác định bi TBox.  
-25-  
1.3.4. Cá thể  
Đôi khi, các cá thkhông nhng được dùng trong ABox mà còn trong  
ngôn ngmô t, vì vy người ta đưa ra các bto khái nim (constructor)  
dùng các cá thxut hin trong hthng. Mt trong nhng constructor cơ bn  
đó là “tp hp”, viết là:  
{a1,..., an}  
trong đó a1,..., an là tên các cá th. Tp cá thể được din dch là:  
{ a1,..., an}I = {a1 , ... , an }.  
Ví d, bng tp hp trong ngôn ngmô tta có thể định nghĩa khái nim các  
thành viên thường trc hi đồng bo an liên hip quc là {CHINA, FRANCE,  
RUSSIA, UK, USA}.  
I
I
Tdin dch trên ta thu được các khái nim {a1,..., an} và {a1}t ...t {an}  
là tương đương nhau.  
Mt contructor khác xlý tên cá thể đó là constructor “fill” cho các vai  
trò, viết là:  
R : a,  
Ngnghĩa ca constructor này được định nghĩa là:  
(R : a)I = {d 4I | (d, aI) RI},  
nghĩa là R : a đại din cho tp các đối tượng mà a là Filler ca vai trò R.  
Tcông thc trên ta thy rng, nếu vi tp hp đơn thì R : a và R.{a} là  
tương đương.  
Lưu ý rng “fill” cho phép ta biu din các khng định vai trò thông  
qua các khng định khái nim: mt din dch thomãn R(a,b) khi và chkhi  
nó thomãn (R.{b})(a).  
-26-  
1.3.5. Suy lun  
Hbiu din tri thc da trên logic mô tcó ththc hin các dng suy  
lun đặc bit. Như đã trình bày, hcơ stri thc bao gm TBox và ABox có  
ngnghĩa tương đương vi tp hp các tiên đề trong logic vtbc nht. Như  
vy, ging như bt ktp hp tiên đề nào khác, nó cũng cha tri thc tim n  
mà bng suy lun có thlàm cho nó rõ ràng. Ví d, tTBox trong Hình 1.2  
và ABox trong hình 1.4 người ta có thkết lun rng Mary là người bà, mc  
dù tri thc này không được biu din rõ ràng như mt khng định.  
Dng suy lun khác được thc hin bng hthng logic mô tả được  
định nghĩa như các lp lun logic. Sau đây ta stho lun các lp lun này,  
trước hết lp lun đối vi các khái nim, sau đó đối vi TBox và ABox, cui  
cùng lp lun đồng thi trên TBox và ABox.  
1.3.5.1. Lp lun đối vi khái nim  
Khi mô hình mt min ng dng, ta xây dng TBox gi là T bng cách  
định nghĩa các khái nim mi, kim tra “bài toán tho” ca các khái nim đó  
được coi là suy lun mu cht. Mt ssuy lun quan trng khác có thrút  
gn v“bài toán tho”. Chng hn để xác định mô hình là đúng hoc để ti ưu  
hoá câu hi được thiết lp là nhng khái nim, ta cn biết khái nim nào bao  
quát hơn khái nim nào, ta gi đó là “bài toán bao hàm”. Mt khái nim C  
được bao hàm bi khái nim D nếu trong tt ccác mô hình ca T có tp ký  
hiu bi C là mt tp con ca tp ký hiu bi D. Tiếp đến ta quan tâm đến  
mi quan hgia các khái nim là “bài toán tương đương” và “bài toán không  
giao”. Các bài toán này được định nghĩa mt cách hình thc như sau:  
Cho T là mt TBox:  
Bài toán tho: Mt khái nim C là thomãn theo T nếu như tn ti mt  
mô hình I ca T mà CI ;. Ta cũng nói rng khi đó I là mô hình ca C.  
-27-  
Bài toán bao hàm: Mt khái nim C bbao hàm bi khái nim D theo  
T, nếu CI µ DI vi mi mô hình I ca T. Khi đó ta ký hiu là C v T D hoc T  
j= C v D.  
Bài toán tương đương: Hai khái nim C và D là tương đương theo T  
nếu CI = DI vi mi mô hình I ca T . Khi đó ta ký hiu là C ´T D hoc T  
j= C ´ D.  
Bài toán không giao: Hai khái nim C và D là không giao nhau theo T  
nếu như CI \ DI = ; vi mi mô hình I ca T.  
Xét ví dtrong Hình 1.2, Person bao hàm Woman, cWoman và Parent  
bao hàm Mother, Mother bao hàm Grandmother. Hơn na, các cp Woman và  
Man, Father và Mother là không giao nhau.  
Mnh đề 1.3. [8] Chuyn vbài toán bao hàm  
Xét hai khái nim C và D:  
C không thomãn , C bbao hàm bi ?.  
C và D tương đương , C bbao hàm bi D đồng thi D bbao hàm bi  
C.  
C và D không giao nhau , C u D bbao hàm bi ?.  
Mnh đề 1.4. [8] Chuyn vbài toán không thoả  
Xét hai khái nim C và D:  
C bbao hàm bi D , C u :D là không thomãn.  
C và D là tương đương , c(C u :D) và (:C u D) là không thomãn.  
C và D không giao nhau , C u D là không thomãn.  
Mnh đề 1.5. [8] Xét hai khái nim C và D, các trường hp sau đây là tương  
đương nhau:  
C không thomãn;  
C bbao hàm bi ?;  
-28-  
C và ? là tương đương;  
C và > không giao nhau.  
1.3.5.2 Loi trTBox  
Vn đề tiếp theo trong suy lun là loi trTBox, vì scó mt ca bộ  
thut ngtrong các thtc suy din chlàm phc tp thêm cho các thtc  
này. Người ta loi bỏ ảnh hưởng ca TBox trong các bài toán quyết định bng  
cách sdng TBox mrng. Vì như ta đã biết, mrng ca TBox chcha  
các tiên đề khái nim vi vế trái là các khái nim mi (các symbol tên), còn  
vế phi là các khái nim nguyên thuvà/hoc vai trò nguyên thu(các  
symbol cơ s). Như vy, vi mt khái nim C cho trước, thông qua mrng  
TBox, ta có được mt biu thc khái nim đầy đủ ca C chcha các khái  
nim và vai trò nguyên thu. Xét ví dtrong Hng 1.2, khái nim mrng  
ca Father slà:  
Person u :(Person u Female) u hasChild.Person  
GisC’ là mrng ca C, ta có thddàng rút ra mt slp lun như sau:  
C ´T C’;  
C là thomãn theo T khi và chkhi C’ thomãn;  
Nếu D là mt khái nim khác thì ta cũng có D ´T D’. Như vy, C vT D  
khi và chkhi C’ vT D’, và C ´T D khi và chchi C’ ´T D’. Khi mà C’ và  
D’ chcha các symbol cơ sthì:  
o T j= C v D khi và chkhi j= C’ v D’;  
o T j = C ´ D khi và chkhi j= C’ ´ D’.  
tương t, nếu C và D không giao nhau khi và chkhi C’ và D’ không  
giao nhau.  
Tóm li, mrng khái nim đối vi mt TBox không có chu trình cho  
phép ta loi trTBox trong vn đề suy lun.  
-29-  
Ta xét ví d:  
Để xác nhn rng Man và Woman không giao nhau theo TBox Family,  
thì ta phi kim tra Man u Woman là không thomãn. Bng vic mrng  
khái nim ta có:  
Person u Female u Person u :(Person u Female)  
và ta ddàng thy rng khái nim trên là không thomãn. Vì vy Man và  
Woman không giao nhau theo TBox Family.  
1.3.5.3. Lp lun đối vi ABox  
Ta nói rng ABox cha hai dng khng định: khng định khái nim có  
dng C(a) và khng định vai trò R(b,c). Tuy nhiên biu din tri thc phi hp  
l, bi vì nếu không thì tquan đim logic người ta có thvra kết qubt  
k. Chng hn, ABox cha các khng định Mother(MARY) và  
Father(MARY), hthng có thcho rng trong TBox quan hgia đình,  
nhng câu lnh trên là hp l.  
Theo ngnghĩa lý thuyết ca mô hình chúng ta ddàng đưa ra định  
nghĩa hình thc vshp l. Mt ABox A là hp lệ đối vi TBox T , nếu có  
mt din dch là mô hình ca cA T. Chúng ta nói mt cách đơn gin rng A  
là hp lnếu nó hp lệ đối vi TBox rng.  
Ví d, tp các khng định {Mother(MARY), Father(MARY)} là hp lệ  
đối vi TBox rng, bi vì không có ràng buc nào trên din dch Mother và  
Father, hai khái nim có thể được din dch trong cùng cách là chúng có cùng  
thành phn chung. Tuy nhiên, các khng định là không hp lệ đối vi TBox  
quan hgia đình, khi mà trong mô hình ca nó khái nim Mother và Father  
được din dch là không giao nhau.  
Tương tnhư đối vi khái nim, vic kim tra tính hp lca ABox  
đối vi TBox không có chu trình có thquy vvic kim tra mt ABox mở  

Tải về để xem bản đầy đủ

pdf 84 trang yennguyen 14/04/2025 90
Bạn đang xem 30 trang mẫu của tài liệu "Luận văn Logic mô tả và ứng dụng trong cơ sở dữ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfluan_van_logic_mo_ta_va_ung_dung_trong_co_so_du_lieu.pdf