Vous êtes sur la page 1sur 21

TRABAJO COLABORATIVO 1

CURSO AUTOMATAS Y LENGUAJES FORMALES

ELABORADO POR: OSCAR AUGUSTO MESA LONDOO CC # 15328532 GUSTAVO ADOLFO MADRIGAL CC# 15.325.544 HUGO HERNANDO MEJIA BARAJAS CC# 13.928.726 GRUPO 301405_8

TUTOR: JAIRO RIANO

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD 2010

INTRODUCCION A travs del estudio y de la investigacin podemos decir que los temas de autmatas, computabilidad e incluso complejidad algortmica, han venido incorporandose de manera fuerte en el medio de la computacin siendo este muy importante en el desarrollo de todos los campos de la sociedad. En este tema analizaremos los tipos de autmata finitos, las expresiones regulares y las propiedades de los lenguajes regulares, veremos cada uno de los elementos y restricciones de estos y en que consiste cada uno de ellos. Los autmatas y lenguajes formales, son muy importantes en nuestra formacin profesional, para estudiar, analizar y profundizar los conceptos fundamentales de la teora del diseo y manejo de variables en los autmatas. Vamos a tratar de afianzar algunos conocimientos sobre los temas de autmatas y lenguajes formales tales como lenguajes regulares formulando el desarrollo de una serie de ejercicios.

OBJETIVOS Reconocer los leguajes regulares, automatas finitos y su aplicacin. Adquirir habilidades necesarias para desarrollar automatas y maquinas que reconozcan languates o computen funciones. Adquirir los conceptos bsicos de la teora de los lenguajes formales y la relacin que existe con la teora de autmatas. Aumentar las relaciones sociales, humanas y particulares de cada uno de los integrantes de este curso a travs de la interaccin o participacin para el desarrollo de esta actividad donde se comparten conocimientos, experiencias personales y valores.

1. Obtener el lenguaje reconocido por el siguiente AFD: A = ({q0, q1, q2, q3, q4}, {a, b, c}, f, q0, {q2}) f(q0, a) = q1 f(q1, a) = q4 f(q2, a) = q4 f(q3, a) = q4 f(q4, a) = q4 SOLUCION Desarrollamos por medio de la tabla de transiciones del AFD, y esta arroja los siguientes resultados: f(q0, b) = q4 f(q1, b) = q1 f(q2, b) = q4 f(q3, b) = q3 f(q4, b) = q4 f(q0, c) = q4 f(q1, c) = q2 f(q2, c) = q2 f(q3, c) = q2 f(q4, c) = q4

F q q # q q q

a q q q q q

b q q q q q4

c q q q q q

Al realizar el diagrama con los datos consignados en la tabla de transiciones, obtenemos el siguiente resultado

b q1 a q0 a b,c a,b c a q4

a, b, c

b q2 c c q3

Entrada q0 Estado inicial f (funcin de transicin) Lenguaje reconocido por AFD: ba*b*c* ca*b*c* ab*aa*b*c* ab*cc*aa*b*c* ab*cc*ba*b*c

2. Determinar el lenguaje que reconoce el siguiente AFD:

Tabla de transiciones

f q q2* q3

1 q1 q3 q3

2 q1 q3 q3

3 q2 q3 q3

lenguaje construido en AFD. f(q1, 1) = q1 f(q2, 1) = q3 f(q3, 1) = q3 f(q1, 2) = q1 f(q2, 2) = q3 f(q3, 2) = q3 f(q1, 3) = q2 f(q2, 3) = q3 f(q3, 3) = q3 A = (q1, q2, q3}, {1, 2, 3}, f, q1, {q2}) El lenguaje que reconoce el autmata es: 1*2*311*2*3*

1*2*321*2*3* 1*2*331*2*3*

3. Dado el autmata finito siguiente:

Definir la gramtica lineal izquierda que describe el mismo lenguaje reconocido por el autmata.

Q/ A B C D

0 0 C E E

1 B D E E

La gramtica lineal derecha: P = {A::= B0 | C1 B::= B0 | B1 C::= C0 | D1 D::= E0| E1 E::= E0 | E1} La gramtica lineal izquierda: P = {A::=B0 | C1 B::=B0 | B1 C::=C0 | D1

D::=E0 | E1 E::=E0 | E1} 4. Decir cules de las siguientes palabras son reconocidas por el siguiente AFND: 110, 01, 100 AFND = ({0, 1}, {q0, q1, q2}, q0, {q1}) f(q0, 0) = f(q1, 0) = {q0} f(q2, 0) = {q2} f(q0, 1) = {q1, q2} f(q1, 1) = {q0, q1} f(q2, 1) = f(q0, ) = f(q1, ) = {q0} f(q2, ) = {q1}

Verificamos los datos inciales por medio de la tabla de transiciones f q0 q1 q 2 0 q0 q2 1 q1,q2 q0,q1 q0 q1

Generamos el grfico con la informacin suministrada

0 ,0,1 q q0 0 q q1 1 1

1 q q2 2 0

Luego de realizar las operaciones, tenemos como resultado que las los estados de aceptacin son qo, q1 en Realizamos la verificacin de los lenguajes indicados para determinar cul de ellos corresponde a la operacin, por medio de las siguientes tablas:

A. 110 Carcter 1 1 0 B. 01 Carcter Estado Proceso q0 0 Error No aceptado C. 100 Carcter 1 0 0 Estado Proceso q0 q2 q2 q2 q1 Aceptado Estado Proceso q0 q1 q1 q0 Aceptado

Las palabras reconocidas para el AFND = ({0, 1}, {q0, q1, q2}, q0, {q1}) son 01 y 100

5. Determinar la pertenencia de las cadenas: aab, aba y ba, al lenguaje reconocido por el siguiente AFND: A = ({a,b}, {q1,q2,q3,q4}, f, q1, {q1}, {(q2,q4), (q3,q4), (q4,q3)}) f(q1,a) = {q2} f(q1,b) = f(q2,a) = {q1,q3,q4} f(q2,b) = {q1,q3} f(q3,a) = f(q3,b) = {q1,q4} f(q4,a) = f(q4,b) = {q3} Generamos inicialmente las tablas para poder hallar el resultado de la operacin f q1 q2 a b q2 q1,q3,q4 q1,q3

q 3 q4

q1,q4 q3

Luego generamos el grafico

Desarrollamos la tabla para cada una de las cadenas Cadena aab Carcter a a b a a b a a b Estado Proceso q1 q2 q1 error No Aceptado q1 q2 q3 q4 q1 q2 q4 q3

Aceptada

Aceptada

Cadena ba Carcter Estado Proceso q1 b error No Aceptado

Cadena aba Carcter Estado Proceso q1 a q2

b a a b a

q1 Error q1 q2 q3 Error

No Aceptado

No Aceptado

6. Obtener para cada uno de los siguientes autmatas finitos su autmata Mnimo Equivalente:

Desarrollo

Autmata A1 la ecuacin A1=(K, , f, p1, F) K={p1,p2,p3,p4,p5,p6,p7,p8} ={0,1} f=lo indicado en la tabla F={p4,p8} sea A1=({p1,p2,p3,p4,p5,p6,p7,p8},{0,1}, f, p1, {p4,p8})

tenemos el siguiente diagrama:

Aplicando el mtodo de minimizacin quedara as:

Algoritmo: encontraremos que debemos: Eliminar los estados inaccesibles del autmata. Construir una tabla con todos los pares (p, q) de estados restantes. Marcar en la tabla aquellas entradas donde un estado es final y el otro es nofinal, es decir, aquellos pares de estados que son claramente distinguibles. Para cada par (p, q) y cada smbolo a del alfabeto, tal que r = (p,a) y s = (q,a): 1. Si (r, s) ya ha sido marcado, entonces p y q tambin son distinguibles, por lo tanto marcar la entrada ( p, q). 2. De lo contrario, colocar (p, q) en una lista asociada a la entrada (r, s). Agrupar los pares de estados no marcados.

Sigue:

p2 p3 p4 p6 p7

Paso 1, se en rojo los estado p5 y p8, por se estados inaccesibles. Paso 2 y 3, las tablas se encuentra a continuacin:

p1 p2 p3 p4 p6

p2 p3 p4 p6 p7 p1 p2 p3 p4 p6

p2

Paso 4 la tabla quedara asi:

p3 p4 p6 p7 p1 p2 p3 p4 p6

Continuamos con el paso 5. Paso 5, el par (p3,p1), se encuentra encerrados en verde, el cual llamaremos pa y el par (p6,p7), se encuentra encerrado en rojo, el cual llamaremos pb con el mtodo finalizado el Autmata quedara as:

7. Dado el Autmata Finito

(a)Construir el AFD mnimo equivalente (b)Deducir el lenguaje que reconoce Tabla de equivalencias: 1 p* Q r* s q q s r 0 r q r s p -

Escogemos los finales (p* y r*) = C 1 Nueva tabla: 1 0 NUEVO ESTADO p* r* q s C2 C2 C2 C1 C1 C2 C1 C1 C2 C1 C1 C2 C3

y no finales (q, s)= C2

Nuevo autmata:

Lenguaje admitido: a. Todas las palabras que inicien y/o terminen en 1 b. Todas las palabras que terminen en 0

8.

Encontrar el autmata mnimo equivalente al siguiente AFD:

Se escoge la primera particin separando en dos grupos los terminales con los no terminales:

Q/E1= (C1, C2)

C1= Estados finales,

C2= Estados no finales

Q/E1= (C1= [q2, q4, q6, q9], C2= [q0, q1, q3, q5, q7, q8]) Tomamos la clase1 C1: a Q2* Q4* Q6* Q9* C1 C2 C1 C2 b C2 C1 C2 C1 c C1 C1 C1 C1

Se observa que q2 y q6, por un lado, y el q4 con el q9, transitan igual. Tomamos la clase 2 C2: A Q0 Q1 Q3 Q5 Q7 Q8 C2 C2 C2 C1 C2 C2 B C2 C1 C1 C2 C1 C2 C C2 C2 C2 C2 C2 C2

Q1, Q3, Q7 Transita igual. Q0 Y Q8 Tambin transitan igual. Q5 No Transita igual. Luego se organizan en grupos: Q/E2= (C1= [q2, q4, q6, q9], C2=[q5]), C3=[q0, q8]), C4=[q1, q3, q7 ]) a Q0 C4 b C1 C C3

Q8

C4

C4

C3

Se comprueba que q0 y q8 no transitan iguales. Se prueba con C4

a Q1 Q3 Q7 C4 C4 C4

b C1 C1 C1

C C2 C4 C4

Q1 No Transita Igual Q3 y Q7 Transitan Igual

9. Construir el autmata finito determinista mnimo equivalente al siguiente:

Se escoge la primera particin separando en dos grupos los terminales con los no terminales:

Q/E1= (C1, C2) C1= Estados finales, C2= Estados no finales Q/E1= (C1= [q1, q3, q8], C2= [q0, q2, q4, q5, q6, q7 ]) Tomamos la clase1 C1: a Q1* Q3* Q8* C1 C1 C1 b C2 C2 C2 c C2 C2 C2

Se observa que q1, q2, y q3 Transitan igual. Tomamos la clase 2 C2: A Q0 Q2 Q4 Q5 Q6 Q7 C1 C1 C1 C1 C1 C1 B C2 C2 C1 C2 C2 C1 C C2 C2 C2 C2 C2 C1

Q0, Q5, Q6 Transita igual Q4, No Transita igual Q7, No Transita igual Luego se organizan en grupos: Q/E2= (C1= [q1, q3, q8 ], C2=[q7]), C3=[q4]), C4=[q0, q2, q5, q6 ]) A B C

Q0 Q2 Q4 Q5 Q6

C1 C1 C1 C1 C1

C4 C4 C4 C4 C4

C4 C4 C4 C4 C4

Se comprueba que q0, q2, q5, q6, transitan iguales. Por lo tanto la particin solucin quedar: Q/E= ( C1= [q1, q3, q8 ], C2=[q7]), C3=[q4]), C4=[q0, q2, q5, q6 ]) Teniendo en cuenta que los grupos Cx se toman como estados. Los estados finales e inicial son tenidos en cuenta de acuerdo al grupo que se encuentre:

Los estados c1, c2, c3, y c4 tienen solucin debido a que el inicial c4, enva a recibe b,c y retorna en si mismo bc.

10.- Encontrar el AFD mnimo equivalente al siguiente AFND:

Al realizar las operaciones indicadas segn la referencia 1, primero el diagrama de Moore del autmata propuesto quedara as: 1

S'=P(S) Conjunto de todos los subconjuntos de S (recordar que el conjunto potencia se encuentra incluido el conjunto vaco, que ser el estado de captacin global) Como tenemos tres estados, el conjunto potencia P(S) = { l, q0,q1,q2,q3,q0-q1,q0-q2,q0-q3,q1-q2,q1-q3,q2-q3,q0-q1-q2,q0-q1q3,q1-q2-q3,q0-q1-q2-q3} i'= {i} (mismo estado inicial) En nuestro caso seguir siendo el estado q0. F' es la coleccin de subconjuntos de S (estados de S') que contienen, por lo menos, un estado de F (cada uno de los estados de S' dentro de los cuales hay al menos un estado de aceptacin de M). En nuestro caso sern todos los subconjuntos que tengan el estado q1, ya que este es el nico estado de aceptacin del diagrama original; luego F'= { q1,q0-q1,q1-q2,q1-q3,q0-q1-q2,q0-q1-q3,q1-q2-q3,q0-q1-q2q3}

OROZCO, Maribel., (2004). CONVERSION DE UN AFDN A UN AFD (p.p 1 24). Minatitlan, Instituto Tecnologico de Minatitlan (Material de Apoyo).

En la siguiente grafica se muestra como quedara el nuevo AFD, y en el circulo rojo se encuentran los estados que se eliminaran de acuerdo a lo explicado segn la referencia:

CONCLUSIONES

Los Autmatas Finitos ms complejos pueden ser minimizados a partir de algoritmos que evalan el comportamiento de la mquina, desechando los estados innecesarios o inaccesibles, los cuales no influyen en el funcionamiento final del autmata y por ende pueden ser eliminados.

BIBLIOGRAFA

http://www.slideshare.net/jbuabud/lenguajes-regulares-y-autmatasfinitos-clase-8

Vous aimerez peut-être aussi