2. Autómatas y Lenguajes Formales
Jefersson Silva Losada
TRABAJO COLABORATIVO 1
JEFERSSON SILVA LOSADA
Silva9332@hotmail.com
Cod:1083874432
JESUS EMIRO VEGA
Tutor
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
UNIDAD DE CIENCIAS BÁSICAS
CEAD PITALITO, 2013
3. Autómatas y Lenguajes Formales
Jefersson Silva Losada
DESARROLLO DE ACTIVIDADES
1. Para el siguiente ejercicio, recordaremos ciertas apreciaciones, conceptos o
afirmaciones acerca de las Expresiones Regulares, comúnmente denotadas como
“ER”:
Una expresión regular es una forma de representar cierto tipo de lenguajes sobre un
determinado alfabeto. Son exactamente los aceptados por los autómatas de estado
finito.
Si tomamos como A un alfabeto, unas posibles expresiones regulares sobre ese
alfabeto podrían ser: (identifique que lenguaje reconoce esa ER)….
a) Ø es una ER que denota el Lenguaje…..?
Rta:
𝐿( 𝐴) = ∅
b) es una ER que denota el lenguaje…?
Rta:
𝐿( 𝐴) = { 𝜆}
En general los lenguajes que pueden representarse mediante una expresión regular
se llaman lenguajes regulares. Estos coinciden con los aceptados por los autómatas
finitos
Es importante que tengamos definido o claro que Si r y s son ER denotando los
lenguajes R y S, entonces se definen tres operaciones muy básicas:
- Unión: (r + s) es una expresión regular ER que denota el lenguaje R U S
- Concatenación: (rs) algunos autores lo toman como (r∙s) es una expresión regular
ER que denota le lenguaje RS.
- Clausura: r * es una expresión regular ER que denota el lenguaje R *
Para efectos de plasmar las ER, los paréntesis se pueden eliminar siempre y cuando
los símbolos y caracteres no alteren la interpretación de otros caracteres o cadenas.
La precedencia de las operaciones es: clausura / Concatenación / Unión.
Para los siguientes ejercicios identifique el lenguaje que reconoce y plasme cinco
posibles cadenas válidas que representan esa ER:
EJEMPLO COMO DEBE REALIZAR EL EJERCICIO:
Si le dan esta ER (0+1)*011 Quiere decir que representa el lenguaje de las cadenas
4. Autómatas y Lenguajes Formales
Jefersson Silva Losada
que terminan en 011
(Debe evaluar bien lo que va a plasmar de tal forma que no se quede ninguna
posibilidad de cadena sin tener en cuenta)
si A = {a,b,c}
c) (a +b)*(a+b)
Rta:
Representa el lenguaje de las cadenas que pueden o no empezar por la expresión
que significa 1 o más elementos de a combinado con uno y solo un
elemento de b, siendo este último obligatorio en cada iteración; y terminar
obligatoriamente con la expresión regular que funciona exactamente igual a
la anterior.
d) (a* + b ) *
Rta:
Representa (ninguna-una o más) cadenas compuestas por “ninguno, uno o más”
elementos de a y uno y solo uno de b en cada iteración.
e) (a+ )ba*
Rta:
Representa el conjunto de las cadenas compuestas por mínimo uno o más
elementos de a, seguidos de una cadena vacía obligatoria, y finalizando
opcionalmente con una o más combinaciones de 𝒃𝒂∗
f) b (aba)*
Rta:
Representa el conjunto de las cadenas que empiezan por b y terminan
opcionalmente en una o más combinaciones 𝒂𝒃𝒂
g) *
Rta:
Representa el conjunto de la o las cadena(s) lambda
si A = {0,1}
h) 0*+1*(01)
5. Autómatas y Lenguajes Formales
Jefersson Silva Losada
Rta:
Representa el conjunto de las cadenas que inician por mínimo uno o más
combinaciones de 𝟎∗
(que a su vez expresan la presencia de ninguno, uno o más
elementos de a) seguidas
i) 10* + 10
Rta:
Representa el lenguaje de las cadenas que comienzan ineludiblemente por una o
n repeticiones de 10∗
(que significa “1” obligatorio y cero, una o n repeticiones de
“0”) y terminan en 01.
j) 01* + 0
Rta:
Representa el conjunto de cadenas que comienzan en mínimo 1 o n repeticiones
de 01∗
(0 obligatorio y cero, una o n repeticiones de 1) y terminan en 0.
l) (1 + 10) + 0
Rta:
Representa el conjunto de las cadenas que inician por una o más repeticiones de
1 + 10 (que a su vez significan una o más repeticiones de “1” seguidas por 10) y
terminan en 0
m) 1* 0*10
Rta:
Representa el conjunto de cadenas que inician por cero, una o más repeticiones
de ”1”, seguidas por cero, una o más repeticiones de “0” y terminadas en la
expresión 10.
n) 00* 11*
Rta:
Representa el conjunto de expresiones que inician con una o más repeticiones de
“0” y terminan con una o más repeticiones de “1”
o) (0+1)*11(1+0)*
Rta:
Representa el conjunto de las cadenas que inician con cero, una o más
repeticiones de la expresión 0+1 (una o más repeticiones de “0” seguidas por un
“1” obligatorio) seguidas por la expresión obligatoria 11, y finalizadas con n
repeticiones opcionales de (1+0)* (una o más repeticiones de “1” seguida por 0
obligatorio)
6. Autómatas y Lenguajes Formales
Jefersson Silva Losada
2. Partiendo de la definición de que un Autómata Finito Determinístico (AFD) está
dado por la quíntupla: A = (Q, Σ, f, q0, F) donde: 0
Q es un conjunto de estados.
Σ es el alfabeto de entrada
f: Q X Σ → Q es la función (total) de transición.
q 0 Q es el estado inicial.
F Q es el conjunto de estados finales.
Y que para el ejercicio, el autómata se define como:
A = ({q 0 , q1 , q 2 , q 3 } , {0,1} , f , q 0 , { q 2 })
Representado mediante el grafo:
EN UN SIMULADOR (YA SEA JFLAP O VAS)
Plásmelo en el simulador
7. Autómatas y Lenguajes Formales
Jefersson Silva Losada
Realice la tabla de transición correspondiente.
Compruebe el lenguaje aceptado
𝐿 = { 𝑤 ∈ {0,1}∗
| 𝑤 = {0 + 1} 𝑛
01}
Identifique la expresión regular que permite identificar que cadenas son válidas
y que acepta el autómata.
{ 𝐸𝑅 = (0 + 1)∗
01}
Identifique que denotación de estados está errada y corríjala.
8. Autómatas y Lenguajes Formales
Jefersson Silva Losada
{ 𝐸𝑅 = (1)∗
01}
3. Acorde al autómata del ejercicio N 2, Realice:
Identifique si es un AFD ó AFND y justifique por qué.
RTA:
Es un autómata finito deterministico porque solo hay una transición de
aceptación que es uno para finalizar en el estado q2
Si dado el caso es un AFND conviértalo en el simulador a un AFD y plásmelo
en el trabajo sus cadenas válidas. Analice si son las mismas cadenas que
acepta al autómata antes de convertirlo.
El nuevo AFND debe plasmarlo en el simulador.
Compruebe el lenguaje aceptado
Identifique la expresión regular que permite identificar que cadenas son válidas
y que acepta el autómata.
Analice si la ER y el Lenguaje aceptado es el mismo o no al ejercicio Número
2. Justifique sus respuestas.
4. Para el siguiente Autómata que acepta el lenguaje:
L = { ω ϵ {x,y,z}* │ω = x*yz2
, i >= 0}
Realice las siguientes actividades:
Determine si es un AFD ó AFND
RTA:
9. Autómatas y Lenguajes Formales
Jefersson Silva Losada
El autómata es un AFND puesto que, por regla general, si un autómata acepta la cadena
vacía y su estado inicial no es a su vez un estado de aceptación, no puede considerarse
determinante finito.
Encuentre la ER
RTA:
ER= (y+ xx *y)z*
Gráfico en un diagrama de Moore
RTA:
Realice la tabla de transición
RTA:
Entradas
Estados
X Y Z
q0 q2 ∅ ∅
q1 ∅ q3 ∅
q2 𝑞2 q3 ∅
q3 ∅ ∅ q3
La tabla de transición está dada por:
𝛿: { 𝑞0, 𝑞1, 𝑞2, 𝑞3} 𝑥 { 𝑥, 𝑦, 𝑧}
𝛿( 𝑞0, 𝑥) = 𝑞2
𝛿( 𝑞2, 𝑥) = 𝑞2
𝛿( 𝑞2, 𝑦) = 𝑞3
𝛿( 𝑞1, 𝑦) = 𝑞3
𝛿( 𝑞3, 𝑧) = 𝑞3
10. Autómatas y Lenguajes Formales
Jefersson Silva Losada
De cinco (05) ejemplos de cadenas válidas que acepte el autómata
RTA:
xyz = Aceptada
yz = Aceptada
xy = Aceptada
xxxxxyzzzzzz = Aceptada
xyzzzz = Aceptada
Recréelo en el simulador
RTA:
5. Construya un autómata que reconozca cadenas enmarcadas dentro de la expresión
regular: (1 + 0)* Tenga en cuenta que debe incluir cadenas vacías del tipo .
Se recomienda primero realizarlo en papel (graficarlo a mano alzada antes de llevarlo
al simulador.
Identifique los elementos de la tupla a que corresponda ese autómata y
descríbalos.
RTA:
𝑄 = { 𝑞0, 𝑞1} → Conjunto finito de estados del autómata
= {0,1} → Entradas o valores aceptados por el autómata (alfabeto de la
maquina) incluida la cadena lambda (vacía)
𝐹 = { 𝛿} → Función de relación de transición
11. Autómatas y Lenguajes Formales
Jefersson Silva Losada
𝛿:{ 𝑞0, 𝑞1} 𝑥 {0,1}
𝛿( 𝑞0,0) = 𝑞0 𝛿( 𝑞0,1) = 𝑞1
𝛿( 𝑞1,0) = 𝑞0 𝛿( 𝑞1,1) = 𝑞1
𝐼 = 𝑞0 → Estado inicial
𝐹 = 𝑞0 → Estado final
Realice el diagrama de Moore en el simulador y plásmelo en el trabajo.
RTA:
Construya Tabla de Transición.
RTA:
Entradas
Estados
0 1
q0 q0 q1
q1 q0 q0/q1
En el simulador demuestre una cadena válida haciendo el recorrido por cada
paso de estado.
RTA:
12. Autómatas y Lenguajes Formales
Jefersson Silva Losada
111010=
1: Pasamos a estado q1
1: Ciclo en estado q1
1: Ciclo en estado q1
0: Pasamos a estado q0
1: Ciclo en estado q1
0: Pasamos a estado q0
Identifique el lenguaje que reconoce.
RTA:
𝑳 = { 𝒘 ∈ { 𝟎, 𝟏} | 𝒘 = ( 𝟏 + 𝟎)∗}
6. Construya un Autómata que acepte el siguiente Lenguaje: L = 00*11*
Identifique sus componentes (la tupla que es)
RTA:
13. Autómatas y Lenguajes Formales
Jefersson Silva Losada
𝐴 = {{ 𝑞0, 𝑞1, 𝑞2}, {0,1}, {0(0)∗
1(1)∗}, {𝑞0},{𝑞2}}
𝑄 = { 𝑞0, 𝑞1, 𝑞2} → Conjunto finito de estados del autómata
= {0,1} → Entradas o valores aceptados por el autómata (alfabeto de la
maquina) incluida la cadena lambda (vacía)
𝐹 = { 𝛿} → Función de relación de transición
𝛿:{ 𝑞0, 𝑞1, 𝑞2} 𝑥 {0,1}
𝛿( 𝑞0,0) = 𝑞1
𝛿( 𝑞1,0) = 𝑞1
𝛿( 𝑞1,1) = 𝑞2
𝛿( 𝑞2,1) = 𝑞2
𝐼 = 𝑞0 → Estado inicial
𝐹 = 𝑞2 → Estado final
Constrúyalo en los simuladores.
RTA:
Demuéstrelo con al menos cinco cadenas válidas. Demuestre tres cadenas no
válidas y justifíquelas por qué no son válidas comparadas con la expresión
regular.
RTA:
14. Autómatas y Lenguajes Formales
Jefersson Silva Losada
Identifique y justifique si su diseño de Autómata es AFD ó AFND
RTA:
{ 𝐸𝑅 = 0(0)∗
1(1)∗
≠ 𝜆 }
{ 𝐸𝑅 = 0(0)∗
1(1)∗
≠ 01000 }
{ 𝐸𝑅 = 0(0)∗
1(1)∗
≠ 10}
La expresión regular nos indica que las cadenas aceptadas son aquellas que
comienzan por lo menos con un cero y terminan por lo menos con un uno.
Cree las tablas de transición
RTA:
Plasme el diagrama de Moore
RTA:
15. Autómatas y Lenguajes Formales
Jefersson Silva Losada
7. Para el siguiente autómata:
Identifique sus componentes (la tupla que es)
RTA:
𝐴 = {{ 𝑞0, 𝑞1, 𝑞2, 𝑞3, 𝑞4, 𝑞5, 𝑞6, 𝑞7}, {0,1}, { 𝜆}, {𝑞0}, {𝑞0, 𝑞6, 𝑞7}}
Identifique si es un AFD o un AFND o si es un autómata de landa transiciones.
Justifique sus repuestas.
RTA:
Es un autómata finito determinístico porque a pesar de que tiene varios estados de
aceptación para todos solo hay una transición de aceptación, 0 para q7, 0 para q6.
16. Autómatas y Lenguajes Formales
Jefersson Silva Losada
Constrúyalo en el simulador
RTA:
Identifique claramente las cadenas y subcadenas válidas y justifíquelas.
RTA:
Las cadenas validas son aquellas que terminan en 0 o terminan en 10, si existe un
1 tiene que ser precedido por un cero, pueden haber combinaciones de 0 con 10,
no pueden haber cadenas que contengan unos seguidos, acepta la cadena
lambda.
17. Autómatas y Lenguajes Formales
Jefersson Silva Losada
Plasme en el trabajo los gráficos generados.
RTA:
Identifique la expresión regular y el lenguaje que representa
RTA:
𝐿 = {
𝑤 ∈ {0,1}∗
|
𝑤 = 𝜆 + 10(10)∗
+ (0 + 10(10)∗
0)(0+ 10(10)∗
0)∗
(𝜆 + 10(10)∗
)
}
𝐸𝑅 = 𝜆 + 10(10)∗
+ (0 + 10(10)∗
0)(0+ 10(10)∗
0)∗
(𝜆 + 10(10)∗
)
Plasme la tabla de transición.
RTA:
18. Autómatas y Lenguajes Formales
Jefersson Silva Losada
8. Construya un Autómata Finito Determinístico (AFD) de tres (3) estados que acepta
dentro de su lenguaje la palabra “unad”
Identifique sus componentes (la tupla que es)
RTA:
𝐴 = {{ 𝑞0, 𝑞1, 𝑞2}, { 𝑢, 𝑛, 𝑎, 𝑑}, { 𝑢(𝑛𝑎)∗
𝑑}, {𝑞0},{𝑞2}}
Constrúyalo en los simuladores.
RTA:
Cree las tablas de transición
RTA:
19. Autómatas y Lenguajes Formales
Jefersson Silva Losada
Plasme el diagrama de Moore
Escriba la expresión regular que represente.
RTA:
𝐸𝑅 = {𝑢(𝑛 + 𝑎)∗
𝑑}
9. Para el siguiente autómata finito determinista dado por:
M = ({q0, q1, q2, q3} , {0, 1} , δ, q0, {q1})
Donde la función δ : {q0, q1, q2, q3 } × {0, 1} →{q0, q1, q2, q3} viene dada por:
δ(q0, 0) = q0 δ(q0, 1) = q1
δ(q1, 0) = q0 δ(q1, 1) = q2
δ(q2, 0) = q3 δ(q2, 1) = q1
δ(q3, 0) = q3 δ(q3, 1) = q2
Plásmelo en los simuladores.
RTA:
20. Autómatas y Lenguajes Formales
Jefersson Silva Losada
Realice el diagrama de Moore.
Identifique la tabla de transición correspondiente.
RTA:
Verifique el lenguaje aceptado y las cadenas válidas para el autómata.
RTA:
𝐿 = {
𝑤 ∈ {0,1}∗
|
𝑤 = (0∗
1(11+ 10(0+ 10) ∗ 11) ∗ 0) ∗ 0 ∗ 1(11 + 10(0+ 10) ∗ 11) ∗
}
{10101,11111,01, 000001,010101,111000111}
Identifique la expresión regular que lo representa.
RTA:
𝐸𝑅 = (0 ∗ 1(11 + 10(0+ 10) ∗ 11) ∗ 0) ∗ 0 ∗ 1(11 + 10(0+ 10) ∗ 11) ∗
21. Autómatas y Lenguajes Formales
Jefersson Silva Losada
10. Para el siguiente autómata:
Identifique sus componentes (la tupla que es)
RTA:
𝑍 = {{ 𝐴, 𝐵, 𝐶},{0,1}, {(0 + 1)∗
01}, { 𝐴}, { 𝐶}}
Recréelo en los simuladores
RTA:
Realice la tabla de transición.
RTA:
22. Autómatas y Lenguajes Formales
Jefersson Silva Losada
Qué tipo de Autómata es (Justifíquelo).
RTA:
Es un autómata finito deterministico porque solo hay una transición de aceptación
que es uno para finalizar en el estado q2
Identifique la ER y el Lenguaje que acepta
RTA:
𝐿 = {𝜔 ∈ {0,1}∗
| 𝜔 = {(0 + 1)∗
01}}
𝐸𝑅 = {(0 + 1) ∗ 01}
Que cadena reconoce. (Demuéstrelo y grafíquelo en el simulador).
RTA:
Reconoce cualquier combinación de 1 y 0 siempre que termine en 01, no acepta la
cadena vacía.