Jul 23, 2024
a^n b^n
con n >= 0
a
a
con quello di b
mentre si leggonoa
sulla pila per ogni a
letta dal nastro d'ingressoa
dalla pila per ogni b
letta dal nastro d'ingressoa
è uguale al numero di b
e si accetta la stringaa / Z0 → Z0 B
(dallo stato q0
a q1
leggendo a
quando la pila è vuota e scrivendo Z0 B
sulla pila)q0
a q1
con a
e pila vuota (Z0
), scrive Z0 B
sulla pilaa^n b^n
con n >= 0
, quindi non si accetta la stringa vuotaq1
finché si legge a
, scrivere a
sulla pilaq1
a q2
leggendo b
, consumare a
dalla pilaq2
a q3
leggendo b
, consumare b
dalla pilaa^3 b^3
q0
con nastro vuoto (Z0
sulla pila)q1
leggendo la prima a
e scrivendo Z0 B
q1
, legge altre a
e scrive a
sulla pilaq1
a q2
leggendo b
, consumare a
dalla pilaa
in q2
per ogni b
lettaq2
a q3
con pila vuota (Z0
), accetta la stringa{Q, Σ, Γ, Δ, q0, Z0, F}
Q
: insieme finito di statiΣ
: alfabeto di ingressoΓ
: alfabeto della pilaΔ
: funzione di transizioneq0
: stato inizialeZ0
: simbolo iniziale sulla pilaF
: insieme di stati finaliΔ
definita come:
q
leggendo un simbolo di ingresso i
o il simbolo ε
su un simbolo della pilaq * Σ * Γ → Q * Γ*
input, pila / output
ε
-mosse può avvenire con nastro vuoto o con simbolia^n b^n
senza simboli di marcatura
q2
a q3
con pila vuota (Z0
) per accettare se pila Z0
a^n b^n