Está en la página 1de 11

CEAD José Acevedo y Gómez / 301405

Autómatas y Lenguajes
Formales
Freddy Alberto Solano Correa
14 de febrero de 2021
Historia y evolución de la teoría de autómatas y
lenguajes formales

Se utilizaba para realizar


1.300 A.C Abaco operaciones matemáticas Repercute en las matemáticas
simples como la suma y la resta

Reconocido como el padre


384 - 322
Aristóteles fundador de la lógica y la
A.C
biología

Considerado uno de los padres de las


computadores, realizo importantes
1623 Blaide Pascal Repercute en las matemáticas
contribuciones para la invención y
construcción de la calculadora mecánica.

Historia y
evolución de Diseñó y desarrolló una calculadora
mecánica capaz de calcular tablas de
la teoría de 1791 Charles Babbage
funciones numéricas por el método de Repercute en la ingeniería y las matemáticas
autómatas y diferencias.
lenguajes
formales
Fue un tejedor y comerciante francés,
conocido por crear el primer telar
1801 Joseph Marie Repercute en la ingeniería
programable con tarjetas perforadas, el telar
de Jacquard.

Se le considera el padre de la lógica


matemática y de la filosofía analítica,
1879 Gottlob Frege Repercute en las matemáticas
concentrándose en la filosofía del lenguaje y
de las matemáticas

Conocido por sus contribuciones a la lógica


matemática y la teoría de números. Publicó
1887 Giuseppe Peano Repercute en las matemáticas
más de doscientos libros y artículos, la
mayoría sobre matemática
Historia y evolución de la teoría de autómatas y
lenguajes formales

Fue un matemático, lógico, informático


1930 Alan Turing teórico, criptógrafo, filósofo, biólogo teórico. Repercute en la computabilidad
Precursor de la informática moderna.

Fue un matemático, ingeniero eléctrico y criptógrafo recordado como «el padre de la


Claude Elwood
1938 teoría de la información». Reconocido por haber fundado el campo de la teoría de la
Shannon
información con la publicación Una teoría matemática de la comunicación

Se desarrollan Fueron conocidas como autómatas finitos


1940 y 1950 para moldear el funcionamiento del Repercute en la ingeniería
maquinas simples
cerebro.

Historia y
evolución de Establece autómatas finitos equivalente a
la teoría de células.
1943 McCullonch Pitts Repercute en la ingeniería
autómatas y Unidad de calculo que intenta modelar el
lenguajes comportamiento de una neurona.
formales
Ejecutaban instrucciones consistentes en
Desarrollo de la primera códigos numéricos. Denominada Lenguaje de Repercute en la ingeniería,
1946
maquina digital ENIAC. Máquina computabilidad y lenguaje

Inicia el estudio de gramática formal y clasifica el lenguaje en Repercute en la gramática y el


Noam Chomsky teorías de la computación. lenguaje
1950

John Backus Investiga el lenguaje algebraico. Repercute en el lenguaje

Escribe el primer compilador. Lenguaje de


1952 Grace Hopper Repercute en el lenguaje
programación A-0.
Historia y evolución de la teoría de autómatas y
lenguajes formales

Propuso crear un lenguaje de programación cercano a la


notación matemática normal, creando el lenguaje de
1954 John Backus Repercute en el lenguaje
programación FORTRAN capaz de ser traducido por un
ordenador.

Repercute en la ingeniería y
Edwar F Mooree El primero en usar el tipo de maquina de estudios finitos.
computabilidad
1956
Stephen Kleene Creador de la teoría de la recursividad.

Claude Shannon Aplico la lógica matemática para el análisis de criterios combinatorios. Repercute en las matemáticas
Historia y
evolución de Por primera ves en la industria se introducen los autómatas programables. Repercute en la ingeniería
1960
la teoría de
autómatas y Formalizó el concepto de NP-completitud y
lenguajes Stephen Cook Repercute en la ingeniería y las
1969 también formuló el problema de la relación
matemáticas
formales entre las clases de complejidad P y NP.

Las funciones de comunicación comenzaron a integrarse en


1973
los autómatas. Repercute en la ingeniería y en
Intento de estandarización de las comunicaciones con el la computabilidad.
1980
protocolo MAP.

1986 - Estandarizan las comunicaciones con el protocolo MAP, una vez integrado en los sistemas Repercute en la ingeniería, la
2005 autómatas estructurados a raíz de datos y algoritmos específicamente en propiedades formales. computabilidad y los lenguajes

2015 - Desarrollo de nuevos lenguajes formales orientados a la automatización e Repercute en la ingeniería, la


2019 integración con múltiples plataformas corporaciones afinan sus tecnologías. computabilidad y los lenguajes
Conceptualización y ejemplos

Alfabeto: Conjunto finito y no vació cuyos elementos se denominan símbolos. Se designa


normalmente con las letras: Σ o Γ
Ejemplo:

Palabra: Es una secuencia finita de símbolos de un alfabeto, las mismas se pueden crear
especificando un alfabeto determinado.
Ejemplo:

Lenguaje: Se considera un lenguaje como un conjunto de palabras sobre un alfabeto


determinado. Para designarlo normalmente se usa la letra L, con subíndices, si es necesario, y
otras letras mayúsculas del alfabeto latino
Ejemplo:
Conceptualización y ejemplos

Lenguajes Regulares: Sea el alfabeto Σ. El conjunto de lenguajes regulares se define de manera


recursiva
Ejemplo:

Expresiones Regulares: Las expresiones regulares están estrechamente relacionadas con los
autómatas finitos no deterministas y pueden considerarse una alternativa, que el usuario puede
comprender fácilmente, a la notación de los AFN para describir componentes de software. Por
tanto, las expresiones regulares sirven como lenguaje de entrada de muchos sistemas que
procesan cadenas
Ejemplo:
Conceptualización y ejemplos

Expresión de conjuntos por Extensión: Se trata de definir a un conjunto mediante sus


elementos.
Ejemplo:

Expresión de conjuntos por Intensión: Se trata de definir a un conjunto por sus características
o a través de una proposición.
Ejemplo:

Operación regulares - Unión: La unión de dos lenguajes regulares es otro lenguaje regular. Se
utiliza la operación de unión de conjuntos.
Ejemplo: para el alfabeto S ={x,y} si L1 = {x,xy} y L2 = {yz,yy} entonces su unión será L1 U L2 =
{x,xy,yz,yy }.

Operación regulares - Concatenación: La concatenación de dos lenguajes regulares es otro


lenguaje regular. Se concatenan una cadena del primer lenguaje y una cadena del segundo.
Ejemplo: Con L1 y L2 anteriores la concatenación (que se denota °) será
L1 ° L2 ={xyx,xyy,xyyz,xyyy}. La concatenación no es conmutativa (L1 ° L2  L2 ° L1 )
Conceptualización y ejemplos

Operación regulares - Estrella de Kleene: La estrella de Kleene de cualquier lenguaje regular


también es regular. Se caracteriza por que se utiliza solo un lenguaje en lugar de dos. Se logra
formando todas las concatenaciones de cero (cadena vacía) o más cadenas del lenguaje que se
amplía. La operación se representa con el asterisco supraíndice ( * ).
Ejemplo:

Operador: Son aquellas operaciones que se hacen sobre los lenguajes que representan los
operadores de las expresiones regulares.
Ejemplo: 1. Si L={001,10,111} y M = {ε ,001}, entonces L ∪ M = {ε ,10,001,111}.

2. Si L={001,10,111} y M = {ε ,001}, entonces L.M, o simplemente LM, es


{001,10,111,001001,10001,111001}. Las tres primeras cadenas de LM son las cadenas de L
concatenadas con ε . Puesto que ε es el elemento identidad para la concatenación, las cadenas
resultantes son las mismas cadenas de L. Sin embargo, las tres últimas cadenas de LM se forman
tomando cada una de las cadenas de L y concatenándolas con la segunda cadena de M, que es 001.

3. Si L = {0,1}, entonces L^*es igual a todas las cadenas de 0s y 1s. Si L = {0,11}, entonces L^(*
)constará de aquellas cadenas de 0s y 1s tales que los 1s aparezcan por parejas, como por ejemplo
011,11110 y ε , pero no 01011 ni 101. Más formalmente, L* es la unión infinita ∪(i≥0) L^i, donde
L^0=(ε),L^1=L y L^i, para i>1 es LL• • •L (la concatenación de i copias de L).
Conceptualización y ejemplos

Precedencia de los operadores: Como con otras álgebras, los operadores de las expresiones
regulares tienen un orden de “precedencia” prefijado, lo que significa que se asocian con sus
operando en un determinado orden.

Ejemplo: 1. El operador asterisco (*) es el de precedencia más alta. Es decir, se aplica sólo a la
secuencia más corta de símbolos a su izquierda que constituye una expresión regular
bien formada.

2. El siguiente en precedencia es el operador de concatenación, o “punto”. Después de


aplicar todos los operadores * a sus operando, aplicamos los operadores de
concatenación a sus operando. Es decir, todas las expresiones yuxtapuestas (adyacentes
sin ningún operador entre ellas). Dado que la concatenación es una operación asociativa,
no importa en qué orden se realicen las sucesivas concatenaciones, aunque si hay que
elegir, las aplicaremos por la izquierda.

3. Por último, se aplican todos los operadores de unión (+) a sus operando. Dado que
la unión también es asociativa, de nuevo no importa en que orden se lleven a cabo, pero
supondremos que se calculan empezando por la izquierda.

Palabra nula o vacía ʎ: Es la palabra de longitud cero. Algunos autores utilizan ε para donotarla
Referencia bibliográfica

Carrasco, R. C., Calera Rubio, J., & Forcada Zubizarreta, M. L. (2000). Teoría de lenguajes, gramáticas y
autómatas para informáticos. Digitalia. (pp. 127 - 142). Recuperado de
https://bibliotecavirtual.unad.edu.co/login?url=https://search-
ebscohostcom.bibliotecavirtual.unad.edu.co/login.aspx?direct=true&db=nlebk&AN=318032&lang=es&site=e
hostlive&ebv=EB&ppid=pp_Cover

Jurado Málaga, E. (2008). Teoría de autómatas y lenguajes formales. Universidad de Extremadura. Servicio
de Publicaciones. (pp. 39 - 70). Recuperado de
https://bibliotecavirtual.unad.edu.co/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=edsb
as&AN=edsbas.62161440&lang=es&site=eds-live&scope=site

González, A. [Ángela]. (2018, junio 1). Lenguajes Regulares. [Archivo web]. Recuperado de
http://hdl.handle.net/10596/18315

González, A. [Ángela]. (2020, julio 14). Lenguajes Regulares. [Archivo web]. Recuperado de
https://campus113.unad.edu.co/ecbti84/mod/hvp/view.php?id=72
Gracias por su atención