Deterministički potisni automat

Izvor: Hrvatska internetska enciklopedija
Skoči na:orijentacija, traži

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

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.