Condiciones para la universalidad NFA

28

Considere un autómata finito no determinista y una función f (n) . Además definimos \ Sigma ^ {\ leq k} = \ bigcup_ {i \ leq k} \ Sigma ^ i .A=(Q,Σ,δ,q0,F)f(n)Σk=ikΣi

Ahora analicemos la siguiente declaración:

Si , entonces .Σf(|Q|)L(A)L(A)=Σ

Es fácil mostrar que para es cierto, por lo tanto, si el autómata produce cada palabra con una longitud de hasta , entonces produce .f(n)=2n+12|Q|+1Σ

¿Pero aún se mantiene si es un polinomio?f

Si no, ¿cómo podría ser una construcción de un NFA para un polinomio dado , st ?ApΣp(|Q|)L(A)Σ

Mike B.
fuente
Me gustaría dar la recompensa a una prueba o una prueba de que f(n)=2no(n) para el caso |Σ|2 . Y si no hay ninguno, lo daré a la mejor construcción que uno pueda obtener.
Hsien-Chih Chang 張顯 之

Respuestas:

22

Para que la declaración se mantenga, f debe crecer exponencialmente, incluso con el alfabeto unario.

[Editar: El análisis se mejora ligeramente en la revisión 2.]

Aquí hay un boceto de prueba. Suponga que la declaración se cumple y deja que f sea ​​una función tal que cada NFA con como máximo n estados que acepte todas las cadenas con longitud como máximo f ( n ) acepte todas las cadenas en absoluto. Demostraremos que por cada C > 0 y n suficientemente grande , tenemos f ( n )> 2 C ⋅√ n .

El teorema del número primo implica que para cada c <lg e y para k suficientemente grande , hay al menos c ⋅2 k / k primos en el rango [2 k , 2 k +1 ]. Tomamos c = 1. Para tal k , deje N k = ⌈2 k / k ⌉ y defina un NFA M k de la siguiente manera. Sea p 1 ,…, p N k primos distintos en el rango [2 k , 2 k +1] El NFA M k tiene S k = 1 + p 1 +… + p N k estados. Además del estado inicial, los estados se dividen en N k ciclos donde el i ésimo ciclo tiene una longitud p i . En cada ciclo, todos menos un estado son estados aceptados. El estado inicial tiene N k bordes salientes, cada uno de los cuales va al estado inmediatamente después del estado rechazado en cada ciclo. Finalmente, también se acepta el estado inicial.

Sea P k el producto p 1 ... p N k . Es fácil ver que M k acepta todas las cadenas de longitud menor que P k pero rechaza la cadena de longitud P k . Por lo tanto, f ( S k ) ≥ P k .

Tenga en cuenta que S k ≤ 1 + N k ⋅2 k +1 = o (2 2 k ) y que P k ≥ (2 k ) N k ≥ 2 2 k . El resto es estándar.

Tsuyoshi Ito
fuente
¿Cuál es su conjetura sobre el mejor valor de ? Say , o en algún lugar entre y ? ff(n)=2n+12n2cn
Hsien-Chih Chang 張顯 之
@ Hsien-Chih: Me preguntaba lo mismo, y no tengo ninguna conjetura razonable. Primero, es trivial ver f (n) ≤2 ^ n (no necesitamos +1) y, aunque espero alguna mejora lineal sobre este límite superior, no tengo idea de si está ajustado a un factor constante. (más)
Tsuyoshi Ito
(continuación) Segundo, en cuanto al límite inferior, si no me equivoco, un ligero refinamiento del análisis anterior proporciona el siguiente límite inferior: por cada constante 0 <c < y n suficientemente grande, tenemos . Probablemente sea posible realizar más ajustes, pero no podemos obtener un límite inferior como 2 ^ {n ^ p} para p> 1/2 si utilizamos la misma construcción del NTM. Creo que es una pregunta interesante si el uso de la distribución de primos (como el PNT) es esencial para la construcción de malos ejemplos. (más)1/2f(n)>ecnlnn
Tsuyoshi Ito
(continuación) Sin embargo, si está interesado y desea investigarlo más a fondo, probablemente sea más prudente buscar primero la literatura. No me sorprenderá si esta respuesta o algo mejor ya ha aparecido en la literatura.
Tsuyoshi Ito
55
@ Tsuyoshi: Chrobak muestra que un DFA de estado n para un lenguaje unario puede simularse mediante un NFA de estado para . Por lo tanto, su construcción es estricta si el lenguaje es unario. Ver [Chr86]: cs.ust.hk/mjg_lib/Library/Chro86.pdfm=O(enlogn)
Hsien-Chih Chang 張顯 之
19

EDITAR AL 10/12/06:

ok, esta es la mejor construcción que puedo obtener, mira si alguien tiene mejores ideas.

Teorema. Para cada Hay un estados NFA sobre alfabetos con modo que la cadena más corta que no está en es de longitud .n(5n+12)MΣ|Σ|=5L(M)(2n1)(n+1)+1

Esto nos dará .f(n)=Ω(2n/5)

La construcción es más o menos la misma que la de Shallit , excepto que primero construimos un NFA directamente en lugar de representar el lenguaje mediante una expresión regular. Dejar

Σ={[00],[01],[10],[11],} .

Para cada , vamos a construir un lenguaje de reconocimiento NFA , donde es la siguiente secuencia (tome por ejemplo):nΣ{sn}snn=3

s3=[00][00][01][00][01][10][11][11][01] .

La idea es que podemos construir un NFA consta de cinco partes;

  • un iniciador , que asegura que la cadena comience con ;[00][00][01]
  • un terminador , que garantiza que la cadena termine con ;[11][11][01]
  • un contador , que mantiene el número de símbolos entre dos 's como ;n
  • un verificador add-one , que garantiza que solo aparezcan símbolos con la forma ; finalmente,xx+1
  • un verificador consistente , que garantiza que solo los símbolos con la forma puedan aparecer simultáneamente.xyyz

Tenga en cuenta que queremos aceptar lugar de , por lo que una vez que descubramos que la secuencia de entrada está desobedeciendo uno de los comportamientos anteriores, aceptamos la secuencia de inmediato. De lo contrario, después depasos, el NFA estará en el único estado de rechazo posible. Y si la secuencia es más larga que, la NFA también acepta. Por lo tanto, cualquier NFA satisface las cinco condiciones anteriores solo rechazará .Σ{sn}{sn}|sn||sn|sn

Puede ser fácil verificar la siguiente figura directamente en lugar de una prueba rigurosa:

NFA por rechazar s_n

Comenzamos en el estado superior izquierdo. La primera parte es el iniciador y el contador, luego el verificador consistente, el terminador, finalmente el verificador de agregar uno. Todo el arco sin nodos terminales apunta al estado inferior derecho, que es un aceptador de todos los tiempos. Algunos de los bordes no están etiquetados debido a la falta de espacios, pero se pueden recuperar fácilmente. Una línea de trazos representa una secuencia de estados con aristas.n1n2

Podemos (dolorosamente) verificar que la NFA rechaza solamente, ya que sigue las cinco reglas anteriores. Por lo tanto, se ha construido un NFA de estado con , que satisface el requisito del teorema.sn(5n+12)|Σ|=5

Si hay alguna falta de claridad / problema con la construcción, deje un comentario e intentaré explicarlo / solucionarlo.


Esta pregunta ha sido estudiada por Jeffrey O. Shallit et al., Y de hecho el valor óptimo de todavía está abierto para . (En cuanto al lenguaje unario, vea los comentarios en la respuesta de Tsuyoshi )f(n)|Σ|>1

En la página 46-51 de su charla sobre universalidad , proporcionó una construcción tal que:

Teorema. Para para algunos suficientemente grandes, hay una NFA de estado sobre alfabetos binarios, de modo que la cadena más corta que no está en es de longitud para .nNNnML(M)Ω(2cn)c=1/75

Por lo tanto, el valor óptimo para está entre y . No estoy seguro de si el resultado de Shallit ha mejorado en los últimos años.f(n)2n/752n

Hsien-Chih Chang 張顯 之
fuente
Estoy jugando con el trabajo de Shallit, espero obtener un mejor límite mucho más cerca de . Su construcción parece interesante, especificando alguna secuencia de longitud que no puede representarse mediante una expresión regular "corta" de longitud , y cada expresión regular de longitud puede ser descrito por un NFA de tamaño . Actualmente puedo dejar que , pero una idea más inteligente es tener que acercarse . 2nΩ^(2n)cn+o(n)f(n)f(n)+1c222n
Hsien-Chih Chang 張顯 之
2
No creo que proporcione más información para estudiar este problema, pero la referencia académica adecuada para la charla de Shallit es: K. Ellul, B. Krawetz, J. Shallit, M. Wang: Expresiones regulares: nuevos resultados y problemas abiertos. Journal of Automata, Languages ​​and Combinatorics 10 (4): 407-437 (2005)
Hermann Gruber
@Hermann: Gracias por la referencia, actualmente no puedo acceder al documento, pero encontraré la manera de hacerlo.
Hsien-Chih Chang 張顯 之
Creo que al usar el contador podemos reemplazar el arrancador y el terminador por una máquina pequeña de 2 estados. Por lo tanto, esto reduce aún más el tamaño de NFA a . 3n+O(1)
Hsien-Chih Chang 張顯 之
1
La versión preimpresa del autor del artículo JALC mencionado está aquí: cs.uwaterloo.ca/~shallit/Papers/re3.pdf El enlace y la prueba es la misma en la versión impresa.
Hermann Gruber