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

Slides:



Advertisements
Hasonló előadás
Deduktív adatbázisok.
Advertisements

A digitális számítás elmélete
Lineáris egyenletrendszerek megoldása Gauss elimináció, Cramer-szabály Dr. Kovács Sándor DE GVK Gazdaságelemzési és Statiszikai Tanszék.
Készítette: Kosztyán Zsolt Tibor
Algebrai struktúrák.
Programozási feladatok
Egyszerű LL grammatika.  Definíciók  Példa. Ábrákkal  MASM program (szó felismerése LL(1) –ben )
A digitális számítás elmélete
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
Lambda kalkulus.
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
Kötelező alapkérdések
Matematikai logika A diasorozat az Analízis 1. (Mozaik Kiadó 2005.) c. könyvhöz készült. Készítette: Dr. Ábrahám István.
Műveletek mátrixokkal
INFOÉRA Dinamikus programozás (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai képzések.
Euklidészi gyűrűk Definíció.
Algebrai struktúrák 1.
Csoport részcsoport invariáns faktorcsoport részcsoport
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Szintaktikai elemzés február 23..
Szintaktikai elemzés március 1.. Gépi tanulás Osztályozási feladat: Adott egyedek egy halmaza és azok osztályba tartozási függvénye (tanító halmaz),
Halmazok, relációk, függvények
OPERÁCIÓKUTATÁS Kalmár János, 2012 Tartalom A nulla-egy LP megoldása Hátizsák feladat.
Programozó matematikus szak 2003/2004-es tanév II. félév
Programozó matematikus szak 2003/2004-es tanév II. félév
A digitális számítás elmélete
A digitális számítás elmélete
A digitális számítás elmélete
Determinisztikus véges automaták csukva nyitva m s kbsm csukva nyitva csukva nyitva csukvanyitva 1. Példa: Fotocellás ajtó s b m m= mindkét helyen k= kint.
Év eleji információk Előadó: Hosszú Ferenc II. em Konzultáció: Szerda 9:50 – 10:35 II. em
Differenciál számítás
Lineáris algebra Mátrixok, determinánsok, lineáris egyenletrendszerek
Integrálszámítás Mire fogjuk használni az integrálszámítást a matematikában, hova szeretnénk eljutni? Hol használható és mire az integrálszámítás? (már.
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
5. VÉGTELEN HALMAZOK 5.1 Kiválasztási axióma
A számfogalom bővítése
Operációs rendszerek gyakorlat Reguláris kifejezések.
Operációs rendszerek gyakorlat. Reguláris kifejezések.
Lekérdezésfordító Adatbázisok tervezése, megvalósítása, menedzselése.
Halmazelmélet és matematikai logika
A digitális számítás elmélete
4. Gyires Béla Informatikai Nap Debreceni Egyetem Informatikai Kar Új eredmények a Chomsky-féle (formális) nyelvtípusokkal kapcsolatban Dr. Nagy Benedek.
Természetes és formális nyelvek Jellemzők, szintaxis definiálása, Montague, extenzió - intenzió, kategóriákon alapuló gramatika, alkalmazások.
Formális bizonyítások Bizonyítások a Fitch bizonyítási rendszerben: P QRQR S1Igazolás_1 S2Igazolás_2... SnIgazolás_n S Igazolás_n+1 Az igazolások mindig.
Vektorterek Definíció. Legyen V Abel-csoport, F test, továbbá
Koncepció: Specifikáció: e par exp i = eb imp bod ib Specifikáció elemzése: tulajdonságok felírása a koncepció alapján + tulajdonságok bizonyítása.
Az informatika logikai alapjai
Logika szeminárium Előadó: Máté András docens Demonstrátorok:
A MATEMATIKA FELÉPÍTÉSÉNEK ELEMEI
2005. Információelmélet Nagy Szilvia 2. A forráskódolás elmélete.
Hibajavító kódok.
előadások, konzultációk
T.5. tétel (minimálpolinom egyértelmű létezése)
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
A generatív nyelvelmélet
LL(1)-elemzés ● az LL(1)-elemzők már jobbak az előzőeknél, bár nem fedik le a programozási nyelvek szükségleteit ● alapötlet: a levezetés következő lépéséhez.
Fordítóprogramok gyakorlat tavaszi félév gyakorlatvezető:Kitlei Róbert szoba:D 2-616B honlap:
Analitikus fák kondicionálissal
II. konzultáció Analízis Sorozatok Egyváltozós valós függvények I.
Compiler illetve interpreter nyelvek
Precedencia-nyelvtanok
Piros-fekete fák Beszúrás, ill. törléskor a fa elveszítheti az egyensúlyát. A piros-fekete fák: az egyensúly megtartását biztosítják. +1 bit információ.
Programozási nyelvek alapfogalmai
LL(1)-elemzés az LL(1)-elemzők már jobbak az előzőeknél, bár nem fedik le a programozási nyelvek szükségleteit alapötlet: a levezetés következő lépéséhez.
Elméleti probléma: vajon minden következtetés helyességét el tudjuk dönteni analitikus fával (véges sok lépésben)? Ha megengedünk végtelen sok premisszás.
Formális nyelvek és gépek
Gráfok - 1 Definíció: Irányított gráf (digráf) G=(V,E) rendezett pár.
Absztrakt problémák Q  I  S, az absztrakt probléma kétváltozós reláció az esetek (I) és a megoldások (S) halmazán Példa: legrövidebb út Eset: gráf és.
Előadás másolata:

A digitális számítás elmélete Grammatikák Környezetfüggetlen grammatikák és nyelvek Levezetés, levezetési fa, többértelmű CF nyelvek Chomsky-féle normálalak Környezetfüggetlen nyelvek jellemzése a ‘pumpáló lemmával’ Chomsky-féle nyelvosztályok Programozási nyelvek szintaxisának megadása

Helyes angol mondatok nyelvtana SENTENCE  NOUN-PH VERB-PH NOUN-PH  ARTICLE NOUN NOUN-PH  ARTICLE NOUN PREP-PH VERB-PH  VERB VERB-PH  VERB NOUN-PH VERB-PH  VERB NOUN-PH PREP-PH PREP-PH  PREP ARTICLE NOUN  ARTICLE   a  the  NOUN   boy  girl  flower  binocular VERB   sees  likes  touches PREP   with

Helyes angol mondatok nyelvtana the boy sees ART NOUN VERB NOUN-PH  VERB-PH  the boy sees a girl ART NOUN ART NOUN VERB NOUN-PH NOUN-PH VERB-PH the flower likes a boy the flower likes the flower

Helyes angol mondatok nyelvtana the boy sees the girl with the binoculas ARTICLE NOUN VERB NOUN-PH PREP-PH NOUN-PH VERB-PH the boy sees the girl with the binoculas ARTICLE NOUN VERB ARTICLE NOUN PREP-PH ARTICLE NOUN VERB NOUN-PH

Formális nyelvek nyelvtana A {0i1i i >0}nemreguláris nyelv nyelvtana S  0 S 1 S  0 1 S levezetési szabályok terminálisok (a nyelv abc-je) grammatikai változók vagy nemterminális jelek a kezdő szimbólum: egy kitüntetett nemterminális jel 1 1 1 1

Generatív grammatikák Definíció: Egy G = (V, , R, S) négyes generatív grammatika, ahol: V egy véges halmaz, a grammatikai változók vagy nemterminálisok halmaza,  egy véges halmaz, diszjunkt V-vel, a terminálisok halmaza, R egy véges halmaz, a levezetési szabályok halmaza, ahol egy levezetési szabály alakja a  b ahol a és b terminálisok és nemterminálisok sorozata, SV a kezdő- vagy mondatszimbólum.

Generatív grammatikák Definíció: Egy G = (V, , R, S) grammatika alapján a k (V)* szóból közvetlenül levezethető a m(V)* szó, ha léteznek olyan g, d (V)* szavak és a  b szabály R-ben, hogy: k = g a d, m = g b d. Jelölés: k G m vagy k  m

Generatív grammatikák Definíció: Egy w1, ... wn (V)* -beli szavak sorozatárára azt mondjuk, hogy ez egy levezetése wn-nek w1-ből a G = (V, , R, S) grammatika alapján, ha w1  G w2  G ...  G wn. Definíció: Egy u és v (V)* -beli szavak esetén v levezethető u-ból a G = (V, , R, S) grammatika alapján, ha u =v, vagy létezik n0 és u= w1, ... wn = v mind (V)*-beli szavak, hogy w1  G w2  G ...  G wn. Jelölés: u *G v vagy u * v

Generatív grammatikák Definíció: A G = (V, , R, S) grammatika generálja az L  * nyelvet, ha L =  w  *  S * w  Jelölés: L(G) a G grammatika által generált nyelv. Definíció: A G és G’ grammatikák ekvivalensek, ha L(G) = L(G’)

Rekurzív grammatikák Definíció: A G = (V, , R, S) grammatika rekurzív, ha van olyan AV, és g, d (V)* szavak hogy A * gAd A egy rekurzív nemterminálisa a grammatikának. Megj: Nemrekurzív grammatikák véges nyelvet generálnak.

Környezetfüggetlen (Context Free, CF) grammatikák Definíció: A G = (V, , R, S) grammatika környezetfüggetlen, ha a levezetési szabályainak bal oldalán egyetlen nemterminális szerepel, azaz a szabályok A  b alakúak, ahol A  V, b  (V)* 1.Megj: Egy CF grammatika nemterminálisai a szabályok bal oldalán szereplő szimbólumok, a többi szimbólum a terminálisok. 2. Megj: A kezdő szimbólum az első szabály bal oldalán szerepel (megállapodás). 3. Megj: A  b  g  d forma gazdaságos szabályösszevonás.

Környezetfüggetlen (Context Free) grammatikák 1. Példa: A G = (S, a, b, R, S), és R =  S  aSb  SS  e  baba aba bab abba abab aaabbb aababb ( ) ( ) ((( ))) (( )( ))

Környezetfüggetlen (Context Free) grammatikák 2. Példa: G = (V, , R, E) , ahol: V =  E,T,F  =  (, ), +, , id R = E  E+T expression R1 E  T R2 T  T  F term R3 T  F R4 F  (E) factor R5 F  id R6

Környezetfüggetlen (Context Free) grammatikák (id  id + id)  (id + id) kifejezése levezetése E  T  T  F  T  (E)  T  (E+T)  T  (T+T)  T  (F+T)  T  (id+T)  T  (id+F)  T  (id+id)  F  (id+id)  (E)  (id+id)  (E+T)  (id+id)  (E+F)  (id+id)  (E+id)  (id+id)  (T+id)  (id+id)  (T F+id)  (id+id)  (F F+id)  (id+id)  (F id+id)  (id+id)  (id id+id)  (id+id)  E+T R1 E  T R2 T  T  F R3 T  F R4 F  (E) R5 F  id R6

Egy reguláris nyelv környezetfüggetlen-e? Tétel: Igen. Biz: Ha L reguláris, akkor van őt felismerő M dva. Készítünk egy éppen L-et generáló CF grammatikát. M minden qi állapotának megfeleltetünk egy Ri nemterminális szimbólumot, a kezdőszimbólum R0. Ri  aRk szabály, ha (ri ,a) = rk Ri  e szabály, ha ri végállapot M-ben. Az így definiált grammatika éppen az L-beli szavakat generálja valóban, mert ...

Egyértelmű-e mindig egy CF grammatika szerinti levezetés? Válasz: Nem mindig, mert a szabályok alkalmazásának sorrendje tetszőleges lehet.

Levezetési fa Definíció: Egy CF G grammatika szerinti levezetés olyan fával ábrázolható, melynek gyökere a kezdőszimbólum, levelei balról jobbra a levezetett szó betűi, további csomópontjai nemterminálisok, és az elágazások egy-egy alkalmazott szabálynak felelnek meg. Ez a levezetési fa.

Levezetési fa 1. Pl: SENTENCE NOUN-PH VERB-PH ARTICLE NOUN VERB NOUN-PH the boy sees ARTICLE NOUN PREP-PH the girl PREP ARTICLE NOUN with the binocular

Levezetési fa 2. Pl: id + id  id E E + T T T  F F F id id id  E+T R1 E  T R2 T  T  F R3 T  F R4 F  (E) R5 F  id R6

Környezetfüggetlen (Context Free) grammatikák Definíció: Egy környezetfüggetlen grammatika szerinti levezetés baloldali, ha a levezetés egyes lépéseiben a legbaloldalibb nemtermimálist helyettesítjük be. Definíció: Egy nyelvtan egyértelmű, ha minden generált szavának egyetlen baloldali levezetése van. Különben többértelmű. Megj: Minden baloldali levezetés meghatároz egy levezetési fát. Tehát egyértelmű nyelvtan esetén minden generált szóhoz egyetlen levezetési fa létezik. Definíció: Egy CF nyelv eredendően többértelmű, ha nem generálható egyértelmű grammatikával.

Egyértelmű-e mindíg egy CF grammatika szerinti baloldali levezetés? Válasz: Nem mindíg. 1. Pl: the boy sees the girl with the flower 2. Pl: R’ = E  E+E, E  EE, E  (E), E  id  id + id  id két baloldali levezetése: E E E + E E  E id E  E E + E id id id id id  E+T  T T T  F  F F  (E) F  id

Chomsky-féle normál alak (CNF) Definíció: A G = (V, , R, S) CF grammatika Chomsky-féle normál alakban adott, ha a szabályok az alábbi alakúak: A  BC A  a S  e ahol A, B, C V, a , B és C nem kezdőszimbólumok. Tétel: Tetszőleges CF nyelvhez megadható őt generáló grammatika Chomsky-féle normál alakban.

Chomsky-féle normálalak (CNF) Bizonyítás: S0 S új kezdő szimbólum Minden A e szabályra: a) töröljük A e szabályt, ahol A nem kezdősz. b) B aAb szabályokhoz adjunk újabbakat úgy, hogy töröljük A-t, minden lehetséges módon! pl: B aAbAg esetén a köv. 3 szabályt iktatjuk be: B abAg B aAbg B abg c) B A esetén a Be szabályt csak akkor iktatjuk be, ha korábban a)-ban nem töröltünk már ilyen szabályt. Minden A C szabályra: a) töröljük AC szabályt b) ha van C a szabály, iktassuk be az Aa -t, kivéve ha azt már valamikor töröltük a) folyamán.

Chomsky-féle normálalak (CNF) 4. Végül konvertáljuk a megmaradt és beszúrt szabályokat max 2 hosszú jobboldalas alakra: a) A a1a2... ak ahol k3, ai terminális vagy nemterminális. Helyettesítjük ezt új nemterminálisok és szabályok beiktatásával: A a1 A1 , A1  a2 A2 , A2  a3 A3, ... Ak-2  ak-1 ak b) Minden a)-ban hozzáadott, valamint legalább 2 hosszú jobb oldalú szabályban helyettesítsük ai terminálist Ui nemterminálissal, és iktassuk be a Ui  ai szabályt.

CF nyelvek jellemzése pumpáló lemmával Tétel: (Pumpáló lemma, Bar-Hillel lemma): Ha L  * egy CFL, akkor  p  N szám, hogy  s  L esetén, ha s hossza legalább p, akkor s felbontható s =uvxyz alakba úgy, hogy: uvnxynz  L minden n 0 esetén,  vy  >0,  vxy   p.

CF nyelvek jellemzése pumpáló lemmával Biz: Ötlet: s jó hosszú L-beli sorozat, ekkor levezetésében 2-szer szerepel egy A S S A A A A A u v x y z u v y z v x y

CF nyelvek jellemzése pumpáló lemmával Bizonyítás: Legyen G egy, az adott L-t generáló CFG, és b legyen a szabályok jobb oldalán szereplő szimbólumok max. száma, feltételezzük hogy b2. Tetszőleges m mélységű levezetési fában max. bm levél szerepel. Legyen p = b V+2, ahol V a G-beli változók száma. Mivel b2, így p  b V+1, ezért ha s L-beli legalább p hosszú sorozat, akkor minden levezetési fája legalább V+2 mély kell hogy legyen. Legyen s. L-beli legalább p hosszú sorozat, legyen t s egy legkevesebb csomópontú levezetési fája. t legalább V+2 mély, ezért a leghosszabb út a gyökértől egy levélig is legalább V+2. Ez az út legalább V+1 változót tartalmaz, ekkor a galambdúc elv miatt van olyan változó, mely legalább 2-szer szerepel az út végső, V+1 hosszú szakaszán. Legyen ez A.

CF nyelvek jellemzése pumpáló lemmával s = uvxyz uvnxynz  L n 0 esetén valóban v és y közül legalább az egyik nem e. Különben t–nál kevesebb csomópontú levezetési fa létezne s-hez. vxy legfeljebb p hosszú, mivel A-ból egy maximum V+2 mélységű fa vezeti le, melynek legfeljebb b V+2 = p levele lehet. A A u v x y z S . A x u z

A pumpáló lemma használata Pl: L =  an bn cn  0  n  nem CFL. Biz:A pumpáló lemmát használjuk, indirekten bizonyítunk. Tfel indirekten, hogy L CFL, ekkor p jelölje a pumpáló hosszt. Legyen s = apbpcp. Ekkor s = uvxyz. Ha v is és y is egy-egy fajta terminálist tartalmaznak, akkor uv2xy2z nem tartalmaz mindhárom terminálisból ugyanannyit, így uv2xy2z nem L-beli. Ha pl. v tartalmaz több terminálist, akkor v2 –ben azok sorrendje lesz nem megfelelő, így uv2xy2z nem L-beli. A fenti esetek valamelyike fenn kell hogy álljon, de azok mind ellentmondásra vezettek, így az indirekt feltevés hamis.

Chomsky-féle nyelvosztályok A nyelvet generáló grammatika szabályaira tett megkötések alapján: 3-as nyelvosztály: reguláris (R) A a, A aB alakú szabályok 2-es nyelvosztály: környezetfüggetlen (CF) A a alakú szabályok 1-es nyelvosztály (k: környezetfüggő (CS) b A g  b a g alakú szabályok a  b alakú szabályok ahol a   b  nem csökkenő megj: ezek ekvivalensek! 0-ás nyelvosztály: tetszőleges alakú szabályok 1.Megj: egyre bővebb nyelvosztályok 2. Megj: nyelv jellemzése az őt generáló grammatika alapján

Backus-Naur Form (BNF) programozási nyelvek definiálására meta-nyelv, eredetileg 59-60-ból, az Algol és Fortran definiálására Turing-díj Backusnak változatok ma is programozási nyelvek megadására http://cs.wpi.edu/~kal/PLT/PLT2.1.2.html http://cui.unige.ch/db-research/Enseignement/analyseinfo/BNFweb.html ha egy szintaxis BNF formában adott, vannak eszközök, melyek automatikusan generálnak egy elemzőt, mely a szintaktikus helyességet ellenőrzi, és levezetési fát produkál, sőt le is fordítja a programot http://www.thefreecountry.com/developercity/constructcompilers.shtml

Miről volt szó ? Grammatikák Környezetfüggetlen grammatikák és nyelvek Levezetés, levezetési fa, többértelmű CF nyelvek Chomsky-féle normálalak Környezetfüggetlen nyelvek jellemzése a ‘pumpáló lemmával’ Chomsky-féle nyelvosztályok BNF, Programozási nyelvek szintaxisának megadása