adatbázisrendszerek elméleti alapjai 5. előadás

41
Adatbázisrendszerek elméleti alapjai 5. előadás A 3-értékű logika

Upload: cheung

Post on 23-Feb-2016

30 views

Category:

Documents


0 download

DESCRIPTION

Adatbázisrendszerek elméleti alapjai 5. előadás. A 3-értékű logika. A 3-értékű logika. Szakértői rendszerekben Rákövetkezési operátor 2-értékű esetben Rákövetkezési operátor 3-értékű esetben Stabil modell Megalapozott modell. Bevezetés - fogalmak. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Adatbázisrendszerek elméleti alapjai 5. előadás

Adatbázisrendszerek elméleti alapjai

5. előadásA 3-értékű logika

Page 2: Adatbázisrendszerek elméleti alapjai 5. előadás

Szakértői rendszerekben Rákövetkezési operátor 2-értékű esetben Rákövetkezési operátor 3-értékű esetben Stabil modell Megalapozott modell

5. előadás 2

A 3-értékű logika

Page 3: Adatbázisrendszerek elméleti alapjai 5. előadás

A literál, ahol közönséges predikátum, és mindegyike változó vagy konstans.Ha literálban csak konstans szerepel, akkor alapliterálnak nevezzük.

Bevezetés - fogalmak

5. előadás 3

Page 4: Adatbázisrendszerek elméleti alapjai 5. előadás

Egy Datalog program alakú szabályok halmaza, ahol minden és alakú literál.Az kifejezés a szabály feje, a törzse. A program futása során a szabályok

többszöri használatával új tényekre következtetünk, egészen addig, amíg már nem tudunk tovább következtetni.

Ekkor eljutottunk a fixponthoz.

Bevezetés – Datalog

5. előadás 4

Page 5: Adatbázisrendszerek elméleti alapjai 5. előadás

A fixpont a Datalog program egyértelmű minimális modellje, vagyis azon tények minimális halmaza, melyek kielégítik a program összes szabályát.

Negációt is megengedhetünk, de a negatív adatok tömege jóval nagyobb, mint a pozitívoké, ezért csak azokat tároljuk, s a negatívakra következtetünk.

Ehhez meg kell engednünk a negatív literálok használatát a szabály törzsében. ⇒

Bevezetés - Datalog

5. előadás 5

Page 6: Adatbázisrendszerek elméleti alapjai 5. előadás

A program kiértékelésekor rákövetkezési operátort () definiáltunk, amely használatával juthatunk új tényekhez.

Előfordulhat, hogy -nek nincs fixpontja. Például a következő program esetében: .Adott input esetén több minimális fixpont is lehet, például programnak kettő is van ( és ).

Bevezetés – rákövetkezési operátor

5. előadás 6

Page 7: Adatbázisrendszerek elméleti alapjai 5. előadás

sorozat program esetén általában nem konvergál, akkor sem ha -nek van fixpontja. Legyen . -nak van minimális fixpontja , de és között alternál és ezért nem konvergál.Akkor is ha konvergál, a határértéke nem feltétlenül minimális fixpontja, akkor sem, ha ilyen fixpont létezik.

Bevezetés – rákövetkezési operátor

5. előadás 7

Page 8: Adatbázisrendszerek elméleti alapjai 5. előadás

Több fixpont esetén kérdés, hogy melyiket válasszuk közülük, azaz milyen szemantikát rendeljünk a programhoz.

Kétféle szemantikát szoktak értelmezni:rétegezés inflációs szemantika

Bevezetés - szemantika

5. előadás 8

Page 9: Adatbázisrendszerek elméleti alapjai 5. előadás

Rétegezéskor egyfajta rendezést vezetünk be a predikátumok között, s a programokat ebben a sorrendben értékeljük ki.

Ha ebben a sorrendben végezzük el a kiértékelést, akkor egy negált predikátumra már csak akkor kerül sor, ha előbb minden pozitív előfordulási helyén kiértékeltük.

Bevezetés - rétegezés

5. előadás 9

Page 10: Adatbázisrendszerek elméleti alapjai 5. előadás

Az inflációs szemantika esetén nem kívánjuk meg a modell minimalitását, megelégszünk egy inflációs operátor legkisebb fixpontjával, s ezt a fixpontot definiáljuk szemantikaként.

Ez a szemantika „hatásosabb”, mint a rétegezés. (~ Található olyan lekérdezés, amely kifejezhető az inflációs -ban, de nem fejezhető ki a rétegezettben.)

Bevezetés – inflációs szemantika

5. előadás 10

Page 11: Adatbázisrendszerek elméleti alapjai 5. előadás

A klasszikus 2-értékű logikával leírható összefüggések esetén minden információról egyértelműen el kell tudnunk dönteni, hogy igaz-e vagy hamis.

Ez sokszor nehéz, mert nem biztos hogy rendelkezünk biztos ismeretekkel. A bizonytalan információk kezelésére nem alkalmas a klasszikus Datalog.

3-értékű logika

5. előadás 11

Page 12: Adatbázisrendszerek elméleti alapjai 5. előadás

A bizonytalan információk kezelésének egy módja, hogy amely információk igaz vagy hamis volta nem dönthető el egyértelműen, ismeretlennek tekintjük. Ebben az esetben háromértékű logikáról beszélünk.

A háromértékű logikában tehát három igazságértéket különböztetünk meg: igaz (), hamis () és ismeretlen ().

3-értékű logika

5. előadás 12

Page 13: Adatbázisrendszerek elméleti alapjai 5. előadás

A háromértékű logika esetében is beszélhetünk minimális modellről. Ebben a modellben minimális az igaz atomok és maximális atomok halmaza.

Atom egy alakú formula, ahol egy változós predikátumszimbólum és egy elemű termsorozat. Ezt a minimális háromértékű modellt adja

meg az adatbázishoz az úgynevezett megalapozott (well-founded) szemantika.

3-értékű logika – megalapozott szemantika

5. előadás 13

Page 14: Adatbázisrendszerek elméleti alapjai 5. előadás

Ez a szemantika is fixpont-keresésen alapul.

Legyen az igaz és a hamis állítások halmaza. Egy interpretáció az párral adható meg. Legyen és egy-egy operátor. Jelölje az -ből származtatható igaz tényeket, míg a hamis tényeket. Az operátorok monotonok, így van fixpontjuk. Az programhoz rendelt operátor határértékét tekintjük az megalapozott modelljének, azaz ez a legkisebb fixpont.

3-értékű logika – megalapozott szemantika

5. előadás 14

Page 15: Adatbázisrendszerek elméleti alapjai 5. előadás

Abiteboul, Hull és Vianu meghatározott egy hatékonyabb algoritmust a megalapozott szemantika megállapítására.

Az algoritmus során a programhoz kapcsolható hamis atomok halmazából () indulunk ki, ez egy felső becslés az eredmény hamis tényeire. az -ből következtethető atomok halmaza. -ben lévő igaz atomok halmaza az eredmény igaz tényeire felső (alsó) becslés, ..

3-értékű logika – alternáló fixpontszámítás

5. előadás 15

Page 16: Adatbázisrendszerek elméleti alapjai 5. előadás

.. míg a hamis atomok halmaza az eredmény hamis tényeinek alsó (felső) becslése, ha páros (páratlan).Látjuk, hogy a páros indexű elemek határértéke () az eredmény igaz tényeit tartalmazza, még a páratlan indexűek fixpontja () az eredmény hamis tényeit. és uniója adja a program megalapozott szemantikáját.

3-értékű logika – alternáló fixpontszámítás

5. előadás 16

Page 17: Adatbázisrendszerek elméleti alapjai 5. előadás

Annak célja, hogy egy Datalog programra szemantikát adjunk az, hogy találjunk -hez egy megfelelő 3-értékű modellt.

Mikor lesz megfelelő? Fontos cél, hogy megalkossunk valamilyen természetes érvelő folyamatot, amellyel szemben az elsődleges elvárás, hogy konzisztens legyen.

Példának okáért nem fogadhatunk el egy tényt egyszerre igazként és hamisként.

3-értékű logika - szemantika

5. előadás 17

Page 18: Adatbázisrendszerek elméleti alapjai 5. előadás

Ennek rögzítve kell lennie a 3-értékű modell megfelelősség-fogalmában és két intuitív szempontja van:az pozitív tényei -ből következnek, feltételezve

negatív tényeit ésminden negatív tény, amely kikövetkeztethető -

ből, már -ben kell hogy legyen. A 3-értékű modell, amely kielégíti a

fentieket 3-értékű modelljének nevezzük.

3-értékű logika - szemantika

5. előadás 18

Page 19: Adatbázisrendszerek elméleti alapjai 5. előadás

Tekintsünk egy játékot, melyben állapotok szerepelnek. A játékot szereplő játszhatja, akik felváltva léphetnek ugyanazzal a bábuval. A lehetséges lépéseket egy párban jelöljük, amely azt jelenti, hogy a játékos állapotból állapotba tud lépni egy lépéssel. A játékos veszít, ha olyan állapotba kerül, ahonnan nem tud már tovább lépni.A cél, hogy kiszámítsuk a nyerő állapotok sorozatát.

3-értékű logika – példa

5. előadás 19

Page 20: Adatbázisrendszerek elméleti alapjai 5. előadás

Nyerő állapot az a hely, ahonnan a másik játékos nem tud tovább lépni. A nyerő állapotokat jelölje az egyváltozós nyerő predikátum.Vegyünk egy inputot, mely a következő lépéseket tartalmazza:

Grafikusan az alábbi módon szemléltethetjük:

3-értékű logika – példa folytatása

5. előadás 20

Page 21: Adatbázisrendszerek elméleti alapjai 5. előadás

Mint látható és állapotokból vannak nyerő stratégiák. , és állapotokból nincs nyerő stratégia.Egy adott játékos megakadályozhatja a másikat a nyerésben, ha belekényszeríti őt lépések egy olyan sorozatába, amely nem terminál.Tekintsük a következő nyerési lehetőséget megfogalmazó programot ():

3-értékű logika – példa folytatása

5. előadás 21

Page 22: Adatbázisrendszerek elméleti alapjai 5. előadás

nyerő állapot, ha van legalább egy olyan állapot, amelybe -ből egy lépéssel eljuthatunk, úgy, hogy az ellenkező játékos veszít.Állítsunk elő egy 3-értékű modellt, melyben a -beli lépések megtalálhatók. Ez tulajdonképpen egy jól megalapozott modellje inputtal.

3-értékű logika – példa folytatása

5. előadás 22

Page 23: Adatbázisrendszerek elméleti alapjai 5. előadás

A nyerő predikátum által adott kijelentések értékei: - igaz: , - hamis: , - ismeretlen: , ,

3-értékű logika – példa folytatása

5. előadás 23

Page 24: Adatbázisrendszerek elméleti alapjai 5. előadás

A fent említett alternáló fixpont-számítás alapján:Tegyük fel, hogy a lépés-re vonatkozó összes atom hamis (). Minden további () esetén az összes ilyen atom igaz és beletartozik -be, ezért -nek csak a nyerő predikátumra vonatkozó elemeit soroljuk fel.

3-értékű logika – példa folytatása

5. előadás 24

Page 25: Adatbázisrendszerek elméleti alapjai 5. előadás

, Innen a megalapozott szemantika nyerőre vonatkozó része:

3-értékű logika – példa folytatása

5. előadás 25

Page 26: Adatbázisrendszerek elméleti alapjai 5. előadás

Vegyünk egy Datalog programot. Az program sémáján azt az adatbázis sémát értjük, amely az programban található összes relációt tartalmazza.Az program sémája feletti 3-értékű példány a (az program egy modellje) teljes leképezése a halmazra.

3-értékű logika – jól-megalapozott szemantika

5. előadás 26

Page 27: Adatbázisrendszerek elméleti alapjai 5. előadás

-el, -el és -val jelöljük atomok azon csoportjait -ben, melyek igazságértéke megegyezik (, és ).Egy természetes rendezés () található az program semája feletti 3-értékű példányok között, amelynek definíciója:, ha minden esetén:

3-értékű logika – jól-megalapozott szemantika

5. előadás 27

Page 28: Adatbázisrendszerek elméleti alapjai 5. előadás

A 3-értékű példányokat alkalmanként ábrázolhatjuk a pozitív és negatív tények felsorolásával. Például egy 3-értékű példányt, ahol , , és , felírhatjuk a következő alakban is: .

3-értékű logika – jól-megalapozott szemantika

5. előadás 28

Page 29: Adatbázisrendszerek elméleti alapjai 5. előadás

Egy 3-értékű példány tényeinek Boolean-kombinációjának igazságértékei:

, ha és egyébként

3-értékű logika – jól-megalapozott szemantika

5. előadás 29

Page 30: Adatbázisrendszerek elméleti alapjai 5. előadás

Tekintsük az előző példában bemutatott programot, inputot és outputot.

Az első igaz -re, hiszen .Ekkor és , azaz .

3-értékű logika - példa

5. előadás 30

Page 31: Adatbázisrendszerek elméleti alapjai 5. előadás

A második is igaz, mert .Ekkor és .Figyeljük meg, hogy:

3-értékű logika – példa folytatása

5. előadás 31

Page 32: Adatbázisrendszerek elméleti alapjai 5. előadás

Habár a Datalog programok nem tartalmaznak negációt, most már képesek kikövetkeztetni igaz, ismeretlen és hamis tényeket.A 3-értékű Datalog program szintaxisa megegyezik a Datalog szintaxisával, kivéve, hogy az igazságértékek (, , ) megjelenhetnek literálként szabályok törzsében.

3-értékű logika – minimális modell Datalog-hoz

5. előadás 32

Page 33: Adatbázisrendszerek elméleti alapjai 5. előadás

3-• , ha és olyan helyettesítése, hogy és • , ha és minden olyan helyettesítésre, hogy

esetén • egyébként

3-értékű logika – minimális modell Datalog-hoz

5. előadás 33

Page 34: Adatbázisrendszerek elméleti alapjai 5. előadás

Figyeljük meg a következő 3-kiterjesztett Datalog programot:

Ekkor:3-3-3-3-

3-értékű logika - példa

5. előadás 34

Page 35: Adatbázisrendszerek elméleti alapjai 5. előadás

1. 3- monoton és 3- növekvő és 3- legkisebb fixpontjához konvergál.

2. -nek van egy egyedi minimális 3-értékű modellje, amely egyenlő a 3- legkisebb fixpontjával.

3-értékű logika - lemma

5. előadás 35

Page 36: Adatbázisrendszerek elméleti alapjai 5. előadás

A ground klóz egy olyan klóz, amely nem tartalmaz változókat.Legyen egy Datalog program. A program feletti 3-értékű példány egy 3-stabil modellje, ha , ahol a 3-kiterjesztett Datalog legkisebb fixpontja, a 3-kiterjesztett Datalog program, pedig a , amelyet -ből kapunk meg úgy, hogy minden helyettesítésében helyett -t írunk.

3-értékű logika – Datalog 3-stabil modelljei

5. előadás 36

Page 37: Adatbázisrendszerek elméleti alapjai 5. előadás

2-értékű logika esetén -ról feltesszük, hogy igaz, amíg le nem vezetjük A-t, 3-értékű logikai esetén pedig -ról és -ról tesszük fel, hogy ismeretlenek, amíg levezetése meg nem történik.

3-értékű logika – Datalog 3-stabil modelljei

5. előadás 37

Page 38: Adatbázisrendszerek elméleti alapjai 5. előadás

Vegyük a következő Datalog programot:

A programnak három 3-stabil modellje van:

3-értékű logika - példa

5. előadás 38

Page 39: Adatbázisrendszerek elméleti alapjai 5. előadás

Ellenőrizzük, hogy az stabil modellje az -nek. A program

3-értékű logika – példa folytatása

5. előadás 39

Page 40: Adatbázisrendszerek elméleti alapjai 5. előadás

A minimum 3-érték modelljét a 3- fixpontig iterálásával kaphatjuk meg. -al kezdünk.1: 3-2: 3-23,4: 3-3-

3-értékű logika – példa folytatása

5. előadás 40

Page 41: Adatbázisrendszerek elméleti alapjai 5. előadás

1. Foundations of Databases by Serge Abiteboul, Richard Hull, and Victor Vianu http://webdam.inria.fr/Alice/

2. Achs Ágnes: Bizonytalan információk kezelése logikai adatmodellekben, Informatika a Felsooktatásbanc96 - Networkshop c96 Debrecen, 1996. augusztus 27-30.

3. Achs Ágnes: Bizonytalanságkezelési modellek, Doktori (Phd) értekezés, Debreceni Egyetem, Informatikai Kar, 2006.

Irodalomjegyzék

5. előadás 41