Está en la página 1de 4

Tema 4: Lenguajes recursivos y

recursivamente enumerables Jerarquía de Chomsky


 Gramáticas generales RECONOCIDOS POR
ATOMATAS
LENGUAJES GENERADOS POR
GRAMATICAS

 Autómatas de Turing
TIPO 0
RECURSIVAMENTE GENERALES
DE TURING ENUMERABLES
OBJETIVOS: TIPO 1
DEPENDIENTES DEPENDIENTES
LINEALMENTE DEL CONTEXTO
 Estudiar un modelo reconocedor: autómatas de Turing y un modelo ACOTADOS DEL CONTEXTO

generador: gramáticas generales (o de tipo 0) TIPO 2


CON PILA NO INDEPENDIENTES INDEPENDIENTES
DEL CONTEXTO DEL CONTEXTO
 Entender todas las definiciones formales que incluyen, distinguiendo DETERMINISTAS

sus particularidades. REGULARES


TIPO 3
REGULARES
FINITOS
 Adquirir habilidad en la resolución de problemas concretos de
definición de lenguajes utilizando estos modelos.
 Distinguir la relación entre todas las clases de lenguajes como se
recoge en la jerarquía de Chomsky.
Tema 4: Leng. Rec. Enumerables 1 Tema 4: Leng. Rec. Enumerables 2

Gramáticas generales o de tipo 0 Ejemplo de Gramática general


• Elementos: G = (N, Σ, S, P) con N = {S, M, F, X, A, B} , Σ = {a, b, c} y
Componentes Componentes formales P: S → c | McF
Categorías Conjunto de no terminales N Mc → aMcA | bMcB | cX
Aa → aA Ab → bA AF → aF
Fuente de entrada Alfabeto de terminales Σ
Ba → aB Bb → bB BF → bF
• Elemento distinguido: S∈N símbolo inicial Xa → aX Xb → bX XF → ε

• Definición formal: G = (N, Σ, S, P) donde P es el conjunto de G genera el lenguaje L(G) = { w.c.w : w∈{a,b}* }
reglas de la forma: α → β ∈P con α ∈(N ∪ Σ)*- Σ* , β∈(N ∪ Σ)*
Ejemplo de derivación en G:
• Paso de derivación: (aplicación de una regla) S ⇒ McF ⇒ aMcAF ⇒ aMcaF ⇒ aaMcAaF ⇒ aaMcaAF ⇒ aaMcaaF
δ1 ⇒ δ2 si y solo si δ1 = σ1α σ2 , δ2 = σ1 β σ2 y α → β ∈P
⇒ aabMcBaaF ⇒ aabMcaBaF ⇒ aabMcaaBF ⇒ aabMcaabF ⇒
• * w}
Lenguaje generado: L(G) = { w∈Σ*: S ⇒ aabcXaabF ⇒ aabcaXabF ⇒ aabcaaXbF ⇒ aabcaabXF ⇒ aabcaab
Tema 4: Leng. Rec. Enumerables 3 Tema 4: Leng. Rec. Enumerables 4
Otros ejemplos Autómata de Turing
 G1 = (N, Σ, S, P) con N = {S, A, B} , Σ = {a, b} y MEMORIA Y CINTA DE ENTRADA DIVIDIDA EN CELDAS
P: S → SBA | a Cada celda un símbolo o en blanco
BA → AB ¿L(G1)? Cinta infinita (por ambos extremos)
aA → aaB L(G1) = {an+1b2n: n≥0}
B→b a
CABEZA LECTORA -ESCRITORA
Con posibilidad de moverse a
UNIDAD CENTRAL derecha o izquierda
 L(G2) = {anbncn: n≥0}
¿G2? Estados
G2 = (N, Σ, S, P) con N = {S, A, C} , Σ = {a, b, c} y

P: S → aAbc | ε Cb → bC
A → aAbC | ε Cc → cc Configuraciones especiales: de inicio y fin

Tema 4: Leng. Rec. Enumerables 5 Tema 4: Leng. Rec. Enumerables 6

Autómata de Turing (AT) Definición de AT


 Elementos Componentes físicos Componentes lógicos  Definición formal de AT: M = (Q, Σ, Γ, δ, q0, F) con f. transición
Unidad de Proceso Conjunto de estados Q δ : Q × Γ  → Q × Γ × {R, L} (es una f. parcial)
Fuente de entrada Alfabeto de entrada Σ δ (q-actual, símb-actual) = (nuevo-q, símb-escribir, mov-cabeza)
Memoria Alfabeto de cinta Γ con Σ⊂Γ  Configuración: (u, q, v) ∈ Γ* × Q × Γ* representando el estado
y con el símbolo blanco ()
actual q y la palabra en cinta uv (cabeza apunta al comienzo de v)
 Elementos distinguidos para la inicialización y aceptación: u v
• q0 ∈ Q: estado inicial Ej: (aa, q, ba)
• F ⊆ Q: conjunto de estados finales   a a b a  

q
 Ciclo-máquina Consultas: Acciones:
 Configuración inicial para la palabra x∈Σ*: (ε, q0, x)
Estado actual Cambio de estado
Símbolo de cinta actual Modificación de la cinta (escribir)
x
Ej: (ε, q0, aaba)
Mover cabeza-lectora:   a a b a  
derecha (R) o izquierda (L)
q0
Tema 4: Leng. Rec. Enumerables 7 Tema 4: Leng. Rec. Enumerables 8
Movimientos de un AT Lenguaje aceptado por un AT
 Movimientos: (con s,t,X∈Γ u,w∈ Γ*) ASUMIMOS que para los estados finales no hay transiciones
(ut, p, sw) ├── (utX, q, w) si y solo si δ(p, s) = (q, X, R)  Lenguaje aceptado por M:
u w u w ∈F / (ε, q0, x) ├──* (u, q, w) con u,w∈ Γ* }
L(M) = { x∈Σ* : ∃ q∈

 ... ... t s ... ...  ├──  ... ... t X ... ...  Algunos puntos importantes:
 Ante una entrada concreta x∈Σ*, un AT puede parar o no parar
p q
 Un AT se para cuando, estando en un estado actual q y con un
símbolo (de cinta) actual s, no hay transición δ(q, s)
(ut, p, sw) ├── (u, q, tXw) si y solo si δ(p, s) = (q, X, L)
 Como asumimos que para los estados finales no hay transiciones,
u w u w
si llegamos a un estado final  el AT se para y reconoce x
 ... ... t s ... ...  ├──  ... ... t X ... ...   Si el AT se para y el estado actual es no-final  no reconoce x
 La palabra de entrada x∈Σ* no necesita ser “leída entera” para ser
p q reconocida (x puede ser recorrida y reescrita en ambas direcciones
total o parcialmente): u,w cualesquiera en la configuración final.
Tema 4: Leng. Rec. Enumerables 9 Tema 4: Leng. Rec. Enumerables 10

AT para L= {anbncn: n≥0} AT para L= { w.c.w : w∈{a,b}* }


M = ( {q0, qb, qc, q, qXY, qM}, {a, b, c}, {a, b, c, X, Y,  }, δ, q0 , {qM} ) M = ({q0, qa, qb, qA, qB, q#, q, qM}, {a,b,c}, {a,b,c,#, }, δ, q0 ,{qM} )

δ a b c  #

δ a b c  X Y q0 (qa, , R) (qb, , R) (q#, c, R) --- -

qa R R (qA, c, R) --- -
q0 (qb, , R) --- --- (qM, , L) (qXY, , R) -
qb R R (qB, c, R) --- -
qb R (qc, X, R) --- --- R ---
qA (q, #, L) --- --- --- R
qc --- R (q, Y, L) --- - R
qB --- (q, #, L) --- --- R
q L L - (q0, , R) L L
q L L L (q0, , R) L
qXY --- --- --- (qM, , L) R R
q# --- --- --- (qM, , R) R
qM --- --- --- --- --- ---
qM --- --- --- --- ---

Tema 4: Leng. Rec. Enumerables 11 Tema 4: Leng. Rec. Enumerables 12


Lenguajes Recursivos y
Recursivamente Enumerables Resumen Jerarquía de Chomsky
 Sea M un autómata de Turing. Problema de decisión: ¿w ∈ L(M)?
Gramáticas G = (N, Σ, P, S) Autómatas Lenguajes

Posibles respuestas (sobre dicha entrada w): Tipo 3 (GLDs) A. Finito M = (Q, Σ, δ, q0, F) Regulares
 M se para en un estado final ⇒ w ∈ L(M) A → wB AFD δ: Q×Σ - → Q
A→z AFN δ: Q × Σ → ℘(Q)
 M se para en un estado no final ⇒ w ∉ L(M)
A∈N, z∈Σ∗, w∈Σ+ ε-AFN δ: Q × (Σ∪{ε}) →℘(Q)
 M no se para ⇒ w ∉ L(M)
Tipo 2 A. con pila Independientes del
L es un lenguaje RECURSIVO si existe un autómata de Turing M que se A→α M = (Q, Σ, Γ, δ, q0, F) contexto
para ante cualquier entrada y tal que: A∈N, α∈(N∪Σ)∗ δ: Q×Σ×(Γ∪{⊥}) →℘(Q × Γ∗)
 si w ∈ L ⇒ M se para en un estado final
Tipo 1 A. linealmente acotado Sensibles al contexto
 si w ∉ L ⇒ M se para en un estado no final βAδ → βαδ
A∈N, α,β,δ∈(N∪Σ)∗
L es un lenguaje RECURSIVAMENTE ENUMERABLE si existe un autómata
de Turing M tal que: Tipo 0 A. de Turing Recursivamente
 si w ∈ L ⇒ M se para en un estado final
α→β M = (Q, Σ, Γ, δ, q0, F) enumerables
α∈(N∪Σ)∗ − Σ∗, β∈(N∪Σ)∗ δ: Q×Γ - → Q×Γ×{R,L}
 si w ∉ L ⇒ M se para en un estado no final o M no se para.

Tema 4: Leng. Rec. Enumerables 13 Tema 4: Leng. Rec. Enumerables 14

También podría gustarte