Está en la página 1de 7

1

AUTOMATAS FINITOS

Emmanuel Jesús Medina Vázquez

Universidad Del Sur

Compiladores

ing. Juan Pablo Cocom Solís

31/01/2024
2

Introducción

Los autómatas finitos, dentro del ámbito de la teoría de la computación, son

modelos abstractos de sistemas que operan de acuerdo con reglas predeterminadas. Estos

dispositivos se han convertido en una herramienta fundamental para comprender y analizar

la estructura y el comportamiento de sistemas computacionales. Su simplicidad y capacidad

para representar procesos de cómputo simplifican la comprensión de la complejidad

computacional en diversos contextos. En este contexto, esta introducción abordará la

descripción general de los autómatas finitos, destacando su importancia en la teoría de la

computación y explorando su desarrollo a lo largo del tiempo. Además, se analizarán las

aplicaciones prácticas que han consolidado a los autómatas finitos como un concepto

esencial en la resolución de problemas computacionales y la formalización de lenguajes

formales.
3

Tabla De Contenido

Introducción..........................................................................................................................2

Autómatas finitos..................................................................................................................4

Descripción.........................................................................................................................4

Desarrollo...........................................................................................................................4

Referencias.............................................................................................................................7
4

Autómatas finitos
Descripción

Un autómata finito es un modelo matemático de una máquina que acepta cadenas de

un lenguaje definido sobre un alfabeto A. Consiste en un conjunto finito de estados y un

conjunto de transiciones entre esos estados, que dependen de los símbolos de la cadena de

entrada. El autómata finito acepta una cadena x si la secuencia de transiciones

correspondientes a los símbolos de x conduce desde el estado inicial a un estado final. Si

para todo estado del autómata existe como máximo una transición definida para cada

símbolo del alfabeto, se dice que el autómata es determinístico (AFD). Si a partir de algún

estado y para el mismo símbolo de entrada, s Formalmente, un autómata finito es una 5-

tupla <Q, Σ, q0, δ, F> donde:

 Q es un conjunto finito de estados;

 Σ es un alfabeto finito de símbolos terminales;

 q0 es el estado inicial en Q;

 δ es la relación de transiciones de la forma <qi,x,qj> con qi y qj como estados de Q

y x, símbolo de Σ ó puede ser también la cadena vacía;

 F es el conjunto de estados finales o de aceptación y (evidentemente) subconjunto

de Q.e definen dos o más transiciones se dice que el autómata es no determinístico

(AFND).

Desarrollo

Un autómata finito es un modelo matemático utilizado en la teoría de la

computación para representar sistemas que pueden estar en estados particulares y que
5

responden a entradas específicas moviéndose entre estos estados de acuerdo con reglas

predeterminadas. El desarrollo de un autómata finito generalmente implica los siguientes

pasos:

 Definición del Alfabeto y Estados:

o Alfabeto (Σ): Identificación de los símbolos o caracteres permitidos en las

entradas del autómata.

o Conjunto de Estados (Q): Establecimiento de los estados posibles que puede

tener el autómata.

 Definición de Transiciones:

o Función de Transición (δ): Especificación de cómo el autómata se mueve

entre estados en respuesta a cada símbolo del alfabeto. Esto se puede

representar mediante una tabla o un diagrama de transición.

 Identificación de Estados Iniciales y Finales:

o Estado Inicial: Determinación del estado desde el cual comienza el

autómata.

o Estados Finales o de Aceptación: Designación de los estados que indican

que una entrada ha sido aceptada.

 Implementación:

o Programación del Autómata: Traducción de las reglas definidas en un

lenguaje de programación. Esto puede realizarse mediante la creación de una

función de transición o mediante la construcción de una máquina de estados.

 Pruebas y Validación:
6

o Conjunto de Pruebas: Aplicación de diversas entradas para verificar si el

autómata se comporta según lo previsto.

o Corrección de Errores: Modificación del diseño o del código en caso de

detectarse algún error durante las pruebas.

 Aplicaciones y Uso:

o Modelado de Problemas: Utilización del autómata como modelo para

resolver problemas específicos.

o Análisis de Lenguajes Formales: Aplicación del autómata para reconocer y

procesar cadenas de símbolos según las reglas establecidas.

 Optimización (Opcional):

o Mejora de Rendimiento: Evaluación de posibles mejoras en términos de

eficiencia y optimización del autómata, si es necesario.

El desarrollo de un autómata finito es un proceso iterativo que implica la revisión y ajuste

continuo para garantizar su correcto funcionamiento. Estos dispositivos son fundamentales

en la teoría de la computación y encuentran aplicaciones en diversas áreas, desde el diseño

de compiladores hasta la validación de protocolos de comunicación.


7

Referencias

Abril, D. B. (2021). El Autómata Finito. La Máquina Oráculo.

https://lamaquinaoraculo.com/ciencias-computacion/automata-finito/

Autómata finito. (s/f). Ecured.cu. Recuperado el 1 de febrero de 2024, de

https://www.ecured.cu/Aut%C3%B3mata_finito

Dos Santos, M. (2023, noviembre 15). ¿Qué es un autómata finito y cómo

funciona? tfmfwH84@NjhsqeEJ834Muyh. https://polaridad.es/que-es-un-automata-

finito/

Finitos, A. (s/f). CIENCIAS DE LA COMPUTACION I 2009. Edu.ar. Recuperado el 1 de

febrero de 2024, de

https://users.exa.unicen.edu.ar/catedras/ccomp1/ApunteAutomatasFinitos.pdf

Lozano, J. D. O. (s/f). Diseño e implementación de un lenguaje para modelar autómatas

determinísticos finitos. Edu.co. Recuperado el 1 de febrero de 2024, de

https://repositorio.uniandes.edu.co/server/api/core/bitstreams/41944081-3b2d-4a18-

a083-87ba89f2f081/content

También podría gustarte