Iscrizione monoidale di transizione per DFA


9

Dato un DFA completo , possiamo definire una raccolta di funzioni per ciascuna e con , . Possiamo generalizzare questa nozione a una parola e dove indica la composizione della funzione. Inoltre denotiamo e è monoide.A=(Q,Γ,δ,F)faaΓfa:QQfa(q)=δ(q,a)w=a1,,amfw=fa1famG={fwwΓ}G

[ è di solito chiamato monoid di transizione nel libro di testo standard, ma qui riproduco la definizione per chiarezza.]G

La domanda è, data una funzione , possiamo decidere (idealmente in tempo polinomiale), e se questo è il caso (cioè, esiste una tale che ), se è solo polinomialmente lungo o può essere esponenzialmente lungo? f:QQfGw wf=fww

[Suppongo che davvero una parola del genere potrebbe essere esponenzialmente lunga, ma sto cercando un semplice esempio.]

Risposte:


9

decidibilità

È decidibile Esistono solo molte funzioni possibili , quindi puoi modellarlo come un problema di raggiungibilità del grafico, con un vertice per funzione e un bordo da se esiste tale che . Quindi, verificare se una funzione è in riduce a verificare se è raggiungibile nel grafico da . Puoi trovare la parola più breve usando breadth-first time. Il tempo di esecuzione potrebbe essere esponenziale in , però.g h a Γ h = f ag g G g f ϵ Qf:QQghaΓh=faggGgfϵQ

Lunghezza della parola

La parola più breve potrebbe essere esponenzialmente lunga. Ecco un esempio di tale DFA. Lascia che siano i primi numeri primi. Quindi uno stato avrà la forma cui e . Definire un DFA con alfabeto unario e la funzione di transizione . Viene data la funzione dip1,,pkk(i,x)i{1,,k}xi{0,1,,pi1}Γ={0}δ((i,x),0=(i,x+1modpi)f0:QQ

f0(i,x)=(i,x+1modpi).

Ora considera la funzione data dag:QQ

g(i,x)=(i,x1modpi).

È possibile usare il teorema del resto cinese per mostrare che dove e che è la parola più breve. Inoltre, , quindi è esponenziale di grandi .g=f0nn=p1×p2××pk10n|Q|=p1++pknQ

Di conseguenza, non c'è speranza per un algoritmo del tempo polinomiale che emetta una parola del genere. Ciò lascia comunque aperta la possibilità di un algoritmo temporale polinomiale per decidere se è in , comunque.gG

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.