1 / 20 Univerzális ábécé: Szimbólumok egy megszámlálhatóan végtelen halmazát univerzális ábécének nevezzük. Ábécé: Ábécének nevezzük az univerzális ábécé egy tetszőleges véges részhalmazát. Betű: Az ábécé elemeit betűknek hívjuk. Szó: Az X ábécé elemeinek egy tetszőleges véges sorozatát az X ábécé feletti szónak nevezzük. Ha X nem lényeges vagy egyértelmű, akkor szóról beszélünk. Nyelv: X * valamely részhalmazát (azaz valamely elemét) az X ábécé feletti nyelvnek nevezzük. Nyelvosztály (nyelvcsalád): Nyelvek valamely összességét nyelvosztálynak, nyelvcsaládnak hívjuk. Két szó konkatenációja: az ut t és v t t szavak konkatenációja alatt az uv t t t t szót értjük. Szó hatványa: Legyen u egy szó, nemnegatív egész hatványai , , . (rekurzív definició) Szó megfordítása: Legyen ut t egy szó, ekkor u megfordítása u t t . Homomorfizmus: A konkatenációtartó leképezéseket homomorfizmusnak nevezzük. h konkatenációtartó leképzeés, ha tetszőleges szó esetén h(uv)=h(u)h(v). Homomorfizmus nyelvekre való kiterjesztése: Két nyelv metszete, uniója, különbsége, szimmetrikus differenciája: A nyelv is egy halmaz (szavak halmaza), ezeket mint halmazokon vett műveleteket értelmezzük. Nyelv komplementere: Egy X ábécé feletti nyelv komplementreén a halmazelméleti értelemben vett komplementert értjük X * -ra nézve. Két nyelv konkatenációja: Legyenek L 1 , L 2 nyelvek. Ekkor az L 1 és L 2 nyelvek konkatenációján az 2 nyelvet értjük. Nyelv hatványa: Legyen L egy nyelv, nemnegatív egész hatványai , , . (rek. definició) Nyelv lezártja (iteráltja): Legyen L egy nyelv. az L nyelv lezártja.
20
Embed
Univerzális ábécé: Szimbólumok egy megszámlálhatóanpeople.inf.elte.hu/lavsaai/egyeb/fonya/fonya_s.pdf · Rekurzív nyelv: Az L nyelv rekurzív létezik olyan A eldöntő algoritmus,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1 / 20
Univerzális ábécé: Szimbólumok egy megszámlálhatóan
végtelen halmazát univerzális ábécének nevezzük.
Ábécé: Ábécének nevezzük az univerzális ábécé egy tetszőleges
véges részhalmazát.
Betű: Az ábécé elemeit betűknek hívjuk.
Szó: Az X ábécé elemeinek egy tetszőleges véges sorozatát az X
ábécé feletti szónak nevezzük. Ha X nem lényeges vagy
egyértelmű, akkor szóról beszélünk.
Nyelv: X* valamely részhalmazát (azaz
valamely elemét) az
X ábécé feletti nyelvnek nevezzük.
Nyelvosztály (nyelvcsalád): Nyelvek valamely összességét
nyelvosztálynak, nyelvcsaládnak hívjuk.
Két szó konkatenációja: az u t t és v t t szavak
konkatenációja alatt az uv t t t t szót értjük.
Szó hatványa: Legyen u egy szó, nemnegatív egész hatványai
, , . (rekurzív definició)
Szó megfordítása: Legyen u t t egy szó, ekkor u
megfordítása u t t .
Homomorfizmus: A konkatenációtartó
leképezéseket homomorfizmusnak nevezzük. h
konkatenációtartó leképzeés, ha tetszőleges szó
esetén h(uv)=h(u)h(v).
Homomorfizmus nyelvekre való kiterjesztése:
Két nyelv metszete, uniója, különbsége, szimmetrikus
differenciája: A nyelv is egy halmaz (szavak halmaza),
ezeket mint halmazokon vett műveleteket értelmezzük.
Nyelv komplementere: Egy X ábécé feletti nyelv
komplementreén a halmazelméleti értelemben vett
komplementert értjük X*-ra nézve.
Két nyelv konkatenációja: Legyenek L1, L2 nyelvek. Ekkor az
L1 és L2 nyelvek konkatenációján az 2 nyelvet értjük.
Nyelv hatványa: Legyen L egy nyelv, nemnegatív egész
hatványai , , . (rek. definició)
Nyelv lezártja (iteráltja): Legyen L egy nyelv. az
L nyelv lezártja.
2 / 20
Nyelv pozitív lezártja (iteráltja): Legyen L egy nyelv.
az L nyelv pozitív lezártja.
Nyelv megfordítása: Legyen L egy nyelv. az
L nyelv megfordítása.
Résszó: v résszava u-nak, ha léteznek olyan w1, w2 szavak melyre
u=w1vw2.
Szó egy prefixe: v az u szó prefixe, ha van olyan w szó, hogy
u=vw. v valódi prefix, ha .
Szó prefixhalmaza: Legyen u egy szó.
pre ixe n k az u szó prefixhalmaza.
Szó i hosszúságú prefixe:
Szó egy suffixe: v az u szó suffixe, ha van olyan w szó, hogy
u=wv. v valódi suffix, ha .
Szó suffixhalmaza: Legyen u egy szó.
suf ixe n k az u szó suffixhalmaza.
Szó legfeljebb i hosszúságú suffixhalmaza: .
Szó i hosszúságú suffixe:
Nyelv prefixhalmaza: Legyen L egy nyelv. az L nyelv prefixhalmaza.
Nyelv suffixhalmaza: Legyen L egy nyelv. az L nyelv prefixhalmaza.
Reguláris nyelvek: (rekurzív definició)
• az elemi nyelvek, azaz a ∅, , ( )
• azon nyelvek, melyek az elemi nyelvekből az unió,
konkatenáció és lezárás műveletek véges számú
alkalmazásával állnak elő.
Reguláris kifejezések: (rekurzív definició)
• az elemi reguláris kifejezések, azaz a ∅, , ( )
• ha R1 és R2 reguláris kifejezések, akkor , ,
is reguláris kifejezések
• a reguláris kifejezések halmaza a legszűkebb halmaz,
melyre a fenti két pont teljesül.
3 / 20
X ábécé feletti reguláris kifejezések: (rekurzív definició)
• az elemi reguláris kifejezések, azaz a ∅, , ( )
• ha R1 és R2 X ábécé feletti reguláris kifejezések, akkor
, , is X ábécé feletti reguláris kifejezések
• az X ábécé feletti reguláris kifejezések halmaza a
legszűkebb halmaz, melyre a fenti két pont teljesül.
X ábécé feletti általánosított reguláris kifejezések: (rekurzív
definició)
• az elemi reguláris kifejezések, azaz a ∅, , ( )
• ha R1 és R2 X ábécé feletti reguláris kifejezések, akkor
, , , ,
is X ábécé feletti
reguláris kifejezések
• az X ábécé feletti általánosított reguláris kifejezések
halmaza a legszűkebb halmaz, melyre a fenti két pont
Állapotátmeneti függvény általánosítása: Legyen egy véges determinisztikus automata.
Rekurzívan definiáljuk (q,u) értékét (q Q,u T*).
, (q,t) már definiált (t T).
(u T*,t T).
VDA által felismert nyelv általánosított állapotátmeneti
függvénnyel megadva: Legyen egy
véges determinisztikus automata. Az által felismert
(elfogadott) nyelv a következő: .
11 / 20
Automata megadása táblázattal: A sorok megfelelnek Q
elemeinek, az oszlopok T (általánosabb automata esetén
X=T ε vagy X ℛ T ) elemeinek. A q Q sorn k és t T v gy ált lános bb n t X oszlopn k megfelelő cell tartalma q t . A kezdőáll potot végáll potok t ← szimbólumm l jelöljük.
Automata megadása átmenetdiagrammal: Irányított gráf, ahol
a szögpontok és az élek is címkézettek. A szögpontok
megfelelnek Q elemeinek (a kezdőállapotot a
szimbólummal megjelöljük, F elemeit bekarikázzuk), míg az
élek T (általánosabb automata esetén X=T {ε} vagy
X=ℛ(T)) elemeinek. qϵQ-ból vezet t T (vagy általánosabban
t X) címkéjű irányított él q’ Q-ba, akkor és csak akkor, ha
q’=( ) (q,t).
Általánosított szekvenciális automata: általánosított szekvenciális automata, ha Q egy véges
halmaz, az állapotok halmaza, T egy véges halmaz, az
inputszavak ábécéje, q0 Q a kezdőállapot, F⊆Q a
végállapotok halmaza, továbbá az állapotátmeneti függvény:
ℛ alakú függvény, melyre megköveteljük,
hogy véges tartójú legyen, azaz minden qϵQ-hoz csak véges
sok R ℛ(T) esetén teljesül, hogy (q,R) ∅.
Általánosított szekvenciális automata által elfogadott szó: Az
általánosított szekvenciális automata
elfogadja az u T* szót ∃n ℕ, ,
ℛ és , melyre ,
továbbá minden 1 i n esetén ,
és . Átmenetdiagrammos megadás esetén: elfogadja az uϵT* szót h v n irányított út q0-ból v l mely -beli áll potb mely út mentén z élek címkéje z dott sorrendben R1 Rn és u L R1R2 Rn).
Általánosított szekvenciális automata által felismert nyelv:
elfog dj t .
Minimális automata: Valamely ℒ -hoz adott minimális
állapotszámú véges, determinisztikus automatát L minimális
automatájának nevezzük.
12 / 20
Összefüggő automata: Egy véges, determinisztikus automata összefüggő, ha minden qϵQ
esetén létezik u T* szó, hogy (q0,u)=a.
Automata állapotra vonatkozó maradéknyelve: Legyen
egy véges, determinisztikus automata.
Az automata q Q-ra vonatkozó maradéknyelve
.
Automata ekvivalens állapotai: Legyen egy
véges determinisztikus automata. .
Automaták ekvivalens állapotai: Legyenek és véges determinisztikus automaták.
.
Automaták ekvivalenciája: Legyenek és véges determinisztikus automaták.
.
Automata faktorautomatája: Legyen egy
véges determinisztikus automata. faktorautomatája
, ahol
• a q-val ekvivalens állapotok osztálya, melynek
reprezentálása q,
• ,
• , azaz ’-t egy tetszőleges
reprezentálással definiáljuk.
Redukált automata: Egy adott véges, determinisztikus
automata redukált automata, ha minden q,q’ A esetén
, azaz nincsenek különböző ekvivalens állapotai.
Automata i-ekvivalens állapotai: Legyen egy véges determinisztikus automata. Azt mondjuk, hogy
(q i-ekvivalens q’-vel), ha minden esetén
.
13 / 20
Automaták izomorfiája: Legyenek
(i=1,2) véges determinisztikus automaták. Ekkor és
izomorfak, ha létezik kölcsönösen egyértelmű
ráképezés, melyre a következők teljesülnek:
•
,
• ,
• -t megőrzi, azaz minden q1 Q1 és minden t T esetén
.
Direkt szorzat automata: Legyenek
véges determinisztikus automaták, i=1,2. Az
automatát direkt szorzat
automatának hívjuk. működése komponensenként
párhuzamosan történik, amit a jelöléssel fejezünk ki.
Formálisan . A
végállapotok halmaza feladatonként változhat.
Például legyen a a műveletek közül az egyik.
Feladat: konstruálni egy automatát, melyre fennáll, hogy
. Ekkor
• ,
• ,
• .
Knuth-Morris-Pratt (KMP) automata: Legyen m T* egy szó.
Az mintához tartozó Knuth-
Morris-Pratt automata a következő.
, ahol
.
Nyelv szóra vonatkozó maradéknyelve: Egy L nyelv p T(L)*-
ra vonatkozó maradéknyelve
Összes levezetések gráfja: Legyen tetszőleges nyelvtan. G összes
levezetésének gráfja olyan végtelen, irányított gráf, melynek
pontjai (T N)* elemeinek felel meg. α-ból β-ba van i,j
címkéjű ( él, ha és ,
, .
14 / 20
Szintaxisfa: Legyen tetszőleges 2-es típusú
nyelvtan. A t nemüres fát G feletti szintaxisfának nevezzük
ha megfelel a következő tulajdonságoknak:
• pontjai T N { } elemeivel vannak címkézve.
• belső pontjai N elemeivel vannak címkézve.
• ha egy belső pont címkéje X, a közvetlen leszármazottainak
címkéi pedig balról jobbra olvasva X1,X2,…Xk, akkor
X X1X2…Xk . • z ε-n l címkézett pontokn k nincs testvére.
Legbal levezetés: A legbal elvezetés olyan levezetés, hogy ha a
levezetés folyamán a mondatforma i. betűjén helyettesítés
történik, akkor a korábbi pozíciókat (1,…,i-1.) a levezetés
már a további lépésekben nem érinti, azok változatlanul
maradnak.
Legjobb levezetés: A legjobb levezetés olyan levezetés, hogy ha
a levezetés folyamán a mondatforma hátulról i. betűjén
helyettesítés történik, akkor a későbbi pozíciókat (hátulról
1,…,i-1.) a levezetés már a további lépésekben nem érinti,
azok változatlanul maradnak.
Legbal mondatforma: Valamely L(G)-beli szó legbal levezetése
során előforduló mondatforma.
Legjobb mondatforma: Valamely L(G)-beli szó legjobb
levezetése során előforduló mondatforma.
Egyértelmű nyelvtan: egyértelmű nyelvtan, ha minden
u L(G)-nek pontosan egy szintaxisfája létezik.
Egyértelmű nyelv: Létezik 2. típusú egyértelmű nyelvtan, ami
generálja.
Lényegesen nem egyértelmű nyelv: Nem létezik 2. típusú
egyértelmű nyelvtan ami generálja.
Szintaktikus elemzések alapfeladata: Legyen adva egy
második típusú nyelvtan és egy u T*
szó. Az elemzési algoritmusok feladata azt eldönteni, hogy u
szó eleme-e L(G)-nek és ha igen, akkor felépíteni u egy G
feletti szintaxisfáját.
Felülről lefelé elemzés: A szintaxisfát a gyökértől, azaz a
kezdőszimbólumtól próbálja felépíteni.
Aulról felfelé elemzés: A szintaxisfát a levelektől, azaz az
elemzendő szótól próbálja felépíteni.
15 / 20
LL(k) nyelvtan: A G 2-es típusú nyelvtan LL(k) nyelvtan, ha
tetszőleges
és
levezetések esetén abból, hogy pre(w1,k)=pre(w2,k)
következik, hogy .
Nyél: Aulról felfelé elemzés esetén az olyan visszahelyettesíthető
részre, mely egy legjobb mondatforma valamely legjobb
levezetésének utolsó lépésében áll elő, a nyél elnevezést
használjuk.
LR(k) nyelvtan: A G 2-es típusú nyelvtan LL(k) nyelvtan, ha
tetszőleges
, 1 1 , 1 1 1 , 1 1 és
legjobb levezetések esetén
abból, hogy α1γ1pre(v1,k)= α2γ2pre(v2,k) valamelyike
kezdőszelete a másiknak, következik, , A=B és
.
16 / 20
T: Nem minden nyelv írható le nyelvtannal.
T: (Church-tézis) Minden valamilyen konstruktív módon
megadható nyelv leírható nyelvtannal.
T: (Megszorítási tétel) ℒ ℒ (i=1,2,3).
T: (Normálforma tétel) ℒ ℒ (i=0,1,2,3).
i=1 esetén Kuroda normálforma tétel, i=2 esetén Chomsky
normálforma tétel a neve.
T: (Greibach NF tétel) Minden nyelvtanhoz létezik G’
Greibach normálformájú nyelvtan, melyre G’~G.
T: (Zártsági tétel) Az ℒ (i=0,1,2,3) nyelvosztályok zártak az
unió, konkatenáció és a lezárás műveletekre.
T: ℒ ⊆ ℒ , ℒ ⊆ ℒ , ℒ ⊆ ℒ
T: ℒ ℒ ℒ ℒ ℒ ℒ
T: Legyen egy véges, determinisztikus automata, ekkor
redukált és .
T: (Izomorfia tétel) Legyenek 1 és 2 összefüggő, redukált és
egymással ekvivalens automaták. Ekkor .
T: (Kleene tétel) ℒ ℒ .
T: Az ℒ nyelvosztály zárt a komplementer, a metszet, a
különbség és a szimmetrikus differencia műveletekre.
T: (Chomsky nyelvhierarchia) ℒ ℒ ℒ ℒ .
T: (Myhill-Nerode tétel) L ℒ kkor és cs k kkor h
, ahol T=T(L) z L nyelv ábécéje.
T: (Kis Bar-Hiller lemma) Minden L ℒ nyelvhez van olyan n n L ℕ nyelvfüggő konst ns hogy minden u L, szó esetén v n u-nak olyan u=xyz felbontás (x y z T L *), melyre • , • ; •minden egész esetén .
T: (Nagy Bar-Hiller lemma) Minden L ℒ nyelvhez vannak olyan p=p(L), q q L ℕ nyelvfüggő konst nsok hogy minden u L, szó esetén v n u-nak olyan u=xyzvw felbontás x y z v w T L *), melyre • , • ; •minden egész esetén .
17 / 20
T: A determinisztikus veremautomaták által elfogadott nyelvek
osztálya valódi részhalmaza a veremautomaták által
elfogadott nyelvek osztályának.
T: A végállapottal és az üres veremmel elfogadó veremautomaták
által elfogadható nyelvek nyelvosztálya megegyezik.
T: ℒ ℒ
T: ℒ ℒ ( )
Lemma: Tetszőleges nyelvtan, és esetén
akkor és csak akkor, ha létezik t G
feletti szintaxisfa, melyre gy(t)=Z és front(t)=α.
T: Lineáris nyelvi egyenletek megoldóképlete Ha R1 és R2 reguláris kifejezések és ε L(R1), akkor az R1X R2=X egyenlet egyértelmű megoldás
.
T: Lineáris nyelvi egyenletrendszerek megoldh tóság Legyen Mx v x nyelvi egyenletrendszer, ahol az
nyelvmátrix és
nyelvvektor dott k és
ismeretlen nyelvekből
álló vektor. H
⊆ ℒ
i és , akkor az
egyenletrendszernek egyértelműen létezik megoldás melynek elemei ℒ elemeiből reguláris műveletekkel megk ph tók.
T: ℒ ℒ ℒ .
18 / 20
I:
(L2*L1*)* = (L1L2)*
(L1L2)* = (L1*L2*)*
A 3. tip. nyelvek zártak a komplementer műveletre. A konkatenáció asszociatív művelet.
(kiterjesztett) 3. típ. nyelvtan 1. típusú nyelvtan.
0-veremautomata véges determinisztikus automata.
2. típ. nyelv megfordítása is második típusú nyelv.
3. típ. nyelv felismerhető véges nemdet. automatával.
3. típ. nyelv felismerhető VNDA-val.
Chomsky 1. típ. nyelv rekurzív nyelv.
Chomsky 2. típ. nyelv felismerhető egy
veremautomatával.
Chomsky 2. típ. nyelv rekurzív nyelv. Chomsky 2. típ. nyelv rekurzívan felsorolható nyelv.
Chomsky 2. típ. nyelv rekurzívan felsorolható nyelv.
környezet független nyelv felismerhető 1 veremmel.
környezet független nyelv felismerhető
veremautomatával.
környezetfüggetlen nyelv felismerhető 1 veremmel.
környezetfüggetlen nyelv felismerhető veremautóm.
környezetfüggő nyelv rekurzív.
nemdeterminisztikus automata 0-verem is.
nyelvtannal leírható nyelv rekurzívan felsorolható
nyelvtannal leírt nyelv parciálisan rekurzív.
nyelvtannal leírt nyelv reguláris
nyelvtannal leírt nyelv rekurzívan felsorolható.
parciálisan rekurzív nyelv rekurzívan felsorolható
nyelv
reguláris nyelv 3. típusú.
reguláris nyelv rekurzív nyelv.
rekurzív nyelv rekurzívan felsorolható.
rekurzív nyelv komplementere is rekurzív nyelv.
rekurzívan felsorolható nyelv parciálisan rekurzív.