AUTOMATAS Y LENGUAJES FORMALES

ALFABETO

PALABRA O CADENA

según

Martínez y García (2005, p. 1)

es

Conjunto finito y no vacío de elementos llamados símbolos.

determinados por

Extensión, enumeración de símbolos o por comprensión.

para

Especificar determinada propiedad que la totalidad de los símbolos debe realizar.

ejemplos

∑ = { a,b,c,d,e...x,y,z} alfabeto latino (alfabeto por extensión). ∑= { ai \ i ∈ I }, donde I es un conjunto finito (alfabeto por comprensión).

según

Lenguaje

Jurado, E. (2008, p. 16)

EXPRESIÓN REGULAR

ESTADO

LENGUAJE REGULAR

AUTOMATAS FINITOS

es

"Secuencia finita de símbolos de un alfabeto"

ejemplos

x = casa es una palabra definida sobre el alfabeto ∑1 y= 010100 es una palabra definida por el alfabeto ∑2

tipos

Palabra vacía: No posee ningún símbolo, se representa con (⋋)

Longitud de palabra: Número de símbolos que constituyen la palabra, se representa con (||).

según

Malaga (2008, p. 16)

es

Dentro del contexto del alfabeto alude el grupo de todas las palabras que se pueden conseguir con las letras de dicho alfabeto

se

Representa con ω(∑). Además, este lenguaje es infinito, y, siempre pertenece a él la palabra vacía.

ejemplo

Si ∑ = {a} entonces ω(∑) = { ⋋, a,aa,aaa,...}

es

Un modelo matemático de una máquina que permite cadenas de un lenguaje definido sobre un alfabeto A. Unicer.edu.ar (2009).

clases

2

Autómata finito NO determinista (AFND):

1

Autómata finito determinista (AFD):

es

estos

Máquinas teóricas que van transformando su estado a partir de la entrada que reciban, y, su salida se limita a dos valores (aceptado y no aceptado)

A diferencia de los AFD, en los AFND se pueden encontrar varias opciones de transición, además, con ⋋ - transiciones que se ejecutan sin tener en cuenta los símbolo de la cadena de entrada..

también

Los AFD son como listas ordenadas de elementos (AFD = (∑,Q,f, q0,F))

donde

∑ = alfabeto de entrada, Q = conjunto finito y no vacío de los estados de Autómata, f = función de transición que indica en qué situaciones el Autómata pasa de un estado a otro (se define f : Q X ∑ → Q), q0 = ∈ Q es el estado inicial, F ∁ Q = conjunto de estados finales de aceptación (F ≠ ⦰).

también

Se definen como una lista ordenada de elementos

donde

AFND = (∑,Q,f, q0,F,T), f : Q x ∑ → 2^Q
∑ = alfabeto de entrada, Q = conjunto finito y no vacío de los estados de Autómata, f = función de transición que indica en qué situaciones el Autómata pasa de un estado a otro (se define f : Q X ∑ → Q), q0 = ∈ Q es el estado inicial, F ∁ Q = conjunto de estados finales de aceptación (F ≠ ⦰), 2^Q = conjunto formado por los subconjuntos de Q, incluyendo a ⦰, T = relación binaria definida sobre Q que indica las ⋋ - transiciones del autómata.

según

Jurado (2008, p. 48)

según

es

El lenguaje generado por medio de una gramática regular, y está formado por la concatenación de símbolos, y no se encuentra relación entre una parte de la cadena y otra parte de la cadena.

ejemplos

Φ, {ɛ}, para todo a ∈ ∑ {a} es un lenguaje regular, si A y B son lenguajes regulares, entonces: A u B, A . B son lenguales regulares.

las

Expresiones (e.r) regulares facilitan la representación de los lenguajes regulares.

por otro lado

Es expresiones regulares sobre un ∑ y el lenguaje que indican se determina como.

ejemplo

Si α,β son e.r que definen los lenguajes A y B

entonces

αβ es una e.r que denota A.B
α + β es una e.r que denota A ∪ B

Lenguaje regular por extensión:

Lenguaje regular por comprensión:

es

Cada una de las cadenas que pertenecen al lenguaje

ejemplo

Si tenemos el lenguaje L que contiene todas las cadenas de Os y 1s con longitud exacta 3, de esta manera por extensión L sería: L = {000,001,010,011,100,101,110,111}

se

Define mediante una regla o patrón que causaría todas las cadenas válidas.

Si tenemos el lenguaje L que contiene todas las cadenas de Os y 1s con un número par de Os se puede delimitar por comprensión como L ={ ω | w contiene un número par de 0s}.

es

Condición donde se encuentra un sistema en determinado momento Son importantes en la modelización y análisis de sistemas dinámicos, como, por ejemplo, en los autómatas finitos.

en

Un autómata finito, el estado manifiesta una configuración específica en la que se halla el autómata en algún momento preciso durante su ejecución.

también

Los estados se pueden emplear para representar distintas condiciones o situaciones en un sistema.

ejemplo

En un sistema de semáforos, tenemos tres estados: rojo, amarillo y verde, donde cada estado manifiesta el color actual del semáforo y las transiciones representan el cambio de color del semáforo en contestación a diversos eventos.

TRANSICIONES

se

Refiere al cambio de estado que ocurre en un autómata en respuesta a la entrada de un símbolo

las

Transiciones son muy importantes para el funcionamiento de los autómatas porque determinan cómo el autómata se mueve mediante distintos estados en respuesta a las entradas recibidas.

en

Un AFD cada estado y cada símbolo de entrada, hay idénticamente una transición definida hacia otro estado.

en

Un AFND se pueden encontrar diferentes transiciones probables para un mismo estado y símbolo de entrada.

GRAMÁTICA FORMAL

según

Amaya (2011, p. 66).

es

Conjunto de reglas para conformar efectivamente las frases de un lenguaje

las

Reglas gramaticales: Son la expresión de la forma ω → β en donde así como ω como β son cadenas de símbolos en donde pueden aparecer tanto elementos del alfabeto ∑ como nuevos símbolos denominados variables.

ejemplo

La gramática del español, ingles, aleman, etc.

OPERACIONES REGULARES

son

Las distintas operaciones que se pueden realizar sobre los lenguajes formales, además pueden ser representados por autómatas finitos o expresiones regulares.

como lo son

UNIÓN: La unión de dos lenguajes regulares L1 y L2, denota como L1 ∪ L2, esto crea un nuevo lenguaje que posee todas las cadenas que pertenecen a L1 o a L2, o a ambas.

la

CONCATENACIÓN: La concatenación de dos lenguajes regulares L1 y L2, señala como L1 . L2, esto crea un nuevo lenguaje que posee todas las cadenas que se pueden formar concatenando una cadena de L1 con otra cadena L2.

la

ESTRELLA DE KLEENE: De un lenguaje regular L, denotada como L*, crea un nuevo lenguaje que posee todas las probables concatenaciones finitas de cadenas en L, incluida la cadena vacía (ϵ).

OPERADORES:Son usados en expresiones regulares para definir patrones o conjuntos de cadenas.

Precedencia de los Operadores: Estipulan el orden en el que se evalúan las operaciones.

tales como

ESTRELLA DE KLEENE: Posee la mayor precedencia, denota cero o más repeticiones de la expresión regular precedente.

CONCATENACIÓN: Esta concatenación se realiza antes que cualquier otra operación.

OPERADOR DE UNION ("|"): Posee menor precedencia que la concatenación y se usa para indicar alternancia entre dos opciones.

SUBTEMA # 1:
CERRADURA POSITIVA.

se

Utiliza para denotar una o más repeticiones de la expresión regular precedente. Se aplica agregando el símbolo "+" después de la expresión regular.

para

Hallarla, se realizan todas las concatenaciones probables de 1,2,3. o más palabras del lenguaje:

ejemplo

1). {a,bc} ={a,bc,aa,abc,bca,bcbc, aaa, aabc, abca, abcbc, bcaa, bcbca, bcbcbc,...
2). {ϵ}^+ ={ϵ}
3). ∅^+ = {}

SUBTEMA # 2
OPERADORES DE KLEENE:

son

Usados para especificar repeticiones de símbolos o subexpresiones regulares

tales como

1). Estrella de Kleene ("*")
2). Más de Kleene ("+")

ejemplo

Estimemos un autómata finito que valida números binarios. Usando la estrella de Kleene, se podría señalar que después de cada "0" o "1". Podríamos reconocer cualquier cantidad de dígitos binarios ininterrumpidos en la entrada.
Su expresión sería: (0/1)^*

aplicaciones

1). Análisis de texto estructurado
2). Compiladores y analizadores léxicos
3). Procesamiento de texto

aplicaciones

1). Validación de entrada de usuario
2). Análisis de texto estructurado
3). Procesamiento de lenguaje natural
4). Análisis de Logs y Datos

Autor: Wilmer Alejandro Barragán Durán