Deterministički potisni automat

Izvor: testwiki
Prijeđi na navigaciju Prijeđi na pretraživanje

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:

M=(Q,Σ,Γ,q0,Z0,A,δ) gdje

  • Q je konačan skup stanja
  • Σ je konačan skup ulaznih znakova (ulazna abeceda)
  • Γ je konačan skup znakova stoga (stogovna abeceda)
  • q0 je početno (ili inicijalno) stanje, element skupa Q
  • Z0 je početni znak stoga, element skupa Γ
  • A is the set of final states, a subset of Q
  • δ je konačna relacija prijelaza(Q×(Σ{Λ})×Γ) partitivni skup (skup svih podskupova) skupa (Q×Γ*)

M je deterministički ako zadovoljava oba sljedeća uvjeta:

  • Za svaki qQ,aΣ{Λ},XΓ, skup δ(q,a,X) sadrži najviše jedan element.
  • Za svaki qQ,XΓ, ako δ(q,Λ,X)=Ø, tada δ(q,a,X)=Ø za svaki aΣ

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 s 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

Predložak:Formalni jezici i gramatike