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

Hasonló dokumentumok
Automaták mint elfogadók (akceptorok)

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:

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

Algoritmuselmélet 12. előadás

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

9. előadás Veremautomaták 1.

Véges automaták, reguláris nyelvek

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

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

ZH feladatok megoldásai

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

Formális nyelvek - 9.

NP-teljesség röviden

Turing-gépek. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1

A Számítástudomány alapjai

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

Atomataelmélet: A Rabin Scott-automata

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.

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

6. előadás Környezetfüggetlen nyelvtanok/1.

Nyelvek és automaták augusztus

Automaták és formális nyelvek

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

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

Formális Nyelvek és Automaták v1.9

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 3. Előadás

Kriptográfia 0. A biztonság alapja. Számítás-komplexitási kérdések

Turing-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz VIII. Friedl Katalin BME SZIT március 18.

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

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!

Informatika 1 2. el adás: Absztrakt számítógépek

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

(2004) by Data parancsnok Based on (not so much auditted) lectures of Dr. Radelecki Sándor

Chomsky-féle hierarchia

Turing-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT augusztus 16.

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

Rekurzió. Dr. Iványi Péter

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

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.

Formális Nyelvek - 1.

FORMÁLIS NYELVEK ÉS FORDÍTÓPROGRAMOK. LABORGYAKORLATOK

Dicsőségtabló Beadós programozási feladatok

Formális nyelvek Második, javított kiadás

Chomsky-féle hierarchia

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

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

Bevezetés az informatikába

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

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

Átlátható veremautomaták és nyelvek

A TANTÁRGY ADATLAPJA

Számításelmélet. Will június 13. A kiszámíthatóság fogalma és a Church-Turing tézis

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

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


Formális nyelvek és automaták

MintaFeladatok 2.ZH Megoldások

Fogalomtár a Formális nyelvek és

2 Ó b u d a i E g y e t e m

Informatika szigorlat. A lexikális elemző feladatai közé tartozik a whitespace karakterek (a

A Számítógépek felépítése, mőködési módjai. A Számítógépek hardverelemei

Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. Alapok


Fordítóprogramok felépítése, az egyes programok feladata. A következő jelölésmódot használjuk: program(bemenet)(kimenet)

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

2009/2010/I. félév, Prof. Dr. Galántai Aurél BMF NIK IMRI Budapest november 25.

Formális nyelvek és automaták

Környezetfüggetlen nyelvtan. Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták. Backus-Naur forma

Programozási módszertan

Szoftver Szigorlat Tételek '07

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 11. Előadás

MintaFeladatok 2.ZH Megoldások

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

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

A tananyag a TÁMOP A/1-11/ számú projekt keretében készült.

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

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

LIMBAJE FORMALE ȘI COMPILATOARE Lucrări de laborator FORMÁLIS NYELVEK ÉS FORDÍTÓPROGRAMOK

Tesztkérdések az ALGORITMUSELMÉLET tárgyból, 2001/ félév

Budapesti M szaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék INFORMATIKA 2 AUTOMATÁK ÉS NYELVEK.

A tananyag a TÁMOP A/1-11/ számú projekt keretében készült.

Formális nyelvek és automaták

Feladatok: 1. Add meg a következ balreguláris nyelvtannak megfelel jobbreguláris nyelvtant!

Mérés és modellezés 1

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

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Környezetfüggetlen nyelvtan. Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták. Backus-Naur forma

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

Adatszerkezetek 1. Dr. Iványi Péter

Formális Nyelvek és Automaták Dömösi, Pál Falucskai, János Horváth, Géza Mecsei, Zoltán Nagy, Benedek

Formális nyelvek. Aszalós László, Mihálydeák Tamás. Számítógéptudományi Tanszék. December 6, 2017

Informatika érettségi vizsga

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

Államvizsga kérdések a matematikus szakon, 2001.

Számítógép architektúra

Számítógép és programozás 2

Mérés és modellezés Méréstechnika VM, GM, MM 1

Számításelmélet Tamás Herendi

Átírás:

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

Nyelvek és automaták A nyelvek automatákkal is jellemezhetőek Automaták hierarchiája Chomsky-féle hierarchia Automata: új eszköz a nyelvek komplexitásának tanulmányozására, a természetes nyelvek jellemzésére

Automata idealizált, absztrakt számítógép matematikai fogalom azzal a módszerrel írható le, ahogyan a számítást végzi input: erre reagál output: ezt produkálja a kettő viszonyát az automata belső felépítése határozza meg

Automata egy automata mindig valamilyen állapotban van állapot: az automata azon jellemzője, ami a számítás során megváltozik véges állapothalmaz: minden helyzetben pontosan egy állapot érvényes

Nyelvek és automaták automata: elfogadó berendezés eszköz, amely adott inputot számítás után elfogad vagy elutasít input: jelsorozat adott ábécé felett automata: eldönti, adott nyelvhez tartozik-e az input generáló eszköznek is tekinthető

Véges automaták reguláris nyelveket elfogadó automaták osztálya - vezérlőmű, véges sok különböző állapottal (a számítás során mindig vmilyen állapotban van) - bemenő szalag, mely cellákra van osztva, erre írjuk rá az inputot - olvasó fej: az inputot balról jobbra, cellánként beolvassa

Véges automaták

Véges automaták M ( K,,, q 0, F) K az automata állapotainak véges halmaza, az elemzendő nyelv ábécéje, az automata mozgási szabályainak véges halmaza, az állapotról állapotra változáshoz q 0 a kezdőállapot, q 0 K F az elfogadó állapotok halmaza, F K

Véges automaták - bekapcsoláskor a vezérlőmű egy előre rögzített belső állapotba, a kezdőállapotba kerül, az olvasó fej a bemenő szalag balról vett első cellájára áll; - az automata beolvassa az első cella tartalmát, majd a pillanatnyi belső állapota és a beolvasott jel alapján a szabályok által vezérelve átkerül a következő állapotba, az olvasó fej egy cellával jobbra lép

Véges automaták A mozgási szabályok adják meg, hogy egy adott állapotban egy adott karakter beolvasásának hatására milyen új állapotot vesz fel az automata. A δ( Q, a ) = R mozgási szabály akkor alkalmazható, ha az automata az Q állapotban van, és az olvasott karakter a. Az új állapot R lesz (ez Q is lehet).

Véges automaták determinisztikus automata: mindig csak egy utasítás hajtható végre, működése teljesen meghatározott elfogadás: - az inputot végig kell olvasnia - az utolsó karakter beolvasása után elfogadó állapotba kell kerülnie

Véges automaták az automata leáll, ha az utolsó jel beolvasása után: - az utolsó állapot elfogadó állapot, akkor az automata elfogadta a szót; - az utolsó állapot nem elfogadó állapot, akkor az automata elutasította a szót. ha bármely jel beolvasása után nincs értelmezve a következő állapot, akkor az automata elutasította a szót

Példa K={S, A, B, C } Ábrázolás: ={a, b, c} S F = {C } = { (S, a) = A (A, a) = A (A, b) = B (B, b) = B (B, c) = C (C, c) = C}

Példa Elfogadja-e az alábbi jelsorozatokat? 01011 0011 11001101 01010111111 Milyen nyelvet fogad el?

Véges automaták Az M automata L(M) nyelve azon jelsorozatok összessége, amelyeket az automata elfogad. A véges automaták által elfogadott nyelvek éppen a 3-as nyelvosztály elemei, tehát a véges automaták pontosan azokat a nyelveket fogadják el, amelyeket a reguláris nyelvtanok generálnak. (NB: a determinisztikus és a nemdeterminisztikus véges automaták osztálya ekvivalens)

Alkalmazási területek szótárak tárolása (NB: ez egy determinisztikus minimálautomata) hozzáférés szótárakhoz szótárak módosítása

Veremautomaták nemdeterminisztikus veremautomaták: környezetfüggetlen nyelvek osztályát fogadják el véges automata kiegészítve egy memóriaszalaggal: olvas, ír, töröl róla elnevezés: verem működése: LIFO Last In First Out LIFO elv illusztrációja: Tower of Hanoi http://www.mathsisfun.com/games/towerofhanoi.html

Veremautomaták

Veremautomaták Veremautomata működése: - a bemenő szalagon szerepel az input, a vezérlőmű ezt olvassa be balróljobbra - a véges memóriájú vezérlőmű minden pillanatban meghatározott állapotban van, az állapotok száma véges - a vermet, mint szalagot alkalmazzuk, melyre ráírjuk, illetve melyről beolvassuk a verem ábécé jeleit - a verem felső szimbólumát olvashatja, eltávolíthatja, hozzáadhat, változatlanul hagyhatja - bekapcsoláskor: üres verem, kezdőállapot, olvasófej input bal szélén - elfogadás: az inputot végig kell olvasni, elfogadó állapotba kell kerülni, a veremnek üresnek kell lennie

Veremautomaták P ( K,, Γ,, q 0, F ) K az automata állapotainak véges halmaza az elemzendő nyelv ábécéje Γ a verem ábécéje, vagyis azon szimbólumok véges halmaza, amelyek a veremben szerepelhetnek a mozgási szabályok véges halmaza q 0 az automata kezdőállapota F az elfogadó állapotok halmaza

Veremautomaták Az utasítások: δ( Q, a, A ) = (R, ) mozgási szabály akkor alkalmazható, ha az automata a Q állapotban van, az olvasott karakter a, a verem tetején A szerepel. Az új állapot R lesz és A-t -val helyettesíti.

Példa: determinisztikus veremautomata

Példa: nemdeterminisztikus veremautomata K={q 0, q 1 } ={a, b} ={A, B} q 0 F={q 0, q 1 }

Turing-gép 0. típusú nyelvosztály elfogadása 1936, bármilyen műveletet képes végrehajtani, ami a számítás fogalmába belefér Turing-gép felépítése: - véges memóriájú vezérlőmű, mindig adott állapotban van a véges sok lehetséges belső állapota közül - véges hosszúságú szalag, mely mindkét irányban tetszés szerint meghosszabbítható; a szalag mezőkre osztott, egy-egy cellába egy-egy szimbólum kerül

Turing-gép

Turing-gép T ( K,, Γ, {L, R},, q 0, ) Γ: szalagábécé, tartalmazza a blank jelet és -t {L, R}: a mozgás irányát adja meg NB: F hiányzik

Turing-gép Az utasítások: δ( Q, a ) = (R, X) mozgási szabály akkor alkalmazható, ha az automata a Q állapotban van, az olvasott karakter a. Az automata R-be kerül (ez azonos lehet Q-val is). - ha X az input ábécé eleme, a-t ezzel felülírja; - ha X {L,R} eleme, a szimbólum marad, és jobbra/balra lép egyet.

Turing-gép determinisztikus: minden állapotra és tetszőleges input ábécé-beli szimbólumra legfeljebb egy mozgás lehetséges ha nincs alkalmazható utasítás, megáll blank jelet olvashatja, írhatja is, emiatt az eredeti inputon túlterjedhet a számítás, a végtelenségig is számolhat

Turing-gép elfogadás: ha a Turing-gép véges sok lépés után megáll ha nem áll meg, akkor elutasítja megállási probléma: elutasítás végtelen ciklus DE: nem tudhatjuk, meg fog-e állni emiatt: elfogadó állapot kijelölése, de ez nem mindig lehetséges

Példa K={q 0, q 1 } ={a, b} ={a, b, #} q 0 :

Példa

Példa K={q 0, q 1 } ={a, b} ={a, b, #} q 0 :

Ajánlott irodalom: Alberti Gábor: Matematika a természetes nyelvek leírásában. Budapest: Tinta Könyvkiadó, 2006. Bach Iván: Formális nyelvek. Budapest: Typotext, 2001. Partee, B. H., A. ter Meulen & R. Wall: Mathematical Methods in Linguistics. Dordrecht: Kluwer, 1990.