1_col1_301405

13

Click here to load reader

Transcript of 1_col1_301405

Page 1: 1_col1_301405

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ACT. 6: TRABAJO COLABORATIVO 1

Asignatura: Autómatas y Lenguajes Formales

Tutor: Carlos Alberto Amaya Tarazona

Alumno: Agustín Estupiñán García – 3169395

e-mail: [email protected]

CEAD: José Acevedo y Gómez

Grupo: 301405_1

Fecha: 09 de Octubre

MADRID

2012

Page 2: 1_col1_301405

INTRODUCCION

Uno de los hechos que se destaca en la informática es que las áreas genéricas del conocimiento humano como es la lógica y el álgebra, han tenido que especializarse, o particularizarse para ser utilizados en esta área, de aquí surge el uso de la lógica matemática, lógica de conjuntos, teoría de grafos, entre otros, para su aplicación en las ciencia de las computadoras., extendiéndose en tantas direcciones como la teoría del lenguaje, el no determinismo así como las expresiones regulares y las gramáticas libres de contexto.

Lenguajes regulares tienen gran importancia en el diseño de los lenguajes de programación ya que los componentes básicos de un LP constituyen LRs., estos pueden describirse como elementos que se generan, como cadenas a partir de cadenas sencillas, con el uso de operaciones de cadenas o el desarrollo del lenguaje mismo, que se puede generar con otros lenguajes más sencillos mediante operaciones de conjuntos.

Los Lenguajes más sencillos son los considerados lenguajes regulares, es decir, los que se pueden generar a partir de lenguajes de un elemento con la aplicación de ciertas operaciones estándar realizadas un número finito de veces.

Estos son pues los lenguajes que pueden reconocer los dispositivos llamados Autómatas finitos (AF) que son máquinas de cómputo con memoria muy restringida. En esta unidad se considera como segundo aspecto la idea de que un lenguaje no sea regular, además de proporcionar un modelo sencillo de computación que se puede generalizar en las unidades siguientes.

Page 3: 1_col1_301405

OBJETIVO GENERAL

Identificar y analizar la temática de los lenguajes regulares, autómatas finitos y sus aplicaciones.

OBJETIVOS ESPECÍFICOS

Estudiar los conceptos fundamentales de la teoría de autómatas y lenguajes formales, para la descripción de ellos.

Conocer como es el desarrollo aplicación de los lenguajes regulares y los autómatas finitos. Distinguir los diferentes tipos de lenguajes formales existentes. Implementar el uso de diagramas de Moore, y minimización de autómatas finitos etc., para el

desarrollo de situaciones de lenguajes y autómatas presentes.

Page 4: 1_col1_301405

EJERCICIOS A DESARROLLAR

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….. L (A )=∅

b) λ es una ER que denota el lenguaje ….. L (A )= {λ }

Para los siguientes ejercicios identifique el lenguaje que reconoce y plasme cinco posibles cadenas válidas que representan esa ER:

si A={a ,b , c }

c) (a+b )

L= {ω∈ {a ,b , c }¿∨ω=(a+b)}

(a ) , (b ) , (ab ) , (ba ) ,( λ)

d) (a+b )¿

L= {ω∈ {a ,b , c }¿∨ω=(a+b)¿ }

e) (a+ λ )b¿

L= {ω∈ {a ,b , c }¿∨ω=(a+ λ )b¿ }

f) a (ab )¿

L= {ω∈ {a ,b , c }¿∨ω=a (ab )¿}

g) λ¿

L= {ω∈ {a ,b , c }¿∨ω=λ¿}

si A={0,1 }

h) 000

L= {ω∈ {0,1 }¿∨ω=000 }

i) 10¿+1

L= {ω∈ {0,1 }¿∨ω=10¿+1}

j) 01¿+0

Page 5: 1_col1_301405

L= {ω∈ {0,1 }¿∨ω=01¿+0}

k) (1−110 )¿

L= {ω∈ {0,1 }¿∨ω=(1−110)¿ }

l) (1+10 )+¿

L=¿

m) 1¿0¿

L= {ω∈ {0,1 }¿∨ω=1¿0¿}

n) 00¿11¿

L= {ω∈ {0,1 }¿∨ω=00¿11¿}

o) (0+1 )¿11 (1+0 )¿

L= {ω∈ {0,1 }¿∨ω=(0+1 )¿11 (1+0 )¿}

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:

Q es un conjunto de estados.

Σ es el alfabeto de entrada.

f :Q x Σ→Q es la función total de transición.

q0∈Q es el estado inicial.

F⊆Q es el conjunto de estados finales.

Y para el ejercicio, el autómata acepta las cadenas (01)n1:

A=({q0 , q1 , q2 , q3 } , f , q0 , {q2 })

Representado mediante el grafo:

Page 6: 1_col1_301405

EN SIMULADOR (YA SEA JFLAP O VAS)

Plásmelo en el simulador.

Realice la tabla de transición correspondiente.

Page 7: 1_col1_301405

Compruebe el lenguaje aceptado.

L= {ω∈ {0,1 }¿∨ω=(01 )n1}

Identifique la expresión regular que permite identificar que cadenas son válidas y que acepta el autómata.

La Expresión regular es (01 )n1 que nos permite identificar que las cadenas válidas son todas las conformadas por pares de 01 consecutivos y terminados en 1: (01 ) , (01011) , (1 ) , (0101011 )…

3. Acorde al autómata del ejercicio N 2, explique o justifique de donde proviene el nombre “finito”. (Sea objetivo y creativo). No copie contextos puntuales de los libros o de la web.

El nombre finito lo da la condición o propiedad (01 )n1, que nos muestra que las cadenas van a ser finitas porque parten de un estado inicial, hace un recorrido para llegar a un estado de aceptación o final terminando de esta manera su ciclo. Si no se definiera esta u otra propiedad al autómata posiblemente el lenguaje a reconocer podría ser infinito.

Conviértalo en un AFND. Justifíquelo y explique de donde surge y por qué se da la característica de No determinístico.

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.

Page 8: 1_col1_301405

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= {ω∈ {a ,b , c }¿∨ω=ab ic , i≥0}

Realice las siguientes actividades: Determine si es un AFD ó AFND Encuentre la ER Gráfico en un diagrama de Moore Realice la tabla de transición De cinco (05) ejemplos de cadenas válidas que acepte el autómata Recréelo en el simulador

5. Construya un autómata que reconozca cadenas enmarcadas dentro de la expresión regular: (10+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. Realice el diagrama de Moore en el simulador y plásmelo en el trabajo. Construya Tabla de Transición. En el simulador demuestre las cadenas de entrada válidas . Identifique el lenguaje que reconoce.

6. Construya un Autómata que acepte el siguiente Lenguaje: L=0¿10¿

Identifique sus componentes (la tupla que es) Constrúyalo en los simuladores. Demuéstrelo con al menos cinco cadenas válidas. Demuestre tres cadenas válidas y

justifíquelas por qué no son válidas comparadas con la expresión regular. Identifique y justifique si su diseño de Autómata es AFD ó AFND Cree las tablas de transición Plasme el diagrama de Moore

7. Para el siguiente autómata:

Page 9: 1_col1_301405

Identifique sus componentes (la tupla que es) Constrúyalo en el simulador Identifique claramente las cadenas y subcadenas válidas y justifíquelas. Plasme en el trabajo los gráficos generados. Identifique la expresión regular y el lenguaje que representa Plasme la tabla de transición.

8. Construya un Autómata que acepta el lenguaje de palabras con un número impar de unos.

Identifique sus componentes (la tupla que es) Constrúyalo en los simuladores. Cree las tablas de transición Plasme el diagrama de Moore Escriba la expresión regular que represente. Justifique por qué en este ejercicio no se solicita identificar el lenguaje que reconoce.

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 } x {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. Realice el diagrama de Moore. Identifique la tabla de transición correspondiente. Verifique el lenguaje aceptado y las cadenas válidas para el autómata. Identifique la expresión regular que lo representa.

Page 10: 1_col1_301405

10. Para el siguiente autómata:

Identifique sus componentes (la tupla que es) Recréelo en los simuladores Realice la tabla de transición. Qué tipo de Autómata es (Justifíquelo). Identifique la ER y el Lenguaje que acepta Que cadena reconoce. (Demuéstrelo y grafíquelo en el simulador).

CONCLUSIONES

Page 11: 1_col1_301405

REFERENCIAS

Quiroga Rojas, Edgar Alberto (2011, 1-157) AUTÓMATAS Y LENGUAJES FORMALES. Recuperado el 14 de agosto de 2012 de: http://66.165.175.205/campus12/file.php/52/ MODULO_2012/301405_Modulo_2012.zip

ACT 6 GUIA TRABAJO COLABORATIVO Nº1. Recuperado el 21 de agosto de 2012 de http://campus.unadvirtual.org/mis_cursos/tablero_20122.php