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 a ∘ g g G g f ϵ Qf:Q→Qg→ha∈Γh=fa∘ggGgfϵ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,…,pi−1}Γ={0}δ((i,x),0=(i,x+1modpi)f0:Q→Q
f0(i,x)=(i,x+1modpi).
Ora considera la funzione data dag:Q→Q
g(i,x)=(i,x−1modpi).
È 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×⋯×pk−10n|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