¿Qué es el autómata pushdown?

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.

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:

  1. PDA determinista ( ir a un solo estado y empujar un elemento a TOS )
  2. 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.

El autómata pushdown es un autómata no determinista.

esto se usa para almacenar símbolos de una cadena, como lo almacenamos en la pila, pero sigue presionando símbolos hasta que encuentra un símbolo diferente en la cadena, el momento en que encuentra el mismo símbolo que se almacena en su anterior y luego aparece el símbolo .

Es un tema muy extenso. Refiérase a algún libro para obtener un conocimiento detallado.

Usted debe saber-

Un autómata pushdown es una máquina que tiene algunos estados finitos y una pila. Puede aceptar lenguaje libre de contexto.

More Interesting

¿Es cierto que las personas ricas pueden aprender a programar más rápido porque pueden permitirse un costoso bootcamp de codificación y tener muchos más recursos para acceder?

¿Cómo puede un estudiante de CS en su segundo año de ingeniería (en una universidad de nivel 3) encontrar su dominio / área de interés en ciencias de la computación?

¿Cuáles son las diferencias entre ejecutar un servidor en la Tierra y en el espacio exterior?

¿Qué es una puerta de enlace SMS masiva?

¿Sería útil para un estudiante de CS estudiar Señales y Sistemas, así como el Procesamiento de Señal Digital?

¿Cómo es útil un co-NP Oracle cuando se enfrenta a una tautología?

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

¿Cuál es el mejor libro para la estructura de datos y algoritmos: Introducción a los algoritmos de Cormen, Estructura de datos usando C de Shirali Vasudeva, Estructura de datos de Narasimha Karumanchi o el de Tanenebaum?

¿Qué es el aprendizaje automático y su concepto?

¿Almacenar varias claves por nodo, como en B, B + Árboles, es un concepto válido?

Cómo resolver mis problemas relacionados con el calentamiento de computadoras portátiles

¿Cuáles son las ventajas del desenfoque gaussiano, el desenfoque mediano y el filtro bilateral?

¿Qué libros debo leer si quiero aprender más sobre sistemas distribuidos y software de contenedores?

¿Por qué el bit es la unidad de información más fundamental en la informática y no algo que puede tomar más de un estado (0,1,2,3 ... etc. en lugar de 0 y 1)?

¿Cuáles son las áreas más prometedoras en CS? ¿Por qué?