Logikák véges fákon. Iván Szabolcs Szegedi Tudományegyetem Számítástudomány Alapjai Tanszék

Hasonló dokumentumok
Logikák véges fákon. Iván Szabolcs Szegedi Tudományegyetem Számítástudomány Alapjai Tanszék

Alap fatranszformátorok II

Logika és faautomaták

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.

Alap fatranszformátorok I. Oyamaguchi [3], Dauchet és társai [1] és Engelfriet [2] bebizonyították hogy egy tetszőleges alap

Formális nyelvek - 9.

Lekérdezések optimalizálása

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Turing-gép május 31. Turing-gép 1. 1

Időzített átmeneti rendszerek

Diszkrét matematika 2.

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések

25. tétel: Bizonyítási módszerek és bemutatásuk tételek bizonyításában, tétel és megfordítása, szükséges és elégséges feltétel

Házi feladatok megoldása. Nyelvek használata adatszerkezetek, képek leírására

Csima Judit november 15.

A digitális számítás elmélete

BOOLE ALGEBRA Logika: A konjunkció és diszjunkció tulajdonságai

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

Csempe átíró nyelvtanok

Deníciók és tételek a beugró vizsgára

Logika és informatikai alkalmazásai

1. tétel - Gráfok alapfogalmai

Logika es sz am ıt aselm elet I. r esz Logika 1/36

Dr. Jelasity Márk. Mesterséges Intelligencia I. Előadás Jegyzet (2008. október 6) Készítette: Filkus Dominik Martin

Automaták mint elfogadók (akceptorok)

Csima Judit október 24.

Csima Judit BME, VIK, november 9. és 16.

Kétváltozós függvények differenciálszámítása

Sor és oszlopkalkulus

Modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Algoritmusok bonyolultsága

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Elsőrendű logika szintaktikája és szemantikája. Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1

Modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Diszkrét matematika 2. estis képzés

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.

7. előadás Környezetfüggetlen nyelvtanok

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles

Véges automaták, reguláris nyelvek

Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája?

Bonyolultságelmélet. Monday 26 th September, 2016, 18:27. Bonyolultságelmélet

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 12.

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések

Reguláris kifejezések 1.

Átlátható veremautomaták és nyelvek

ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)

1. Tétel - Az ítéletkalkulus alapfogalmai

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy

Feladatok. 6. A CYK algoritmus segítségével döntsük el, hogy aabbcc eleme-e a G = {a, b, c}, {S, A, B, C}, P, S nyelvtan által generált nyelvnek!

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2.C szakirány

Logika és informatikai alkalmazásai

Logikai függvények osztályai. A függvényosztály a függvények egy halmaza.

Diszkrét matematika 1. estis képzés

Logika es sz am ıt aselm elet I. r esz Logika Negyedik el oad as 1/26

A Számítástudomány alapjai

Formális nyelvek - 5.

Logika és informatikai alkalmazásai

Gyakorló feladatok: Formális modellek, temporális logikák, modellellenőrzés. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Logikai ágensek. Mesterséges intelligencia március 21.

Atomataelmélet: A Rabin Scott-automata

2. Ítéletkalkulus szintaxisa

AUTOMATÁK ÉS FORMÁLIS NYELVEK PÉLDATÁR

ZH feladatok megoldásai

1. előadás: Halmazelmélet, számfogalom, teljes

Diszkrét matematika I.

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat

4.2. Tétel: Legyen gyenge rendezés az X halmazon. Legyen továbbá B X, amelyre

Java II. I A Java programozási nyelv alapelemei

Időt kezelő modellek és temporális logikák

Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.

Diszkrét matematika 2.C szakirány

KOVÁCS BÉLA, MATEMATIKA I.

Kiterjesztések sek szemantikája

Logika es sz am ıt aselm elet I. r esz Logika Harmadik el oad as 1/33

Bonyolultságelmélet. Monday 26 th September, 2016, 18:28

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

Új típusú döntési fa építés és annak alkalmazása többtényezős döntés területén

Az informatika elméleti alapjai 2 elővizsga december 19.

Diszkrét matematika 2.C szakirány

Egészrészes feladatok

Futásidőbeli verifikáció

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

XML ÉS FÉLIG-STRUKTURÁLT ADATBÁZISOK FÜGGŐSÉGEI

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

Matematika A1a Analízis

Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

Mihályi Zoltán (MIZRAAI), Pinczel Máté (PIMRAAI) Nagy kifejezőerejű lekérdező nyelvek rendezetlen (adat)fákhoz

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

1. Legyen egy háromszög három oldalának a hossza a, b, c. Bizonyítsuk be, hogy Mikor állhat fenn egyenlőség? Kántor Sándorné, Debrecen

352 Nevezetes egyenlôtlenségek. , az átfogó hossza 81 cm

2. Visszalépéses stratégia

Az optimális megoldást adó algoritmusok

Az informatika logikai alapjai

Átírás:

Logikák véges fákon Iván Szabolcs Szegedi Tudományegyetem Számítástudomány Alapjai Tanszék

Fák Σ véges rangolt ábécé f gyökér a h f b a g a sorrend számít nincs változó címkék 1/csúcs magasság Σ 2 ={f,g} Σ 1 ={h} Σ 0 ={a,b}

Fanyelvek Legyen Σ 2 ={, } és Σ 0 ={0,1} és a többi 1 értékő fa 0 1 1 0 1

Faautomaták Faautomata: egy Σ-algebra, elemeinek egy kitüntetett F végállapot -halmazával Felismer egy fát, ha azt kiértékelve az eredmény F-beli Az L fanyelv reguláris, ha van hozzá faautomata

Faautomata példa Megint az 1 értékő fák: 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 F={1}

Párhuzam: szavak A szavak valójában fák A klasszikus automaták speciális faautomaták aab b a a λ Σ 0 = {λ}, értéke q 0 Σ 1 : az input ábécé, megfelel az átmeneteknek

Lekérdezések n-változós lekérdezés (query): fákhoz n- változós relációkat rendel A reláció V n egy részhalmaza; itt V a fa csúcsainak halmaza 0-változós (boolean) lekérdezés: minden fára vagy igaz, vagy hamis Vagyis fanyelv Automata csak ilyet tud

Lekérdezések II. 1-változós lekérdezés: a fa bizonyos csúcsait adja vissza Ilyenek az XML Xpath kérései Manapság nagy rájuk az igény 2-változós lekérdezés: csúcspárok Mint pl. a gyereke tranzitív lezártja

Logikák Formalizmusok lekérdezésekre Változót tartalmazó logikák MSO FO és variánsai Változómentes logikák CTL * és fragmensei

Monadic Second Order Szintaxis: F p a (x) x < ch y x < sb y x X x = y F F F F x.f X.F Szemantika: x egy csúcs X csúcsok egy halmaza p a (x): x címkéje a < ch : gyerek < sb : jobbtestvér

MSO példák x < y: + ch X.(x X ( z.z X ( w.z < w (w X) (w = y)))) ch Root(x) : y. (y < ch x) Leaf (x) : y. (x < ch y) Sıt: Régi ismerıs X.( x. x X ( p 1 (x) p (x) ( y.x< ch y y X) p (x) ( y.x< ch y y X))) x. Root(x) x X )

A gyanú helyes Minden reguláris fanyelvhez van boolean MSO lekérdezés Sıt MSO Minden boolean MSO lekérdezés reguláris fanyelvet ad meg Konstruktív, de nem elemi!

Párhuzam: szavak A következı három nyelvosztály megegyezik: A reguláris nyelveké Az MSO mondattal kifejezhetıké Az MSO mondattal kifejezhetıké Ez tehát fákra is így van a bizonyítás is analóg

Az XML EDTD modellje Az XML DTD-k felfoghatók egy-egy módosított CFG-ként: Olyan (Σ,S,P,h) négyes, ahol a P átírási halmaz a e alakú szabályokból áll itt a Σ, e pedig Σ fölötti reguláris kifejezés h: (Σ )* (Σ)* homomorfizmus (technikai okok miatt) De itt az ábécé nem rangolt EDTD: Extended DTD, zártság miatt kell

Példa Könyvespolc (Könyv + Folyóirat) + Könyv Elılap Lap * Hátlap Folyóirat Lap + többi λ Könyv Polc Könyv h most id Elılap Hátlap Elılap Lap Elılap

EDTD MSO Minden EDTD-hez készíthetı MSO formula Automatához hasonló módon Elıször címkénként szétparticionáljuk Azután a gyerekek listáján végighúzunk egy megfelelı stringautomatát (ez megy MSO-val)

Nincs új a nap alatt Az MSO mondatokkal definiálható fanyelvek osztálya egybeesik az EDTD-vel definiálható (nem-rangolt) fanyelvekével

Csakhogy Egy F MSO mondatra és egy T fára azt eldönteni, hogy T modellje-e F-nek, nagyon nehéz Vagy nincs olyan elemi f függvény, amire O(f( F ) T ) idı elég lenne vagy P=NP. Rögzített F-re egyébként elég O( T ) idı Kompromisszum: ETL (Efficient TL)

Efficient Tree Logic Cél: MSO-val megegyezı kifejezıerı, jobb model-checking korláttal Szintaxis (részletek is mindjárt): F p (x) x < y x < y x X x = y * a ch ch F F F F F y.(x < y F) y.(x < y F) ch * ch * ch F X.(( y.y X x < y) F) F e (x, y) e (x, X) ırök

ETL vs. MSO Egyrészt kvantifikálni csak ırzött (guarded) módon engedélyezett Másrészt nem használunk < sb relációt Harmadrészt vannak az útformulák: e (x,y): vertikális útformula e (x,x): horizontális útformula Egyéb szintaktikus megszorítások is vannak (a szabad változók halmazára)

Vertikális útformulák Legyenek F 1 (x,y), F 2 (x,y),, F k (x,y) ETL formulák és e egy reguláris kifejezés {1,,k} fölött x 0 F i1 (x 0,x 1 ) és i 1 i 2 i n e x 1 x 2 x n F i2 (x 1,x 2 ) F in (x n-1,x n ) e (x 0,x n )

Horizontális útformulák F 1 (x,x),, F k (x,x) ETL formulák, e egy reguláris kifejezés {1,,k} fölött x F i1 F i2 F in e (x,x) és i 1 i 2 i n e

ETL MSO Egyedül a kétféle útformula szorul magyarázatra De azokban <-utak regularitását és (indukció szerint) MSO teszteket kérjük Vagyis végig lehet húzni rajtuk egy megfelelı automatát (ami pedig MSO stringeken)

MSO ETL A (regularitás miatt létezı) faautomatából indulva már majdnem ETL formulát is kapunk Csak annyi a gond, hogy sok lesz a párhuzamosan szabad halmazváltozó Ezeket trükkösen lecserélhetjük egyetlen halmazváltozóra A halmaz elemei olyan csúcsok, amik körüli adott (2N+1) sugarú környezetek lefedik a fát Ezekre a környezetekre útformulákat alkalmazunk

ETL model checking ETL o : csak olyan ETL formulák, amik diszjunktív normálformájúk Nyilván ETL ekvivalens ETL o -val Model-checking bonyolultság ezekre: ETL o -ra 2 O( F ) T ETL-re emiatt duplán exponenciális már elég Nem ismert, hogy ez éles-e És: ETL és MSO kifejezıereje megegyezik a boolean és unáris lekérdezéseken!

First Order Logic Szintaxis F p a (x) x < ch y x < sb y x = y F F F F x.f Szemantika MSO megfelelı része

FO vs. FO(<) Láttuk, hogy MSO-ban kifejezhetı <-bıl < * és viszont FO-ban azonban csak < * -ból fejezhetı ki <, a másik irány nem oldható meg FO(<) az az elsırendő logika, ahol < helyett < * az alapformulák eleme FO(<) ezért kifejezıbb, mint FO

A szavak esete Szavak esetében tudjuk, hogy az FO(<) definiálhatósági problémája eldönthetı Az L string nyelv pontosan akkor definiálható FO(<)-ben, ha szintaktikus monoidja aperiodikus Egyébként FO(<) stringekre ekvivalens az LTL logikával (ezt késıbb tárgyaljuk) Sıt: ez egybeesik a csillagmentességgel is PSPACE-teljes kérdés

Különbség Fákra jelenleg nem ismert, hogy FO(<) definiálhatósági problémája eldönthetı-e vagy sem Annyit tudunk, hogy FO(<) bináris fákra ekvivalens CTL * -gal (amit késıbb tárgyalunk) Itt FO(<) gyengébb, mint a csillagmentesség

FO(<) és MSO között: MPL MPL: Monadic Path Logic Szintaxisa ugyanaz, mint MSO-é, a relációk tranzitív változatával Szemantikája azonban eltér: az X változók csak olyan csúcshalmazokat vehetnek fel értékül, melyek egy teljes gyökér-levél utat határoznak meg Ez hasonlít a temporális útformulákra

FO(<) és MSO között? Az világos, hogy minden FO(<)- formulához létezik ekvivalens MPL formula Visszafelé is van átalakítás: X.F a t.(leaf (t) F') x Xa x < t * ch Tehát MPL nem más, mint FO(<)

Lokális küszöbtesztelés Adott d és k egészekre és T 1, T 2 fákra fennáll a T 1 d,k T 2 reláció, ha véve bármely legfeljebb d magasságú t fát : mindkét fában ugyanannyiszor fordul elı t vagy mindkét fában legalább k-szor Az L fanyelv lokálisan küszöbtesztelhetı (LTT - locally threshold testable), ha valamely d-re és k-ra d,k szaturálja

LTT példa Kedvenc nyelvünk pl. nem LTT: 1 0 0 0 0 0 0 0 0 0 0 1 0 0 tesztmélység

FO és LTT? Az LTT nyelvek FO-definiálhatóak FO-ban tudunk beszélni véges fákról és max k különbözı ill. legalább k különbözı formulákat is tehetünk Az FO-definiálható nyelvek LTT nyelvek Belátható, hogy ha két csúcs távolsága a Gaifman-gráfban több, mint 3 k, akkor legalább k további változó kell ıket összekötni

FO és LTT: párhuzam Stringekre is: egy fanyelv pontosan akkor definiálható FO-ban, ha lokálisan küszöbtesztelhetı Ez még önmagában nem ad eldöntési algoritmust

FO (azaz LTT) eldöntése T 0 : fák; T 1 : contextek; T 2 : két változó e T 1 idempotens, ha e A = ee A Széltében csere (ilyen stringeken nincs): e e e e

Széltében csere Ha L FO-definiálható, akkor invariáns a széltében cserére e e e e e e e e e e e e e e e e e e e e idempotens lokalitás idempotens

Hosszanti csere e f e f polcolhatunk e-t és f-et ismét Erre is invariáns e f e f

Aperiodicitás Létezik n, amire t t t : n n+1 t t t t : t t LTT miatt ez is stimmel

Másik irány Vagyis, ezek a tulajdonságok szükségesek az FO-definiálhatósághoz Belátjuk, hogy elégségesek is

Fa felbontása Elég nagy fában biztos van idempotens Ha N állapot van, akkor N N magas fa már elég nagy Így a nagy fák szétszedhetık blokkokra, amiket idempotensek kötnek össze Alkalmazva a három ekvivalenciát mint átírást, két blokk-fa átvihetı egymásba, ha az olyan blokkjaik száma megegyezik, amikbıl egyiküknek kevesebb van, mint n Végeredmény LTT lesz kész vagyunk

FO+TC FO és egyfajta tranzitív lezárás operátor Szintaxis ugyanaz, mint FO-é, plusz: F [TC x,y F(x,y)](s,t) Itt a négy változóvektor k-k darab szabad változóból áll; ennek szabad változói (s,t) Szemantika: akkor igaz, ha (s,t) benne van az F által megadott reláció tranzitív lezártjában

FO+TC példa FO(<)-ben: y.(x < ch* y p a (y)) FO+TC-ben: y.( [TC u,v ( u < ch v)](x,y) p a (y)) Innen látszik, hogy FO(<) FO+TC

FO+TC vajon mi Az FO+TC-ben kifejezhetı lekérdezések osztálya egybeesik az NL-ben kiszámítható lekérdezésekével Ha determinisztikus tranzitív lezárásunk van, arra FO+dTC = dptw

FO+TC FO+posTC: olyan FO+TC, amiben TC csak páros sok negáció hatáskörében áll FO+TC = FO+posTC = PTW

Vége az elsı résznek Benedikt and Segoufin: Regular tree languages definable in FO LNCS vol. 3404, p. 327-339, 2005 Geerts and Kuijpers: Deciding termination of query evaluation in transitive-closure logics for constraint databases LNCS vol. 2572, pp. 190-260, 2003. Libkin: Logics for unranked trees an overview LNCS vol. 3580, p. 35-50, 2005. Neven: Automata, logic, and XML Invited talk at CSL 2002. Neven and Schwentick: Expressive and efficient pattern languages for tree-structured data PODS 2000: p. 145-156, 2000. Rabinovich: Expressive power of temporal logics LNCS vol 2421, p. 57-75, 2002. Walukiewicz: Automata and logic Walukiewicz: Monadic second order logic on tree-like structures TCS vol. 275, p. 311-346, 2002.