En informática , y en particular en la teoría de autómatas , un autómata finito bidireccional es un autómata finito al que se le permite releer su entrada.
Autómata finito determinista bidireccional
Un autómata finito determinista bidireccional ( AFD2 ) es una máquina abstracta , una versión generalizada del autómata finito determinista (AFD) que puede volver a procesar caracteres ya procesados. Al igual que en un AFD, existe un número finito de estados con transiciones entre ellos basadas en el carácter actual, pero cada transición también está etiquetada con un valor que indica si la máquina moverá su posición en la entrada hacia la izquierda, hacia la derecha o permanecerá en la misma posición. De forma equivalente, los AFD2 pueden considerarse máquinas de Turing de solo lectura sin cinta de trabajo, solo con una cinta de entrada de solo lectura.
Los autómatas finitos bidimensionales (AFD2) fueron introducidos en un artículo fundamental de 1959 por Rabin y Scott , [ 1 ] quienes demostraron que tienen una potencia equivalente a la de los autómatas finitos deterministas unidireccionales ( AFD1) . Es decir, cualquier lenguaje formal que pueda ser reconocido por un AFD2 puede ser reconocido por un AFD que solo examina y consume cada carácter en orden. Dado que los AFD son obviamente un caso especial de los AFD2, esto implica que ambos tipos de máquinas reconocen con precisión la clase de lenguajes regulares . Sin embargo, el AFD equivalente para un AFD2 puede requerir una cantidad exponencial de estados, lo que hace que los AFD2 sean una representación mucho más práctica para algoritmos en algunos problemas comunes.
Los autómatas finitos bidimensionales (2DFA) también son equivalentes a máquinas de Turing de solo lectura que utilizan solo una cantidad constante de espacio en su cinta de trabajo, ya que cualquier cantidad constante de información puede incorporarse al estado de control finito mediante una construcción de producto (un estado para cada combinación de estado de la cinta de trabajo y estado de control).
Descripción formal
Formalmente, un autómata finito determinista bidireccional puede describirse mediante la siguiente 8- tupla :dónde
- es el conjunto finito y no vacío de estados
- es el conjunto finito y no vacío de símbolos de entrada
- es el marcador de extremo izquierdo
- es el marcador final correcto
- es el estado inicial
- es el estado final
- es el estado de rechazo
Además, deben cumplirse las dos condiciones siguientes:
- A pesar de
- para algunos
- para algunos
Indica que debe existir alguna transición posible cuando el puntero llega a cualquiera de los extremos de la palabra de entrada.
- Para todos los símbolos
Dice que una vez que el autómata alcanza el estado de aceptación o rechazo, permanece allí para siempre y el puntero va al símbolo más a la derecha y gira allí infinitamente. [ 2 ]
Autómata finito no determinista bidireccional
Un autómata finito no determinista bidireccional (2NFA) puede tener múltiples transiciones definidas en la misma configuración. Su función de transición es
- .
Al igual que un autómata finito no determinista (AFND) unidireccional estándar , un AFND bidireccional acepta una cadena si al menos uno de los cálculos posibles es de aceptación. Al igual que los AFND bidireccionales, los AFND bidireccionales también aceptan únicamente lenguajes regulares.
Autómata finito alternante bidireccional
Un autómata finito alternante bidireccional (2AFA) es una extensión bidireccional de un autómata finito alternante (AFA). Su conjunto de estados es
- dónde.
Estados enySe denominan existenciales o universales . En un estado existencial, un 2AFA elige de forma no determinista el siguiente estado, como un NFA, y acepta si al menos uno de los cálculos resultantes acepta. En un estado universal, el 2AFA se mueve a todos los estados siguientes y acepta si todos los cálculos resultantes aceptan.
Compromisos de complejidad de estado
Los autómatas finitos bidireccionales y unidireccionales, deterministas y no deterministas y alternantes, aceptan la misma clase de lenguajes regulares. Sin embargo, transformar un autómata de un tipo en un autómata equivalente de otro tipo conlleva una explosión en el número de estados. Christos Kapoutsis [ 3 ] determinó que transformar un-Establecer un 2DFA a un DFA equivalente requiereestados en el peor de los casos. Si un-Si un 2DFA estatal o un 2NFA se transforma en un NFA, el número de estados requeridos en el peor de los casos es. Ladner , Lipton y Stockmeyer . [ 4 ] demostraron que un-El estado 2AFA se puede convertir en un DFA conestados. La conversión de 2AFA a NFA requiereestados en el peor de los casos, véase Geffert y Okhotin. [ 5 ]
Es un problema abierto determinar si todo 2NFA puede convertirse en un 2DFA con un incremento polinómico en el número de estados. Este problema fue planteado por Sakoda y Sipser [ 6 ] , quienes lo compararon con el problema P vs. NP en la teoría de la complejidad computacional . Berman y Lingas [ 7 ] descubrieron una relación formal entre este problema y el problema abierto L vs. NL ; véase Kapoutsis [ 8 ] para una relación precisa.
Autómatas de barrido
Los autómatas de barrido son 2DFA de un tipo especial que procesan la cadena de entrada realizando barridos alternos de izquierda a derecha y de derecha a izquierda, girando solo en los marcadores de extremo. Sipser [ 9 ] construyó una secuencia de lenguajes, cada uno aceptado por un NFA de n estados, pero que no es aceptado por ningún autómata de barrido con menos deestados.
Autómata finito cuántico bidireccional
El concepto de 2DFA fue generalizado en 1997 a la computación cuántica por John Watrous en "On the Power of 2-Way Quantum Finite State Automata", en el que demuestra que estas máquinas pueden reconocer lenguajes no regulares y, por lo tanto, son más potentes que los DFA. [ 10 ]
Autómata de empuje bidireccional
Un autómata de pila que puede moverse en cualquier dirección en su cinta de entrada se llama autómata de pila bidireccional ( 2PDA ); [ 11 ] fue estudiado por Hartmanis, Lewis y Stearns (1965). [ 12 ] Aho, Hopcroft, Ullman (1968) [ 13 ] y Cook (1971) [ 14 ] caracterizaron la clase de lenguajes reconocibles por autómatas de pila bidireccionales deterministas ( 2DPDA ) y no deterministas ( 2NPDA ); Gray, Harrison e Ibarra (1967) investigaron las propiedades de cierre de estos lenguajes. [ 15 ]
Referencias
- ↑ Rabin, Michael O.; Scott, Dana (1959). "Autómatas finitos y sus problemas de decisión". IBM Journal of Research and Development . 3 (2): 114– 125. doi : 10.1147/rd.32.0114 .
- ↑ Esta definición ha sido tomada de los apuntes de clase de CS682 (Teoría de la Computación) de Dexter Kozen de la Universidad de Stanford.
- ↑ Kapoutsis, Christos (2005). "Eliminando la bidireccionalidad de los autómatas finitos no deterministas". En J. Jedrzejowicz, A. Szepietowski (eds.). Fundamentos matemáticos de la informática . MFCS 2005. Vol. 3618. Springer. pp. 544– 555. doi : 10.1007/11549345_47 .
- ↑ Ladner, Richard E.; Lipton, Richard J.; Stockmeyer, Larry J. (1984). "Autómatas de pila y de empuje alternados". SIAM Journal on Computing . 13 (1): 135– 155. doi : 10.1137/0213010 . ISSN 0097-5397 .
- ↑ Geffert, Viliam; Okhotin, Alexander (2014). "Transformación de autómatas finitos alternantes bidireccionales en autómatas no deterministas unidireccionales". Fundamentos matemáticos de la informática 2014. Notas de clase en informática. Vol. 8634. págs. 291–302 . doi : 10.1007/978-3-662-44522-8_25 . ISBN 978-3-662-44521-1ISSN 0302-9743
- ↑ Sakoda, William J.; Sipser, Michael (1978). Nondeterminism and the Size of Two Way Finite Automata . STOC 1978. ACM. pp. 275– 286. doi : 10.1145/800133.804357 .
- ↑ Berman, Piotr; Lingas, Andrzej (1977). Sobre la complejidad de los lenguajes regulares en términos de autómatas finitos . Vol. Informe 304. Academia Polaca de Ciencias.
- ↑ Kapoutsis, Christos A. (2014). "Autómatas bidireccionales frente a espacio logarítmico". Theory of Computing Systems . 55 (2): 421– 447. doi : 10.1007/s00224-013-9465-0 .
- ↑ Sipser, Michael (1980). "Límites inferiores del tamaño de los autómatas de barrido". Journal of Computer and System Sciences . 21 (2): 195– 202. doi : 10.1016/0022-0000(80)90034-3 .
- ↑ John Watrous . Sobre el poder de los autómatas cuánticos de estados finitos bidireccionales . CS-TR-1997-1350. 1997. pdf
- ↑ John E. Hopcroft; Jeffrey D. Ullman (1979). Introducción a la teoría de autómatas, lenguajes y computación . Addison-Wesley. ISBN 978-0-201-02988-8.Aquí: pág. 124; este párrafo se omite en la edición de 2003.
- ↑ J. Hartmanis ; PM Lewis II, RE Stearns (1965). "Jerarquías de cálculos con memoria limitada". Actas del 6.º Simposio Anual del IEEE sobre Teoría de Circuitos de Conmutación y Diseño Lógico . págs. 179–190 .
- ↑ Alfred V. Aho; John E. Hopcroft; Jeffrey D. Ullman (1968). "Complejidad temporal y de cinta de los lenguajes de autómatas de pila" . Information and Control . 13 (3): 186– 206. doi : 10.1016/s0019-9958(68)91087-5 .
- ↑ SA Cook (1971). "Simulación en tiempo lineal de autómatas de pila bidireccionales deterministas". Actas del Congreso IFIP . North Holland. págs. 75–80 .
- ↑ Jim Gray; Michael A. Harrison; Oscar H. Ibarra (1967). "Autómatas de pila bidireccionales". Information and Control . 11 ( 1– 2): 30– 70. doi : 10.1016/s0019-9958(67)90369-5 .
- Máquinas de estados finitos