Razlika između inačica stranice »Deterministički potisni automat«
(Bot: Automatski unos stranica) |
m (Bot: Automatska zamjena teksta (-{{cite book +{{Citiranje knjige)) |
||
Redak 26: | Redak 26: | ||
== Izvori == | == Izvori == | ||
*{{ | *{{Citiranje knjige | ||
| author = Siniša Srbljić | | author = Siniša Srbljić | ||
| title = Jezični procesori 1 | | title = Jezični procesori 1 |
Inačica od 07:12, 16. studenoga 2021.
U teoriji automata, deterministički potisni automat je deterministički konačni automat koji koristi podatkovnu strukturu stog. Termin "potisni" se odnosi na akciju "potiskivanja" (engl. pushing down) kojom bi prototipni mehanički automat fizički doticao bušenu karticu u svrhu iščitavanja njenog sadržaja. Termin "deterministički potisni automat" (DPA) u teoretskom računarstvu se odnosi na apstraktni matematički stroj koji prepoznaje determinističke kontekstno neovisne jezike.
Deterministički potisni automat je slabija verzija potisnog automata.
Definicija
DPA M se može definirati kao uređena sedmorka:
[math]\displaystyle{ M=(Q,\Sigma,\Gamma,q_0,Z_0,A,\delta) }[/math] gdje
- [math]\displaystyle{ Q }[/math] je konačan skup stanja
- [math]\displaystyle{ \Sigma }[/math] je konačan skup ulaznih znakova (ulazna abeceda)
- [math]\displaystyle{ \Gamma }[/math] je konačan skup znakova stoga (stogovna abeceda)
- [math]\displaystyle{ q_0 }[/math] je početno (ili inicijalno) stanje, element skupa [math]\displaystyle{ Q }[/math]
- [math]\displaystyle{ Z_0 }[/math] je početni znak stoga, element skupa [math]\displaystyle{ \Gamma }[/math]
- [math]\displaystyle{ A }[/math] is the set of final states, a subset of [math]\displaystyle{ Q }[/math]
- [math]\displaystyle{ \delta }[/math] je konačna relacija prijelaza[math]\displaystyle{ (Q \times ( \Sigma \cup \left \{ \Lambda \right \} ) \times \Gamma) \longrightarrow }[/math] partitivni skup (skup svih podskupova) skupa [math]\displaystyle{ (Q \times \Gamma ^{*}) }[/math]
M je deterministički ako zadovoljava oba sljedeća uvjeta:
- Za svaki [math]\displaystyle{ q \in Q, a \in \Sigma \cup \left \{ \Lambda \right \}, X \in \Gamma }[/math], skup [math]\displaystyle{ \delta(q,a,X) }[/math] sadrži najviše jedan element.
- Za svaki [math]\displaystyle{ q \in Q, X \in \Gamma }[/math], ako [math]\displaystyle{ \delta(q, \Lambda, X) \not= }[/math]Ø, tada [math]\displaystyle{ \delta(q,a,X) = }[/math]Ø za svaki [math]\displaystyle{ a \in \Sigma }[/math]
Dva su moguća kriterija prihvaćanja niza znakova: prihvaćanje praznim stogom i prihvaćanje prihvatljivim stanjem. Lako se može pokazati da su oba kriterija istovjetna: konačno stanje može u petlji uzimati znakove sa vrha stoga sve dok se sadržaj stoga ne isprazni, a i stroj može detektirati prazni stog i preći u prihvatljivo stanje detektiranjem jedinstvenog znaka kojeg na vrh stoga dodaje početno stanje.
Izvori
- Siniša Srbljić (2003). Jezični procesori 1. Element. ISBN 953-197-129-3
Teorija automata: formalni jezici i formalne gramatike | |||
---|---|---|---|
Chomskyjeva hijerarhija |
Gramatike | Jezici | Minimalni automat |
Tip 0 | Neograničenih produkcija | Rekurzivno prebrojiv | Turingov stroj |
n/a | (nema uobičajenog imena) | Rekurzivni | Odlučitelj |
Tip 1 | Kontekstno ovisna | Kontekstno ovisni | Linearno ograničen |
n/a | Indeksirana | Indeksirani | Ugniježđenog stoga |
Tip 2 | Kontekstno neovisna | Kontekstno neovisni | Nedeterministički potisni |
n/a | Deterministička kontekstno neovisna | Deterministički kontekstno neovisni | Deterministički potisni |
Tip 3 | Regularna | Regularni | Konačni |
Svaka kategorija jezika ili gramatika je pravi podskup nadređene kategorije. |