Está en la página 1de 9

Tipos de reglas gramaticales (CHOMSKY) 0 - no restringidas 0 - con estructura de frase 1 - dependientes Slide 1 23i3dde contexto A = A = A A T T A T A T = abc bA aABc bbC

c bA aABc bbC aAAC aAC A AAC baAC aAAC aAaAC A bABa ; A B A Aa Aa A aB Aa

A A

Tipo 3 Tipo 2 Tipo 1 Tipo e.f. Tipo 0 Tipo 0

Otros tipos de reglas gramaticales no contractivas independientes de contexto regulares Slide 2 por la izquierda regulares por la derecha Tipo 1 no contractiva Tipo 2 independiente de contexto Tipo 3 regular Gramtica de tipo t: todas sus reglas son de tipo t A A T T {} A T A T {} || || A A aAB A A Ba A A aA Aa aBC ACb

Tipos de lenguajes L es de tipo t si existe una gramtica de tipo t que genera L{} Si L es de tipo t, entonces L {} y L {} son de tipo t Slide 3 L de tipo 3 L regular L de tipo 2 L independiente de contexto Si G es no contractiva, existe una gramtica de tipo 1 equivalente. L de tipo 1 L {} generable por una gramtica no contractiva Si G es de tipo 0, existe una gramtica equivalente con e. de frase. L de tipo 0 L generable por una gramtica con e. de frase

Si G es no contractiva, existe una gramtica de tipo 1 equivalente: r: r1 : r22 : r23 : Slide 4 ... r2p : r3 : X1 X2 X3 . . . Xp1 Xp X1 X2 X3 . . . Xp1 Xp Zr X2 X3 . . . Xp1 Xp Zr Y2 X3 . . . Xp1 Xp ......... Zr Y2 Y3 . . . Yp1 Xp Z r Y2 Y3 . . . . . . . . . . . . Y q Y 1 Y2 Y3 . . . . . . Y q Zr X2 X3 . . . Xp1 Xp Zr Y2 X3 . . . Xp1 Xp Zr Y2 Y3 . . . Xp1 Xp Zr Y2 Y3 . . . Yp1 Xp Zr Y2 Y3 . . . Yp1 Yp . . . Yq Y 1 Y2 Y3 . . . . . . . . . . . . Y q pq

... .........

r2p1 : Zr Y2 Y3 . . . Xp1 Xp

Si Xi es terminal, en todas las reglas se cambia Xi por Xi y se aade r4i : Xi Xi

abM S

abM abM ZbM ZaM

baab ZbM ZaM Zaab baab ZBM ZAM ZAAB BAAB

Sa

M b

Slide 5 S A B ABM S a b

Zaab ABM ZBM ZAM ZAAB

SA

M B

Mquinas de Turing M = (E , Q, , q1 , h, f, F ) donde E : alfabeto de entrada alfabeto de la cinta conjunto de estados, f inito estado inicial smbolo blanco funcin parcial de transicin F Q : estados nales o de aceptacin

: Q : Slide 6 q1 Q : h E f :

: Q Q {, }

No determinista: f : Q P(Q {, })

conguracin: (q, 1 A2 ) (Q, ), que especica el estado, el contenido signicativoa de la cinta, y el smbolo sobre el que se encuentra la cabeza conguracin compacta : cadena de Q : 1 qA2 conguracin inicial: (q1 , Ax) Slide 7 movimiento: Si f (q, A) = (q , B, ): (q, 1 IAD2 ) (q , 1 IBD2 ) 1 IqAD2 1 IBq D2 compacta: q1 Ax

Si f (q, A) = (q , B, ): (q, 1 IAD2 ) (q , 1 IBD2 ) 1 IqAD2 1 q IBD2

Si f (q, A) no est denida, la M.T. no se mueve (se para)


a no

blancos, ms el blanco sobre el que se encuentre la cabeza si es el caso

Posibilidades de computacin para una M.T., M : Partiendo de (q1 , x) x E

M no se para ((q1 , x) Slide 8

M se para en la conguracin (q, ): Ha transformado x en : fM : , (funcin parcial) E q F : acepta la cadena x q F : no acepta la cadena x El conjunto de cadenas de que deja en la cinta como consecuencia de todas las computaciones en las que se para constituye un lenguaje sobre : genera un lenguaje.

MT 1 = {|, , h} = { |} q1 = p F = {s} f: q r (s) Slide 9 (p, | | ) (q, | ) (p, | ) (q, ) (p, ) (r, ) (s, | | | | ) (q, h ) (p, ) (r, | ) (q, | h )

| q|

q r|

h p sh

p q p r h

(p, )

(p, )

(p, h ) (r, | | ) (r, | | | ) (r, | | | | h )

Partiendo de (q1 , x)

x { | }

M se para (siempre) en la conguracin (s, |2|x| ): Ha transformado |n en |2n : fM : I I funcin total que es N N, la multiplicacin por 2 (en unario) Como s F : acepta la cadena x (acepta todo | ) El conjunto de cadenas de que deja en la cinta como consecuencia de todas las computaciones en las que se para constituye el lenguaje (||) : genera (||) .

Slide 10

M T 11 p0 = {|, , h} = { |} q1 = p Slide 11 F = {s} q0 f:

h q0 | ph rh p sh ph

p q p q r [s ] s| q| q r|

(p0 , h)

(q0 , h | ) (p, | ) (p, || ) (p, |||| )


(s, ||) (s, ||||)

(s, h||)

(s, h||||)

(s, ||||||||) ...

(s, h||||||||)

(p, |||||||| )

Partiendo de (p0 , x) x | si x = , M no se para si x = , M se para en p0 si M se para (con x = ), lo hace en la conguracin (p0 , x): Slide 12 Ha transformado x en x : fM : , (funcin identidad, E parcial, porque slo se evala para cadenas no vacas) p0 F : no acepta ninguna cadena Partiendo de (p0 , h) la mquina no se para, pero cada vez que pasa por el estado s, en la cinta hay una cadena de n {|2 / n 0}

0 q1 q2 q3 Slide 13 (q1 , 0) (q1 , 1) (q1 , 10) (q1 , 11) (q1 , 100) . . .

q2 1 q 3 0 q2 0 q 2 1 q 1 h q2 1 q 3 0 q2 1

(q2 , 1 ) h (q3 , h0) (q2 , 11 ) h (q3 , 10) (q3 , h00) (q2 , 100) (q2 , 100) (q2 , 100 ) h (q2 , 10) (q2 , 10 ) h

LR(M ) := {x / (q1 , x) E

(q, )

q F}

L es recursivo si es LR(M ) para alguna M.T. que se pare ante cualquier entrada. Slide 14 LG(M ) := { / (q1 , h)

(q, )

q F}

L es recursivamente numerable si es LG(M ) para alguna M.T. fM : : fM (x) := / (q1 , x) E f es computable si es fM para alguna M.T.

(q, )

Construccin de M.T. Composicin Subrutinas Almacenamiento de informacin en los estados Cinta con varias pistas Extensiones de M.T. Slide 15 M.T. multicinta Cinta multidimensional M.T. no determinista Movimiento nulo () Restricciones de M.T. M.T. con cinta semiinnita Alfabeto binario. Alfabeto unario

L es recursivo si existe un programa Pascal que siempre termina (y caracteriza L) de la forma program ReconoceL (input, output); var x : string: Begin readln (x); sus clculos, para determinar si x est o no en L if (ha obtenido x est en L) then writeln (Si!) else writeln (No) End. o lo que es equivalente: existe una funcin Pascal de la forma function enL (x:string):boolean (* enL(x) = T RU E x L *)

Slide 16

L es recursivamente numerable si existe un programa en Pascal program generaL (output); var x : string ; begin algunas operaciones (conseguir la primera x) while (1=1) do begin writeln (x) algunas operaciones (conseguir la siguiente x) end end. o lo que es equivalente: existen x1 L y procedure siguienteEnL (var x : string) (* Pre : x L
n

Slide 17

Post: x L *)

tales que {siguienteEnL (x1 ) / n 0} = L

f es computable total si existe una funcin en Pascal: function f (x : string): string; (* Pre: x E Post: f = f (x) *) f es parcialmente computable si existe una funcin en Pascal: function f (x : string): string; (* Pre: x U Post: f = f (x) *) E

Slide 18

También podría gustarte