INTEGRANTES: NICHOL PRETELL OLGA BRAVO RODRIGUEZ JANYS INTRODUCCION
• Una máquina de estado finito (FSM) o autómata de estado finito, autómata
finito, o simplemente una máquina de estado, es un modelo matemático de computación. Es una máquina abstracta que puede estar exactamente en uno de un número finito de estados en un momento dado. El FSM puede cambiar de un estado a otro en respuesta a algunas entradas; el cambio de un estado a otro se llama transición. Una FSM se define mediante una lista de sus estados, su estado inicial y las entradas que desencadenan cada transición. Las máquinas de estados finitos son de dos tipos: máquinas de estados finitos deterministas y máquinas de estados finitos no deterministas. Se puede construir una máquina determinista de estados finitos equivalente a cualquier máquina no determinista • La máquina de estados finitos tiene menos poder computacional que algunos otros modelos de computación como la máquina de Turing. La distinción de poder computacional significa que hay tareas computacionales que una máquina de Turing puede hacer pero una FSM no puede. Esto se debe a que la memoria de una FSM está limitada por el número de estados que tiene. Las FSM se estudian en el campo más general de la teoría de autómatas LENGUAJE Una máquina de estados finitos (FSM) es un modelo abstracto de computación que se utiliza para modelar la lógica. El lenguaje se considera regular si, y solo si, puede ser reconocido por una FSM. Los lenguajes regulares son un tema clave en la teoría de la computación. Los lenguajes regulares son un tema clave en la teoría de la computación. Un lenguaje regular en informática es un lenguaje formal que se compone de un conjunto de cadenas. Estas cadenas se componen de símbolos de un alfabeto definido LENGUAJE • Aquí hay un alfabeto que se define como corchete izquierdo, 0, coma, 1, corchete derecho,{0,1}. Los 'corchetes' indican que se trata de un conjunto; se le presentarán los conjuntos en el tema Sistemas numéricos. El conjunto muestra que las cadenas que componen el lenguaje deben estar compuestas por 0 y 1, y ningún otro símbolo. También se necesita un conjunto de reglas para mostrar las formas en que se pueden combinar los símbolos. Estas reglas se pueden expresar mediante una máquina de estados finitos o mediante el uso de una expresión regular. LENGUAJE
Una máquina de estados finitos es una máquina que puede, en
cualquier momento, estar en un estado específico de un conjunto finito de estados posibles. Puede moverse (transición) a otro estado al aceptar una entrada. Si la máquina permite salidas, puede producir una salida. El tipo de FSM que aprenderá en este tema se conoce más correctamente como un autómata determinista de estado finito. La palabra 'máquina' puede ser engañosa; las máquinas físicas rara vez se modelan en informática. Sin embargo, en primera instancia, exploremos las FSM en el contexto de una máquina física MAQUINAS DE ESTADO FINITO AUTOMATAS 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. Los Autómatas se caracterizan por tener un estado inicial sk o s0, reciben una cadena de símbolos, cambian de estado por cada elemento leído o pueden permanecer en el mismo estado. También tienen un conjunto de Estados Finales o Aceptables que indican si una cadena o palabra pertenece al lenguaje al final de una lectura. Los Autómatas se clasifican en 2 tipos: Autómata Finito Determinista. Autómata Finito no Determinista. • MAQUINAS DE ESTADO FINITO AUTÓMATAS
Formalmente un autómata finito se define:Donde:
A= {q1, q2, q3…qm. …}es un conjunto finito de nodos.
Ʃ: es un alfabeto finito de símbolos o etiquetas o impus A: es un conjunto finito de aristas etiquetadas que unen nodos Q : es el estado inicial. en otros textos Función de transición δ Autómatas Finitos Deterministas.AFD • Un Autómata recibe secuencialmente una cadena de símbolos y cambia de estado por cada símbolo leído o también puede permanecer en el mismo estado. Al final de la lectura el estado del Autómata indica si la cadena o palabra es aceptada. Si al final de leer todos los símbolos de entrada la máquina está en alguno de los estados Finales entonces esa cadena es aceptada, si el estado no es final entonces la cadena o palabra no pertenece al lenguaje. En un diagrama de transición existe:. Ʃ: Transición {1,0} f: estados finales {q2} q0 : es el estado inicial {q0} Q: estados {q0,q1,q2} Función de transición Autómatas Finitos No Deterministas. A diferencia de los Autómatas Finitos Determinístas, donde existe una única forma de llegar de un estado a otro con una entrada y se tiene solo un estado inicial, los Autómatas Finitos No Determinístas no cuentan con estas virtudes, pero son una herramienta para diseñar un Autómata Determinísta. Para cada Autómata No Determinísta existe un Autómata Determinísta que lo representa y que acepta el mismo lenguaje. Se puede definir un Autó mata Finito No Determinista como:
• Puede existir más de un estado inicial y la función de transición
arroja un conjunto, que puede ser vacío de posibles estados. Precisamente esta es la diferencia entre un Autómata Determinísta y uno No Determinísta. Cuando todas las transiciones están determinadas, es decir para cada par de (estado, símbolo) existe uno y sólo un estado correspondiente, se tiene un Autómata Determinísta. Si se tiene al menos una transición no definida o indeterminada entonces tenemos un Autómata No Determinísta. Un ejemplo de Diagrama de transición de un Autómata Finito No Determinísta: APLICACIONES
• Máquinas de estados finitos se utilizan ampliamente en
aplicaciones en ciencias de la computación y redes de datos. • Por ejemplo, las máquinas de estados finitos son la base para los programas de corrección ortográfica, la comprobación de la gramática, la indexación o la búsqueda de grandes volúmenes de texto, reconocimiento de voz, la transformación de texto utilizando lenguajes de marcado como XML y HTML, y los protocolos de red que especifican cómo las computadoras se Comunican.