Razlika između inačica stranice »Deterministički potisni automat«
(Bot: Automatski unos stranica) |
m (brisanje nepotrebnih znakova) |
||
(Nije prikazana jedna međuinačica istog suradnika) | |||
Redak 1: | Redak 1: | ||
U [[teorija automata|teoriji automata]], '''deterministički potisni automat''' je [[deterministički konačni automat]] koji koristi podatkovnu strukturu ''stog''. | |||
Termin "potisni" se odnosi na akciju "potiskivanja" ([[engleski jezik|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čki kontekstno neovisni jezik|determinističke kontekstno neovisne jezike]]. | Termin "potisni" se odnosi na akciju "potiskivanja" ([[engleski jezik|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čki kontekstno neovisni jezik|determinističke kontekstno neovisne jezike]]. | ||
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 |
Trenutačna izmjena od 02:07, 14. ožujka 2022.
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. |