La complejidad de estados es un área de la informática teórica que se ocupa del tamaño de los autómatas abstractos, como los distintos tipos de autómatas finitos . El resultado clásico en esta área es que simular un autómata finito no determinista de estados mediante un autómata finito determinista requiere exactamente estados en el peor de los casos.
Transformación entre variantes de autómatas finitos
Los autómatas finitos pueden ser deterministas o no deterministas , unidireccionales (DFA, NFA) o bidireccionales (2DFA, 2NFA). Otras clases relacionadas son los autómatas finitos no ambiguos (UFA), autoverificables (SVFA) y alternantes (AFA). Estos autómatas también pueden ser bidireccionales (2UFA, 2SVFA, 2AFA).
Todas estas máquinas pueden aceptar exactamente los lenguajes regulares . Sin embargo, el tamaño de los diferentes tipos de autómatas necesarios para aceptar el mismo lenguaje (medido en el número de sus estados) puede ser diferente. Para cualesquiera dos tipos de autómatas finitos, la compensación de complejidad de estados entre ellos es una función entera donde es el número mínimo de estados en autómatas del segundo tipo suficiente para reconocer cada lenguaje reconocido por un autómata de estados del primer tipo. Se conocen los siguientes resultados.
- NFA a DFA: estados. Esta es la construcción de subconjuntos de Rabin y Scott , [ 1 ] demostrada como óptima por Lupanov . [ 2 ]
- UFA a DFA: estados, ver Leung , [ 3 ] Un límite inferior anterior de Schmidt [ 4 ] era menor.
- De NFA a UFA: estados, véase Leung. [ 3 ] Hubo un límite inferior menor anterior por Schmidt. [ 4 ]
- SVFA a DFA: estados, véase Jirásková y Pighizzini [ 5 ]
- 2DFA a DFA: estados, véase Kapoutsis . [ 6 ] La construcción anterior de Shepherdson [ 7 ] utilizó más estados, y una cota inferior anterior de Moore [ 8 ] fue menor.
- 2DFA a NFA: , véase Kapoutsis. [ 6 ] La construcción anterior de Birget [ 9 ] utilizó más estados.
- 2NFA a NFA: , ver Kapoutsis. [ 6 ]
- AFA a DFA: estados, ver Chandra , Kozen y Stockmeyer . [ 11 ]
- De AFA a NFA: estados, véase Fellah, Jürgensen y Yu. [ 12 ]
- 2AFA a DFA: , véase Ladner , Lipton y Stockmeyer . [ 13 ]
- 2AFA a NFA: , véase Geffert y Okhotin. [ 14 ]
El problema 2DFA vs. 2NFA y el espacio logarítmico
Es un problema abierto si todos los 2NFA pueden convertirse en 2DFA con un número polinomial de estados, es decir, si existe un polinomio tal que para cada 2NFA de -estados existe un 2DFA de -estados. El problema fue planteado por Sakoda y Sipser [ 15 ] , quienes lo compararon con el problema P vs. NP en la teoría de la complejidad computacional . Berman y Lingas [ 16 ] descubrieron una relación formal entre este problema y el problema abierto L vs. NL . Esta relación fue desarrollada posteriormente por Kapoutsis [ 17 ] .
Complejidad de estados de las operaciones para autómatas finitos
Dada una operación binaria que preserva la regularidad en lenguajes y una familia de autómatas X (DFA, NFA, etc.), la complejidad de estado de es una función entera tal que
- para cada autómata X de m estados A y autómata X de n estados B existe un autómata X de -estados para , y
- Para todos los enteros m, n existe un autómata X de m estados A y un autómata X de n estados B tales que todo autómata X debe tener al menos estados.
Se aplica una definición análoga para operaciones con cualquier número de argumentos.
Los primeros resultados sobre la complejidad de estados de las operaciones para autómatas finitos deterministas (AFD) fueron publicados por Maslov [ 18 ] y por Yu, Zhuang y Salomaa [ 19 ] . Holzer y Kutrib [ 20 ] fueron pioneros en el estudio de la complejidad de estados de las operaciones en autómatas finitos no deterministas (AFND). Los resultados conocidos para las operaciones básicas se enumeran a continuación.
Unión
Si un lenguaje requiere m estados y otro lenguaje requiere n estados, ¿cuántos estados requiere el segundo?
- DFA: estados, ver Maslov [ 18 ] y Yu, Zhuang y Salomaa. [ 19 ]
- NFA: estados, véase Holzer y Kutrib. [ 20 ]
- UFA: al menos ; [ 21 ] entre estados y , véase Jirásek, Jirásková y Šebej. [ 22 ]
- SVFA: estados, ver Jirásek, Jirásková y Szabari. [ 23 ]
- 2DFA: entre estados y , ver Kunc y Okhotin. [ 24 ]
- 2NFA: estados, ver Kunc y Okhotin. [ 25 ]
Intersección
¿Cuántos estados se requieren?
- DFA: estados, ver Maslov [ 18 ] y Yu, Zhuang y Salomaa. [ 19 ]
- NFA: estados, véase Holzer y Kutrib. [ 20 ]
- UFA: estados, ver Jirásek, Jirásková y Šebej. [ 22 ]
- SVFA: estados, ver Jirásek, Jirásková y Szabari. [ 23 ]
- 2DFA: entre estados y , ver Kunc y Okhotin. [ 24 ]
- 2NFA: entre estados , véase Kunc y Okhotin. [ 25 ]
Complementación
Si el lenguaje L requiere n estados, ¿cuántos estados requiere su complemento ?
- DFA: estados, mediante el intercambio de estados de aceptación y rechazo.
- NFA: estados, ver Birget. [ 26 ] o Jirásková [ 27 ]
- UFA: al menos estados, véase Göös, Kiefer y Yuan, [ 21 ] (esto sigue una cota anterior de Raskin [ 28 ] ); y como máximo estados, véase Indzhev y Kiefer. [ 29 ]
- SVFA: estados, mediante el intercambio de estados de aceptación y rechazo.
- 2DFA: al menos y como máximo estados, véase Geffert, Mereghetti y Pighizzini. [ 30 ]
Concatenación
¿Cuántos estados se requieren?
- DFA: estados, ver Maslov [ 18 ] y Yu, Zhuang y Salomaa. [ 19 ]
- NFA: estados, véase Holzer y Kutrib. [ 20 ]
- UFA: estados, ver Jirásek, Jirásková y Šebej. [ 22 ]
- SVFA: estados, ver Jirásek, Jirásková y Szabari. [ 23 ]
- 2DFA: al menos y en la mayoría de los estados, ver Jirásková y Okhotin. [ 31 ]
Estrella Kleene
- DFA: estados, ver Maslov [ 18 ] y Yu, Zhuang y Salomaa. [ 19 ]
- NFA: estados, véase Holzer y Kutrib. [ 20 ]
- UFA: estados, ver Jirásek, Jirásková y Šebej. [ 22 ]
- SVFA: estados, ver Jirásek, Jirásková y Szabari. [ 23 ]
- 2DFA: al menos y en la mayoría de los estados, ver Jirásková y Okhotin. [ 31 ]
Inversión
- DFA: estados, ver Mirkin, [ 32 ] Leiss, [ 33 ] y Yu, Zhuang y Salomaa. [ 19 ]
- NFA: estados, véase Holzer y Kutrib. [ 20 ]
- UFA: estados.
- SVFA: estados, ver Jirásek, Jirásková y Szabari. [ 23 ]
- 2DFA: entre y estados, ver Jirásková y Okhotin. [ 31 ]
Autómatas finitos sobre un alfabeto unario
La complejidad de estado de los autómatas finitos con un alfabeto de una letra ( unario ), desarrollado por Chrobak , [ 34 ] es diferente del caso de múltiples letras.
Sea la función de Landau .
Transformación entre modelos
Para un alfabeto de una sola letra, las transformaciones entre diferentes tipos de autómatas finitos a veces son más eficientes que en el caso general.
- NFA a DFA: estados, ver Chrobak. [ 34 ]
- 2DFA a DFA: estados, ver Chrobak [ 34 ] y Kunc y Okhotin. [ 35 ]
- 2NFA a DFA: estados, véase Mereghetti y Pighizzini . [ 36 ] y Geffert , Mereghetti y Pighizzini. [ 37 ]
- NFA a 2DFA: en la mayoría de los estados, consulte Chrobak. [ 34 ]
- 2NFA a 2DFA: en la mayoría de los estados, demostrado mediante la implementación del método del teorema de Savitch , véase Geffert, Mereghetti y Pighizzini. [ 37 ]
- UFA a DFA: , ver Okhotin. [ 38 ]
- NFA a UFA: , ver Okhotin. [ 38 ]
Unión
- DFA: estados, ver Yu, Zhuang y Salomaa. [ 19 ]
- NFA: estados, véase Holzer y Kutrib. [ 20 ]
- 2DFA: entre estados y , ver Kunc y Okhotin. [ 24 ]
- 2NFA: estados, ver Kunc y Okhotin. [ 25 ]
Intersección
- DFA: estados, ver Yu, Zhuang y Salomaa. [ 19 ]
- NFA: estados, véase Holzer y Kutrib. [ 20 ]
- 2DFA: entre estados y , ver Kunc y Okhotin. [ 24 ]
- 2NFA: entre estados , véase Kunc y Okhotin. [ 25 ]
Complementación
- DFA: estados.
- NFA: estados, véase Holzer y Kutrib. [ 20 ]
- UFA: al menos estados, véase Raskin, [ 39 ] y en la mayoría de los estados, véase Okhotin. [ 38 ]
- 2DFA: al menos y como máximo estados, véase Kunc y Okhotin. [ 24 ]
- 2NFA: al menos y como máximo estados. La cota superior se obtiene implementando el método del teorema de Immerman-Szelepcsényi , véase Geffert, Mereghetti y Pighizzini. [ 30 ]
Concatenación
- DFA: estados, ver Yu, Zhuang y Salomaa. [ 19 ]
- NFA: entre estados y , véase Holzer y Kutrib. [ 20 ]
- 2DFA: estados, ver Kunc y Okhotin. [ 24 ]
- 2NFA: estados, ver Kunc y Okhotin. [ 24 ]
Estrella Kleene
- DFA: estados, ver Yu, Zhuang y Salomaa. [ 19 ]
- NFA: estados, véase Holzer y Kutrib. [ 20 ]
- UFA: estados, ver Okhotin. [ 38 ]
- 2DFA: estados, ver Kunc y Okhotin. [ 24 ]
- 2NFA: estados, ver Kunc y Okhotin. [ 24 ]
Lecturas adicionales
Holzer y Kutrib [ 40 ] [ 41 ] y Gao et al. [ 42 ] realizaron estudios sobre la complejidad de los estados.
Las nuevas investigaciones sobre la complejidad de los estados se presentan habitualmente en los talleres anuales sobre Complejidad Descriptiva de Sistemas Formales (DCFS), en la Conferencia sobre Implementación y Aplicación de Autómatas (CIAA) y en diversas conferencias sobre informática teórica en general.
Referencias
- ^ Rabin, MO; Scott, D. (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 . ISSN 0018-8646 .
- ^ Lupanov, Oleg B. (1963). "Una comparación de dos tipos de fuentes finitas". Problemy Kibernetiki . 9 : 321– 326.
- ^ a b Leung, Hing (2005). "Complejidad descriptiva de NFA de diferente ambigüedad". International Journal of Foundations of Computer Science . 16 (5): 975– 984. doi : 10.1142/S0129054105003418 . ISSN 0129-0541 .
- ^ a b Schmidt, Erik M. (1978). Sucinta descripción de lenguajes libres de contexto, regulares y no ambiguos (Ph.D.). Universidad de Cornell.
- ^ Jirásková, Galina; Pighizzini, Giovanni (2011). "Simulación óptima de autómatas autoverificables mediante autómatas deterministas". Information and Computation . 209 (3): 528– 535. doi : 10.1016/j.ic.2010.11.017 . ISSN 0890-5401 .
- ^ a b c Kapoutsis, Christos (2005). "Eliminando la bidireccionalidad de los autómatas finitos no deterministas". Fundamentos matemáticos de la informática 2005. Notas de clase en informática. Vol. 3618. págs. 544–555 . doi : 10.1007/11549345_47 . ISBN 978-3-540-28702-5ISSN 0302-9743
- ^ Shepherdson, JC (1959). "La reducción de autómatas bidireccionales a autómatas unidireccionales". IBM Journal of Research and Development . 3 (2): 198– 200. doi : 10.1147/rd.32.0198 . ISSN 0018-8646 .
- ^ Moore, FR (1971). "Sobre los límites del tamaño del conjunto de estados en las pruebas de equivalencia entre autómatas finitos deterministas, no deterministas y bidireccionales". IEEE Transactions on Computers . C-20 (10): 1211– 1214. doi : 10.1109/TC.1971.223108 . ISSN 0018-9340 . S2CID 206618275 .
- ^ Birget, Jean-Camille (1993). "Complejidad de estados de dispositivos de estados finitos, compresibilidad e incompresibilidad de estados". Mathematical Systems Theory . 26 (3): 237– 269. doi : 10.1007/BF01371727 . ISSN 0025-5661 . S2CID 20375279 .
- ^ Vardi, Moshe Y. (1989). "Una nota sobre la reducción de autómatas bidireccionales a autómatas unidireccionales". Information Processing Letters . 30 (5): 261– 264. CiteSeerX 10.1.1.60.464 . doi : 10.1016/0020-0190(89)90205-6 . ISSN 0020-0190 .
- ^ Chandra, Ashok K.; Kozen, Dexter C.; Stockmeyer, Larry J. (1981). "Alternancia" . Journal of the ACM . 28 (1): 114– 133. doi : 10.1145/322234.322243 . ISSN 0004-5411 . S2CID 238863413 .
- ^ Fellah, A.; Jürgensen, H.; Yu, S. (1990). "Construcciones para autómatas finitos alternantes*". International Journal of Computer Mathematics . 35 ( 1– 4): 117– 132. doi : 10.1080/00207169008803893 . ISSN 0020-7160 .
- ^ 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 . Lecture Notes in Computer Science. Vol. 8634. pp. 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). "No determinismo y el tamaño de los autómatas finitos bidireccionales". Actas del décimo simposio anual de la ACM sobre teoría de la computación - STOC '78 . STOC 1978. ACM. págs. 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 . S2CID 14808151 .
- ^ a b c d e Maslov, AN (1970). "Estimaciones del número de estados de autómatas finitos". Matemáticas soviéticas - Doklady . 11 : 1373-1375 .
- ^ a b c d e f g h i j Yu, Sheng; Zhuang, Qingyu; Salomaa, Kai (1994). "Las complejidades de estado de algunas operaciones básicas en lenguajes regulares". Theoretical Computer Science . 125 (2): 315– 328. doi : 10.1016/0304-3975(92)00011-F . ISSN 0304-3975 .
- ^ a b c d e f g h i j k Holzer, Markus; Kutrib, Martin (2003). "Complejidad descriptiva no determinista de lenguajes regulares" . International Journal of Foundations of Computer Science (Manuscrito enviado). 14 (6): 1087– 1102. doi : 10.1142/S0129054103002199 . ISSN 0129-0541 .
- ^ a b Göös, Mika; Kiefer, Stefan; Yuan, Weiqiang (12 de febrero de 2022). "Límites inferiores para autómatas no ambiguos mediante la complejidad de la comunicación". arXiv : 2109.09155 [ cs.FL ].
- ^ a b c d Jirásek, Jozef; Jirásková, Galina; Šebej, Juraj (2016). "Operaciones sobre autómatas finitos inequívocos" . Apuntes de conferencias sobre informática. vol. 9840. págs. 243–255 . doi : 10.1007/978-3-662-53132-7_20 . ISBN 978-3-662-53131-0ISSN 0302-9743
- ^ a b c d e Jirásek, Jozef Štefan; Jirásková, Galina; Szabari, Alejandro (2015). Ciencias de la Computación - Teoría y Aplicaciones . Apuntes de conferencias sobre informática. vol. 9139. págs. 231–261 . doi : 10.1007/978-3-319-20297-6_16 . ISBN 978-3-319-20296-9ISSN 0302-9743
- ^ a b c d e f g h i Kunc, Michal; Okhotin, Alexander (2012). "Complejidad de estado de operaciones en autómatas finitos bidireccionales sobre un alfabeto unario" . Theoretical Computer Science . 449 : 106–118 . doi : 10.1016/j.tcs.2012.04.010 . ISSN 0304-3975 .
- ^ a b c d Kunc, Michal; Okhotin, Alexander (2011). "Complejidad de estado de unión e intersección para autómatas finitos no deterministas bidireccionales". Fundamenta Informaticae . 110 ( 1– 4): 231– 239. doi : 10.3233/FI-2011-540 .
- ^ Birget, Jean-Camille (1993). "Órdenes parciales en palabras, elementos mínimos de lenguajes regulares y complejidad de estados". Theoretical Computer Science . 119 (2): 267– 291. doi : 10.1016/0304-3975(93)90160-U . ISSN 0304-3975 .
- ^ Jirásková, Galina (2005). "Complejidad de estado de algunas operaciones en lenguajes regulares binarios" . Theoretical Computer Science . 330 (2): 287– 298. doi : 10.1016/j.tcs.2004.04.011 ., Teorema 5
- ^ Raskin, Mikhail (2018). "Una cota inferior superpolinómica para el tamaño del complemento no determinista de un autómata no ambiguo" . DROPS-IDN/V2/Document/10.4230/LIPIcs.ICALP.2018.138 . Actas Internacionales Leibniz en Informática (LIPIcs). 107. Schloss-Dagstuhl - Centro Leibniz de Informática: 138:1–138:11. doi : 10.4230/LIPIcs.ICALP.2018.138 . ISBN 978-3-95977-076-7.
- ^ Indzhev, Emil; Kiefer, Stefan (1 de agosto de 2022). "Sobre la complementación de autómatas y grafos no ambiguos con muchos cliques y cocliques" . Information Processing Letters . 177 106270. arXiv : 2105.07470 . doi : 10.1016/j.ipl.2022.106270 . ISSN 0020-0190 . S2CID 234741832. Recuperado el 29 de mayo de 2022 .
- ^ a b Geffert, Viliam; Mereghetti, Carlo; Pighizzini, Giovanni (2007). "Complementando autómatas finitos bidireccionales" . Information and Computation . 205 (8): 1173– 1187. doi : 10.1016/j.ic.2007.01.008 . ISSN 0890-5401 .
- ^ a b c Jirásková, Galina; Okhotin, Alexander (2008). Sobre la complejidad de estados de las operaciones en autómatas finitos bidireccionales . Lecture Notes in Computer Science. Vol. 5257. pp. 443–454 . doi : 10.1007/978-3-540-85780-8_35 . ISBN 978-3-540-85779-2ISSN 0302-9743
- ^ Mirkin, Boris G. (1966). "Sobre autómatas duales". Cibernética . 2 : 6–9 . doi : 10.1007/bf01072247 . S2CID 123186223 .
- ^ Leiss, Ernst (1985). "Representación sucinta de lenguajes regulares mediante autómatas booleanos II". Theoretical Computer Science . 38 : 133–136 . doi : 10.1016/0304-3975(85)90215-4 . ISSN 0304-3975 .
- ^ a b c d Chrobak, Marek (1986). "Autómatas finitos y lenguajes unarios". Theoretical Computer Science . 47 : 149–158 . doi : 10.1016/0304-3975(86)90142-8 . ISSN 0304-3975 .
- ^ Kunc, Michal; Okhotin, Alexander (2011). Desarrollos en la teoría del lenguaje . Lecture Notes in Computer Science. Vol. 6795. pp. 324–336 . CiteSeerX 10.1.1.616.8835 . doi : 10.1007/978-3-642-22321-1_28 . ISBN 978-3-642-22320-4ISSN 0302-9743
- ^ Mereghetti, Carlo; Pighizzini, Giovanni (2001). "Simulaciones óptimas entre autómatas unarios". SIAM Journal on Computing . 30 (6): 1976– 1992. doi : 10.1137/S009753979935431X . hdl : 2434/35121 . ISSN 0097-5397 .
- ^ a b Geffert, Viliam; Mereghetti, Carlo; Pighizzini, Giovanni (2003). "Conversión de autómatas unarios no deterministas bidireccionales en autómatas más simples". Theoretical Computer Science . 295 ( 1–3 ): 189–203 . doi : 10.1016/S0304-3975(02)00403-6 . ISSN 0304-3975 .
- ^ a b c d Okhotin, Alexander (2012). "Autómatas finitos no ambiguos sobre un alfabeto unario" . Information and Computation . 212 : 15–36 . doi : 10.1016/j.ic.2012.01.003 . ISSN 0890-5401 .
- ^ Raskin, Michael (2018). "Una cota inferior superpolinómica para el tamaño del complemento no determinista de un autómata no ambiguo". Proc. ICALP 2018 . pp. 138:1–138:11. doi : 10.4230/LIPIcs.ICALP.2018.138 .
- ^ Holzer, Markus; Kutrib, Martin (2009). "Autómatas finitos no deterministas: resultados recientes sobre la complejidad descriptiva y computacional". International Journal of Foundations of Computer Science . 20 (4): 563– 580. doi : 10.1142/S0129054109006747 . ISSN 0129-0541 .
- ^ Holzer, Markus; Kutrib, Martin (2011). "Complejidad descriptiva y computacional de autómatas finitos: una revisión". Information and Computation . 209 (3): 456– 470. doi : 10.1016/j.ic.2010.11.013 . ISSN 0890-5401 .
- ^ Gao, Yuan; Moreira, Nelma; Reis, Rogerio; Yu, Sheng (2015). "Una encuesta sobre la complejidad operativa del estado". arXiv : 1509.03254v1 [ cs.FL ].
- Máquinas de estados finitos