4. Nedeterministické zásobníkové automaty (akceptory) a jejich vztah k bezkontextovým jazykům Flashcards

1
Q

Nedeterministické zásobníkové automaty

A

jsou to abstraktní modely výpočtu, které se používají k rozpoznávání jazyků

Jsou obdobou nedeterministických konečných automatů, avšak mají navíc zásobník, na který mohou ukládat a odebírat symboly

NZA může být popsán pomocí stavového diagramu, kde každý uzel reprezentuje stav automatu a šipky mezi nimi představují přechody podle vstupních symbolů a symbolů na vrcholu zásobníku

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Postup NZA

A

1, Nejprve automat v každém kroku přečte jeden symbol ze vstupu a jeden symbol ze zásobníku
2, Podle toho se přesune do nového stavu a případně nahradí symbol na vrcholu zásobníku jiným symbolem
3, Pokud automat dosáhne koncového stavu a zároveň se na vrcholu zásobníku nachází speciální symbol $ (označující prázdný zásobník), pak akceptuje vstupní řetězec

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vztah k bezkontextovým jazykům

A

Každý bezkontextový jazyk lze rozpoznat pomocí NZA a naopak

Každý NZA lze převést na bezkontextovou gramatiku, která generuje jazyk, který tento automat rozpoznává

Tento postup lze provést například pomocí konstrukce zásobníkového automatu z bezkontextové gramatiky

V důsledku toho jsou nedeterministické zásobníkové automaty často používány k analýze a zpracování bezkontextových jazyků, zejména v oblastech jako jsou překladače, kompilátory nebo syntaktická analýza programů

How well did you know this?
1
Not at all
2
3
4
5
Perfectly