You are on page 1of 16

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

Autmatas y Lenguajes Formales

Presentado Por:

Richar Joseph Castaeda Can

Programa Ingeniera de sistemas

BOGOTA
2017

1
Teniendo en cuenta el autmata realizar la expresin regular, el lenguaje regular y
mencionar el tipo de autmata (Autmata finito determinista y autmata finito no
determinista)

AFD AFND
Q={q 0, q 1, q 2, q 3 }
( q 2,1 )=( q 1, q 3 )
Q 0=Estado Inicia l : {q 0,0 }
q 1,
={0,1}
{q 2,1 } , q 1,q 3 }

F={q 3 } {q 0,1 } , q 2

A= (Q , Z , , q 0, F ) {q 1, 0 }=q 1

D efine estado q 1,1}=q 3

f ormal de un AFD

lenguaje regular Lenguaje Regular Lenguaje Regula r


L ( A )={ 0,1 ; 11 ) ( Q0, W ) F }
L ( B )= L ( C )= {W | ( q 0, w ) F }

{ W | ( q 0, w ) F


Expresin regular Expresin Regular 0 0 ( 1+1 ) +(1+ 0)

E ( 0 ) :0 02 1 + 11+11 0 1

(01+11)

2
Ejercicio 2:
Realizar la conversin del siguiente autmata, si el autmata es AFD convertirlo a AFND y
si es AFND convertirlo a AFD, Se debe mostrar el procedimiento paso a paso.

Ejercicio 3:
Teniendo en cuenta el ejercicio anterior, seleccionar el autmata finito determinista (AFD).
Con base en ese autmata desarrolle:

3
Describa la forma Plasme la tabla de transicin
matemtica del autmata

Alfabeto /
Transiciones
Conjuntos 0 1
A B C
B B C
C D E
#D F C
E G E
F B C
#G F C

3. Identifique los elementos (tupla, estado final, inicial, alfabeto, etc.). Debe explicar y
describir cada elemento y la funcin y significado en el autmata. Conceptos y definiciones
adicionales.

Tupla: Una tupla es una lista inmutable. Una tupla no puede modificarse de ningn modo despus
de su creacin. Una tupla se define del mismo modo que una lista, salvo que el conjunto se
encierra entre parntesis en lugar de entre corchetes.

4
Smbolo: La interpretacin ms bsica es simplemente una representacin distinguible de
cualquier informacin. Los smbolos pueden ser cualesquiera, como w, 9, #, etc., p. Un smbolo
es una entidad indivisible.

Alfabeto: Es un conjunto de smbolos finito y no vaco. Convencionalmente se utiliza el

smbolo para designar un alfabeto.

Ejemplo:
{a , b }
1

Con los smbolos de un alfabeto es posible formar secuencias o cadenas de caracteres, tales como
mxzxptlk, balks, r, etc. Las cadenas son llamadas tambin palabras.

Lenguaje: Un lenguaje es simplemente un conjunto de palabras. Llamamos lenguaje sobre el

alfabeto a cualquier subconjunto de .

Puesto que un lenguaje es tan solo una clase especial de conjunto, podemos especificar un
lenguaje finito por extensin enumerando sus elementos entre llaves. Un lenguaje es un conjunto

de cadenas, todas ellas seleccionadas de un donde es un determinado alfabeto.

Por ejemplo:
L= { abcd , zcr , d , f , g } es un lenguaje sobre el alfabeto que tiene como smbolo las letras

del alfabeto.

L={ {0, 1 } | Cumple alguna propiedad P}

Un autmata finito (AF) o mquina de estado finito es un modelo computacional que


realiza cmputos en forma automtica sobre una entrada para producir una salida.

5
Este modelo est conformado por un alfabeto, un conjunto de estados y un conjunto de
transiciones entre dichos estados. Su funcionamiento se basa en una funcin de transicin, que
recibe a partir de un estado inicial una cadena de caracteres pertenecientes al alfabeto (la
entrada), y que va leyendo dicha cadena a medida que el autmata se desplaza de un estado a
otro, para finalmente detenerse en un estado final o de aceptacin, que representa la salida.

4. Identifique el lenguaje que genera.

Este ejercicio corresponde a un Lenguaje aceptado por un AFND. Un AFND acepta una palabra
de entrada siempre que sea posible comenzar por el estado inicial y que exista una secuencia de
transiciones que nos lleven a consumir la palabra y acabe el autmata en un estado final. Puede
que tengamos otras secuencias de transiciones que no acaben en estado final, pero basta que
exista una que acabe en estado final para que la palabra sea aceptada.

La Jerarqua de Chomsky consta de cuatro niveles:

Gramticas de tipo 0 (sin restricciones), que incluye a todas las gramticas formales. Estas
gramticas generan todos los lenguajes capaces de ser reconocidos por una mquina de
Turing. Los lenguajes son conocidos como lenguajes recursivamente enumerables. Ntese
que esta categora es diferente de la de los lenguajes recursivos, cuya decisin puede ser
realizada por una mquina de Turing que se detenga.

Gramticas de tipo 1 (gramticas sensibles al contexto) generan los lenguajes sensibles al


contexto. Estas gramticas tienen reglas de la forma con un no terminal y , y cadenas de
terminales y no terminales. Las cadenas y pueden ser vacas, pero no puede serlo. La regla
est permitida si no aparece en la parte derecha de ninguna regla. Los lenguajes descritos por
estas gramticas son exactamente todos aquellos lenguajes reconocidos por una mquina de
Turing determinista cuya cinta de memoria est acotada por un cierto nmero entero de veces
sobre la longitud de entrada, tambin conocidas como autmatas linealmente acotados.

6
Gramticas de tipo 2 (gramticas libres del contexto) generan los lenguajes
independientes del contexto. Las reglas son de la forma con un no terminal y una cadena de
terminales y no terminales. Estos lenguajes son aquellos que pueden ser reconocidos por
un autmata con pila.

Gramticas de tipo 3 (gramticas regulares) generan los lenguajes regulares. Estas


gramticas se restringen a aquellas reglas que tienen en la parte izquierda un no terminal, y en
la parte derecha un solo terminal, posiblemente seguido de un no terminal. La regla tambin
est permitida si no aparece en la parte derecha de ninguna regla. Estos lenguajes son
aquellos que pueden ser aceptados por un autmata finito. Tambin esta familia de lenguajes
pueden ser obtenidas por medio de expresiones regulares.

Ntese que el conjunto de gramticas correspondiente a los lenguajes recursivos no es un


miembro de la jerarqua.

Cada lenguaje regular es a su vez libre del contexto, asimismo un lenguaje libre del contexto es
tambin dependiente del contexto, ste es recursivo y a su vez, recursivamente enumerable. Las
inclusiones son, sin embargo, propias, es decir, existen en cada nivel lenguajes que no estn en
niveles anteriores.

Tip Lenguaje Autmata Normas de produccin


o de gramticas

0 recursivamente Mquina de Sin restricciones


enumerable (LRE) Turing (MT)

1 dependiente del Autmata linealmente A


contexto (LSC) acotado

2 independiente del Autmata con pila A


contexto (LLC)

7
3 regular (LR) Autmata finito A aB

Aa

5. Muestre en el simulador (grficamente) como recorre una cadena vlida. Explique cada
secuencia. (No se trata solo de captura las imgenes, estas deben ser explicadas en pi de
pgina o de lo contrario no tienen validez)

Vemos el siguiente autmata, y vamos a observar como recorre para llegar a q2, el cual es nuestro
estado de aceptacin, lo vamos a realizar con la siguiente cadena: 101

8
Si iniciamos con el alfabeto 1, esta nos deja en q0

Siguiendo el orden de la cada sigue 0, el cual nos acepta y no dirige a q1

En q1, siguiendo la cada, entra el alfabeto 1, el cual no lleva a q2, y es nuestro estado de aceptacin,

Como vemos la cadena 101, es vlida ya que recorri todo autmata dejndonos en el estado de
aceptacin q2.

9
6. Muestre el diagrama de Moore generado en JFLAP y en VAS y comente tres similitudes y
tres diferencias que encuentra al realizarlo en los dos simuladores. (Ventajas que ofrezcan
uno u otro).

Mquina de Moore Una Mquina de Moore es un autmata de estados finitos donde las salidas
estn determinadas exclusivamente por el estado actual de la misma y no dependen directamente
de la entrada. El diagrama de estados para una mquina Moore, a diferencia de la de Mealy,
incluir una seal de salida para cada estado.
Formalmente, se define como una sxtupla (S, S0, , , T, G):
S = conjunto finito de estados
S0 = estado inicial
= alfabeto de entrada (conjunto finito)
= alfabeto de salida (conjunto finito)
T: S x S = funcin de transicin
G : S = funcin de salida
Se puede ver que esta definicin es idntica a la anterior de Mealy, excepto por la funcin de
salida.

10
Ejemplo de diagrama de Moore EB JFLAP

Ejemplo en VAS

11
1. Al realizar el diagrama de Moore en VAS, ese especifica claramente cada transicin-
2. El diagrama en JFALP, tiene muchas ms opciones y graficas a color.
3. En VAS no me deja retroceder Para corregir los estados mal puestos
4. El VAS tiene dos formatos el .fa y el .tm

Existen lo siguientes simuladores JFLAP, VAS Y MacroPLC.

12
Genere tres cadenas vlidas y dos no vlidas.
Vamos a realizar pruebas de cadenas vlidas y no validas con el siguiente autmata AFND

Cadena Recorrido Explicacin Validacin


Entrada 0 en q0 va La cadena tiene 4
a q1 dgitos,
En q1 entrada 0, empezamos con el
nos dirige a q3 alfabeto 0 (que
En q3 entre 0, nos inicia en el estado
lleva a q0. inicial q0), este
En q0 entre 1, nos nos dirige a el
lleva a q2. estado q1, donde
q2 es el estado de sigue con el
0001 aceptacin. alfabeto 0 y nos
lleva al estado q3,
en el estado q3
tenemos como
entrada el alfabeto
0, donde nos
vuelve a llevar a
q0, y donde entra
el alfabeto 1, el
cual nos lleva al
estado de
aceptacin q2. Si
es aceptada la
cadena 0001
Entrada 0 en q0 va La cadena tiene 3
a q1. dgitos,
En q1 entra 1 nos empezamos con el
lleva a q0. alfabeto 0 (que
En q0 entra 1 nos inicia en el estado
dirige a q2. inicial q0), este
q2 es nuestro nos dirige a el
estado de estado q1, donde
011 aceptacin sigue con el
alfabeto 1 y nos
lleva al estado q0,
en el estado q0
tenemos como
entrada el alfabeto

13
1, donde nos lleva
a q2,cual nos lleva
al estado de
aceptacin q2. Si
es aceptada la
cadena 011
Entrada 0 en q0 va La cadena tiene 6
a q1. dgitos,
En q1 entra 0 nos empezamos con el
lleva a q3. alfabeto 0 (que
En q3 entra 0 nos inicia en el estado
dirige a q0. inicial q0), este
000011 En q0 entra 0 nos nos dirige a el
lleva a q1. estado q1, donde
En q1 entra 1 nos sigue con el
dirige a q0. alfabeto 0 y nos
En q0 entra 1 nos lleva al estado q3,
dirige a q2. en el estado q3
q2 es nuestro tenemos como
estado de entrada el alfabeto
aceptacin 0, donde nos
vuelve a llevar a
q0, y donde entra
el alfabeto 0, el
cual nos lleva al
estado q1, donde
entra el alfabeto 1,
nos lleva al estado
q0, donde entra el
alfabeto 1, y nos
lleva al estado de
aceptacin q2 . Si
es aceptada la
cadena 000011
0100 Entrada 0 en q0 va La cadena tiene 4
a q1. dgitos,
En q1 entra 1 nos empezamos con el
lleva a q0. alfabeto 0 (que
En q0 entra 0 nos inicia en el estado
dirige a q1. inicial q0), este x
En q1 entra 0 nos nos dirige a el
dirige a q3. estado q1, donde
q3 no es nuestro sigue con el
estado de alfabeto 1 y nos
aceptacin lleva al estado q0,
en el estado q0

14
tenemos como
entrada el alfabeto
0, donde nos
vuelve a llevar a
q1, y donde entra
el
alfabeto 0, el cual
nos lleva al estado
q3. No es aceptada
la cadena 0100
Entrada 0 en q0 va La cadena tiene 4
a q1. dgitos,
En q1 entra 1 nos empezamos con el
lleva a q0. alfabeto 0 (que
En q0 entra 0 nos inicia en el estado
dirige a q1. inicial q0), este
0101 En q1 entra 1 nos nos dirige a el
dirige a q0. estado q1, donde x
q0 no es nuestro sigue con el
estado de alfabeto 1 y nos
aceptacin lleva al estado q0,
en el estado q0
tenemos como
entrada el alfabeto
0, donde nos
vuelve a llevar a
q1, y donde entra
el
alfabeto 1, el cual
nos lleva al estado
q0. No es aceptada
la cadena 0101

Ahora vamos a ver como el programa JFLAP, nos va a corroborar las cadenas anteriormente
explicadas.

15
16

You might also like