50
3.3 Gram´ aticas Regulares Jos´ e de Jes´ us Lavalle Mart´ ınez Benem´ erita Universidad Aut´onoma de Puebla Facultad de Ciencias de la Computaci´ on Lenguajes Formales y Aut´ omatas CCOS 014 Primavera 2020 Jos´ e de Jes´ us Lavalle Mart´ ınez (FCC-BUAP) 3.3 Gram´ aticas Regulares Primavera 2020 1 / 24

3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

3.3 Gramaticas Regulares

Jose de Jesus Lavalle Martınez

Benemerita Universidad Autonoma de PueblaFacultad de Ciencias de la Computacion

Lenguajes Formales y Automatas CCOS 014

Primavera 2020

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 1 / 24

Page 2: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Contenido

1 Contexto

2 Gramaticas Regulares

3 Equivalencia entre Automatas Finitos y Gramaticas Regulares

4 Ejercicios

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 2 / 24

Page 3: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Conceptos previos

La base de nuestro trabajo se llama alfabeto (se denota mediante Σ)y es un conjunto finito de sımbolos (denotados mediante a, b, c, 0, 1,por ejemplo).

Al yuxtaponer sımbolos del alfabeto formamos palabras (tambienllamadas cadenas) (denotadas mediante u, v, w, x, y, z, por ejemplo)de cualquier longitud, pero finitas.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 3 / 24

Page 4: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Conceptos previos

La base de nuestro trabajo se llama alfabeto (se denota mediante Σ)y es un conjunto finito de sımbolos (denotados mediante a, b, c, 0, 1,por ejemplo).

Al yuxtaponer sımbolos del alfabeto formamos palabras (tambienllamadas cadenas) (denotadas mediante u, v, w, x, y, z, por ejemplo)de cualquier longitud, pero finitas.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 3 / 24

Page 5: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Conceptos previos ...

El conjunto infinito de todas las palabras finitas basadas en elalfabeto Σ lo denotamos mediante Σ∗.

Ası, un lenguaje L es un conjunto (finito o infinito) de palabrastomadas de Σ∗, en decir, L ⊆ Σ∗.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 4 / 24

Page 6: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Conceptos previos ...

El conjunto infinito de todas las palabras finitas basadas en elalfabeto Σ lo denotamos mediante Σ∗.

Ası, un lenguaje L es un conjunto (finito o infinito) de palabrastomadas de Σ∗, en decir, L ⊆ Σ∗.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 4 / 24

Page 7: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Conceptos previos ...

1 Decimos que un Lenguaje L es regular si es reconocido por unautomata finito.

2 Sabemos que una expresion regular denota a un conjunto regular yque para todo conjunto regular existe una expresion regular que lodenota.

3 Una tercera manera de tratar con los lenguajes regulares es mediantelas Gramaticas Regulares.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 5 / 24

Page 8: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Conceptos previos ...

1 Decimos que un Lenguaje L es regular si es reconocido por unautomata finito.

2 Sabemos que una expresion regular denota a un conjunto regular yque para todo conjunto regular existe una expresion regular que lodenota.

3 Una tercera manera de tratar con los lenguajes regulares es mediantelas Gramaticas Regulares.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 5 / 24

Page 9: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Conceptos previos ...

1 Decimos que un Lenguaje L es regular si es reconocido por unautomata finito.

2 Sabemos que una expresion regular denota a un conjunto regular yque para todo conjunto regular existe una expresion regular que lodenota.

3 Una tercera manera de tratar con los lenguajes regulares es mediantelas Gramaticas Regulares.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 5 / 24

Page 10: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Gramatica

Una gramatica es una cuaterna G = (V, T, S, P ) donde:

V es un conjunto finito, a cada uno de sus elementos se le llamasımbolo no terminal o variable, sus elementos se denotan medianteS,A,B,C, · · · , V0, V1, · · · .

T es un conjunto finito disjunto de V , a cada uno de sus elementos sele llama sımbolo terminal, sus elementos se denotan mediantea, b, c, 0, 1, · · · .S ∈ V es el sımbolo no terminal inicial o variable inicial.

P es una relacion finita entre V y (V ∪ T )∗. A los miembros de larelacion P se les llama producciones de la gramatica, reglas dereescritura, producciones o reglas.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 6 / 24

Page 11: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Gramatica

Una gramatica es una cuaterna G = (V, T, S, P ) donde:

V es un conjunto finito, a cada uno de sus elementos se le llamasımbolo no terminal o variable, sus elementos se denotan medianteS,A,B,C, · · · , V0, V1, · · · .T es un conjunto finito disjunto de V , a cada uno de sus elementos sele llama sımbolo terminal, sus elementos se denotan mediantea, b, c, 0, 1, · · · .

S ∈ V es el sımbolo no terminal inicial o variable inicial.

P es una relacion finita entre V y (V ∪ T )∗. A los miembros de larelacion P se les llama producciones de la gramatica, reglas dereescritura, producciones o reglas.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 6 / 24

Page 12: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Gramatica

Una gramatica es una cuaterna G = (V, T, S, P ) donde:

V es un conjunto finito, a cada uno de sus elementos se le llamasımbolo no terminal o variable, sus elementos se denotan medianteS,A,B,C, · · · , V0, V1, · · · .T es un conjunto finito disjunto de V , a cada uno de sus elementos sele llama sımbolo terminal, sus elementos se denotan mediantea, b, c, 0, 1, · · · .S ∈ V es el sımbolo no terminal inicial o variable inicial.

P es una relacion finita entre V y (V ∪ T )∗. A los miembros de larelacion P se les llama producciones de la gramatica, reglas dereescritura, producciones o reglas.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 6 / 24

Page 13: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Gramatica

Una gramatica es una cuaterna G = (V, T, S, P ) donde:

V es un conjunto finito, a cada uno de sus elementos se le llamasımbolo no terminal o variable, sus elementos se denotan medianteS,A,B,C, · · · , V0, V1, · · · .T es un conjunto finito disjunto de V , a cada uno de sus elementos sele llama sımbolo terminal, sus elementos se denotan mediantea, b, c, 0, 1, · · · .S ∈ V es el sımbolo no terminal inicial o variable inicial.

P es una relacion finita entre V y (V ∪ T )∗. A los miembros de larelacion P se les llama producciones de la gramatica, reglas dereescritura, producciones o reglas.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 6 / 24

Page 14: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Notacion para las producciones

Si bien una regla es un par (α, β) ∈ P , con α ∈ V y β ∈ (V ∪ T )∗, seacostubra usar la notacion α→ β, se dice que α es la parteizquierda de la regla y que β es la parte derecha de la regla.Tambien se dice que α produce β.

Es usual listar, separadas por el caracter |, las partes derechas quetienen en comun su parte izquierda, es decir, suponga que tiene lasproducciones α→ β1, α→ β2, · · · , α→ βn, dichas reglas se escribencomo α→ β1|β2|, · · · , |βn y se lee α produce β1, β2 hasta βn.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 7 / 24

Page 15: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Notacion para las producciones

Si bien una regla es un par (α, β) ∈ P , con α ∈ V y β ∈ (V ∪ T )∗, seacostubra usar la notacion α→ β, se dice que α es la parteizquierda de la regla y que β es la parte derecha de la regla.Tambien se dice que α produce β.

Es usual listar, separadas por el caracter |, las partes derechas quetienen en comun su parte izquierda, es decir, suponga que tiene lasproducciones α→ β1, α→ β2, · · · , α→ βn, dichas reglas se escribencomo α→ β1|β2|, · · · , |βn y se lee α produce β1, β2 hasta βn.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 7 / 24

Page 16: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Derivaciones

Sea la cadena u1αu2 con u1, u2 ∈ (V ∪ T )∗ y α ∈ V , decimos que lapalabra u1αu2 deriva en un paso a a la palabra u1βu2, lo que seescribe u1αu2 ⇒ u1βu2, si existe α→ β ∈ P con α ∈ V yβ ∈ (V ∪ T )∗.

Note que ⇒ es una relacion binaria entre cadenas en (V ∪ T )∗, su

cerradura reflexiva y transitiva la denotaremos mediante∗⇒. Si

tenemos que u∗⇒ v, decimos que la palabra u deriva en cero o mas

pasos a la palabra v.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 8 / 24

Page 17: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Derivaciones

Sea la cadena u1αu2 con u1, u2 ∈ (V ∪ T )∗ y α ∈ V , decimos que lapalabra u1αu2 deriva en un paso a a la palabra u1βu2, lo que seescribe u1αu2 ⇒ u1βu2, si existe α→ β ∈ P con α ∈ V yβ ∈ (V ∪ T )∗.

Note que ⇒ es una relacion binaria entre cadenas en (V ∪ T )∗, su

cerradura reflexiva y transitiva la denotaremos mediante∗⇒. Si

tenemos que u∗⇒ v, decimos que la palabra u deriva en cero o mas

pasos a la palabra v.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 8 / 24

Page 18: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Lenguaje generado por una gramatica

El lenguaje generado por la gramatica G = (V, T, S, P ) es el conjunto

L(G) = {w ∈ T ∗ : S∗⇒ w},

es decir, todas las palabras que constan solo de sımbolos terminales queson derivables en uno o mas pasos a partir de la variable inicial S.

En una derivacion multipasos, se dice que todas las cadenas en (V ∪ T )∗

derivadas de S, pero exceptuando a w ∈ T ∗, estan en forma sentencial.Dicho de otra manera, todas las cadenas derivadas de S a las que se lespuede aplicar una produccion.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 9 / 24

Page 19: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Gramatica Lineal Derecha y Gramatica Lineal Izquierda

Hay diferentes tipos de gramaticas, la diferencia esta dada por la forma quetienen sus producciones. El tipo mas restrictivo (con respecto a la formade sus producciones) es el que ahora nos ocupa y se define a continuacion.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 10 / 24

Page 20: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Gramatica Lineal Derecha y Gramatica Lineal Izquierda ...

Definicion 1

Una gramatica G = (V, T, S, P ) se dice que es lineal derecha si todas susproducciones son de alguna de las siguientes dos formas

A→ xB

A→ x

donde A,B ∈ V y x ∈ T ∗.

Una gramatica se dice que es lineal izquierdasi todas sus producciones son de alguna de las siguientes dos formas

A→ Bx

A→ x

Una gramatica regular es una que es lineal derecha o lineal izquierda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 11 / 24

Page 21: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Gramatica Lineal Derecha y Gramatica Lineal Izquierda ...

Definicion 1

Una gramatica G = (V, T, S, P ) se dice que es lineal derecha si todas susproducciones son de alguna de las siguientes dos formas

A→ xB

A→ x

donde A,B ∈ V y x ∈ T ∗. Una gramatica se dice que es lineal izquierdasi todas sus producciones son de alguna de las siguientes dos formas

A→ Bx

A→ x

Una gramatica regular es una que es lineal derecha o lineal izquierda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 11 / 24

Page 22: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Gramatica Lineal Derecha y Gramatica Lineal Izquierda ...

Definicion 1

Una gramatica G = (V, T, S, P ) se dice que es lineal derecha si todas susproducciones son de alguna de las siguientes dos formas

A→ xB

A→ x

donde A,B ∈ V y x ∈ T ∗. Una gramatica se dice que es lineal izquierdasi todas sus producciones son de alguna de las siguientes dos formas

A→ Bx

A→ x

Una gramatica regular es una que es lineal derecha o lineal izquierda.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 11 / 24

Page 23: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Ejemplo gramatica lineal derecha

Ejemplo 2

La gramatica G = ({S}, {a, b}, S, P ) donde P esta dado por lasproducciones

S → abS|a

es lineal derecha.

S1⇒ a

S1⇒ abS

2⇒ aba

S1⇒ abS

2⇒ ababS3⇒ abababS

4⇒ · · · i−1⇒ (ab)i−1Si⇒ (ab)i−1a

L(G) = {(ab)na : n ≥ 0} o (ab)∗a

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 12 / 24

Page 24: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Ejemplo gramatica lineal derecha

Ejemplo 2

La gramatica G = ({S}, {a, b}, S, P ) donde P esta dado por lasproducciones

S → abS|a

es lineal derecha.

S1⇒ a

S1⇒ abS

2⇒ aba

S1⇒ abS

2⇒ ababS3⇒ abababS

4⇒ · · · i−1⇒ (ab)i−1Si⇒ (ab)i−1a

L(G) = {(ab)na : n ≥ 0} o (ab)∗a

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 12 / 24

Page 25: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Ejemplo gramatica lineal derecha

Ejemplo 2

La gramatica G = ({S}, {a, b}, S, P ) donde P esta dado por lasproducciones

S → abS|a

es lineal derecha.

S1⇒ a

S1⇒ abS

2⇒ aba

S1⇒ abS

2⇒ ababS3⇒ abababS

4⇒ · · · i−1⇒ (ab)i−1Si⇒ (ab)i−1a

L(G) = {(ab)na : n ≥ 0} o (ab)∗a

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 12 / 24

Page 26: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Ejemplo gramatica lineal derecha

Ejemplo 2

La gramatica G = ({S}, {a, b}, S, P ) donde P esta dado por lasproducciones

S → abS|a

es lineal derecha.

S1⇒ a

S1⇒ abS

2⇒ aba

S1⇒ abS

2⇒ ababS3⇒ abababS

4⇒ · · · i−1⇒ (ab)i−1Si⇒ (ab)i−1a

L(G) = {(ab)na : n ≥ 0} o (ab)∗a

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 12 / 24

Page 27: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Ejemplo gramatica lineal derecha

Ejemplo 2

La gramatica G = ({S}, {a, b}, S, P ) donde P esta dado por lasproducciones

S → abS|a

es lineal derecha.

S1⇒ a

S1⇒ abS

2⇒ aba

S1⇒ abS

2⇒ ababS3⇒ abababS

4⇒ · · · i−1⇒ (ab)i−1Si⇒ (ab)i−1a

L(G) = {(ab)na : n ≥ 0} o (ab)∗a

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 12 / 24

Page 28: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Ejemplo gramatica lineal derecha

Ejemplo 2

La gramatica G = ({S}, {a, b}, S, P ) donde P esta dado por lasproducciones

S → abS|a

es lineal derecha.

S1⇒ a

S1⇒ abS

2⇒ aba

S1⇒ abS

2⇒ ababS3⇒ abababS

4⇒ · · · i−1⇒ (ab)i−1Si⇒ (ab)i−1a

L(G) = {(ab)na : n ≥ 0}

o (ab)∗a

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 12 / 24

Page 29: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Ejemplo gramatica lineal derecha

Ejemplo 2

La gramatica G = ({S}, {a, b}, S, P ) donde P esta dado por lasproducciones

S → abS|a

es lineal derecha.

S1⇒ a

S1⇒ abS

2⇒ aba

S1⇒ abS

2⇒ ababS3⇒ abababS

4⇒ · · · i−1⇒ (ab)i−1Si⇒ (ab)i−1a

L(G) = {(ab)na : n ≥ 0} o (ab)∗a

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 12 / 24

Page 30: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Demostracion por induccion

S → abS|a

Por demostrar que L(G) = {(ab)na : n ≥ 0}, demostracion por induccionsobre n.

Demostracion 3

Hipotesis de induccion: Si+1⇒ (ab)ia = S

i⇒ (ab)iS1⇒ (ab)ia.

Caso base: n = 0 S1⇒ a = (ab)0a.

Caso inductivo: n = i+ 1 Por hipotesis de induccion:

Si⇒ (ab)iS

1⇒ (ab)iabS = (ab)i+1S1⇒ (ab)i+1a.

Por lo tanto se cumple para todo n ∈ N.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 13 / 24

Page 31: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Demostracion por induccion

S → abS|a

Por demostrar que L(G) = {(ab)na : n ≥ 0}, demostracion por induccionsobre n.

Demostracion 3

Hipotesis de induccion: Si+1⇒ (ab)ia = S

i⇒ (ab)iS1⇒ (ab)ia.

Caso base: n = 0 S1⇒ a = (ab)0a.

Caso inductivo: n = i+ 1 Por hipotesis de induccion:

Si⇒ (ab)iS

1⇒ (ab)iabS = (ab)i+1S1⇒ (ab)i+1a.

Por lo tanto se cumple para todo n ∈ N.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 13 / 24

Page 32: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Demostracion por induccion

S → abS|a

Por demostrar que L(G) = {(ab)na : n ≥ 0}, demostracion por induccionsobre n.

Demostracion 3

Hipotesis de induccion: Si+1⇒ (ab)ia = S

i⇒ (ab)iS1⇒ (ab)ia.

Caso base: n = 0 S1⇒ a = (ab)0a.

Caso inductivo: n = i+ 1 Por hipotesis de induccion:

Si⇒ (ab)iS

1⇒ (ab)iabS = (ab)i+1S1⇒ (ab)i+1a.

Por lo tanto se cumple para todo n ∈ N.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 13 / 24

Page 33: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Demostracion por induccion

S → abS|a

Por demostrar que L(G) = {(ab)na : n ≥ 0}, demostracion por induccionsobre n.

Demostracion 3

Hipotesis de induccion: Si+1⇒ (ab)ia = S

i⇒ (ab)iS1⇒ (ab)ia.

Caso base: n = 0 S1⇒ a = (ab)0a.

Caso inductivo: n = i+ 1 Por hipotesis de induccion:

Si⇒ (ab)iS

1⇒ (ab)iabS = (ab)i+1S1⇒ (ab)i+1a.

Por lo tanto se cumple para todo n ∈ N.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 13 / 24

Page 34: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Demostracion por induccion

S → abS|a

Por demostrar que L(G) = {(ab)na : n ≥ 0}, demostracion por induccionsobre n.

Demostracion 3

Hipotesis de induccion: Si+1⇒ (ab)ia = S

i⇒ (ab)iS1⇒ (ab)ia.

Caso base: n = 0 S1⇒ a = (ab)0a.

Caso inductivo: n = i+ 1 Por hipotesis de induccion:

Si⇒ (ab)iS

1⇒ (ab)iabS = (ab)i+1S1⇒ (ab)i+1a.

Por lo tanto se cumple para todo n ∈ N.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 13 / 24

Page 35: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

L(G) es un lenguaje regular I

Teorema 4

Si G = (V, T, S, P ) una gramatica lineal derecha, entonces L(G) es unlenguaje regular.

Demostracion: Asuma que V = {V0, V1, · · · }, S = V0 y que tenemosproducciones de la forma V0 → v1Vi, Vi → v2Vj , · · · o de la formaVn → vl, · · · . Si w ∈ L(G), entonces dada la forma de las produccionestenemos.

V0 ⇒ v1Vi

⇒ v1v2Vj∗⇒ v1v2 · · · vkVn⇒ v1v2 · · · vkvl = w. (1)

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 14 / 24

Page 36: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

L(G) es un lenguaje regular II

El automata M que construiremos reproducira las derivacionesreconociendo cada una de las v′s en (1).El estado inicial del automata se etiqueta como V0 y a cada variable Vi lecorresponde un estado no final etiquetado Vi.

Para cada produccion de la forma

Vi → a1a2 · · · amVj

tenemos que definir δ de tal forma que

δ∗(Vi, a1a2 · · · am) = Vj

Vi Vja1 a2 · · · am

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 15 / 24

Page 37: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

L(G) es un lenguaje regular III

Para cada produccion de la forma

Vi → a1a2 · · · am

tenemos que definir δ de tal forma que

δ∗(Vi, a1a2 · · · am) = Vf

Vi Vfa1 a2 · · · am

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 16 / 24

Page 38: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

L(G) es un lenguaje regular IV

Si w ∈ L(G), entonces se satisface (1) y por construccion en el NFA existeun camino de V0 a Vi etiquetado v1, un camino de Vi a Vj etiquetado v2,etc. Por lo tanto

Vf ∈ δ∗(V0, w)

y w es aceptado por M .

Para ver que M solo acepta las palabras generadas por G, note que paraque el automata acepte a w tiene que pasar a traves de una secuencia deestados V0, Vi, · · · , Vf usando caminos con etiquetas v1, v2, · · · . Por lotanto, w debe tener la forma

w = v1v2 · · · vkvl

y en G se darıa la derivacion

V0 ⇒ v1Vi ⇒ v1v2Vj∗⇒ v1v2 · · · vkVn ⇒ v1v2 · · · vkvl = w

Ası w ∈ L(G) y el teorema queda demostrado.Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 17 / 24

Page 39: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Ejemplo de gramatica lineal derecha a AFN

V0 → aV1,

V1 → abV0|b.

V0start V1a

V1 V0a b

V1 Vfb

V0start V1 Vfa

a

b

b

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 18 / 24

Page 40: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Ejemplo de gramatica lineal derecha a AFN

V0 → aV1,

V1 → abV0|b.

V0start V1a

V1 V0a b

V1 Vfb

V0start V1 Vfa

a

b

b

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 18 / 24

Page 41: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Ejemplo de gramatica lineal derecha a AFN

V0 → aV1,

V1 → abV0|b.

V0start V1a

V1 V0a b

V1 Vfb

V0start V1 Vfa

a

b

b

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 18 / 24

Page 42: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Ejemplo de gramatica lineal derecha a AFN

V0 → aV1,

V1 → abV0|b.

V0start V1a

V1 V0a b

V1 Vfb

V0start V1 Vfa

a

b

b

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 18 / 24

Page 43: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Ejemplo de gramatica lineal derecha a AFN

V0 → aV1,

V1 → abV0|b.

V0start V1a

V1 V0a b

V1 Vfb

V0start V1 Vfa

a

b

b

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 18 / 24

Page 44: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Si L es regular entonces L = L(G) I

Teorema 5

Si L es un lenguaje regular sobre el alfabeto Σ, entonces existe unagramatica lineal derecha G = (V,Σ, S, P ) tal que L = L(G).

Demostracion: Sea M = (Q,Σ, δ, q0, F ) un AFD que acepta L.Asumimos que Q = {q0, q1, · · · , qn} y Σ = {a1, a2, · · · , am}. Construya lagramatica lineal derecha G = (V,Σ, S, P ) con

V = {q0, q1, · · · , qn} y S = q0.

Para cada transicion

δ(qi, aj) = qk

de M , ponemos en P la produccion

qi → ajqk.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 19 / 24

Page 45: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Si L es regular entonces L = L(G) II

Para terminar, si qk ∈ F , anada a P la produccion

qk → λ.

Primero demostremos que G ası definida puede generar cualquier palabrade L. Considere que w ∈ L tiene la forma

w = aiaj · · · akal

Para que M acepte esta palabra debe hacer las siguientes transiciones

δ(q0, ai) = qp

δ(qp, aj) = qr...

δ(qs, ak) = qt

δ(qt, al) = qf ∈ FJose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 20 / 24

Page 46: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Si L es regular entonces L = L(G) III

Por construccion, la gramatica tendra una produccion para cada una deestas transiciones. Por lo tanto, se pueden hacer las siguientesderivaciones con la gramatica G

q0 ⇒ aiqp ⇒ aiajqr∗⇒ aiaj · · · akqt

⇒ aiaj · · · akalqf ⇒ aiaj · · · akal (2)

por lo tanto w ∈ L(G).Para ver que G solo genera las palabras de L, note que si w ∈ L(G),entonces su derivacion debe ser como en (2). Pero esto implica que

δ∗(q0, aiaj · · · akal) = qf ,

con lo que se completa la prueba.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 21 / 24

Page 47: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

De AFN a GLD

Ejemplo 6

Construya una gramatica lineal derecha que genere el lenguaje{aabna : n ≥ 0}.

El siguiente AFN reconoce el lenguaje {aabna : n ≥ 0}

δ(q0, a) = {q1} q0 → aq1

δ(q1, a) = {q2} q1 → aq2

δ(q2, b) = {q2} q2 → bq2

δ(q2, a) = {qf} q2 → aqf

qf ∈ F qf → λ

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 22 / 24

Page 48: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

De AFN a GLD

Ejemplo 6

Construya una gramatica lineal derecha que genere el lenguaje{aabna : n ≥ 0}.

El siguiente AFN reconoce el lenguaje {aabna : n ≥ 0}

δ(q0, a) = {q1} q0 → aq1

δ(q1, a) = {q2} q1 → aq2

δ(q2, b) = {q2} q2 → bq2

δ(q2, a) = {qf} q2 → aqf

qf ∈ F qf → λ

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 22 / 24

Page 49: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Ejercicios I

Los ejercicios los deben enviar en pdf a [email protected], puedenusar cualquier herramienta (de preferencia LATEX), en el peor de los casos,si no tienen alternativa, lo hacen con papel y lapiz con letra legible yvisible, lo escanean y me lo envıan en pdf.

1 Demuestre que el AFN propuesto en el ejemplo 6 reconoce el lenguaje{aabna : n ≥ 0}.

2 Construya un automata finito que acepte el lenguaje generado por lagramatica

S → abA,

A→ baB,

B → aA|bb.

Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 23 / 24

Page 50: 3.3 Gramáticas Regulares - aleteya.cs.buap.mxaleteya.cs.buap.mx/~jlavalle/automata/3.3 Gramaticas Regulares.pdf · 3.3 Gram aticas Regulares Jos e de Jesus Lavalle Mart nez Benem

Ejercicios II

3 Construya un automata finito que acepte el lenguaje generado por lagramatica

S → abS|A,A→ baB,

B → aA|bb.

4 Construya una gramatica lineal derecha para el lenguajeL = {anbm : n ≥ 3,m ≥ 2}.

5 Construya una gramatica lineal derecha para el lenguaje sobreΣ = {a, b} que consiste de todas las cadenas con no mas de dos a′s.

6 Muestre que para toda gramatica lineal derecha que no genere λexiste una gramatica lineal derecha cuyas producciones estanrestringidas a las siguientes dos formas

A→ aB o A→ a,A,B ∈ V, a ∈ T.Jose de Jesus Lavalle Martınez (FCC-BUAP) 3.3 Gramaticas Regulares Primavera 2020 24 / 24