Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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

Hasonló előadás


Az előadások a következő témára: "A digitális számítás elmélete"— Előadás másolata:

1 A digitális számítás elmélete
R és CF nyelvek összevetése Turing gép Rekurzíve felsorolható és rekurzív nyelv

2 R és CF nyelvek összevetése
Reguális nyelvek Környezetfüggetlen nyelvek Megadása reguláris kifejezéssel grammatikával A  aB  a A  b, A  V, b  (V)* Chomsky-féle normál alak Példák 1nk  n 0 , szó felismerés {0i1i i >0 , zárójelezés, progr. nyelvek (BNF) Ellenpéldák  w  azonos számú 0 és 1  an bn cn  0  n  Pumpáló l. s =xyz, xynzL, y >0, xy p s=uvxyz, uvnxynzL,vy>0, vxyp Nemdet. gép nemdet. véges automata (nemdet) verem automata Det. gép ekvivalens a nemdet.va gyengébb mint a nemdet. változat Minimális gép egyértelmű minden nyelvhez ? Operátorokra zárt reguláris operátorok A  B, A–B, AC = *– A, AR A  B, A–B csak ha A reguláris!

3 Grammatikával generálható nyelvek összevetése
0: 1:CS 2:CF DCF 3:R

4 Turing gépek idealizált számítógép
a legáltalánosabb számítási modell: minden algoritmikusan megoldható probléma megoldható Turing-géppel is de: nem minden probléma oldható meg Turing-géppel! kiszámíthatóság elmélete, algoritmikusan eldönthetetlen feladatok Alan Turing ( ) angol matematikus: - Turing-gép, kiszámíthatóság,... - II VH Enigma-kód feltörése - Turing-teszt, MI - ACM Turing díj

5 Turing gépek w #wR  w  * CF
w #w  w  * nem CF (biz. pumpáló lemmával) Verem LIFO elérés nem elég ír-olvas a szalagról-ra az író-olvasó fej J és B irányba mozoghat 1 lépéssel a szalag végtelen elutasító állapot is adott a gép nem áll meg feltétlenül! _ _ író-olvasó fej véges sok állapot

6 Turing gépek Pl: w #w  w   0,1* felismerése TG-pel
# _ ... X # _ ... X # X _ X X # X _ X X X X # X X X X _ # _ _ Keres # jelet, ha nincs elutasít A talált # jel két oldalán oda-vissza összeveti a párokat, X-et írj helyükre ha azonosak, különben elutasít Ha a # előtt csak X szerepel, ellenőrizd hogy a # után van-e X-tól különböző, ha igen, elutasít, különben elfogad.

7 Turing gépek Definíció: Turing gép M = (Q, , G, , q0, qelfogad, qelutasít) ahol: Q, egy véges halmaz az állapotok halmaza , egy véges halmaz a bemeneti abc, mely nem tartalmazza a _ jelet G, egy véges halmaz a szalag abc, ahol _  G és   G : Q  G Q  G  J, B az állapotátmenet függvény q0  Q a kezdeti állapot qelfogad  Q az elfogadó állapot qelutasít  Q az elutasító állapot

8 Turing gépek Megj: Turing gép működése
Kezdőhelyzetben az input sorozat a szalag első n mezőjében szerepel, a többi mezőben a _ jel áll. A gép vagy megáll elfogadó vagy elutasító állapotban, vagy nem áll meg. ( mindenütt értelmezett!) 2. Megj: Egy pillanatnyi konfiguráció leírható a szalag tartalmával, a fej pozíciójával és a pillanatnyi állapottal. Megadása: u q v, ahol q egy állapot, uv a szalagon levő sorozat a végtelen sok_ jel előtt, a fej v első elemén áll. Pl: 001q710110 _ _ q7

9 Turing gépek Definíció: Turing gép egy lépése a, b, c  G szalagjelek, u, v  G*, p, q  Q állapotok Az ua p bv konfiguráció rákövetkezője az u q acv , ha (p, b) = (q, c, B) (a fej balra lépett) Az ua p bv konfiguráció rákövetkezője az uac q v , ha (p, b) = (q, c, J) (a fej jobbra lépett) Megj: p bv rákövetkezője balra lépés esetén p cv (nem szalad le balra) Definíció: u, v  G*, p,  Q (u, p, v) egy konfiguráció, elfogadó-elutasító, ha p állapot az kezdeti: (e, q0, w) ahol w a szalagra írt bemenő jelsorozat

10 Turing gépek Definíció: M Turing gép elfogad egy w sorozatot, ha  :
C1 C2 ... Cn konfigurációk sorozata, hogy: C1 a kiindulási konfiguráció, Ci rákövetkezője Ci+1 , i = 1,...n-1, Cn elfogadó konfiguráció. Jelölés: L(M) jelöli az M Turing gép által elfogadott sorozatok halmazát. Ez a gép által felismert nyelv.

11 Turing gépek Definíció: Egy L   * nyelv Turing felismerhető vagy rekurzíve felsorolható, ha van olyan M Turing gép, melyre L(M) =L. Megj: s   * -L esetén nem biztos, hogy megáll a gép, így csak az L elemeire kapunk igenlő választ. Definíció: Egy L   * nyelv Turing eldönthető vagy rekurzív, ha van olyan M Turing gép, melyre L(M) =L, és M minden s   * szóra megáll. Megj: Minden rekurzív nyelv rekurzíve felsorolható is. (Az érdekes kérdés a fordított tartalmazás.)

12 Turing gépek Megj: Minden rekurzív nyelv rekurzíve felsorolható is. (Az érdekes kérdés a fordított tartalmazás.) Tétel: Ha L rekurzív, akkor LC is az. Biz: Ha L(M) =L, akkor M-ben az elfogadó és elutasító állapotot felcserélve, az így kapott M’ TG-re L(M’) = LC.

13 Turing gépek Példa: L=02n  n0 nyelvet eldöntő TG G = 0, X,  
q10000 q2000 Xq300 X0q40 X0Xq3  X0q5 X Xq5 0X q5 X0X q5  X0X q2 X0X Xq2 0X XXq3 X XXXq3  XXq5 X Xq5 XX q5 XXX q5 XXX q2 XXX Xq2 XX XXq2 X XXXq2  XXXqef  Példa: L=02n  n0 nyelvet eldöntő TG G = 0, X,   X-vel felülír minden második 0-t, balról jobbra Ha egy 0 maradt, elfogad. Ha legalább 2, és páratlan számú 0 maradt, elutasít A fej visszamegy a szalag elejére. 1-nél folytat. qelfogad q1 , J q2 0  , J qelutasít X, J 0, J q3 0  X, J q4 q5 X, B , B 0, B

14 Miről volt szó ? R és CF nyelvek összevetése Turing gép
Rekurzíve felsorolható és rekurzív nyelv Eldöntő TG konstrukciója (példa)


Letölteni ppt "A digitális számítás elmélete"

Hasonló előadás


Google Hirdetések