¿Cuál es la proporción de CFG ambiguos a todos los CFG ?
Como ambos conjuntos son infinitamente contables, la relación no está bien definida. Pero qué pasa con la densidad asintótica :
donde los símbolos terminales y no terminales provienen de un conjunto contable fijo.
El tamaño de una gramática es cualquier noción razonable de tamaño para las gramáticas, p. Ej.
- el número total de ocurrencias de variables y terminales en las reglas de producción, o
- el número total de ocurrencias de variable, o
- el número total de reglas de producción, o
- El número de variables distintas.
(Supongo que la definición de tamaño no afectará la respuesta).
fl.formal-languages
grammars
context-free
usuario18064
fuente
fuente
Respuestas:
La pregunta depende de la codificación exacta. Sin embargo, parece que en muchas codificaciones razonables, ya que la longitud tiende al infinito, el número de reglas de producción (para una interpretación adecuada del símbolo de inicio y el terminal ) será más de uno con alta probabilidad; aquí literalmente me refiero a la misma terminal . Si consideramos esto como ambigüedad, entonces espero que "la mayoría" de las gramáticas sean ambiguas. También podemos inventar situaciones similares, como las reglas y cada aparezca al menos una vez.S→a S a a S→S S→a
Suponiendo esta hipótesis general, que cada regla concebible (fija) debe aparecer con alta probabilidad ya que la longitud tiende al infinito, encontramos que "la mayoría" de las gramáticas generan de manera ambigua.Σ∗
Como ejemplo, considere la siguiente codificación para gramáticas sobre . El alfabeto gramatical consiste en los símbolos . Los no terminales están indexados por cadenas binarias de longitud de al menos 2. Las reglas están separadas por puntos. Cada regla es una secuencia de cadenas binarias separadas por punto y coma. La primera cadena binaria es la no terminal en el lado izquierdo, y el resto (si lo hay) constituye el lado derecho; si la primera cadena binaria no es un no terminal (es decir, es , 0,1), entonces se asume el no terminal inicial. El inicio no terminal es siempre 00.Σ={0,1} {0,1,;,.} ϵ
Bajo esta codificación, cada cadena en Describe alguna gramática. Una gramática aleatoria con alta probabilidad contendrá muchas copias dey, y en particular será ambiguo.{0,1,;,.}∗ .00;00. .00;0.
fuente