Note
A differenza di un FSA, dove la memoria dello stato del calcolo è finita, un automa a pila (AP o PDA, Push-Down Automaton) dispone di una memoria a impilamento con funzionamento Last In First Out (LIFO), cioè:
- La pila può crescere all’infinito
- Si può accedere alla sola cella in cima, e leggere la cima della pila lo cancella
Un automa a pila compie una mossa in funzione di:
- Simbolo letto dalla cima della pila
- Stato corrente nel FSA che costituisce l’organo di controllo
- Opzionalmente, simbolo letto dal nastro di ingresso
Un automa a pila passa alla configurazione successiva:
- Cambiando stato nell’organo di controllo
- Sostituendo al simbolo in cima alla pila una stringa
di simboli (anche nulla) - Spostando (opzionalmente la testina di lettura)
- Se l’automa è traduttore, scrivendo una stringa (anche nulla)
Per convenzione si etichettano gli archi con formato:
Inoltre consideriamo la pila inizializzata con
Automa riconoscitore
Note
In un automa riconoscitore a pila, la stringa
in ingresso è riconosciuta (accettata) se l’automa scandisce completamente , e una volta scandita tutta lo stato dell’organo di controllo è accettazione. Formalmente, un automa riconoscitore a pila è composto da:
come negli FSA alfabeto di pila simbolo iniziale di pila funzione di transizione con
PDA riconoscitore di
Esempio parentesi tonde ben formate
Automa traduttore
Note
In un automa traduttore, se la stringa è accettata, il nastro di scrittura contiene la sua traduzione al termine del calcolo
. Se la non è accettata la traduzione è indefinita: . Formalmente, un automa traduttore a pila è composto da:
come nei AP riconoscitori come negli FSA traduttori funzione di traduzione con
Stato di un AP
Note
Definiamo lo stato di un AP come
, con:
- Stato dell’organo di controllo
- Stringa ancora da leggere
- Stringa dei caratteri in pila
(per convenzione cresce da sinistra a destra) - Se l’AP è traduttore, la stringa scritta in output
Transizione tra configurazioni
Note
Definiamo una transizione tra due stati
e con l’operatore : Per comodità, sia
, cioè una sequenza di simboli con in cima. Se l’input è consumato, allora lo suddividiamo in . La funzione di trasmissione restituisce , e quindi l’output associato è . Di conseguenza, , e . Se l’input non è consumato, allora la funzione di transizione restituisce , e l’output associato è . Di conseguenza , e . È necessario che:
In caso contrario l’automa a pila è non deterministico.
Definiamo infinite
come chiusura riflessiva e transitiva .
In questo modo formalizziamo l’accettazione:
E la traduzione:
Famiglia dei linguaggi riconoscibili dagli AP
Note
Definiamo la famiglia dei linguaggi riconosciuti dagli AP deterministici come
. Si ha che non è chiusa rispetto all’unione e all’intersezione, ma è chiusa rispetto al complemento.
Pumping lemma per AP
Note


