Está en la página 1de 3

DEFINICIONES

AFD, AFN, Expresin Regular, Lenguaje regular, Gramtica libre de Contexto

AFD Automata Finito Determinista


Los autmatas son una representacin formal muy til, que permite modelar el comportamiento de diferentes
dispositivos, mquinas, programas, etc.

Mquinas expendedoras de refrescos


El comportamiento de un programa (software)
El comportamiento de semforos

La idea general consiste en modelar un sistema que:

Recibe un conjunto de elementos de entrada (estmulos)


Realiza algn proceso (cmputo)
Se produce una salida

El Autmata Finito Determinista (AFD), es aquel que slo puede estar en un nico estado despus de leer
cualquier secuencia de entradas. El trmino determinista hace referencia al hecho de que para cada entrada
slo existe uno y slo un estado al que el autmata puede hacer la transicin a partir de su estado actual.

AFN - Automata Finito No Determinista


Informalmente, un AF no determinista, es una extensin de los deterministas:
A partir de un estado, no es necesario que el autmata tenga prevista ninguna transicin a otro estado en
respuesta a todos los smbolos de entrada posibles.
A partir de un estado concreto y ante un smbolo de entrada, se permite que el autmata transite a ms de un
estado distinto (transiciones no deterministas).
No es obligatorio consumir un smbolo de entrada para que el autmata cambie de estado (transiciones ).

Expresin Regular
Es un equivalente algebraico para un autmata.

Utilizado en muchos lugares como un lenguaje para describir patrones en texto que son sencillos pero
muy tiles.
Pueden definir exactamente los mismos lenguajes que los autmatas pueden describir: Lenguajes
regulares
Ofrecen algo que los autmatas no: Manera declarativa de expresar las cadenas que queremos aceptar

Ejemplos de sus usos:

Comandos de bsqueda, ejemplo: grep de UNIX


Sistemas de formateo de texto: Usan notacin de tipo expresin regular para describir patrones
Convierte la expresin regular a un DFA o un NFA y simula el autmata en el archivo de bsqueda

Generadores de analizadores-lxicos. Como Lex o Flex.


Los analizadores lxicos son parte de un compilador. Dividen el programa fuente en unidades lgicas
(tokens), como while, nmeros, signos (+, , <, etc.)
Produce un DFA que reconoce el token.

Las expresiones regulares denotan lenguajes. Por ejemplo, la expresin regular: 01* + 10* denota todas las
cadenas que son o un 0 seguido de cualquier cantidad de 1s o un 1 seguido de cualquier cantidad de 0s.

Operaciones de los lenguajes:


Unin: Si L y M son dos lenguajes, su unin se denota por L M (ejemplo: L = {11, 00}, M = {0, 1}, LUM
= {0, 1, 00, 11})
Concatenacin: La concatenacin es: LM o L.M (ejemplo, LM = {110, 111, 000, 001} )
Cerradura (o cerradura de Kleene): Si L es un lenguaje su cerradura se denota por: L*
L0 = {}
L1 = L
L2 = LL

Si L = {0, 11},
L2 = {00, 011, 110, 1111}

Lenguaje Regular
En Lingstica, Matemticas e Informtica y en la jerarqua de Chomsky se refiere a los lenguajes de tipo 3,
aquellos que pueden representarse mediante gramticas regulares, autmatas finitos o expresiones regulares.
Son los lenguajes formales ms simples, con los mecanismos de representacin y reconocimiento ms
estudiados. Su aplicacin prctica en la teora y construccin de intrpretes y compiladores de lenguajes de
programacin o de especificacin o formato de informacin, especialmente como microcomponentes
del analizador lexicogrfico que detecta los tkenes como constantes numricas, cadenas de texto, operadores,
palabras reservadas (keywords), separadores, etc. Pero tambin se puede apreciar su uso en mquinas
expendedoras, telfonos pblicos, calculadoras y otros artefactos electromecnicos.

Se dice que un lenguaje es regular si y slo si se cumple cualquiera de las siguientes proposiciones:

Tiene al menos una gramtica regular G que lo produce.


Puede ser reconocido por un autmata finito A.
Existe una expresin regular Er que representa a todas las cadenas de L.

Dentro de la Jerarqua de Chomsky se refiere a los lenguajes de tipo 3, el subconjunto de lenguajes formales ms
restringido dentro de la jerarqua, como se ve en la imagen.

Gramtica libre de contexto


En lingstica e informtica, una gramtica libre de contexto (o de contexto libre) es una gramtica formal en
la que cada regla de produccin es de la forma:
Vw
Donde V es un smbolo no terminal y w es una cadena de terminales y/o no terminales. El trmino libre de
contexto se refiere al hecho de que el no terminal V puede siempre ser sustituido por w sin tener en cuenta el
contexto en el que ocurra. Un lenguaje formal es libre de contexto si hay una gramtica libre de contexto que lo
genera.
Las gramticas libres de contexto permiten describir la mayora de los lenguajes de programacin, de hecho,
la sintaxis de la mayora de lenguajes de programacin est definida mediante gramticas libres de contexto. Por
otro lado, estas gramticas son suficientemente simples como para permitir el diseo de eficientes algoritmos de
anlisis sintctico que, para una cadena de caracteres dada determinen cmo puede ser generada desde la
gramtica. Los analizadores LL y LR tratan restringidos subconjuntos de gramticas libres de contexto.
Hemos visto que muchos lenguajes no son regulares. Por lo que necesitamos una clase ms grande de lenguajes.
Las Gramticas Libres de Contexto (Context-Free Languages) o CFLs jugaron un papel central en lenguaje
natural desde los 50s y en los compiladores desde los 60s.
Las Gramticas Libres de Contexto forman la base de la sintaxis BNF.
Son actualmente importantes para XML y sus DTDs (document type definition).