¿Dónde puede encontrar una buena explicación de la gramática libre de contexto?

Una gramática libre de contexto es aquella en la que las reglas de producción son independientes del contexto. El lenguaje descrito por el CFG es un lenguaje sin contexto.

Cada regla de producción de CFG puede escribirse como S-> a, donde S es un símbolo no terminal único y una combinación de reglas de producción o no terminales. Por ejemplo, la siguiente es una gramática libre de contexto, al igual que cualquier combinación de las reglas de forma aislada. Tomé este ejemplo de Wikipedia.
Regla 1: [matemáticas] S \ a aSa [/ matemáticas]
Regla 2: [matemáticas] S \ a bSb [/ matemáticas]
Regla 3: [matemáticas] S \ a \ epsilon [/ matemáticas]
(Epsilon es la cadena vacía).

Los siguientes son ejemplos de cadenas que pueden ser construidas por esta gramática: es decir, miembros de la CFL, L , descritos por esta CFG y las derivaciones correspondientes.

  • aa: Regla 1, seguida de la Regla 3
  • aabb: Regla 1, seguida de la Regla 2, seguida de la Regla 3.
  • La cadena vacía (Regla 3).

El lenguaje descrito por una gramática también se puede describir en notación de conjunto.

Debido a las restricciones en una gramática libre de contexto, cada regla de producción existe independientemente de las demás.

Por el contrario, un lenguaje regular se describe mediante una gramática regular. Las gramáticas regulares son un subconjunto estricto de gramáticas libres de contexto. (Consulte la jerarquía de Chomsky). Esta es la teoría que sustenta las expresiones regulares que los programadores usan con tanta frecuencia, ya que las expresiones regulares son instancias extraídas de un lenguaje regular. Existe una equivalencia exacta entre los idiomas regulares y los autómatas de estados finitos: es decir, se puede construir un FSA para aceptar un idioma si y solo si es regular. (Por lo tanto, existe un FSA para cada expresión regular).

Los idiomas regulares agregan más restricciones a las reglas de producción. Hay gramáticas regulares derechas y gramáticas regulares izquierdas. La segunda regla determina si un RL es uno u otro. (Ver la página de Wikipedia). Las gramáticas regulares derecha e izquierda describen el conjunto completo de lenguajes regulares.

Mi libro favorito sobre este tema es la Introducción a la teoría de la computación extremadamente bien escrita, de Michael Sipser. Si compara precios, puede encontrar una copia antigua a bajo precio sin demasiados problemas.

More Interesting

¿Qué tan grande puede llegar a ser un átomo?

¿Cómo gestionar modelos de aprendizaje automático? ¿Cómo realiza un seguimiento de los modelos de aprendizaje automático mientras los itera? ¿Cómo se compara el rendimiento de diferentes modelos / conjuntos de datos? ¿Cuáles son algunos puntos débiles en su flujo de trabajo?

¿Cuál es el principio de funcionamiento del subespacio aleatorio en el aprendizaje automático?

¿Puede una biblioteca de aprendizaje automático integrarse con Django? ¿Si es así, cómo?

¿Cómo explico la gramática libre de contexto a los 5 años?

¿Cuáles son las próximas tendencias en informática de alto rendimiento? ¿Es necesario el conocimiento de IA para un experto en HPC?

Si resolviera el problema P vs NP, ¿qué haría?

¿Queremos que la máquina o el software de IA sean perfectos? La prueba de Turing no requiere que sea perfecta, sino que exhiba una inteligencia equivalente o indistinguible de la de un humano. Si no estamos buscando algo perfecto o superior, ¿por qué desarrollar una máquina o software de IA?

¿Qué son los autómatas?

¿Cuál será el código para contar a las personas que entraron o salieron de la sala en Mega 8?

Cómo comenzar a participar en la investigación de interacción humano-computadora como estudiante universitario

¿Cuál es la diferencia entre hosts virtuales y servidores virtuales?

¿Existe una simulación por computadora para cuestiones económicas y sociales?

¿Cómo cambiaría el mundo digital si pudieras comprimir cualquier archivo al 0.001% de su tamaño original para archivos de al menos 1 KB de tamaño?

¿Cómo tarda un algoritmo aleatorio de selección rápida en O (n)?