MỞ ĐẦU Lý do chọn đề tài Trong lĩnh vực lý thuyết cơ sở dữ liệu (CSDL), mô hình quan hệ do E.F.Codd đưa ra năm 1970 đã được phát triển rất nhanh chóng và mạnh mẽ. Đặc tính tiêu biểu của hệ CSDL quan hệ là có thể truy vấn hay cập nhật dữ liệu. Tuy nhiên, CSDL quan hệ có sự hữu dụng lớn nhưng khả năng biểu diễn của CSDL quan hệ bị hạn chế trong việc xử lý suy diễn và xử lý thông tin không đầy đủ. Chính vì điều này đã dẫn đến nhiều công trình nghiên cứu nhằm mở rộng CSDL quan hệ. Khái niệm về cơ sở dữ liệu suy diễn được nhiều nhà nghiên cứu đề cập theo hướng phát triển các kết quả mà Green đã đạt được vào năm 1969 về các hệ thống câu hỏi - trả lời. Xuất phát từ quan điểm lý thuyết, các cơ sở dữ liệu suy diễn có thể được coi như các chương trình logic với sự khái quát hóa khái niệm về cơ sở dữ liệu quan hệ. Nói cách khác, ta có thể khái niệm CSDL suy diễn như sau: Cơ sở dữ liệu suy diễn là cơ sở dữ liệu có khả năng suy diễn ra một số trực kiện mới từ những trực kiện được lưu trữ trong CSDL, nó gồm hai thành phần: cơ sở dữ liệu ngoại diên và CSDL nội hàm (CSDL ngoại diên là một CSDL quan hệ tiêu chuẩn, có lược đồ gồm một tập các lược đồ quan hệ. CSDL nội hàm được xác định bởi một tập các lược đồ quan hệ và một chương trình Dat alog định nghĩa các quan hệ đó.) Đối với các nhu cầu thực hành, các cơ sở dữ liệu suy diễn xử lý các câu không phức tạp như các câu trong các hệ thống lập trình logic. Số các quy tắc, tức là các câu với các điều kiện không rỗng trong cơ sở dữ liệu suy diễn nhỏ hơn số các trực kiện, tức là các mệnh đề với điều kiện rỗng. Một khía cạnh khác nhau nữa giữa cơ sở dữ liệu suy diễn và lập trình logic là các hệ thống lập trình logic nhấn mạnh các chức năng, trong khi cơ sở dữ liệu suy diễn nhấn mạnh tính hiệu quả. Cơ chế suy diễn trong cơ sở dữ liệu suy diễn để tính toán trả lời không được tổng quát như trong lập trình logic. Cơ sở dữ liệu suy diễn là sản phẩm tự nhiên của lập trình logic, trong đó logic toán đượ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 cơ sở dữ liệu suy diễn được ứng dụng nhiều trong các hệ hỗ trợ quyết định, hệ chuyên gia, phân tích tài chính, phân tích ngôn ngữ, cú pháp … Cùng với các kỹ thuật phát triển cơ sở dữ liệu quan hệ, điều cơ bản này trong logic có nghĩa là cơ sở dữ liệu suy diễn có khả năng lưu một lượng lớn thông tin cũng như việc thực hiện suy diễn trên các thông tin đó. Phần mềm DES (Datalog Educational System - DES) được xây dựng phục vụ cho công tác giảng dạy Datalog, là phần mềm mã nguồn mở, miễn phí, thích hợp với nhiều nền tảng, được thực hiện dựa trên Prolog của một hệ thống cơ sở dữ liệu suy diễn căn bản, nó thích ứng với ngôn ngữ Datalog và ngôn ngữ hỏi SQL. Phần mềm DES ra mắt phiên bản đầu tiên (DES 1.0) năm 2003, được Fernando Sáenz–Pérez phát triển qua nhiều năm và đã cho ra đời rất nhiều phiên bản. Với các mô hình CSDL hiện tại như: mô hình CSDL hướng đối tượng, mô hình CSDL quan hệ, mô hình CSDL phân tán, mô hình CSDL suy diễn… Để mô phỏng các mô hình CSDL nêu trên phải sử dụng công cụ hỗ trợ, công cụ đang được quan tâm hiện nay là phần mềm DES, phần mềm được xây dựng để giải quyết các bài toán về CSDL suy diễn. Do vậy luận văn đã chọn đề tài “Nghiên cứu cơ sở dữ liệu suy diễn với phần mềm DES và ứng dụng” để giải quyết các vấn đề đặt ra. Mục tiêu nghiên cứu - Nghiên cứu về ngữ nghĩa của chương trình logic; - Nghiên cứu phần mềm DES; - Phân tích, đánh giá và thử nghiệm với phần mềm DES cho các bài toán ứng dụng.
B GIO DC V O TO I HC HU TRNG I HC KHOA HC NGUYN TH THU THO Nghiên cứu sở liệu suy diễn với phần mềm DES ứng dụng CHUYấN NGNH: KHOA HC MY TNH M S: 60.48.01.01 LUN VN THC S KHOA HC MY TNH Hu, 2015 MC LC Trang ph bỡa Li cam oan Li cm n Mc lc Danh mc cỏc ch vit tt Danh mc cỏc hỡnh v M U Chng TNG QUAN V C S D LIU SUY DIN 1.1 Gii thiu chung 1.2 C s d liu suy din 1.2.1 S hỡnh thnh ca c s d liu suy din 1.2.2 Cỏc thnh phn chớnh ca c s d liu suy din 1.2.3 Mụ hỡnh c s d liu suy din 1.3 Chng trỡnh logic 10 1.3.1 Ngụn ng logic bc nht 10 1.3.2 Ng ngha ca chng trỡnh logic 14 1.3.3 Chng trỡnh logic phõn tng 16 1.4 Chng trỡnh Datalog 18 1.4.1 Chng trỡnh Datalog 18 1.4.2 Biu din c s d liu suy din Datalog 22 1.4.3 Biu din khung nhỡn c s d liu suy din 26 1.5 Ngụn ng Prolog 27 1.5.1 Gii thiu 27 1.5.2 Cỳ phỏp 28 1.5.3 Cỏc yu t c bn ca Turbo Prolog 31 1.6 Kt lun chng 32 Chng H THNG DES TRONG GING DY DATALOG 33 2.1 Gii thiu v h thng DES 33 2.1.1 Ci t DES 3.8 33 2.1.2 Phõn phi ti nguyờn 34 2.1.3 Phõn phi thc thi 35 2.2 Cu trỳc h thng 36 2.2.1 Phõn phi thc thi 36 2.2.2 Phõn phi ti nguyờn 36 2.2.3 Khi to 37 2.3 Ngụn ng truy 39 2.3.1 Ngụn ng Datalog 39 2.3.2 Ngụn ng SQL 45 2.4 S khỏc bit gia ngụn ng Datalog vi ngụn ng SQL 55 2.5 Kt lun chng 55 Chng TH NGHIM VI H THNG DES 56 3.1 Bi toỏn tỡm ng i 56 3.1.1 Tỡm ng i dựng c s d liu suy din 56 3.1.2 Biu din cỏc trc kin v cỏc quy tc dựng c s d liu suy din 56 3.1.3 H thng tỡm ng i 57 3.1.4 Gii bi toỏn trờn h thng DES 3.8 61 3.2 Bi toỏn cõy ph h 65 3.2.1 Mụ t bi toỏn 65 3.2.2 Miờu t h thng 66 3.2.3 Gii bi toỏn trờn h thng DES 3.8 69 3.3 Nhn xột 73 3.4 Kt lun chng 73 KT LUN 74 TI LIU THAM KHO 75 DANH MC CC CH VIT TT CSDL C s d liu DES Datalog Education System DR Deductive Rules SQH i s quan h EDB Extensional Database FF Finite Failure F Facts IC Integrity Constraints ID Identification IDB Intensional Database QTCSDL Qun tr c s d liu RA Relational Algebra SLD Selective Linear resolution for Definite clauses SQL Structured Query Language DANH MC CC HèNH V S hiu hỡnh v Tờn hỡnh v Trang 1.1 S hỡnh thnh c s d liu suy din 1.2 Cõy chng minh trc kin p(a,d) 16 1.3 th ph thuc ca chng trỡnh logic P 17 1.4 th khụng cú chu trỡnh 21 1.5 th cú chu trỡnh 21 1.6 Cõy ph h 29 1.7 Cõy hp gii mi quan h gia ỡnh 31 2.1 Giao din des.win 35 2.2 Ca s giao din deswin.exe 36 2.3 Phộp ni trỏi 53 2.4 Phộp ni phi 54 2.5 Phộp ni t nhiờn 54 3.1 Cỏc ng i th 56 3.2 Miờu t h thng tỡm ng i 57 3.3 Cõy tỡm kim OLD 58 3.4 Quỏ trỡnh tỡm kim ln th i vi path(a,X) 58 3.5 Quỏ trỡnh tỡm kim ln th i vi path(a,X) 59 3.6 Quỏ trỡnh tỡm kim ln th i vi path(a,X) 59 3.7 Hon tt quỏ trỡnh tỡm kim i vi path(a,X) 60 3.8 Quỏ trỡnh tỡm kim ln th i vi path(b,X) 60 3.9 Quỏ trỡnh tỡm kim ln th i vi path(b,X) 60 3.10 Quỏ trỡnh tỡm kim ln th i vi path(b,X) 61 3.11 Hon tt quỏ trỡnh tỡm kim i vi path(b,X) 61 3.12 Kt qu thc thi tin paths.dl 62 3.13 Kt qu thc thi truy path(a,X) v path(b,X) 63 3.14 Kt qu thc thi truy path(X,Y) 64 3.15 Kt qu thc thi cõu lnh SQL (paths.sql) 65 3.16 Cõy ph h 66 3.17 Cõy hp gii mi quan h gia ỡnh ln th 67 3.18 Cõy hp gii mi quan h gia ỡnh ln th 67 3.19 Cõy hp gii mi quan h gia ỡnh ln th 68 3.20 Hon tt cõy hp gii mi quan h gia ỡnh 68 3.21 Kt qu thc thi tin family.dl 70 3.22 Kt qu thc thi truy ancestor('Minh',X) 70 3.23 Kt qu thc thi khung nhỡn son(S,F,M) 71 3.24 Kt qu thc thi cõu lnh SQL (family.sql) 72 M U Lý chn ti Trong lnh vc lý thuyt c s d liu (CSDL), mụ hỡnh quan h E.F.Codd a nm 1970 ó c phỏt trin rt nhanh chúng v mnh m c tớnh tiờu biu ca h CSDL quan h l cú th truy hay cp nht d liu Tuy nhiờn, CSDL quan h cú s hu dng ln nhng kh nng biu din ca CSDL quan h b hn ch vic x lý suy din v x lý thụng tin khụng y Chớnh vỡ iu ny ó dn n nhiu cụng trỡnh nghiờn cu nhm m rng CSDL quan h Khỏi nim v c s d liu suy din c nhiu nh nghiờn cu cp theo hng phỏt trin cỏc kt qu m Green ó t c vo nm 1969 v cỏc h thng cõu hi - tr li Xut phỏt t quan im lý thuyt, cỏc c s d liu suy din cú th c coi nh cỏc chng trỡnh logic vi s khỏi quỏt húa khỏi nim v c s d liu quan h Núi cỏch khỏc, ta cú th khỏi nim CSDL suy din nh sau: C s d liu suy din l c s d liu cú kh nng suy din mt s trc kin mi t nhng trc kin c lu tr CSDL, nú gm hai thnh phn: c s d liu ngoi diờn v CSDL ni hm (CSDL ngoi diờn l mt CSDL quan h tiờu chun, cú lc gm mt cỏc lc quan h CSDL ni hm c xỏc nh bi mt cỏc lc quan h v mt chng trỡnh Datalog nh ngha cỏc quan h ú.) i vi cỏc nhu cu thc hnh, cỏc c s d liu suy din x lý cỏc cõu khụng phc nh cỏc cõu cỏc h thng lp trỡnh logic S cỏc quy tc, tc l cỏc cõu vi cỏc iu kin khụng rng c s d liu suy din nh hn s cỏc trc kin, tc l cỏc mnh vi iu kin rng Mt khớa cnh khỏc na gia c s d liu suy din v lp trỡnh logic l cỏc h thng lp trỡnh logic nhn mnh cỏc chc nng, c s d liu suy din nhn mnh tớnh hiu qu C ch suy din c s d liu suy din tớnh toỏn tr li khụng c tng quỏt nh lp trỡnh logic C s d liu suy din l sn phm t nhiờn ca lp trỡnh logic, ú logic toỏn c s dng cho cỏc khỏi nim tớnh toỏn mụ hỡnh trc tip K thut c s d liu suy din c ng dng nhiu cỏc h h tr quyt nh, h chuyờn gia, phõn tớch ti chớnh, phõn tớch ngụn ng, cỳ phỏp Cựng vi cỏc k thut phỏt trin c s d liu quan h, iu c bn ny logic cú ngha l c s d liu suy din cú kh nng lu mt lng ln thụng tin cng nh vic thc hin suy din trờn cỏc thụng tin ú Phn mm DES (Datalog Educational System - DES) c xõy dng phc v cho cụng tỏc ging dy Datalog, l phn mm mó ngun m, phớ, thớch hp vi nhiu nn tng, c thc hin da trờn Prolog ca mt h thng c s d liu suy din cn bn, nú thớch ng vi ngụn ng Datalog v ngụn ng hi SQL Phn mm DES mt phiờn bn u tiờn (DES 1.0) nm 2003, c Fernando SỏenzPộrez phỏt trin qua nhiu nm v ó cho i rt nhiu phiờn bn Vi cỏc mụ hỡnh CSDL hin ti nh: mụ hỡnh CSDL hng i tng, mụ hỡnh CSDL quan h, mụ hỡnh CSDL phõn tỏn, mụ hỡnh CSDL suy din mụ phng cỏc mụ hỡnh CSDL nờu trờn phi s dng cụng c h tr, cụng c ang c quan tõm hin l phn mm DES, phn mm c xõy dng gii quyt cỏc bi toỏn v CSDL suy din Do vy lun ó chn ti Nghiờn cu c s d liu suy din vi phn mm DES v ng dng gii quyt cỏc t Mc tiờu nghiờn cu - Nghiờn cu v ng ngha ca chng trỡnh logic; - Nghiờn cu phn mm DES; - Phõn tớch, ỏnh giỏ v th nghim vi phn mm DES cho cỏc bi toỏn ng dng i tng v phm vi nghiờn cu - Chng trỡnh Datalog, ngụn ng Prolog; - Phn mm Giỏo dc Datalog (DES); - Bi toỏn ng dng Phng phỏp nghiờn cu - Thu thp, phõn tớch v tng hp ti liu, sỏch, cỏc bi bỏo v ngoi nc cú liờn quan n ti; - Phõn tớch cỳ phỏp, ngụn ng v th nghim trờn phn mm DES bng cỏc vớ d c th v mụ phng bi toỏn ng dng Cu trỳc ca lun Lun gm phn m u, ba chng ni dung, phn kt lun v ti liu tham kho Chng trỡnh by tng quan v c s d liu suy din, bao gm gii thiu v c s d liu suy din, chng trỡnh logic, chng trỡnh Datalog v ngụn ng Prolog Chng trỡnh by v h thng DES ging dy Datalog (Datalog Educational System - DES), bao gm phn gii thiu, cu trỳc h thng v i sõu vo hai ngụn ng truy Datalog v SQL Chng s th nghim vi h thng DES vi phn mụ t bi toỏn, ci t ng dng v ỏnh giỏ kt qu Phn cui l tng hp nhng kt qu t c cng nh hng phỏt trin ca lun Do thi gian cú hn v bn thõn ch mi bc u nghiờn cu v lnh vc ny nờn khụng th trỏnh nhng sai sút, kớnh mong s giỳp , úng gúp thờm ca quý thy, cụ v cỏc bn quan tõm 62 edge(b,d) path(X,Y) :- path(X,Z), edge(Z,Y) path(X,Y) :- edge(X,Y) Hỡnh 3.12 Kt qu thc thi tin paths.dl Truy path(a,X) v path(b,X) cho cỏc kt qu: DES> path(a,X) { path(a,a), path(a,b), path(a,c), path(a,d) } Info: tuples computed DES> path(b,X) { path(b,a), 63 path(b,b), path(b,c), path(b,d) } Info: tuples computed Hỡnh 3.13 Kt qu thc thi truy path(a,X) v path(b,X) Truy tng quỏt path(X,Y) cho cỏc kt qu: { path(a,a), path(a,b), path(a,c), path(a,d), path(b,a), path(b,b), path(b,c), path(b,d) } Info: tuples computed 64 Hỡnh 3.14 Kt qu thc thi truy path(X,Y) a cỏc trc kin v quy tc vo tin paths.sql cú cha on mó SQL nh sau: create table edge(origin string,destination string); insert into edge values('a','b'); insert into edge values('a','c'); insert into edge values('b','a'); insert into edge values('b','d'); create view paths(origin,destination) as with recursive path(origin,destination) as (select * from edge) union (select path.origin,edge.destination from path,edge where path.destination =edge.origin) select * from path; 65 Kt qu nhn c thc thi cõu lnh SQL: DES-SQL> select * from paths; answer(paths.origin, paths.destination) -> { answer(a,a), answer(a,b), answer(a,c), answer(a,d), answer(b,a), answer(b,b), answer(b,c), answer(b,d) } Info: tuples computed Hỡnh 3.15 Kt qu thc thi cõu lnh SQL (paths.sql) 3.2 Bi toỏn cõy ph h 3.2.1 Mụ t bi toỏn Bi toỏn nh ngha cõy ph h c biu din hỡnh 3.11 B d liu bao gm: 66 : parent l b m ca child (quan h parent); : ancestor l t tiờn ca descendant (quan h ancestor); : father l b ca child (quan h father); : mother l m ca child (quan h mother) Minh Thanh An Thu Long Duy Mai Loan Khoa Hỡnh 3.16 Cõy ph h 3.2.2 Miờu t h thng Dựng phng phỏp hp gii gii quyt tỡm cỏc chỏu ca Minh: ancestor(Minh,X) 67 Hỡnh 3.17 Cõy hp gii mi quan h gia ỡnh ln th Hỡnh 3.18 Cõy hp gii mi quan h gia ỡnh ln th 68 Hỡnh 3.19 Cõy hp gii mi quan h gia ỡnh ln th Hỡnh 3.20 Hon tt cõy hp gii mi quan h gia ỡnh 69 Qua hu hn cỏc bc hp gii, cui cựng cho kt qu cỏc chỏu ca Minh: (Minh,Thu), (Minh,Duy), (Minh,Khoa) 3.2.3 Gii bi toỏn trờn h thng DES 3.8 a cỏc trc kin v quy tc vo tin family.dl cú cha on mó Datalog nh sau: father('Minh','Thu') father('Thanh', 'Duy') father('Long', 'Loan') father('Duy', 'Khoa') mother('An', 'Thu') mother('Thu', 'Duy') mother('Mai', 'Loan') mother('Loan', 'Khoa') parent(X,Y) :- father(X,Y) parent(X,Y) :- mother(X,Y) ancestor(X,Y) :- parent(X,Y) ancestor(X,Y) :- parent(X,Z), ancestor(Z,Y) 70 Hỡnh 3.21 Kt qu thc thi tin family.dl Truy ancestor('Minh',X), tớnh cỏc chỏu ca Minh, cho cỏc cõu tr li sau õy: { ancestor('Minh', 'Duy'), ancestor('Minh', 'Khoa'), ancestor('Minh','Thu') } Info: tuples computed Hỡnh 3.22 Kt qu thc thi truy ancestor('Minh',X) Khung nhỡn son: son(S,F,M) :- father(F,S),mother(M,S) 71 Cõu tr li l tớnh cỏc ca son: Info: Processing: son(S,F,M) :- father(F,S),mother(M,S) { son('Duy','Thanh','Thu'), son('Khoa','Duy','Loan'), son('Loan','Long','Mai'), son('Thu','Minh','An') } Info: tuples computed Hỡnh 3.23 Kt qu thc thi khung nhỡn son(S,F,M) a cỏc trc kin v quy tc vo tin family.sql cú cha on mó SQL nh sau: create table father(father string,child string); insert into father values('Minh', 'Thu'); insert into father values('Thanh', 'Duy'); insert into father values('Long', 'Loan'); 72 insert into father values('Duy', 'Khoa'); insert into mother values('An','Thu'); insert into mother values('Thu','Duy'); insert into mother values('Mai','Loan'); insert into mother values('Loan','Khoa'); create view parent(parent,child) as select father, child from father union select mother, child from mother; create or replace view ancestor(ancestor,descendant) as select parent, child from parent union select parent, descendant from parent, ancestor where parent.child = ancestor.ancestor; Kt qu nhn c thc thi cõu lnh SQL: Select ancestor,descendant from ancestor where ancestor='Minh'; Hỡnh 3.24 Kt qu thc thi cõu lnh SQL (family.sql) 73 3.3 Nhn xột T cỏc quỏ trỡnh tỡm kim s dng phộp hp gii v th nghim trờn h thng DES thụng qua hai ngụn ng Datalog v SQL, cho ta thy cỏc kt qu cú c l ng nht vi nhng d kin ca bi toỏn ng dng 3.4 Kt lun chng Trong chng ny, lun ó trỡnh by c t ca bi toỏn, dựng Datalog v SQL biu din cỏc trc kin v cỏc quy tc cho cỏc bi toỏn, s dng phộp hp gii SLD gii quyt quỏ trỡnh tỡm kim Sau ú mụ phng cỏc bi toỏn ng dng h thng DES 3.8 74 KT LUN Qua thi gian hc v nghiờn cu, lun ó t c mt s yờu cu lnh vc nghiờn cu Nhng kt qu ca lun - Lun ó tỡm hiu c c s d liu suy din: s hỡnh thnh v nhng thnh phn ca c s d liu suy din; tỡm hiu chng trỡnh logic; chng trỡnh Datalog; ngụn ng Prolog - Tỡm hiu v h thng DES ging dy Datalog: Lun t tỡm hiu v lm nhng sau: Gii thiu h thng DES 3.8; cỏc thnh phn tri thc v quy tc h thng DES; tỡm hiu hai ngụn ng Datalog v SQL; gii bi toỏn trờn DES v ci t th nghim cỏc bi toỏn ng dng trờn DES 3.8 Phng hng nghiờn cu tip theo - Tip tc nghiờn cu ng dng bi toỏn tỡm ng i m rng nghiờn cu nhng bi toỏn tng t nh tỡm ng i mng mỏy tớnh - Tỡm hiu sõu v rng buc ton c s d liu suy din 75 TI LIU THAM KHO Ting Vit Lờ Mnh Thnh, Trng Cụng Tun (2011), Giỏo trỡnh Chng trỡnh Datalog, NXB i hc Hu Phan Huy Khỏnh (2004), Lp trỡnh Logic Prolog, NXB HQG H Ni Lờ Minh Hong (2002), chuyờn Lý thuyt th, HSP H Ni Ting Anh Fernaldo Sỏenz Pộrez, Datalog Educational System V3.8 Users Manual, Universidad Complutense de Madrid, 2014 Ulle Endriss, Lecture Notes An Introduction to Prolog Programming, University of Amsterdam, 2013 H Tamaki and T Sato, OLD Resolution with Tabulation, Proceedings of ICLP86, Lecture Notes on Computer Science 225, Springer-Verlag, 1986 http://des.sourceforge.net/ 76 1-34,37-52,55-61,66-69,73-75 td [...]... lượng dữ liệu! thông tin lớn! CƠ SỞ DỮ LIỆU SUY DIỄN Dữ liệu + Tri thức Hình 1.1 Sự hình thành cơ sở dữ liệu suy diễn 7 1.2.2 Các thành phần chính của cơ sở dữ liệu suy diễn Để thực hiện được các chức năng của một hệ cơ sở dữ liệu và một hệ chuyên gia như đã mô tả, một hệ cơ sở dữ liệu suy diễn có các thành phần sau: 1.2.2.1 Cơ sở dữ liệu ngoại diên (Extensional Database- EDB) EDB là một cơ sở dữ liệu. .. dữ liệu nội hàm (IDB) Một cơ sở dữ liệu suy diễn có thể được biểu diễn bởi một chương trình Datalog 1.2.2.4 Hệ quản trị cơ sở dữ liệu suy diễn Một hệ quản trị cơ sở dữ liệu suy diễn phải có tất cả các chức năng của một hệ quản trị cơ sở dữ liệu thông thường, có thể cho phép khai thác và quản lý cơ sở dữ liệu một cách tập trung hoặc phân tán, đảm bảo tính tin cậy và an toàn dữ liệu 9 Hệ quản trị cơ. .. hệ thống, với mong muốn hệ thống mới vừa có khả năng lưu trữ, xử lý khối lượng dữ liệu lớn, vừa có khả năng tư duy, suy luận với những thông tin đã được lưu trữ Như vậy sự kết hợp của cơ sở dữ liệu và hệ chuyên gia đã cho ra đời hệ thống cơ sở dữ liệu suy diễn (Deductive Database) Như vậy các hệ cơ sở dữ liệu suy diễn được xem như sự tích hợp của dữ liệu (như trong một hệ cơ sở dữ liệu) và tri thức... trong khi CSDL suy diễn nhấn mạnh tính hiệu quả Cơ chế suy diễn dùng trong CSDL suy diễn để tính toán trả lời không được tổng quát như trong lập trình logic Ngoài việc dùng logic để diễn tả các câu trong CSDL, người ta còn dùng logic để diễn tả những câu hỏi và các điều kiện toàn vẹn 1.2 Cơ sở dữ liệu suy diễn 1.2.1 Sự hình thành của cơ sở dữ liệu suy diễn Các hệ quản trị cơ sở dữ liệu đã bắt đầu xuất... kiện mà mỗi trạng thái của cơ sở dữ liệu phải thỏa mãn Ví dụ 1.2 Cho các quy tắc bo_me(X,Y) ⟵ bo(X,Y) ∧ me(X,Y), ong_ba(X,Y) ⟵ bo_me(X,Z) ∧ me(Z,Y) Trong đó: Các vị từ bo-me (bố mẹ), ong_ba (ông bà) là các IDB 1.2.2.3 Ngôn ngữ thao tác cơ sở dữ liệu suy diễn Cơ sở dữ liệu suy diễn có thể được hiểu là kết quả của việc áp dụng logic và trí tuệ nhân tạo vào lĩnh vực cơ sở dữ liệu truyền thống Ngôn ngữ... trị cơ sở dữ liệu suy diễn còn cho phép suy diễn ra các trực kiện mới (là các trực kiện dẫn suất của các vị từ nội hàm) từ các trực kiện đã có bằng việc sử dụng các quy tắc và các quy tắc logic Hệ quản trị cơ sở dữ liệu suy diễn cung cấp một thủ tục xử lý câu hỏi, có khả năng trả lời các câu hỏi được phát biểu theo các khung nhìn cũng như theo các vị từ cơ sở (nền) 1.2.3 Mô hình cơ sở dữ liệu suy diễn. .. phức tạp (văn bản, âm thanh, hình ảnh) và động (các chương trình, các mô phỏng) Trong những năm 1990 đã xuất hiện một thế hệ thứ ba các hệ QTCSDL - các hệ “hướng đối tượng”, có khả năng hỗ trợ các ứng dụng đa phương tiện (multimedia), đó là cơ sở dữ liệu hướng đối tượng, cơ sở dữ liệu phân tán và cơ sở dữ liệu suy diễn Khái niệm về CSDL suy diễn được nhiều nhà nghiên cứu đề cập đến theo hướng phát triển... và cấu trúc thông tin trong cơ sở dữ liệu suy diễn là ngôn ngữ Datalog (logic cho dữ liệu) Datalog là ngôn ngữ lập trình logic (tương tự như Prolog) được phát triển dựa trên cơ sở logic vị từ cấp một Ngôn ngữ Datalog thao tác trên các vị từ ngoại diên (hay vị từ cơ sở) là tên của các quan hệ trong cơ sở dữ liệu ngoại diên (EDB) và vị từ nội hàm (hay vị từ dẫn suất) là tên của các quan hệ trong cơ sở. .. thuyết các hệ thống CSDL suy diễn Tuy nhiên để biểu diễn hình thức khái niệm về CSDL suy diễn, người ta thường dùng phép toán vị từ, tức logic vị từ bậc nhất Logic vị từ bậc nhất là ngôn ngữ hình thức dùng để thể hiện quan hệ các đối tượng và để suy diễn ra quan hệ mới 1.2.3.2 Các giao tác trên cơ sở dữ liệu suy diễn Giao tác (Transaction): Một giao tác trong cơ sở dữ liệu suy diễn là một xâu hữu hạn... 1.4.3 Biểu diễn khung nhìn trong cơ sở dữ liệu suy diễn Khái niệm khung nhìn (View) được dùng trong CSDL để phân ranh giới nội dung CSDL với một nhóm người dùng Khung nhìn là một cấu trúc dữ liệu ảo, được dẫn xuất từ các trực kiện cơ sở hay các khung nhìn khác nhờ một hàm định nghĩa Trong CSDL suy diễn, các khung nhìn tương ứng với các vị từ dẫn xuất, và được định nghĩa nhờ vào các quy tắc suy diễn Chẳng ... VỀ CƠ SỞ DỮ LIỆU SUY DIỄN 1.1 Giới thiệu chung 1.2 Cơ sở liệu suy diễn 1.2.1 Sự hình thành sở liệu suy diễn 1.2.2 Các thành phần sở liệu suy diễn 1.2.3 Mô hình sở liệu suy. .. phần mềm DES, phần mềm xây dựng để giải toán CSDL suy diễn Do luận văn chọn đề tài Nghiên cứu sở liệu suy diễn với phần mềm DES ứng dụng để giải vấn đề đặt Mục tiêu nghiên cứu - Nghiên cứu. .. có khả suy luận bên sở Cần có khả quản lý lượng liệu! thông tin lớn! CƠ SỞ DỮ LIỆU SUY DIỄN Dữ liệu + Tri thức Hình 1.1 Sự hình thành sở liệu suy diễn 1.2.2 Các thành phần sở liệu suy diễn Để