Está en la página 1de 5

Instituto Tecnologico de Mexico campus Villahermosa

Materia:
Lenguaje automatas 1

Docente:
Manuel Antonio Rodriguez Magaña

Tarea:
Investigación

Carrera:
Ing. Sitemas computacionales

Alumnos:
Edward Dominguez Perez
20300682
Javier Alejandro Corzo Cortazar
20300669
DEFINICIÓN LENGUAJE REGULAR:
Al lenguaje generado por medio de una gramática regular. Son aquellos lenguajes cuyas
cadenas está formadas por la concatenación de símbolos, en las cuales no hay relación entre
una parte de la cadena y otra parte de la cadena. Vemos que una gramática regular o de tipo
3 es aquella gramática donde las reglas de producción siguen la siguiente estructura: A→
uB o A→ u donde u∈ T* y A,B∈ V
OBJETIVO: Encontrar reconocedores para los lenguajes regulares. Estos reconocedores se
denominan AUTÓMATAS FINITOS.
AUTÓMATAS FINITOS
DEFINICIÓN: Un automata finito es una quintupla M=(Q,A, d ,q0,F) en la cual:
Q es un conjunto finito llamado conjunto de estados.
A es un alfabeto llamado alfabeto de entrada.
d es una aplicación de la forma siguiente d : Q x A→ Q de modo que dado un
estado y un símbolo del alfabeto se produce otro estado. A esta función se le llama función
de transición.
q0 es un elemento de Q, llamado estado inicial.
F es un subconjunto de Q, llamado conjunto de estados finales.
El autómata es un mecanismo con 2 partes:

Una caja negra de control que va evolucionando por los estados del conjunto Q en función
del símbolo leído de la cinta.

Una cinta, ilimitada por la derecha, con una cabeza de lectura que inicialmente se sitúa en
la casilla más a la izquierda.
FUNCIONAMIENTO: En la cinta se escribe la cadena de caracteres de la que queremos
determinar si pertenece al lenguaje regular que poseemos. En cada paso el autómata lee un
símbolo y segn el estado en el que se encuentre, cambia de estado y pasa a leer el siguiente
símbolo. Así hasta acabar de leer todos los símbolos de la cadena, en ese momento si el
estado en que está la flecha o cabeza de lectura es un estado final entonces ACEPTA LA
CADENA. Si no es un estado final entonces RECHAZA LA CADENA, es decir, la cadena
no pertenece a ese lenguaje regular.
LENGUAJE ASOCIADO A UN AUTÓMATA FINITO
El lenguaje que reconoce el autómata está formado por todas aquellas cadenas que se
construyen de la siguiente forma: el autómata parte de q0, lee un símbolo u cualquiera y
alcanza un estado final.
Esto se nota de la siguiente forma: L(M)={u∈ A* / d (q0,u)∈ F}, donde M es el
autómata finito definido como M=(Q,A, d ,q0,F) .
Ejemplo 1: Qué lenguaje reconoce el autámata dibujado abajo?

REPRESENTACIÓN DE LOS AUTÓMATAS FINITOS.


Existen dos formas de representar los autómatas:
Se representan mediante un Grafo de Transición donde:
Los nodos representan estados, habrá tantos nodos como |Q| , cada nodo estará etiquetado
por un elemento de Q.
Los arcos representan las transiciones entre los estados. Se etiquetan con el símbolo que
corresponde a esa transición.
El estado inicial estará señalado mediante el símbolo → .
Los estados finales estarán señalados mediante el simbolo *, o doble círculo alrededor de la
etiqueta del estado final.
EJEMPLO: Realizar el grafo de transición del autómata especificado de la siguiente forma:
M=(Q, A, q0, d , F) donde Q={q0, q1, q2} A={a,b} F={q2}
d(q0,a)=q1 d(q0,b)=q2 d(q1,a)=q1 d(q1,b)=q2 d(q2,a)=q1 d(q2,b)=q0
Con este otro modo de representar los autómatas solamente se especifica la tabla de las
transiciones poniendo en la primera fila el alfabeto de entrada y en la primera columna el
conjunto de estados Q, de modo que para cada símbolo y estado se asocia un estado al cual
se va a ir.

OPERACIONES SOBRE AUTÓMATAS FINITOS NO DETERMINÍSTICOS:


Si tenemos un lenguaje L1 que es aceptado por un autómata finito no determinístico AFND
1 y otro lenguaje L2 que es aceptado por un autómata finito no determinístico AFND2,
entonces podemos:
Ejemplo: Construir un AFND con TN que reconozca L1�/font>L2 siendo L1={u10v / u,
v∈ {0,1}*} y L2={u00v /u, v∈ {0,1}*} donde sus AFND son los siguientes:

También podría gustarte