Está en la página 1de 19

UNIVERSIDAD SAN LORENZO

FACULTAD DE CIENCIAS EMPRESARIALES, ARTES Y


TECNOLÓGICAS

TEMA

AUTÓMATAS FINITOS

CARRERA

INGENIERÍA EN INFORMÁTICA

MATERIA
AUTÓMATAS Y LENGUAJE DE PROGRAMACIÓN

INTEGRANTES

Liz Carolina Fernández Álvarez


María Romina Morales Gaona
Máximo Elías Ovelar De la Cueva

PROFESOR
ING. RAMÓN BOGADO

San Lorenzo-Paraguay
2020
ÍNDICE
1 Introducción 3
2 Planteamiento del problema 4
3 Justificación 4
4 Objetivos 4
5 Marco Teórico 5
5.1 Definición De Autómatas Finitos 5
5.2 Historia De Los Autómatas Finitos 5
5.3 La Cadena De Markov 6
5.4 El Modelo Neuronal De McCullock-Pitts 7
5.5 Modelo Autómata Finito 8
5.6 Representación Como Tabla De Transiciones 8
5.7 Funcionamiento 9
5.8 Generalización De La Función De Transición 10
5.9 Autómatas Finitos(AF) 10
5.10 Descripción Informal De Un Autómata Finito 11
5.11 Reglas Básicas 11
5.11.1 Participantes 11
5.11.2 Suposición 11
5.11.3 Sucesos 11
5.11.4 El Protocolo 11
5.12 ¿Cómo permitir que el autómata ignore acciones? 12
5.13 Un Autómata Para El Sistema Completo 13
5.14 Utilización Del Autómata Producto Para Validar El Protocolo 14
6 Desarrollo 15
7 Conclusión 16
8 Bibliografía 17
1. INTRODUCCIÓN
El presente trabajo de investigación trata acerca del tema “Autómatas
Finitos”. La importancia de la misma es la de reconocer lenguajes regulares, que
corresponden a los lenguajes formales más simples según la Jerarquía de
Chomsky. Asimismo, la metodología empleada es la investigación bibliográfica.

En cuanto a los beneficiarios de la investigación; son los alumnos de la


Universidad San Lorenzo, quienes adquieren conocimientos en los manejos de
sistemas informáticos, capacidad de síntesis, técnica de investigación, capacidad
de redacción. Así también, la Facultad de Ciencias Empresariales Artes y
Tecnológicas se beneficia con la competencia y formación integral de sus alumnos,
y mediante ella el prestigio de la Institución.

El trabajo de investigación está compuesto de Definición de autómatas finitos,


Historia De Los Autómatas Finitos, La Cadena de Markov, El Modelo Neuronal De
McCullock-Pitts, Modelo autómata finita, Representación como tabla de
transiciones, Funcionamiento, Generalización de la función de transición, entre
otros.

3
2. PLANTEAMIENTO DEL PROBLEMA
La falta de conocimiento de las funciones o el papel que cumplen los
autómatas finitos en el uso diario implica que no le demos la importancia que
representa para el logro de las actividades cotidianas.

3. JUSTIFICACIÓN
Este trabajo de investigación es llevado a cabo para profundizar en el
conocimiento real de los Autómatas finitos, teniendo en cuenta la importancia y el
uso constante que hacemos del mismo (software, hardware, circuitos digitales,
compiladores y protocolos de comunicación), a fin de sacarle el mayor provecho
posible.

4. OBJETIVOS
 Investigar conceptos de Autómatas Finitos, utilidad e importancia en las actividades
cotidianas.

 Conocer Autómatas Finitos, utilidad e importancia en las actividades cotidianas.

 Valorar la utilidad de los Autómatas Finitos.

4
5. MARCO TEÓRICO
5.1. Definición De Autómatas Finitos
Un autómata finito (AF) o máquina de estado finito es un modelo
computacional que realiza cómputos en forma automática sobre una entrada para
producir una salida.

Este modelo está conformado por un alfabeto, un conjunto de estados finito,


una función de transición, un estado inicial y un conjunto de estados finales. Su
funcionamiento se basa en una función de transición, que recibe a partir de un
estado inicial una cadena de caracteres pertenecientes al alfabeto (la entrada), y
que va leyendo dicha cadena a medida que el autómata se desplaza de un estado
a otro, para finalmente detenerse en un estado final o de aceptación, que representa
la salida.

La finalidad de los autómatas finitos es la de reconocer lenguajes regulares,


que corresponden a los lenguajes formales más simples según la Jerarquía de
Chomsky.

5.2. Historia De Los Autómatas Finitos


El origen de los autómatas finitos probablemente se remonta a su uso
implícito en máquinas electromecánicas, desde principios del siglo XX. Ya en 1907,
el matemático ruso Andréi Andréyevich Márkov nació el 14 de junio de 1856 en la
ciudad de Riazán; Márkov arrastró durante toda su vida problemas relacionados con
una malformación congénita en la rodilla que le llevaría varias veces al quirófano y
que, con el tiempo, fue la causa de su muerte cuando el 20 de julio de 1922 una de
las muchas operaciones a las que se sometió le produjo una infección generalizada
de la que no pudo recuperarse; fue un matemático ruso conocido por sus trabajos
en la teoría de los números y la teoría de probabilidades formalizó un proceso
llamado cadena de Markov, donde la ocurrencia de cada evento depende con una
cierta probabilidad del evento anterior. Esta capacidad de "recordar" es utilizada
posteriormente por los autómatas finitos, que poseen una memoria primitiva similar,
en que la activación de un estado también depende del estado anterior, así como
del símbolo o palabra presente en la función de transición.

5
Posteriormente, en 1943, surge una primera aproximación formal de los
autómatas finitos con el modelo neuronal de McCulloch-Pitts. Durante la década de
1950 prolifera su estudio, frecuentemente llamándoseles máquinas de secuencia;
se establecen muchas de sus propiedades básicas, incluyendo su interpretación
como lenguajes regulares y su equivalencia con las expresiones regulares. Al final
de esta década, en 1959, surge el concepto de autómata finito no determinista en
manos de los informáticos teóricos Michael O. Rabin y Dana Scott.

En la década de 1960 se establece su conexión con las series de potencias


y los sistemas de sobre escritura. Finalmente, con el desarrollo del sistema
operativo Unix en la década de 1970, los autómatas finitos encuentran su nicho en
el uso masivo de expresiones regulares para fines prácticos, específicamente en el
diseño de analizadores léxicos (comando lex) y la búsqueda y reemplazo de texto
(comandos ed y grep). A partir de ese tiempo, los autómatas finitos también se
comienzan a utilizar en sistemas dinámicos.

5.3. La Cadena De Markov


En la teoría de la probabilidad, se conoce como cadena de Márkov o modelo
de Márkov a un tipo especial de proceso estocástico discreto en el que la
probabilidad de que ocurra un evento depende solamente del evento
inmediatamente anterior. Esta característica de falta de memoria recibe el nombre
de propiedad de Markov.

Una cadena de Márkov es una secuencia X1, X2, X3, …, de variables


aleatorias. El dominio de estas variables es llamado espacio estado; el valor de Xn
es el estado del proceso en el tiempo n. Si la distribución de probabilidad condicional
de Xn+1 en estados pasados es una función de Xn por sí sola, entonces:

P(Xn+1 = xn+1 | Xn = xn , Xn-1 = xn-1,… ,X2 = x2, X1 = x1) = P (Xn+1= xn+1| Xn


= xn).

Donde xi es el estado del proceso en el instante i. La identidad mostrada es


la propiedad de Márkov.

6
5.4. El Modelo Neuronal De McCullock-Pitts
La neurona de McCulloch-Pitts es una unidad de cálculo que intenta modelar
el comportamiento de una neurona "natural", similares a las que constituyen del
cerebro humano. Ella es la unidad esencial con la cual se construye una red
neuronal artificial.

El resultado del cálculo en una neurona consiste en realizar una suma


ponderada de las entradas, seguida de la aplicación de una función no lineal, como
se ilustra en la siguiente figura:

Esto se expresa matemáticamente como:

o = s(red)

siendoː

 red = w1 x1+…+ wn xn – 0 es la suma ponderada.


 xi es el valor de la i-ésima entrada (input).
 wi es el peso (weights) de la conexión entre la i-ésima entrada y la neurona.
 0 es el valor umbral (threshold)
 es la salida (output) de la neurona.
 s es la función no lineal conocida como función de activación.

La función de activación que se usa esː

s (u) = {1, u >=0 y 0, u <0

La suma ponderada se puede expresar de una manera más compacta usando el


producto de matrices:

red = -w1-x1 +…+ -wn+1-xn+1 = -wt -x

7
siendo:

-w = (x1, …, wn, -o) ^t y –x = ( x1,…, xn,1) ^t .


-w y –x son los vectores extendidos de pesos y de entrada, respectivamente.
También se puede simplificar la representación gráfica de la siguiente manera:

5.5. Modelo Autómata Finito


Formalmente, un autómata finito es una 5-tupla (Q, Σ, q0, δ, F) donde:

 Q es un conjunto finito de estados;


 Σ es un alfabeto finito;
 q0 ∈ Q es el estado inicial;
 δ: Q x Σ Q es una función de transición;
 F ⊆ Q es un conjunto de estados finales o de aceptación.

Este autómata finito está definido sobre el alfabeto Σ={0,1},posee


dos estados s1 y s2, y sus transiciones son δ(s1,0)=s2, δ(s1,1)=s1, δ(s2,0)=s1 y
δ(s2,1)=s2. Su estado inicial es s1, que es también su único estado final.

5.6. Representación Como Tabla De Transiciones


Otra manera de describir el funcionamiento de un autómata finito es mediante
el uso de tablas de transiciones o matrices de estados. Dos posibles tablas para el
ejemplo de la imagen anterior podrían ser las siguientes:

8
salida símbolo llegada
q ∈ Q σ ∈ Σ δ(q, σ) ∈ Q 0 1

s1 0 s2 *s1 s2 s1
s2 s1 s2
s1 1 s1

s2 0 s1

s2 1 s2

La primera representa explícitamente los parámetros y el valor que toma cada


ocurrencia de la función de transición. La segunda es más compacta, y marca con
una flecha el estado inicial, y con un asterisco los estados finales.

5.7. Funcionamiento

El esquema general es el de una cinta lectora que avanza sólo hacia delante
y de a una celda, según la función de transición.

En el comienzo del proceso de reconocimiento de una cadena de entrada, el


autómata finito se encuentra en el estado inicial y a medida que procesa cada
símbolo de la cadena va cambiando de estado de acuerdo a lo determinado por la
función de transición. Cuando se ha procesado el último de los símbolos de la
cadena de entrada, el autómata se detiene en el estado final del proceso. Si el
estado final en el que se detuvo es un estado de aceptación, entonces la cadena
pertenece al lenguaje reconocido por el autómata; en caso contrario, la cadena no
pertenece a dicho lenguaje.

Note que el estado inicial de un autómata finito siempre es único, en tanto


que los estados finales pueden ser más de uno, es decir, el conjunto puede contener
9
más de un elemento. También puede darse el caso de que un estado final
corresponda al mismo estado inicial.

5.8. Generalización De La Función De Transición


Si Σ es un alfabeto, entonces se denota Σ* al conjunto de todas las cadenas
de caracteres o palabras que se pueden conformar con dicho alfabeto.

Una función de transición δ se puede generalizar a una función δ*, que opera
sobre estados y secuencias de símbolos, en lugar de símbolos individuales del
alfabeto. Así, esta nueva función de transición se define δ*: Q x Σ* Q, permitiendo
caracterizar los autómatas de manera más abreviada y sin perder expresividad.

La función δ* puede expresarse también de manera recursiva, definiendo


para toda cadena x ∈ Σ*, todo símbolo a ∈ Σ, y un estado q ∈ Q

 δ*(q, ε) =q, que es la base inductiva, siendo ε la cadena vacía, y


 δ*(q, x a) = δ (δ*(q, x), a), que es la inducción propiamente tal.
Se llama configuración de un autómata finito a un "instante" en el cómputo
de la máquina; es decir, al estado actual en que se encuentra dicho cómputo, junto
con la palabra que ha sido procesada hasta ese momento. Formalmente, se define
como un par ordenado (q, x) ∈ Q × Σ*. De este modo, se puede definir además la
configuración inicial del autómata, como el par (q0, x), donde x es la entrada; y la
configuración final, como el par (q, ε), con q ∈ F.

De este modo, el lenguaje regular aceptado por un autómata finito A puede


denotarse como L(A) = {w; δ*(q0, w) ∈ F}, es decir, como el conjunto de todas las
configuraciones iniciales que conllevan a estados finales.

5.9. Autómatas Finitos (AF)


Lenguajes regulares. (AF).
AF» Conjunto de estados. El paso de un estado a otro es controlado. En respuesta
a la entrada externa.
 AF Determinista» El AFD no puede encontrarse en más de un estado a un
mismo tiempo.
 AF No Determinista» El AFND si puede estar en varios estados a la vez.

10
 Un AFND permite definir un lenguaje con otro AFD.
5.10.Descripción Informal De Un Autómata Finito
Ejemplo: Protocolos que ayudad a gestionar "el dinero electrónico"(Prever la
falsificación)
Demostrar que las únicas cosas que puedan ocurrir son las cosas que queremos
que ocurran. (Error)

5.11. Reglas Básicas


5.11.1.Participantes
 El cliente
 La tienda
 El banco
5.11.2. Suposición
 Solo existe un archivo de dinero electrónico.
 El cliente puede decidir transferir este archivo a la tienda. Solicitando al
banco hacer una transferencia.
 El cliente puede cancelar la transferencia.
5.11.3. Sucesos
1. El cliente decide pagar.
2. El cliente decide cancelar el pago.
3. La tienda suministra los bienes al cliente.
4. La tienda libra el dinero.
5. El banco transfiere el dinero a la tienda.
5.11.4. El protocolo
 Cada participante es independiente en el diseño de sus
comportamientos.
 No podemos confiar en el cliente.
 El banco debe ser responsable. Permitir/Denegar liberar dinero.

 La tienda suministra los bienes (Asegurarse que ha recibido el dinero). 

11
Un estado recuerda que sucesos importantes han ocurrido y que sucesos
todavía no han tenido lugar.

¿En qué caso la tienda podría haber suministrado y verificar que el dinero no
era válido?

5.12.¿Cómo permitir que el autómata ignore acciones?


La tienda no se ve afectada por un mensaje cancelar. El AF de la tienda
detendrá su ejecución.
El cliente ejecuta por segunda vez la acción pagar.


12
5.13.Un Autómata Para El Sistema Completo
Autómata producto. (Interacción entre ellos).
El cliente no tiene restricción sobre su comportamiento. Siempre está en un único
estado para cualquier secuencia de sucesos. El sistema no detendrá su ejecución.
4 x 7 = 28 estados
Para construir los arcos del autómata producto, tenemos que ejecutar los autómatas
del banco y de la tienda en paralelo.

13
5.14.Utilización del autómata producto para validar el protocolo
El autómata producto se puede utilizar para validar el protocolo. (2, e) y
(4, d) no son accesibles.
(2, c) es un problema.

14
6. DESARROLLO
De acuerdo con el diccionario de la Real Academia Española de la Lengua,
entendemos por autómata.
1. Instrumento o aparato que encierra dentro de sí el mecanismo que le imprime
determinados movimientos.
2. Máquina que imita la figura y los movimientos de un ser animado.
Cuando hablamos de autómatas finitos nos referimos a que el mecanismo definido
como tal termina, de alguna manera, las acciones que ejecuta. Los autómatas finitos
son de utilidad tanto en el software como en el hardware, y se pueden encontrar en:
Los circuitos digitales de productos electrónicos.
Compiladores e intérpretes de lenguajes de programación.
Protocolos de comunicación.
Software de análisis de textos, ya sea en web o en programas de edición.
Software donde el seguimiento y reconocimiento de patrones es relevante para
continuar un proceso.

15
7. CONCLUSIÓN
El trabajo de investigación denominado “Autómatas finitos” llegó a las siguientes
conclusiones.
De acuerdo a la definición, la misma se basa en una función de transición, que
recibe a partir de un estado inicial una cadena de caracteres pertenecientes al
alfabeto (la entrada), y que va leyendo dicha cadena a medida que el autómata se
desplaza de un estado a otro, para finalmente detenerse en un estado final o de
aceptación, que representa la salida.
Con respecto a la historia se remonta a su uso implícito en máquinas
electromecánicas, desde principios del siglo XX.
En cuanto a la cadena de Markov, ésta es una secuencia X1, X2, X3, …, de
variables aleatorias.
Y finalmente, el Modelo Neuronal De McCullock-Pitts es una unidad de cálculo que
intenta modelar el comportamiento de una neurona "natural", similares a las que
constituyen del cerebro humano. Ella es la unidad esencial con la cual se construye
una red neuronal artificial.

16
8. BIBLIOGRAFÍA
Webgrafía
 https://es.wikipedia.org/wiki/Aut%C3%B3mata_finito
 https://es.wikipedia.org/wiki/Andr%C3%A9i_M%C3%A1rkov
 https://es.wikipedia.org/wiki/Cadena_de_M%C3%A1rkov
 https://es.wikipedia.org/wiki/Neurona_de_McCulloch-Pitts
 https://sites.google.com/site/teorialacomputacion/home/02-
automatas- finitos.
 https://es.wikipedia.org/wiki/Aut%C3%B3mata_finito.
 https://www.youtube.com/watch?v=Q-IZJfoo-9k

17
EXAMEN PARCIAL ORDINARIO

CARRERA: Ingeniería Informática Sede/Filial: Central

Asignatura: Autómatas y Lenguajes de Programación. Curso: 3er.

Turno: Mañana Sección: A Semestre: Quinto Puntos: 10

Trabajo de Investigación

AUTÓMATAS FINITOS
1. Descripción informal de autómata finito.

2. Reglas básicas.

3. El protocolo. Cómo permitir que el autómata ignore acciones.

4. Autómata para el sistema completo.

5. Utilización del autómata producto para validar el protocolo

Docente: Ing. Ramón Bogado

Alumno ………………
: 1. Liz Carolina Fernández Álvarez

2. María Romina Morales Gaona ………………


3. Máximo Elías Ovelar De la Cueva ………………

Resto de Curso: Gestionar consultas en base al trabajo, como parte del proceso

Los datos adjuntos deberán ser remitidos al correo electrónico:


rbogado@hotmail.com
1. Presentación ppt/pdf

2. Trabajo de investigación en formato pdf

3. Datos Complementarios (video, ppt, MP4, etc.).

18
Partes Indicadores Puntaje Puntaje
Asignado Alcanzado
Portada Datos de la Institución. Contenido del título del trabajo, Autores,
Lugar
y Año de presentación
Planteamient Enunciación del Problema
o del Importancia del Estudio, 1
problema. Relevancia.
Formulación con claridad, precisión y corrección
Marco Teórico Redacción de ideas en tiempo
presente Opinión de otros autores 1
Conceptos relacionados con los objetivos
Se tendrá en cuenta en el puntaje de los indicadores sin
fundamento
Desarrollo Redacción del tema en cuestión 3

Ejercicios Realización de Ejercicio práctico que ejemplifique el trabajo 2


Generación de Preguntas y ejercicios para el curso 2
Bibliografía Referencias del marco teórico. 1
Datos Complementarios (video, ppt, MP4, etc.).

Independiente del puntaje asignado a este ítem. Se tendrá en


cuenta en el puntaje de los indicadores sin fundamento
bibliográfico

19

También podría gustarte