Construcción de Powerset de NFA a DFA: ¿Algoritmo de determinación parcial con compensación entre tiempo de ejecución y tamaño para los autómatas resultantes?


8

Dado un NFA norte y su DFA equivalente que reresulta de la determinación total de norte (usando la construcción del conjunto de potencia, por ejemplo), las siguientes propiedades se mantienen para norte , re y para cualquier palabra w :

  • lee w en tiempo de ejecución como máximo O ( | w | . | N | 2 ) .nortewO(El |wEl |.El |norteEl |2)
  • lee w en tiempo de ejecución como máximo O ( | w | ) y su tamaño puede ser O ( 2 | N | ) (en la cantidad de estados necesarios para representar D ).rewO(El |wEl |)O(2El |norteEl |)re

Me pregunto si existe algún algoritmo de determinación parcial que garantice una compensación entre el tamaño del resultado y el tiempo de ejecución.

Por ejemplo, este algoritmo de determinación parcial podría convertir un NFA en un autómata parcialmente determinista modo que D garantiza que la palabra w se lee en O ( | w | . | N | x ) donde 0 x 2 sin exceder el tamaño | D | 2 f ( x ) donde f ( x ) es una función decreciente continua definida en el rangorerewO(El |wEl |.El |norteEl |X)0 0X2El |reEl |2F(X)F(X) tal que f ( 0 ) = | N | y f ( 2 ) = l o g | N | .[0 0,2]F(0 0)=El |norteEl |F(2)=losolEl |norteEl |

No encontré ningún método para determinar parcialmente un NFA de esa manera. En todos los documentos: se evita cualquier determinación porque el NFA es demasiado grande, cualquiera de las determinaciones está completa y el NFA se convierte en un DFA (con una posible explosión exponencial). No hay compromiso ...

Realmente agradecería cualquier referencia o respuesta con respecto a este problema. Muchas gracias Luz.



1
Wow :-) esto es increíble! De hecho, la publicación cstheory.stackexchange.com/questions/1132/… parece hacer el trabajo. Muchas gracias, voy a procesar la respuesta de D. Eppstein ...
Luz

Respuestas:


6

El artículo [HP06] está en el espíritu de su idea, aunque en una dirección diferente, en el contexto de infinitas palabras. Se puede adaptar más fácilmente a palabras finitas.

En la construcción del conjunto de potencia, simultáneamente hacemos un seguimiento de todas las ejecuciones posibles del autómata state, moviendo n tokens. Pero podríamos decidir seguir solo k < n carreras y hacer una construcción parcial del conjunto de potencia. En general, esto producirá un autómata no determinista, que en realidad no es más útil que el original.nortenortek<norte

Pero podría ser que construir funcione con una determinada estrategia determinista siempre es suficiente para obtener una aceptable, si existe. Piense, por ejemplo, en un gran autómata donde el único no determinismo es adivinar si la última letra es una a o una b , y luego bifurcarse hacia dos autómatas deterministas. Luego son suficientes dos tokens, y funciona una construcción de 2 conjuntos de potencia, donde los subconjuntos tienen un tamaño máximo de 2 , es decir, el autómata resultante tienekunasi22 estadosnorte(norte+1)2

Podemos definir el "ancho" de un autómata no determinista como el número de tokens necesarios para construir determinísticamente una ejecución de aceptación. La construcción del conjunto de potencia realmente supone que estamos en el peor de los casos, es decir, ancho igual al número de estados. El caso donde el ancho es corresponde a la noción de autómata bueno para juegos (GFG), introducido en [HP06], y estudiado en [BKKS13, KS15].1

Tenemos que un NFA tiene un ancho máximo de si y solo si su construcción k- powerset es GFG. En palabras finitas, está en P detectar si un autómata es GFG, y en este caso en realidad significa que es determinista con algunas transiciones inútiles adicionales. Esto significa que podríamos incrementar k hasta que la construcción resultante de k- powerset sea GFG, pode las transiciones inútiles y obtengamos un autómata determinista. Esto corresponde a enfatizar el ahorro de espacio, ya que en lugar de construir el gran autómata determinista y luego minimizarlo, tratamos de abordarlo "desde abajo", con la esperanza de que no tengamos que hacer la construcción completa del conjunto de potencia.kkkk

[HP06] Resolviendo juegos sin determinación , Henzinger, Piterman, en CSL 2006

[BKKS13] No determinismo en presencia de un futuro diverso o desconocido , Boker, Kuperberg, Kupferman, Skrzypczak, en ICALP 2013

[KS15] Sobre la determinación de autómatas buenos para juegos , Kuperberg, Skrzypczak, en ICALP 2015


1
Muchas gracias por tu publicación :-) pero necesito un poco más de ayuda para comprender el panorama general de lo que propones. También quiero entender las principales diferencias entre su publicación y la de D. Eppstein (como se sugiere en el comentario superior), aquí: cstheory.stackexchange.com/questions/1132/… .
Luz

1
Si resumo el método DE (D. Eppstein): dado un NFA de tamaño , 1 x ny una palabra de tamaño w , el método DE garantiza una compensación entre un tiempo de simulación NFA de O ( w . X 2 ) y un tamaño de O ( x 2 .2 n / x ) para almacenar la estructura de datos que representa el NFA (aunque esta estructura de datos no es un NFA, es una matriz). n1xnwO(w.x2)O(x2.2n/x)
Luz

1
Estas son mis preguntas. Dado un ancho NFA N de tamaño n , (1) es S = O ( k i = 0 ( nknortenorteel tamaño máximo del DFA resultante de laconstrucciónk-powerset aplicada enN? ¿Y (2) esT=O(w.K)el tiempo máximo necesario para simularN? S=O(yo=0 0k(norteyo))knorteT=O(w.k)norte
Luz

1
Pregunta adicional si las dos hipótesis anteriores son ciertas. Imagine un caso de uso en el que el espacio disponible para determinar N se fija de manera tal que S = O ( p i = 0 ( nSnorteconpk. Luego determinamos parcialmenteNenN'aplicando laconstrucciónp-powerset enN(ya que hay suficiente espacio para hacerlo). ¿EsO(w.(K/p))el tiempo máximo necesario para simularN'? S=O(yo=0 0pags(norteyo))pagsknortenortepagsnorteO(w.(k/ /pags))norte
Luz

(1) Sí (2) no estoy seguro de lo que quiere decir con "simular", pero puede mover de manera determinista k tokens en N para ver si se acepta una palabra, por lo que diría que sí (3) Sí, con un techo en la k / p
Denis
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.