Csempe átíró nyelvtanok

Hasonló dokumentumok
Formális nyelvek - 9.

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:

Automaták és formális nyelvek

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

Chomsky-féle hierarchia

Formális nyelvek - 5.

Chomsky-féle hierarchia

Automaták mint elfogadók (akceptorok)

A számítógépes nyelvészet elmélete és gyakorlata. Formális nyelvek elmélete

Formális Nyelvek - 1. Előadás

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

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 PÁRHUZAMOSSÁG VIZSGÁLATA A KLASSZIKUS FORMÁLIS NYELVEKHEZ KAPCSOLÓDÓAN. Nagy Benedek Debreceni Egyetem Informatikai Kar Számítógéptudományi Tanszék

6. előadás A reguláris nyelvek jellemzése 2.

5. előadás Reguláris kifejezések, a reguláris nyelvek jellemzése 1.

Házi feladatok megoldása. Nyelvek felismerése. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 5. gyakorlat

Számításelmélet. Második előadás

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Alap fatranszformátorok II

Logika és számításelmélet. 10. előadás

Fraktálok. Kontrakciók Affin leképezések. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék. TARTALOMJEGYZÉK Kontrakciók Affin transzformációk

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

ZH feladatok megoldásai

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Formális nyelvek és gépek (definíciós és tétel lista - 09/10/2)

6. előadás A reguláris nyelvek jellemzése 2.

Házi feladatok megoldása. Nyelvtani transzformációk. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 6. gyakorlat.

ALGEBRAI NYELV- ÉS KÓDELMÉLET. Babcsányi István

17. előadás: Vektorok a térben

Diszkrét matematika II., 8. előadás. Vektorterek

Emlékeztető: LR(0) elemzés. LR elemzések (SLR(1) és LR(1) elemzések)

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

RE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

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

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

Formális nyelvek és automaták

Lagrange és Hamilton mechanika

Boros Zoltán február

A Turing-gép. Formális nyelvek III.

Logika és informatikai alkalmazásai

Többdimenziós automaták

Formális nyelvek és automaták előadások

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

Vektorterek. Több esetben találkozhattunk olyan struktúrával, ahol az. szabadvektorok esetében, vagy a függvények körében, vagy a. vektortér fogalma.

KOVÁCS BÉLA, MATEMATIKA I.

Gy ur uk aprilis 11.

DiMat II Végtelen halmazok

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

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.

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány

Nagy Gábor compalg.inf.elte.hu/ nagy

Formális Nyelvek - 1.

1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet!

Fuzzy halmazok jellemzői

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

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Vektorterek. =a gyakorlatokon megoldásra ajánlott

2014. szeptember 24. és 26. Dr. Vincze Szilvia

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Nagy Gábor compalg.inf.elte.hu/ nagy

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

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

Nyelv hatványa: Legyen L egy nyelv, nemnegatív egész hatványai,,. (rek. definició) Nyelv lezártja (iteráltja): Legyen L egy nyelv. L nyelv lezártja.

Bevezetés a programozáshoz I. Feladatok

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

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Csima Judit november 15.

Bevezetés az algebrába 2 Vektor- és mátrixnorma

Diszkrét matematika 1. középszint

Diszkrét matematika I.

A Számítástudomány alapjai

Csima Judit október 24.

Felismerhető nyelvek zártsági tulajdonságai II... slide #30. Véges nemdeterminisztikus automata... slide #21

Diszkrét matematika 2.

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

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

Logika és informatikai alkalmazásai

Összeállította: dr. Leitold Adrien egyetemi docens

1. Házi feladat. Határidő: I. Legyen f : R R, f(x) = x 2, valamint. d : R + 0 R+ 0

Nagy Gábor compalg.inf.elte.hu/ nagy

Matematika alapjai; Feladatok

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

Matematika (mesterképzés)

Atomataelmélet: A Rabin Scott-automata

II. Két speciális Fibonacci sorozat, szinguláris elemek, természetes indexelés

A számítógépes nyelvészet elmélete és gyakorlata. Automaták

Adatbázisok elmélete 12. előadás

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

10. előadás. Konvex halmazok

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

Nagy Gábor compalg.inf.elte.hu/ nagy

Optimalitáselmélet és analógia: tényleg kiengesztelhetetlen ellentét?

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

Numerikus módszerek 1.

Miért fontos számunkra az előző gyakorlaton tárgyalt lineáris algebrai ismeretek

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Vektorok, mátrixok, lineáris egyenletrendszerek

Átírás:

Csempe átíró nyelvtanok Tile rewriting grammars Németh L. Zoltán Számítástudomány Alapjai Tanszék SZTE, Informatikai Tanszékcsoport 1. előadás - 2006. április 10.

Képek (pictures) I. Alapdefiníciók ábécé: Σ: nemüres, véges halmaz kép: p: egy mátrix melynek elemei Σ-beliek méret: p = ( p row, p col ) pixel: p(i, j): az i. sor, j. eleme p mátrixában 1 i p row, 1 j p col üres kép: λ nemüres képek halmaza: Σ +,+ képek halmaza: Σ, = Σ +,+ {λ} képnyelv (picture language): L Σ,

Képek II. Homogenitás Ha Σ Σ és egy p Σ, minden pixelje eleme Σ -nek, akkor azt mondjuk, hogy p Σ -homogén. speciálisan: a-kép, ha {a}-homogén, (a Σ). A p Σ +,+ kép homogén, ha a-kép, valamely a Σ-ra. Rögzített méretű képek Σ h,k : a h k méretű képek halmaza. a h,k : a Σ h,k -beli a-kép. a +,+ : a Σ +,+ -beli a-képek halmaza.

Jelölések Szokásos konvenciók képek: p, q, r,... pozíciók (koordináta párok): (i, j), (i 1, j 1 ),... ábécék: Σ,, Γ,... betűk: a, b, c,... (terminálisok) A, B, C,..., X, Y, Z, S,... (nemterminálisok) kezdőszimbólum: S

Műveletek képeken és képnyelveken Műveletek vízszintes konkatenáció: p ɵ q csak, ha p row = q row függőleges konkatenáció: p q csak, ha p col = q col ɵ és kiterjeszthető képnyelvekre. ɵ és lezárási operátorai: L ɵ := L iɵ, ahol i 0 L 0ɵ := {λ}, L iɵ = L ɵ L (i 1)ɵ, i > 0 L hasonlóan definiálható L, Simplot-operátor (partícionálás segítségével definiálható).

Részképek, részkép koordinátái Részképek q (i,j) p: q a p részképe az (i, j) (balfelső) pozícióban, ha q(x, y) = p(i 1+x, j 1+y) 1 x q row, 1 y q col q p: ha létezik (i, j), hogy q (i,j) p. Koordináták q koordinátái p-ben: coor (i,j) (q, p) := { (x, y) i x < i + q row, j y < j + q col } coor (i,j) (q, p) =, ha q p nem teljesül coor(p) = coor (1,1) (p, p)

Partícionálás I. Partícionálás A Π(p) = { (p 1, i 1, j 1 ),..., (p n, i n, j n ) } halmaz a p kép egy partícionálása, ha 1. p t p, t : 1 t n-re, és 2. {coor (i1,j 1 )(p 1 ),..., coor (in,j n)(p n )} a coor(p) partícionálása. Simplot-operátor: L, p L +,+ p L-beli részképekre particionálható. L, := L +,+ {λ}. L, bővebb a ɵ és -ra egyszerre vonatkozó lezártnál.

Partícionálás II. Homogén partícionálás A Π(p) partícionálás homogén, ha benne minden részkép homogén (azaz csak azonos betűkből áll.) L partícionálás halmaza Legyen L képnyelv, egy Π = {(p, Π(p)) p L} halmaz L (homogén) partícionálás halmaza, ha minden Π(p) (homogén) partícionálása p-nek.

Helyettesítés fogalmak Helyettesítés leképezés megadása Legyen Σ és két ábécé. Egy σ : 2 Σ+,+ leképezést (képnyelv) helyettesítésnek hívunk ( -ból Σ-ba). Helyettesítés (egy konkrét részkép helyettesítése) Legyenek p, q, q képek, melykre q = q és q (i,j) p teljesül. Ekkor p[q /q] (i,j) jelölje azt a képet, melyet úgy kapunk, hogy p-ben a q részkép (i, j) pozíción való előfordulását a q képre cseréljük, azaz p[q /q] (i,j) (i 1 + x, j 1 + y) = q (x, y) 1 x q row, 1 y q col.

Helyettesítés adott partícionálás szerint Helyettesítés képben homogén partícionálás szerint Legyen σ : 2 Σ+,+ helyettesítés p +,+ egy kép Π(p) = {(p 1, i 1, j 1 ),..., (p n, i n, j n )} egy homogén partícionálás, ahol minden p t egy d t -kép, valamely d t -ra, 1 t n. Ekkor a p-ben Π(p) által indukált helyettesítés: σ Π (p) := {p[r 1 /p 1 ] (i1,j 1 )... [r n /p n ] (in,j n) r t σ(d t ), 1 t n} Helyettesítés nyelvben homogén partícionálás halmaz szerint Legyen L +,+, Π L egy homogén partícionálás halmaza, ekkor az L-ben Π által indukált σ Π helyettesítése: σ Π (L) := {σ Π(p) (p) p L}.

Részképek sarkainak megjelölése Blokk-képek Ha p +,+ egy kép, legyen (p) az a kép, amelyet p sarkainak a megjelölésével kapunk. Pl. ( ) ( b b b b 1 b b b b p = (p) = 2 ) b b b b 4b b b b 3 q = ( a a a ) (q) = ( 1 4 a a a3 2 ) (p) megadható M feletti képként, ahol M = {, 1, 2, 3, 4, 12, 34, 1 4, 2 3, 12 34 } ( M) +,+ elemeit blokk-képeknek hívjuk.

Blokknyelvek Blokknyelvek Ha L +,+, akkor (L) := { (p) p L} Ha p (d +,+ ) akkor p blokk-d-kép másszóval blokkhomogén (d ). univerzális blokknyelv: +,+ := ( (a +,+ ) ) +,+ a +,+ felimerhető (csempéző rendszerekkel (TS)) blokknyelv: L +,+ Azaz a blokknyelvek esetén a képek egy-egy homogén partícionálása indexekkel jelölve van.

Blokkhelyettesítés Blokkhelyettesítés egy blokk-képbe Ha σ : 2 Σ+,+ helyettesítés, p +,+ blokk-kép, akkor legyen Π p (egyértelmű) partícionálása, blokkhomogén részképekre. Ekkor p blokkhelyettesítése: σ B (p) := σ Π (p). Blokkhelyettesítés nyelvbe Ha L +,+ blokknylev, ekkor L blokkhelyettesítése: σ B (L) := {q p L, q σ B (p)}

Konvexitás Konvexitás egy betűre nézve Egy p +,+ kép y-konvex, valamely y -ra, ha bármely x, x y-ra p-ben nem fordul elő az alábbi 2 2-es csempék egyike sem: y x y y x y y y y y x y y y y x Konvexitás halmazra nézve Ha, akkor egy p +,+ kép -konvex, ha y-konvex, minden y -re.

Maximális a-részképek Maximális a-részkép Legyen a, p +,+. Egy q a-kép maximális a-részképe p-nek, ha részképe, azaz q i,j p és miden q i,j p a-részképére p-nek vagy coor (i,j )(q, p) coor (i,j) (q, p) = vagy coor (i,j )(q, p) coor (i,j) (q, p) Állítás Legyen p +,+, és a. Ha p -konvex kép, akkor p maximális, a-homogén részképei diszjunktak. Ezért p maximális homogén képekre történő felbontásakor a feletti részképek egyértelműen meghatározottak.

Képek szélének megjelölése # szimbólumokkal Bekeretezett képek Legyen # / Σ egy ún. keret szimbólum. p Σ +,+ bekeretezett változata: p legyen az a kép, amelyet úgy kapunk, hogy p-t mindenütt egy-egy # szimbólummal vesszük körbe: # #... # # # p(1, 1)... p(1, p col ) # p =....... # p( p row, 1)... p( p row, p col ) # # #... # #

Csempék és lokális nyelv definíciója Lokális nyelvek A Σ feletti (h, k) méretű képek halamazát jelölje Σ h,k. Egy p Σ +,+ kép (h, k) méretű részképeinek a halmaza: B h,k (p) := {q Σ h,k : q p}. Kiterjesztése nyelvekre: B h,k (L) := {B h,k (p) p L} Ha θ (Σ {#}) (2,2), akkor θ elemeit csempéknek (tiles) is hívjuk. LOC(θ) := { p Σ +,+ B 2,2 ( p) θ } Az L Σ +,+ nyelv lokális, ha L = LOC(θ) valamely θ (Σ {#}) 2,2 csempe halmazra.

Csempéző rendszerek Csempéző rendszerek (Tiling Systems) Egy csempéző rendszer (Tiling System, TS) a következő komponensekből áll T = (Σ, Γ, θ, π), ahol Σ és Γ két ábécé, π : Γ Σ egy leképezés, θ 2 2-es csempék halmaza Γ {#} felett (nyilván véges). A T által felismert v. definiált nyelv L(T ) := π(loc(θ)). TS nyelvek A csempéző rendszer által felismerhető nyelveket, TS-felismerhető, vagy röviden TS-nyelveknek hívjuk.

Korlátozott lokalitás Korlátozott lokális nyelv Egy L Σ +,+ korlátozott lokális nyelv (restricted local language), ha létezik olyan Γ (# nélkül!) feletti θ csempe halmaz, melyre p L ha a következők teljesülnek: 1. ha p row 2, p col 2, akkor B 2,2 (p) = θ 2. ha p row = 1, p col 2, akkor B 1,2 (p) = θ 3. ha p row 2, p col = 1, akkor B 2,1 (p) = θ Megjegyzés A korlátozott lokális nyelvek a lokális nyelvek valódi részosztályát alkotják. De a TS nyelveket ekvivalens módon lehet korlátozott lokális nyelvek véges uniójának projekcióiként definiálni.

Csempe átíró nyelvtanok (végre!) Véges nyelv Jelölje FIN(Σ) a Σ feletti véges nyelvek halmazát. Konvex & korlátozott lokális LCVX ( ), pedig a konvex, korlátozott lokális nyelvek halmazát felett,. Csempe átíró nyelvtan (Tile Rewriting Grammar, TRG) Csempe átíró nyelvtan egy G = (Σ, N, S, R) négyes, ahol Σ a terminális ábécé N a nemterminális ábácé S a kezdőszimbólum R N (LCVX N (N Σ) FIN(Σ)) szabályok véges halmaza.

Nemterminális részképek blokkolása N-blokkolás Legyen N egy véges halmaz. N-blokkolásnak nevezzük azt a N : (Σ N) +,+ ( Σ (N M) ) +,+ leképezést, mely bármely N-konvex kép minden maximális A-homogén q részképét (q)-val helyettesíti, minden A N-re.

Levezetés Levezetés Legyen G = (Σ, N, S, R) egy TRG. A G szerinti egy lépésben történő levezetés a következő reláció: G ( Σ (N M) ) +,+ ( Σ (N M) ) +,+, melyre p G p akkor és csak akkor, ha p = p A Ω R, melyre r (i,j) p, r blokk A-homogén kép ω Ω, ω = r, hogy p = p[ N (ω)/r] (i,j).

Csempéző nyelvtanok kifejező ereje G által generált nyelv A G = (Σ, N, S, R) TRG által generált nyelv L(G) := { p Σ +,+ (S p ) G p } TRG nyelvek Jelölje TRG a csempe átíró nyelvtannal generálható nyelvek osztályát, Tétel TS TRG

Normálforma tétel Terminális normálforma Egy G = (Σ, N, S, R) nyelvtan terminális normálformájú, ha szabályaiban terminálisok, csak A σ alakban fordulnak elő, azaz csak 1 1-es véges képekben, a korlátozott lokális nyelvekben nem (σ Σ). Tétel Minden G TRG nyelvtanhoz létezik vele ekvivalens terminális normálformájú TRG.

TRG zártsági tulajdonságai Tétel A TRG nyelvosztály zárt a következő műveletekre 1. unió 2. sor / oszlop konkatenáció: ɵ / 3. sor / oszlop konkatenáció lezártja: ɵ / 4. projekció 5. elforgatás, tükrözés A bizonyításról A szavakból álló környezetfüggetlen nyelvekre működő bizonyítások közvetlenül általánosíthatók.

Nemrekurzív nyelvtanok Tétel TS TRG Nemrekurzív TRG Egy G = (Σ, N, S, R) TRG-t nemrekurzívnak mondunk, ha A G p esetén p-ben nincs blokk-a-homogén részkép (A N). Jelölje nrtrg a nemrekurzív TRG-kel generálható képnyelvek osztályát. Tétel TS = nrtrg

Irodalomjegyzék [1] A. Cherubini, S. Crespi Reghizzi, M. Pradella and P. San Pietro, Picture Languages: Tiling Systems versus Tile Rewriting Grammars, Theor. Comput. Sci, to appear. [2] D. Giammaresi and A. Restivo, Two-Dimensional Languages, in: A. Saloma and G. Rozenberg (eds.), Handbook of Formal Languages, vol. 3, Springer-Verlag, Berlin, 1997, 215 267. [3] O. Matz, Regular Expressions and Context-Free Grammars for Picture Languages, in: Proc. of 14th Annu. Symp. on Theor. Aspects of Comp. Sci., LNCS 1200, Springer-Verlag, Berlin, 1997, 283 294. [4] S. Crespi Reghizzi, M. Pradella, Tile Rewriting Grammars, in: Proc. of Seventh Internat. Conf. on Developments in Language Theory (DLT 2003), LNCS 2710, Springer-Verlag, Berlin, 2003, 206 217. [5] S. Crespi Reghizzi, M. Pradella, Tile Rewriting Grammars and Picture Languages, Theor. Comp. Sci, 340(2), 2005, 257 272.