Tarea 1 - Fundamentacion

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 18

Autómatas y Lenguajes Formales

Tarea 1 Fundamentación

Presentado por:
EDGAR MIGUEL DELGADO
Código
1,110,562,487
Grupo: 301405_47

Tutor:
RAFAEL PÉREZ HOLGUÍN

Universidad Nacional Abierta y a Distancia UNAD


Programa Ingeniería de Sistemas
Septiembre del 2021
Historia y evolución de la teoría de autómatas y lenguajes
formales
1300 A.C Se realizan 1801 Joseph Marie Invento y 1927 Marvin Minsky científico
1623 Blaise Pascal realizo 1791 Charles Babbage, diseño
transacciones matemáticas utilizo las tarjetas perforadoras informático considerado padre
aportes a la construcción de la la maquina analítica y
simples con el diseño para dirigir el fundamento del de las ciencias de
calculadora mecánica. programable.
del Abaco. Telar. computación

1943 McCullonch-
1954-1956 Creación de 1946 Desarrollo de la primer 1930 Alan Turing creo la
Pitts establece autómatas finitos 1936 Atanasofft Berry en Lowa
FORTRAN, un lenguaje que computadora digital maquina de Turing y publico el
equivalente a células inician los estudios de la
permitía escribir formulas ejecutando instrucciones de articulo sobre números
modelando el comportamiento calculadora analógica ABC
matemáticas en un ordenador. condigo numéricos calculables.
de una neurona

1986-2015 Estandarizan las


2015-2019 Se desarrollan nuevos
1956-1969 Claude 1968-1986 Stephen A. comunicaciones con el
lenguajes formales orientados a
Shannon Aplico la lógica Cook amplia el estudio protocolo MAP, una vez
la automatización e integración
matemática para el análisis de realizado por Turing mediante la integrado en los sistemas
con múltiples plataformas,
circuitos combinados. Stephen computadora denominando autómatas estructurados a raíz
corporaciones afinan sus
Kleene creador de la teoría de "Insolubles" a los Autómatas de datos y algoritmos
tecnologías ( RPA: Robotic
la creatividad finitos. específicamente en
Process Automation )
propiedades formales.
Alfabeto
Un alfabeto es un conjunto de símbolos finito y no vacío de elementos llamados símbolos o letras. Es
una agrupación, que se lee con un orden determinado, de las gráficas utilizadas para representar el
lenguaje que sire de sistema de comunicación, un grupo de letras estructurado bajo un orden
especifico aceptado a nivel general en el marco de una lengua
Convencionalmente, utilizados el símbolo ∑ (sumatoria) para designar un alfabeto. Entre los
alfabetos más comunes se incluyen los siguientes:

Ø ∑= {0,1}, el alfabeto binario

Ø ∑= {a, b, ……. z}, es el conjunto de todas las letras minúsculas

Ø El conjunto de todos los caracteres ASCII


Cadena
Una cadena de caracteres (que también se denomina en ocasiones palabra) es una secuencia
finita de símbolos seleccionados de algún alfabeto.
Una cadena o palabra es una secuencia finita de símbolos que pertenecen a un alfabeto y
comúnmente se denota con la letra.
Ø EJEMPLO: si ∑= {0,1}, entonces ∑1= {0,1}, ∑2= {00, 01, 10, 11}, ∑3= {000, 001, 010, 011, 100, 101,
110, 111}, etc.

LA CADENA VACÍA
La cadena vacía es aquella cadena que presenta cero apariciones de símbolos. Esta cadena,
designada por £, es una cadena que puede construirse en cualquier alfabeto

Ø EJEMPLO: observe que ∑0= {£}, independientemente de cuál sea el alfabeto ∑. Es decir, £ es
la única cadena cuya longitud es 0.
Lenguaje
Un conjunto de cadenas, todas ellas seleccionadas de un ∑*, donde ∑ es un determinado
alfabeto se denomina lenguaje. Ya que estas pueden ser cualquier cadena que cumpla con lo
siguiente, está formada por los símbolos. Los lenguajes habituales pueden interpretarse como
conjuntos de cadenas.

Ø EJEMPLO: Seria el inglés, donde la colección de las palabras correctas inglesas es un conjunto
de cadenas del alfabeto que consta de todas las letras.

Ø EJEMPLO: Es el lenguaje C, o cualquier otro lenguaje de programación, donde los programas


correctos son un subconjunto de las posibles cadenas que pueden formarse a partir del
alfabeto del lenguaje.
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.
Expresión regular
Se entiende por Expresión Regular a la forma compacta de representar los lenguajes. Por lo cual a partir de la
expresión regular podemos pasar directamente a su autómata y viceversa.
DEFINICION:
Si A es un alfabeto, una expresión regular sobre este alfabeto se define de la siguiente forma:
f es una expresión regular que denota el lenguaje vacío ( el que no tiene ninguna cadena) autómata sin
ningún estado.
e es una expresión regular que denota el lenguaje {e }.
si a∈ A, a es una expresión regular que denota el lenguaje {a}.
Si r y s son expresiones regulares denotando los lenguajes R y S entonces (r+s) es una expresión regular que
denota el lenguaje R∪ S.
Si (rs) es una expresión regular que denota el lenguaje RS.
r* es una expresión regular que denota el lenguaje R*.
A partir de esta definición se puede determinar las expresiones regulares sobre un determinado alfabeto. El
tipo de leguaje al que está asociadas las expresiones regulares son los lenguajes regulares.
En las expresiones regulares se pueden eliminar los paréntesis siempre que no haya dudas, la precedencia de
las operaciones es: Clausura *, Concatenación , Unión .
Ejemplos
• Obtener la expresión regular que representa el lenguaje L={01i / i =0}
{01i / i =0}={0}{1i / i=0}={0}{1}* = 0 1* la expresión regular correspondiente.

• Obtener la expresión regular que represente el lenguaje cuyas cadenas está formadas por
ceros y unos en cualquier posición, L={u /u∈ {0,1}*}
Sea u=01001 una cadena con una combinación de ceros y unos cualquiera entonces su
correspondiente expresión regular será {0}{1}. Como lo que nos piden es ceros y unos en
cualquier posición , aplicamos la operación de clausura * obteniendo: ({0}∪ {1})* por tanto la
expresión regular que resulta es la siguiente (0+1)*
Expresión de conjuntos
• Extensión: Definición
Construir o definir un conjunto por extensión consiste en declarar todos lo elementos que lo
forman.
Ejemplo
{Rosana, Sakura, María del Carmen, Vito, Corleone, Pedro }
• Intención: Definición
Construir o definir un conjunto por intención consiste en declarar cuáles elementos de un cierto
conjunto son seleccionados. Esto se lleva a cabo por una propiedad o predicado P(x).
{x ∈ D|P(x)}
Ejemplo
{x ∈ R| − 2 < x}
“Todos aquellos números reales que son mayores que -2.”
Palabra nula o vacía ʎ
Es la palabra de longitud cero. Algunos autores utilizan ε para denotarla
Hacer referencia a una cadena vacía es distinto a hacer referencia a un Null, puesto que
mientras que con este último no se puede operar, esta cadena acepta todas las operaciones
existentes para las cadenas de caracteres (concatenación, asignación, extracción, etc.).
Operaciones regulares

Las operaciones regulares se emplean en el estudio de las propiedades de los lenguajes


regulares

Unión
Concatenación
Estrella de Kleene
Unión
Sean A y B lenguajes. La operación regular Unión se define como:
A ∪ B = {x|x Є A ∨ x Є B}
Ejemplo: A= { 1, 2, 3} y B = { 3, 4}
A ∪ B = {1, 2, 3, 4}
Observación
• La unión es el lenguaje que se obtiene al combinar todos los string de A y B en un solo lenguaje
Concatenación
Sean A y B lenguajes. La operación regular concatenación se define como:
A ° B = {xy|x Є A ∧ y Є B}
Observación
• La concatenación interpone un string de B después de un string de A en todas las formas
posibles para obtener los string del nuevo lenguaje
Estrella de Kleene
Sean A y B lenguajes. La operación regular estrella se define como:
A* = {x1 x2 x3………. xk
|k ≥ 0, Є A}
Observación
La estrella interpone cualquier número de strings de A, uno después de otro, para obtener los
string del nuevo lenguaje.
Ejemplo
Sea ∑ el alfabeto estándar {a, b, c, d, e, …, z}. Si
A= {good, bad} y B= {boy, girl}, entonces
A ∪ B = {good, bad, boy, girl}
A ° B = {goodboy, goodgirl, badboy, badgirl}
A* = {Ɛ, good, bad, goodgood, goodbad, badgood, badbad, goodgoodgood, goodgoodbad,
goodbadgood, goodbadbad, … }
Operador
Los operadores son símbolos que representan una acción a realizar con los números o elementos
que se encuentran antes o después. Otra definición de operadores es que son elementos que
relacionan de forma diferente, los valores de una o más variables y/o constantes. Es decir, los
operadores nos permiten manipular valores.
Precedencia de los
operadores
Un operador es un símbolo que especifica el tipo de cálculo matemático que se desea realizar. Si
una expresión contiene varios operadores, se realiza dichos cálculos en un orden
predeterminado.
1. ()
2. * cierre
3. . concatenación
4. + unión
Referencias Bibliográficas
References
Desconocido, & Completo, V. mi P. (n.d.). LENGUAJES Y AUTÓMATAS 1. Consultado el 4 de
febrero de 2021, de Blogspot.com sitio web: http://lengyaut.blogspot.com/2017/08/definicion-
alfabetos-cadena-lenguaje.html

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=tr
ue&db=edsbas&AN=edsbas.62161440&lang=es&site=eds-live&scope=site

s.n,(s,f) AUTOMATAS Y LENGUAJES FORMALES.


https://inteligenciartificialunad.weebly.com/uploads/2/3/5/6/2356020/lenguajes_y_expresiones_re
gulares1.pdf

También podría gustarte