Aquí hay una conjetura para expresiones regulares:
Para la expresión regular , deje que la longitudser el número de símbolos que contiene, ignorando paréntesis y operadores. Ej.| R | El | 0 ∪ 1 | = | ( 0 ∪ 1 ) ∗ | = 2
Conjetura: Si y contiene cada cadena de longitudo menos, entonces .
Es decir, si es 'densa' hasta longitud 's, entonces realmente genera todo.
Algunas cosas que pueden ser relevantes:
- Solo se necesita una pequeña parte de para generar todas las cadenas. Por ejemplo, en binario, funcionará para cualquier .
- Tiene que haber una estrella de Kleene en en algún momento. Si no lo hay, perderá una cadena de tamaño menor que.
Sería bueno ver una prueba o contraejemplo. ¿Hay algún caso en el que obviamente esté mal que me haya perdido? ¿Alguien ha visto esto (o algo similar) antes?
symbols
operations
Respuestas:
Keith Ellul, Bryan Krawetz, Jeffrey Shallit y Ming-wei Wang refutan su conjetura en su artículo "Expresiones regulares: nuevos resultados y problemas abiertos". Si bien el documento no está disponible en línea, un charla .
En el documento, definen la medida , que es el número de símbolos en R , sin contar ϵ o ∅ . Sin embargo, ∅ puede eliminarse de cada expresión que no genere el lenguaje vacío, y la expresión puede "limpiarse" para que el número de ϵ que contiene sea como máximo | a l p h ( R ) |El | a l p h (R) | R ϵ ∅ ∅ ϵ El | a l p h (R) | (Lema en la página 10 de la charla).
En la página 51, por cada construyen una expresión regular de tamaño O ( n ) sobre { 0 , 1 } que genera todas las cadenas de tamaño como máximo Ω ( 2 n n ) , pero no genera todas las cadenas. Tenga en cuenta que "tamaño" aquí es tanto en su sentido como en el de ellos, ya que estamos usando la notación big-O. También plantean una pregunta abierta para encontrar la mejor dependencia entre los dos parámetros.n ≥ 3 O ( n ) { 0 , 1 } Ω ( 2norten )
fuente