Para responder a esta pregunta, primero debemos comprender los siguientes términos:
Gramáticas sin contexto: una gramática sin contexto (CFG) es un conjunto de reglas de reescritura (o producciones) recursivas que se utilizan para generar patrones de cadenas. Aquí cada regla de producción es la forma de V -> w donde V = Single non terminal y w = String de terminales y / o no terminales (w puede estar vacío).
Idiomas sin contexto: los idiomas generados por CFG se denominan idiomas sin contexto.
- ¿Quién ideó el primer generador algorítmico de números aleatorios y cómo funciona?
- ¿Cómo es estudiar informática en Princeton?
- ¿Quién puede decirme el método paso a paso para comenzar a aprender el aprendizaje automático desde cero, comenzar a trabajar independientemente y convertirlo como mi trabajo a tiempo completo?
- ¿Es seguro que mi dispositivo de almacenamiento externo se expulse después de apagar mi PC?
- ¿Qué es mejor, BITS Goa CS o Hyderabad CS?
Ahora, para los idiomas normales , necesitamos una máquina llamada autómatas finitos .
Y para los lenguajes sin contexto, hay una máquina similar a los autómatas finitos llamada autómatas PushDown. Ahora hay uno sobre este PDA y hay una memoria llamada pila agregada a los autómatas finitos.
Pushdown automata = Autómata finito + Pila
En cualquier estado en FA miramos el elemento de entrada (la cinta de entrada PDA termina con Epsilon) o epsilon luego verificamos la parte superior de la pila y decidimos pasar a otro estado e imprimir alguna salida en el TOS. Esa función de transición se da en la figura anterior.
PDA es de dos tipos:
- PDA determinista ( ir a un solo estado y empujar un elemento a TOS )
- PDA no determinista ( Ir a más de un estado e imprimir más de un elemento en TOS )
Espero que esto ayude.
Gracias por leer.