Dadas las expresiones regulares , ¿existen límites no triviales en el tamaño de la gramática libre de contexto más pequeña para ?R 1
20
Dadas las expresiones regulares , ¿existen límites no triviales en el tamaño de la gramática libre de contexto más pequeña para ?R 1
Respuestas:
Esta es una gran pregunta y realmente está dentro de mis intereses. Me alegra que lo hayas preguntado Max.
Deje que se den DFA con como máximo estados cada uno. Sería bueno si existiera un PDA con muchos estados sub-exponencialmente que acepten la intersección de los idiomas de DFA. Sin embargo, sugiero que tal PDA no siempre exista.O ( n )n O(n)
Considere el lenguaje de copia. Ahora, limítelo a copiar cadenas de longitud n.
Formalmente, considere -copy .: = { x xn := {xx|x∈{0,1}n}
Podemos representar -copy como la intersección de DFA de tamaño como máximo . Sin embargo, el DFA más pequeño que acepta -copy tiene estados.n O ( n ) n 2 Ω ( n )n n O(n) n 2Ω(n)
Del mismo modo, si nos limitamos a un alfabeto de pila binario, sospecho que el PDA más pequeño que acepta -copy tiene exponencialmente muchos estados.n
PD No dude en enviarme un correo electrónico si desea discutir más. :)
fuente
No creo que pueda haber límites inferiores o superiores no triviales.L1= { a2k} k L1 L1 L1 L1
L2 norte L2 es el peor de los casos, es decir, , por lo que la diferencia con el autómata "más pequeño" para es simplemente un factor logarítmico, proposición 1 enL2O ( nIniciar sesiónnorte) L2
Para límites inferiores, considere el idioma para una fija . El tamaño de la gramática libre de contexto más pequeña es logarítmico en el tamaño de la expresión regular de , mientras que el tamaño del autómata más pequeño para es lineal en el tamaño de la regular de . Esta diferencia exponencial se mantiene igual si intersectamos con otros lenguajes similares. Para los límites superiores, considere un lenguaje que consiste exactamente en una secuencia deBruijn de longitud . Se sabe que el tamaño de una gramática más pequeña parak L 1 L 1 L 1 L 1 L 2 n L 2 O ( n
Un límite inferior o superior general no trivial contradeciría esos resultados, ya que lo que es cierto para la intersección de idiomas debe ser cierto para la intersección de idioma.1norte 1
fuente
Permítanme apoyar el juicio de Michael, esta es una pregunta interesante. La idea principal de Michael se puede combinar con un resultado de la literatura, proporcionando así un límite inferior similar con una prueba rigurosa.
Me referiré a los límites en el tamaño de CFG en términos del número total de símbolos alfabéticos en las expresiones regulares. Deje que este número se denote por . (Como señaló john_leo, no encontraremos ningún límite útil en términos del número de expresiones regulares que participan en la intersección).kn k
Ni el OP ni Michael consideraron necesario mencionar esto, pero se puede probar fácilmente un límite superior de (en el número de estados) para convertir una intersección de expresiones regulares en un NFA. Para el registro, aquí está: Convierta las expresiones regulares en autómatas de Glushkov, que no son retornables. Luego aplique la construcción del producto para obtener un NFA para la intersección de estos idiomas. (Supongo que uno puede mejorar el límite a o menos.) Un NFA de estado se puede convertir en una gramática lineal derecha (que es un caso especial de un CFG) de tamaño (si medimos el tamaño de la gramática como el número total de símbolos en los lados izquierdo y derecho de las producciones), dando así el tamaño 2 k + 1 s O ( s 2 ) O ( 4 k )2k+1 2k+1 s O(s2) O(4k) . Este límite, por supuesto, suena horrible si tiene en mente aplicaciones prácticas. Puede que valga la pena intentar probar un límite mejor utilizando la complejidad de transición no determinista en lugar de la complejidad de estado no determinista para estimar el tamaño de la NFA.
La otra parte es encontrar un lenguaje testigo que pueda expresarse sucintamente como la intersección de las expresiones regulares, pero que es necesariamente engorroso de describir con un CFG. (Aquí necesitamos establecer un límite inferior en el tamaño de todos los CFG que generan el lenguaje, de los cuales puede haber infinitos). El siguiente argumento da un límite inferior.2Ω(k√/logk)
Considere el lenguaje finito , donde denota la inversión de . Entonces se puede expresar como la intersección de las siguientes expresiones regulares :w R w L n 2 n + 1Ln={wwRw∈{a,b}∗∣|w|=n} wR w Ln 2n+1
El número total de símbolos alfabéticos en esta intersección de expresiones está en .k O(n2)
Usando un argumento dado en la prueba del Teorema 13 en ( 1 ), uno puede probar que cada CFG acíclico que genera debe tener al menos distintas variables, si el lado derecho de cada regla tiene longitud como máximo . La última condición es necesaria para discutir sobre el número de variables, ya que podemos generar un lenguaje finito con una sola variable. Pero desde la perspectiva del tamaño de la gramática, esta condición no es realmente una restricción, ya que podemos transformar un CFG en esta forma con solo un aumento lineal de tamaño, ver ( 2 ). Observe que el lenguaje utilizado por Arvind et al. está sobre un alfabeto de tamaño , y esto produce un límite deLn 2n/(2n)=2Ω(k√/logk) 2 n nn/(2n) ; pero el argumento continúa con modificaciones obvias.
Aún así, queda una gran brecha entre y el límite inferior mencionado anteriormente.O(4n)
Referencias
V. Arvind, Pushkar S. Joglekar, Srikanth Srinivasan. Circuitos aritméticos y el producto Hadamard de polinomios , FSTTCS 2009, vol. 4 de LIPIcs, págs. 25-36
Lange, Martin; Leiß, Hans (2009). "¿ A CNF o no a CNF? Una versión eficiente pero presentable del algoritmo CYK ". Informatica Didactica 8.
fuente