Vous êtes sur la page 1sur 19

TEORIA DE AUTMATAS I

Captulo 0: Preliminares
______________________________________________________________________

0 PRELIMINARES
0.1 REPASO A LA TEORA DE CONJUNTOS
0.1.1 DEFINICIONES BSICAS

Conjunto: coleccin de elementos.


o

Notacin:

A={a, b, c}
W={x : x es un entero positivo}

Conjunto vaco: { }, . No contiene ningn elemento.

Nmeros naturales: Son los enteros no negativos; ={0, 1, 2, ...}


Otra concepcin: + ={1, 2, 3, ...}

Pertenencia: x X

Unin: A B = {x : x A x B}

x es un elemento de X

A = {a, b, c}

o E.g.:
A B = {a, b, c, d }
B = {b, c, d }

Interseccin: A B = {x : x A x B}

A = {a, b, c}

o E.g.:
A B = {b, c}
B = {b, c, d }

TEORIA DE AUTMATAS I
Captulo 0: Preliminares
______________________________________________________________________

Complemento del conjunto B con respecto de A: (A-B)1

A = {a, b, c}

A B = {b}
o E.g.:
B = {a, c}

Subconjunto: A B = {x : x A x B}

Subconjunto propio:

A es un subconjunto propio de B si:


Si

A BB A=

A= B A BB A

Producto Cartesiano: A B = {(a, b ) : a A b B}

Funcin: de A a B es un subconjunto de AxB, tal que cada elemento de A aparece


como primer elemento de uno y slo uno de los pares.
o

f: A B; establece una correspondencia entre A y B.

A es el dominio de f.

Contradominio: es el subconjunto de B que contiene todos los elementos


que aparecen en el segundo lugar de los pares de la funcin.

E.g.: f : tal que son los pares de la forma

( n, n )
2

entonces, f ( n ) = n 2 n .
Esta funcin es uno a uno2 porque a cada elemento inicial le corresponde
uno final diferente y, no se encuentra sobre3 ya que el contradominio
slo contiene cuadrados perfectos.

Podemos hallar el complemento de un conjunto con respecto a otro universal, (p.e. el complemento del
conjunto {1, 5} en son todos los naturales excepto 1, 5.
2
Cada elemento del contradominio est asociado a uno slo del dominio
3
Cada elemento del conjunto final est en el cotradominio

TEORIA DE AUTMATAS I
Captulo 0: Preliminares
______________________________________________________________________

0.1.2. DEMOSTRACIN POR INDUCCIN

Para demostrar que un conjunto S de nmeros naturales cumple un propiedad P,


debemos:

(1)
Definir el conjunto S={ n tales que P(n) es verdadera}
(2)
Probar que 1 S (CASO BASE)
(3)
Suponer que n S para un n 1 arbitrario (HIPTESIS DE INDUCCIN)
(4)
Demostrar que entonces n + 1 S (PASO DE INDUCCIN)
E.g.: Queremos demostrar si P(X) (conjunto potencia), para todos los conjuntos
finitos X con tamao mayor o igual que uno cumple:

|P(X)|=2|X|

(a)

En la figura 0.1 seguimos el mtodo de obtencin para los distintos conjuntos de


tamao 1, 2 y 3.

El conjunto X

Todos los subconjuntos de X

{1}

{}

{1}

{1,2}

{}

{2}

{1}

{1,2}

{}

{3}

{1}

{1,3}

{1,2}

{1,2,3}

{1,2,3}

Figura 0.1

Esta estrategia a la hora de confeccionar los subconjuntos nos presenta una


dinmica en la que podemos observar que por cada elemento que aadimos a X,
se nos aaden 2 a P(X), con lo cual y segn los pasos especificados
anteriormente, podemos ver que:
(1) El conjunto S correspondera a
(2) Para n = 1 se cumple que: |P(X)|=2|X|, ya que 2 = 21 segn la figura 0.1.
(3) Suponemos que se cumple |P(X)|=2|X|, para cualquier conjunto tal que

TEORIA DE AUTMATAS I
Captulo 0: Preliminares
______________________________________________________________________
X = n , genrico.
(4) Hemos de demostrar que para un conjunto tal que Y = n + 1 , se cumple (a):

Como hemos observado en la figura 1 para un valor |X| = n e |Y| = n+1, se cumple
que:

|P(Y)|= 2 |P(X)|

(b)

En el punto (3) del razonamiento hemos supuesto (caso bsico) que se cumple
|P(X)|=2|X|, con lo que (b) nos queda como:

|P(Y)|= 22n = 2n+1 = 2|Y|

c.q.d.

Un ejemplo ms vinculado al entorno de la programacin sera el del


procedimiento de la figura 0.2.:

Procedure clasificacin (lista)


Begin
If (lista no est vacia) then
Begin
Clasificacin (porcin de la lista que sigue al primer elemento);
Mover el primer elemento a su lugar correcto dentro de la parte
restante de la lista
End
End;

Figura 0.2.

Verificacin:
(1) En el caso de que (lista) est vaca el procedimiento se verifica
(2) Suponemos que para una lista de n elementos se verifica.
(3) En el caso de una lista de n+1 elementos, como sabemos que
para n se cumple: clasificara n elementos y a continuacin el
primer elemento lo situara en el lugar correcto, luego se
verificara.

TEORIA DE AUTMATAS I
Captulo 0: Preliminares
______________________________________________________________________

0.1.3. CONJUNTOS CONTABLES E INCONTABLES

No todos los conjuntos infinitos contienen la misma cantidad de elementos,


como no podemos expresar su tamao, introducimos el concepto de:

Cardinalidad de un conjunto A es A :

Conjuntos finitos: A = n de elementos

Conjuntos infinitos: A = n cardinal

Comparacin de cardinalidades:
o

X Y f : X Y y f es uno a uno.

X = Y f : X Y y f es uno a uno y es X sobre Y.

Teorema de Schder-Bernstein:

X <Y X Y X Y

E.g.:
o

X Y Y X X =Y

= +

siendo

f : +

x
x +1

TEOREMA 0.1. : Si X es un conjunto cualquiera, entonces:

|X|< |P(X)|

Demostracin:
Hemos de demostrar que

|X| |P(X)|

|X| |P(X)|

- |X| |P(X)|

es inmediato ya que podemos definir una funcin que a


cada elemento x X le haga corresponder {x}, que sera uno a uno.
- |X| |P(X)| suponemos que f es una funcin cualquiera de X a P(X)

y consideramos el conjunto Y = { x : x X x f ( x )} . Se observa que

Y X y por lo tanto Y P(X). Por lo tanto si f es sobre debe existir una


y X tal que f ( y ) = Y .

TEORIA DE AUTMATAS I
Captulo 0: Preliminares
______________________________________________________________________
Si existe y, debe cumplirse una de las dos siguientes opciones:
- y f ( y ) : entrara en contradiccin con la definicin de Y.

- y f ( y ) : entones y Y y se contradice la suposicin de que

f ( y) = Y .

Concluyendo que f no puede ser sobre.

Jerarqua de conjuntos infinitos:


Basndonos en el Teorema 0.1. podemos concluir que:

|X|< |P(X)|< | P (P(X))|< | P (P (P(X)))|< ...

TEOREMA 0.2.: La cardinalidad del conjunto de los nmeros naturales


es menor o igual que la cardinalidad de cualquier conjunto infinito.
Conjuntos incontables: son conjuntos infinitos con ms elementos que la
cantidad de enteros positivos, por lo que no es posible contar estos
conjuntos.
Conjuntos contables o enumerables: su cardinalidad es menor o igual que
la de los enteros positivos.
COROLARIO: el conjunto potencia de cualquier conjunto infinito es
incontable.
Demostracin de que un conjunto infinito es contable:
Partamos del conjunto + + y sigamos una relacin de orden de manera
que en primer lugar estn los pares que suman 1, luego los que suman 2, y
as sucesivamente.
Al hacer esta ordenacin en realidad hemos establecido una funcin uno a
uno entre + y + + , por lo que podemos concluir que + + es
contable ya que su cardinalidad es menor o igual que la de + .

0.1.4 Y QU?
(LEER EN EL LIBRO A TTULO INFORMATIVO, PGINA 12)

TEORIA DE AUTMATAS I
Captulo 0: Preliminares
______________________________________________________________________

0.2. BASE GRAMATICAL DE LA TRADUCCIN DE LENGUAJES

Lenguaje natural: es aquel que ha evolucionado a lo largo del tiempo para


fines de comunicacin humana. Cualquier regla se desarrolla despus del
hecho en un intento de explicarlo.
Lenguaje formal: estn definidos por reglas establecidas (v.g. lenguajes de
programacin, lenguajes matemticos).

Gracias a las reglas de los lenguajes formales es posible construir traductores


computerizados, lo que no puede hacerse en lenguaje natural.

PASOS QUE SIGUE UN TRADUCTOR DE LENGUAJES


o

A) ANALIZADOR LXICO: recibe el programa fuente como una


cadena de smbolos y produce una cadena de componentes lxicos
(tokens).

B) ANALIZADOR SINTCTICO: analiza el patrn de los


componentes lxicos.

C) GENERADOR DE CDIGO: produce el programa objeto


(versin traducida del programa fuente)

0.3. ANTECEDENTES HISTRICOS


(LEER POR EL LIBRO A TTULO INFORMATIVO, PAG. 14)

0.4. ESBOZO DEL RESTO DEL TEXTO


(LEER POR EL LIBRO A TTULO INFORMATIVO,PAG. 16)

TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________

1. AUTMATAS FINITOS Y LENGUAJES REGULARES

Los autmatas finitos y los lenguajes regulares se encuentran el nivel mas bajo de la
jerarqua de mquinas y lenguajes que se estudiaran en los tres captulos siguientes.

Una de sus aplicaciones es formar parte del analizador lxico de los compiladores.

1.1. ANLISIS LXICO

El problema al que se enfrenta un compilador es detectar si una cadena del


programa fuente representa o no un nombre de variable.

Cada estructura lxica de un lenguaje de programacin termina con un conjunto de


smbolos reconocido como fin de estructura, las marcas de fin de cadena.

1.1.1. DIAGRAMAS DE TRANSICIONES

Tambin se les llama diagramas de estado. Es una coleccin finita de crculos, los
cuales se pueden rotular para fines de referencia, conectados por unas flechas
llamadas arcos cada uno de los cuales se etiqueta con un smbolo o categora de
estos que pudiera presentarse en la cadena de entrada que se analiza.

Uno de los crculos se designa con un apuntador, y representa el estado inicial.

Por lo menos uno de los crculos se representa doble, designando as posiciones del
diagrama en las que se ha reconocido una cadena vlida, son los estados de
aceptacin.

EJEMPLO:

Figura 1.1 Diagrama de transiciones que representa la sintaxis de un nombre de variable.

TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________

1.1.2. TABLAS DE TRANSICIONES

Son arreglos bidimensionales cuyos elementos proporcionan el resumen del diagrama


de transiciones correspondiente.

Una fila es para cada estado del diagrama, y una columna para cada smbolo o categora
de smbolos que podra ocurrir en el cadena de entrada.

El elemento que est en la fila m y la columna n es el estado que se alcanzara en el


diagrama al dejar el estado m a travs de un arco con etiqueta n.

Si no existe el arco n que salga de m, la casilla correspondiente se marca como error.

Por ltimo, se agrega una columna rotulada como FDC para el fin de cadena que
contiene el valor aceptar si al fila corresponde a un estado de aceptacin y el valor
error si no corresponde.

EJEMPLO:

1
2
3

letra (l)
3
error
3

dgito (d)
2
error
3

FDC
error
error
aceptar

Figura 1.2. Tabla de transiciones a partir del diagrama de la figura 1.1.

1.2. AUTMATAS FINITOS DETERMINISTAS (A.F.D.)


1.2.1. DEFINICIONES BSICAS

Las cadenas que deben analizarse en una aplicacin estn construidas a partir de un
conjunto de smbolos:
Alfabeto: Conjunto de smbolos finito no vaco a partir del cual se construyen las
cadenas.
Palabra o cadena: Sucesin finita de smbolos de un alfabeto.
Autmata finito determinista: Dispositivo que puede estar en cualquier nmero finito de
estados (necesariamente uno inicial y al menos uno final), que detecta los smbolos que
le llegan y basndose en el estado actual y el smbolo que le llega, ejecuta una
transicin. Es determinista si para cada estado existe una sola salida para cada smbolo
del alfabeto.
Cadena vaca: Su smbolo es , es la cadena que no contiene ningn smbolo. Para que
un autmata finito determinista la acepte, su estado inicial debe ser de aceptacin.

TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________

AUTMATA FINITO DETERMINISTA:


Consiste en una quntupla (S, , , , F), en la cual:

S: es un conjunto finito de estados


: es el alfabeto de la mquina
: es un funcin (llamada funcin de transicin) de S x en S
: es el estado inicial (un elemento de S)
F: son los estados de aceptacin (un subconjunto de S no vaco)

1.2.2. DIAGRAMAS DE TRANSICIONES DETERMINISTAS


Los requisitos que debe cumplir un diagrama de transiciones para que se cumpla el
determinismo, son:
o
o

de cada uno de los estado slo puede salir un arco por cada smbolo del
alfabeto (un mismo smbolo no puede tener dos caminos).
Para estar completamente definido, debe haber un arco para cada
smbolo del alfabeto.

Habitualmente se dibujan versiones parciales de los diagramas de transiciones


deterministas, omitiendo el estado de captacin global y los arcos
correspondientes.
Un

AFD

de

n m transiciones.

n estados con un alfabeto de

smbolos

tendr

1.3. LMITES DE LOS AUTMATAS FINITOS DETERMINISTAS


1.3.1. A.F.D. COMO ACEPTADORES DE LENGUAJES

Un A.F.D. podemos considerarlo como un agrupador de todas las cadenas


de entrada en dos clases: las que son aceptables y las que no.

Denominamos * al conjunto de todas las cadenas de longitud finita que es


posible formar con los caracteres del alfabeto . (v.g. si
= {a, b} ,
entonces,

= { , a, b, ab, ba, aab, aaab, aa,....} ).

Por otra parte se define como lenguaje (del alfabeto ) a un subconjunto de


*.

Si M es un A.F.D. (S, , , , F), la coleccin de todas las cadenas que


acepta constituye un lenguaje respecto alfabeto , y se representa como
L(M). Un lenguaje de la forma L(M) para M se denomina lenguaje regular.

10

TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________

Si M es un A.F.D. (S, , , , F), de forma que no contiene ningn bucle


(camino por el que partiendo de un estado se pueda llegar de nuevo al l),
entonces el lenguaje L(M) para M ser un lenguaje regular y adems es un
LENGUAJE FINITO.

Dos lenguajes regulares especiales sern:


o *: coleccin de todas las cadenas de longitud finita del alfabeto
o : lenguaje vaco, es el que no contiene ninguna cadena.4

TEOREMA 1.1.
Para cualquier alfabeto , existe un lenguaje que no es igual a L(M)
para cualquier autmata finito determinista M.
Demostracin:
La coleccin de A.F.D. con alfabeto es numerable (podemos hacer
una lista con todos los autmatas de 1 estado, luego de 2, y as sucesivamente).
Por otro lado, el nmero de lenguajes con respecto a es incontable. Entonces
hay ms lenguajes que A.F.D.. Como cada autmata solo admite un lenguaje
entonces habr lenguajes que no son aceptados.

Conclusin:
Hay conjuntos de cadenas que no pueden ser identificadas por
los autmatas finitos deterministas.

1.3.2. UN LENGUAJE NO REGULAR

Presentamos un nueva notacin wn donde w es una cadena de * y n un


numero entero no negativo. Sera una forma abreviada de expresar una
cadena de n copias del patrn w. As, x4 = xxxx ; (xy)3 = xyxyxy y y0 = .

TEOREMA 1.2.
Si un lenguaje regular contiene cadenas de la forma xnyn para enteros n
arbitrariamente grandes, entonces debe contener cadenas de la forma
xmyn, donde m y n no son iguales.
Demostracin:
Si M es un A.F. tal que L(M) contiene xnyn para una n arbitrariamente
grande, entonces debe existir un entero positivo k mayor que el nmero de
estados de M y tal que xkyk se encuentre en L(M).
El proceso de aceptacin de la cadena xkyk implica que se recorra ms
de una vez alguno de los estados de M antes de llegar a las y de la cadena (se

Ntese la distincin entre el lenguaje vaco y la cadena vaca , podramos decir que el lenguaje que
contiene nicamente a la cadena vaca {}, que tambin sera regular, es un lenguaje que contiene una
cadena (la vaca), y el lenguaje vaco no tiene ninguna cadena. Como similitud podramos establecer la
relacin: LENGUAJE DIRECTORIO y CADENA FICHERO; el lenguaje vaco sera como un
directorio en el que no hubiese fichero alguno. En cambio el lenguaje {} sera un directorio que tendra
en su interior un fichero (que estara vaco).
4

11

TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________
recorrer una ruta circular). Si j es el nmero de x ledas en esa ruta entonces la
mquina puede aceptar la cadena xk+jyk recorriendo la ruta una vez ms.

Conclusin:

El lenguaje x n y n : n , no es regular, y ms sutilmente, los


A.F.D. no pueden analizar expresiones aritmticas que contengan
parntesis.
Lema del bombeo: Si un A.F.D. acepta un leguaje L con un
nmero infinito de cadenas, entonces aceptar una cadena del tipo uvw
donde v > 0 tal que uv n w L siendo n > 0 .

1.4. AUTMATAS FINITOS NO DETERMINISTAS (A.F.N.D.)

Son similares a los A.F.D. ya que tambin analizan cadenas construidas a partir de
un alfabeto finito y slo puede tener un nmero finito de estados, algunos de
aceptacin y uno de ellos es inicial. La diferencia radica en que la transicin entre
estados que se ejecuta en una etapa dada puede ser incierta.

EJEMPLO:

Figura 1.3.- Autmata finito no determinista que acepta cadenas que representan enteros o
cadenas que representan nmero reales en notacin decimal.

12

TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________

Un A.F.N.D. acepta una cadena cuando es posible que su anlisis deje a la mquina
en un estado de aceptacin.

AUTMATA FINITO NO DETERMINISTA:

Consiste en una quntupla (S, , , , F), en la cual:

S: es un conjunto finito de estados


: es el alfabeto de la mquina
: es un subconjunto de S x x S
: es el estado inicial (un elemento de S)
F: son los estados de aceptacin (un subconjunto de S no vaco)
La tupla ( p, x, q ) estar en si el autmata puede pasar de p a q al leer x . Un

A.F.N.D. (S, , , , F) aceptar la cadena no vaca ( x1 , x2 ,..., xn ) s y slo s


existe una secuencia de estados s1 , s2 ,..., sn , tal que s0 = , sn F y para cada

entero j de 1 a n de forma que s j 1 , x j , s j .


Se da la posibilidad de que ( p, x, q1 ) y a la vez ( p, x, q2 ) .

TEOREMA 1.3.
Para cada autmata finito no determinista, existe un autmata finito
determinista que acepta exactamente el mismo lenguaje.
Algoritmo de obtencin del A.F.D.
1. El nmero de estados ser P(S).
2. El estado inicial ser el mismo.
3. Sern estados de aceptacin todos aquellos de los que forme parte alguno de los de
aceptacin del original.
4. Para las transiciones deterministas (si sj ) se trazarn entre todos los estados que
contengan si y hasta sj.
5. Para las transiciones no deterministas, si suponemos parten de s0 y llegan a s1 y a s2,
saldr un arco de cada estado que contenga s0 hasta el estado s1s2.
6. Quitamos los estados de los que slo salen arcos y no llega ninguno, y se obtiene el
A.F.D.

TEOREMA 1.4.
Para cualquier alfabeto , {L(M): M es un autmata finito determinista con
alfabeto }={L(M): M es un autmata finito no determinista con alfabeto }
Demostracin:
No es ms que una repeticin del teorema 1.3.

Conclusin:
A la hora de analizar la aceptacin de lenguajes muchos autores no
distinguen entre A.F.D. y A.F.N.D., hablando nicamente de autmatas finitos.

13

TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________

1.5. GRAMTICAS REGULARES

En general una gramtica se define como una cudrupla ( V,T, S, R ) de manera


que:
V conjunto finito de smbolos no terminales5
T conjunto finito de smbolos terminales
S axioma o smbolo de inicio ( S V )

R conjunto finito de reglas de reescritura de la forma XY ZW ,


donde:
X , Y , Z y W son combinaciones cualesquiera de terminales o
no terminales, siempre que la en la parte izquierda haya al
menos un smbolo no terminal.
El lado derecho puede ser .

GRAMTICA REGULAR: es aquella cuyas reglas de reescritura tienen las


siguientes restricciones:

En el lado izquierdo slo puede haber un no terminal.


En el lado derecho podr haber:
Un terminal seguido de un no terminal, o
Un terminal, o
La cadena vaca.
EJEMPLO:

Z yX
Zx
Z

ATENCIN: Una gramtica definida con estas reglas siempre es regular


pero podra estar definida con otras y tambin serlo.

TEOREMA 1.5.
Para cada gramtica regular del alfabeto , de la forma G (V , , , R ) existe
un autmata finito de la forma M ( S , , , , F ) que reconoce el lenguaje
generado por G, donde:
S =V

F V , F {vi V vi R}

es el smbolo inicial de G y el estado inicial de M

S S =

{( P, x, Q ) P xQ R; P, Q V ; x }

Para nuestro estudio denotaremos los smbolos no terminales con letras maysculas y los terminales con
minsculas.

14

TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________

EJEMPLO:

S xX
X yY
Y xX
Y

Reemplazamientos:

Si partimos de un no terminal del que se deriva un terminal, siempre podremos


expresarlo de la forma que a continuacin se indica:

Nx
N xX
X

1.6. EXPRESIONES REGULARES

Vamos a estudiar la manera de construir lenguajes complicados a partir de otros ms


simples por medio de las siguientes operaciones:

o UNIN:
Sea L1 = { x, xy} y L2 = { yz , yy} , entonces L1 L2 = { x, xy, yz , yy} .
Construccin general con autmatas:
1. Dibujar un nuevo estado inicial, que ser de aceptacin, s y slo s, lo
es uno de los primitivos iniciales.
2. Para cada estado que sea destino de un arco desde los iniciales
primitivos, dibujar un arco con la misma etiqueta desde el nuevo inicial.
3. Eliminar la caracterstica de inicio de los primitivos estados iniciales.

15

TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________

EJEMPLO:

Estados iniciales
anteriores

Autmatas iniciales

Autmata final

o CONCATENACIN:
Sea L1 = { x, xy} y L2 = { yz , yy} , entonces L1 o L2 = { xyz , xyy, xyyz , xyyy} .

Hay que tener en cuenta que: L1 o L2 L2 o L1

Construccin general con autmatas:


1. Desde cada estado de aceptacin de T1 , dibujar un arco hacia cada

estado de T2 que sea destino de un arco desde el estado inicial de


T2 .
2. Rotular dichos arcos como los correspondientes de T2 .
3. Dejar los estados de aceptacin de T1 como de aceptacin, s y slo
s, el estado inicial de T2 es de aceptacin.

16

TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________
EJEMPLO:

Autmatas iniciales

Autmata final

o ESTRELLA DE KLEENE:
Supongamos un lenguaje L1 = { x} entonces L1 ser el conjunto de todas las
cadenas finitas de varias x incluyendo la cadena vaca .

Construccin general con autmatas:


1. Aadir un nuevo estado inicial que ser de aceptacin.
2. Por cada arco que salga del estado inicial primitivo, dibujar otro desde
el nuevo estado inicial con igual destino y etiqueta.
3. Desde cada estado de aceptacin dibujar un arco con destino a cada
estado que reciba un arco desde el inicial con la misma etiqueta.

EJEMPLO:

Autmata inicial

Autmata final

17

TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________

TEOREMA 1.6.
Dado un alfabeto , los lenguajes regulares de son exactamente los
lenguajes representados por las expresiones regulares de .
o

Procedimiento:

Suponemos que el autmata tiene un solo estado de aceptacin.

Partimos de un autmata de la forma:

Si no est s, la expresin regular es:

Si no est u, la expresin regular es:

Si tuviera ms de uno, haramos copias con un solo estado de


aceptacin cada una y luego lo completaramos haciendo la
unin de las expresiones regulares de cada copia.

(( r o s ) o t )

Si estn todos: ( ( r o s ) o t ) o ( u o ( ( r o s ) o t ) )

Si no estn ni r ni s, se sustituyen por:

Supongamos que el autmata tiene ms de dos estados:

Seleccionamos uno ( s0 ) que no sea inicial ni de aceptacin.

Lo eliminamos con todos sus arcos entrantes o salientes.


Por cada par de arcos eliminados (uno entrante y otro saliente)

dibujamos un arco etiquetado como p o r * o q , siendo r la


unin de las etiquetas de los arcos que iban de s0 a s0 .

18

TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________

1.7. COMENTARIOS FINALES


INTERSECCIN DE DOS LENGUAJES REGULARES

Suponemos L = L1 L2 siendo L1 y L2 lenguajes regulares.

Sean M 1 ( S1 , , 1 ,1 , F1 ) y M 2 ( S 2 , , 2 ,2 , F2 ) los autmatas finitos tales que


reconocen L1 y L2 respectivamente.

El autmata M
o
o
o

( S , ,

, , F ) ser aquel tal que:

S = S1 S 2 , producto cartesiano de los conjuntos de estados de S1 y S 2 .


, alfabeto de los lenguajes L1 y L2 .
: S S , funcin de transferencia en trminos de 1 y 2 , tal que dado

un estado s = ( s1 , s2 ) , con s1 S1 y s2 S 2 y un smbolo x , entonces:

( s, x ) = q

qS
q = (1 ( s1 , x ) , 2 ( s2 , x ) )

Al dibujar el autmata M, desde cada estado s = ( s1 , s2 ) se traza un arco hacia

q = ( q1 , q2 ) rotulado con el smbolo x si y slo si, en los autmatas M 1 y

M 2 existe un arco rotulado con x entre s1 y q1 y entre s2 y q2 .

El estado inicial = (1 , 2 ) , S , es el producto de los estados iniciales.

Los estados finales, F = f S f = ( f1 , f 2 ) , f1 F1 f 2 F2 , es el

producto de los estados finales.

Si L1 y L2 son regulares L = L1 L2 es regular.


COMPLEMENTO DE UN LENGUAJE REGULAR

El complemento de un lenguaje regular es un lenguaje


regular.
Para construir el autmata que lo reconozca, basta con
cambiar los estados de aceptacin por no aceptacin y
viceversa en el autmata inicial

LENGUAJES FINITOS

El conjunto de lenguajes aceptados por autmatas finitos


sin bucles es el conjunto de los lenguajes finitos.

19