Anda di halaman 1dari 2

1

Maquinas de Estados Finitos


Diego Urgiles
Ingeniera
Escuela de sistemas
adrian.urgiles93@ucuenca.ec

ResumenEn el presente documento se revisara de una forma


general lo que son las maquinas de estados finitos, o automatas
finitos. Empezando por definir lo que es un automata y todo
lo que abarca la definicion del mismo. Ademas de una breve
explicacion de como son representados mediante maquinas de
estado finito los lenguajes regulares. Y revisando otros ejemplos
de aplicacion en la vida real.

I.

I NTRODUCCI ON

UCHAS de las actividades diarias que realizamos son


procesos que en algunas ocasiones nos toma verdaderamente demasiado tiempo para llevarlas a cabo. Debido al
tiempo requerido por los seres humanos en la realizacion de
ciertas actividades mecanicas a lo largo de los u ltimos anos
se han venido automatizando hasta cierto grado.
Los automatas finitos evaluan y de cierta forma automatizan
procesos de las maquinas representadas mediante estados
con transiciones que les permiten cambiar de un estado a
otro. Los automatas no deben verse como maquinas fsicas
sino como una representacion abstracta de una maquina que
utiliza teora de grafos para representar los estados que esta
puede tener. De hecho antes mucho antes de que empezaran las
primeras computadoras ya se tena una nocion de lo que hoy
conocemos como automatas finitos. En la decada de 1930 Alan
Turing estudio una representacion abstracta de lo podemos
toma como la computadora de hoy en da(en cuanto a los
calculos que puede realizar se refiere).
Los automatas que vamos a estudiar en este artculo son
los mas simples que se denominan automatas de estado finito
puesto que los estados que tiene que recorrer para llegar a un
estado valido pertenecen a un conjunto finito de estados. Estos
automatas fueron muy estudiados en las decadas de los 40s
y 50s.
II.

finitos tienen varias aplicaciones, sobretodo en la informatica


en donde encontramos varias de estas aplicaciones como son
analizadores del funcionamiento de un circuito, el analizador
lexico, buscadores de patrones en texto largo, y en general se
puede aplicar esta teora a cualquier sistema que conste de un
numero finito de estados y operaciones que se puedan aplicar
a estos estados.

AUT OMATAS
FINITOS

Los automatas finitos que son el objeto de este artculo


son tambien denominadas maquinas de estado finito, debido
a que su funcionamiento se basa en estados los cuales va
recorriendo hasta encontrar un estado de aceptacion o estado
final. Generalmente una FSM puede tener uno o varios estados
finales o de aceptacion. Para recorrer estos estados se basa en
transiciones que son analogas de operaciones que se realizan
sobre los estados que recorre.
Los automatas finitos se estudiaron inicialmente como una
forma de modelar el funcionamiento del cerebro humano pero
luego se extendio su uso a otras a reas como el estudio de
gramaticas formales mediante este metodo. Los automatas

II-A.

Representacion Grafica de una FSM

Graficamente podemos representar una maquina de estado


finito como un grafo en el que cada nodo representa un estado
y las aristas de los nodos representan las transiciones entre los
diferentes estados de una maquina de estado finita.

Figura 1.

En esta figura podemos observar una maquina de estado


finito de un interruptor en el cual hay dos estados on y off
respectivamente y que la operacion de transicion entre los dos
estados es pulsar. En la representacion grafica se coloca una
flecha en el estado inicial en este caso el estado inicial es off,
es decir inicialmente el interruptor se encuentra apagado y
mediante la transicion pulsar pasamos al estado de aceptacion
on.
II-B.

Definicion formal de una FSM

Al estar el funcionamiento de una maquina de estado finito


basado en un conjunto finito de estados y transiciones entre
estados, podemos realizar una definicion un poco mas formal
o matematica de su funcionamiento.
La representacion formal o matematica de una maquina
de estado finito consta de 5 elementos (Q,,q0 ,,F) que se
corresponden de la siguiente manera:
Q: Conjunto finito de estados.

: Alfabeto Finito.
q0 : Estado inicial de una FSM.
: Q Q: Funcion de transicion.
F Q: Conjunto de estado finales o de aceptacion.
III.

DE LAS M AQUINAS

C LASIFICACI ON
DE ESTADO
FINITO

De acuerdo a la capacidad de una FSM de estar o no en


varios estados al mismo tiempo se clasifican en Maquinas de
estado deterministas(AFD) y no deterministas(AFN).
III-A.

Maquinas de estado finito Deterministas

Un Automata finito es determinista cuando desde un estado,


puede hacer transicion a un y solo un estado del conjunto de
estados Q. Un AFD se representa de la siguiente manera:
A = (Q, , , q0 , F )
La representacion de un AFD se puede realizar mediante un
grafo de estados como en el ejemplo mostrado anteriormente
o mediante una tabla de estados de la siguiente manera:
En la siguiente tabla se muestra mediante la representacion
de tablas el ejemplo del interruptor presentado anteriormente
mediante un grafo de estados.
of f
*on

pulsar
on
off

En donde () representa el estado inicial o estado base y


(*) representa el estado final o estado de aceptacion.
III-B.

Maquinas de estado finito no deterministas

A diferencia de los AFD los AFN estos desde un estado


pueden ir mediante una transicion a mas de un estado lo que
significa que estos pueden estar en mas de un estado al mismo
tiempo. En este caso la funcion de transicion ya no devuelve
un estado como el paso siguiente en el proceso sino que en
lugar de eso devuelve un conjunto de estados subconjunto de
Q.
IV.

OTRAS APLICACIONES DE LOS AUT OMATAS


FINITOS

Al ser los automatas finitos una abstraccion de maquinas


reales abrieron paso a que se haya venido investigando y
desarrollando mucho al respecto un ejemplo es la aplicacion
de automatas finitos en la maquina de Turing, ademas tambien
los diagramas UML se puede considerar como una aplicacion
de los automatas finitos.
IV-A.

La maquina de turing

La maquina de turing es un automata finito que puede ser


tanto determinista como no determinista. Alan Turing introdujo el termino maquina de turing en su trabajo, On Computable
Numbers, with an application to the Entscheidungsproblem.
Principalmente la maquina de turing es a pesar de que no se
asemeja en sus caractersticas una abstraccion de la CPU de
las computadoras actuales. Turing describe a esta maquina

como una persona que realiza actividades de una manera muy


servil.
Turing entonces, mediante su maquina demostro que existen operaciones que resultan intratables o irresolubles o que
su resolucion tomara tanto tiempo que no valdra la pena
resolverlos mediante esta maquina. La idea de la maquina
consta basicamente de una cinta infinita, a traves de la cual se
recorre un cabezal de lectura que lee las entradas de la cinta
y provocan que la maquina de turing cambie su estado.
Estos mismos principios son aplicados actualmente a las
computadoras, ya que sirve como herramienta para los programadores para marcar un lmite con las cosas que se
pueden realizar y separarlas de los problemas indeseables que
no se pueden resolver mediante el uso de software en las
computadoras actuales.
IV-B.

UML: estados y transiciones

UML es tambien una aplicacion de los automatas finitos, ya


que los atributos de un objeto a traves de su ejecucion varan a
traves del tiempo ya lo cual provoca que el objeto tenga varios
estados a traves de la ejecucion de los programas. La funcion
de transicion tienen su analoga en los metodos del objeto u
otros objetos ya que ellos se encargan de cambiar el estado
de los objetos en tiempo de ejecucion.
Ademas de las transiciones provocadas por los metodos de
los objetos tambien existen otros tipos de transiciones como
son: Excepciones controladas y no controladas, o mensajes
enviados desde otras aplicaciones.
V.

C ONCLUSI ON

Las maquinas de estado finitos tienen una infinidad de


aplicaciones y resultan muy u tiles ya que de cierta manera
automatizan procesos que nos llevaran bastante tiempo realizar manualmente. Aunque hay que tomar en cuenta que estas
son abstracciones de maquinas reales y no maquinas fsicas
en s.
En el campo de la informatica las Maquinas de estado
finito con de gran ayuda al momento de realizar aplicaciones
informaticas ya que nos ayuda a delimitar las cosas que
realmente se pueden llegar a realizar de las tareas que son
mejores mantenerlas con el sistema antiguo o manual.
Estos modelos abstractos son aplicables a las CPU de las
computadoras actuales, ya que en un futuro podran aparecen
nuevas impresionantes tecnologas con el potencial de resolver
rapidamente estos procesos que por el momento no se pueden
realizar con las tecnologas convencionales.
Existe la posibilidad de ahondar mas en el estudio de este
grandioso tema, pero por la naturaleza de este artculo no es
posible realizar un estudio mas matematico de este tema que
nos servira de mucho a la hora de optimizar y simular procesos
computacionales.
R EFERENCIAS
[1] J. Hopcroft, R. Motwani and J. Ullman, Teoria de automatas lenguajes
y computacion, 3rd ed. Madrid, Espana: Addison-Wesley, 2008.

Anda mungkin juga menyukai