Przejście do członkostwa monoidów w DFA

9

Biorąc pod uwagę pełne DFA A=(Q,Γ,δ,F), możemy zdefiniować zbiór funkcji fa dla każdego aΓi z fa:QQ, fa(q)=δ(q,a). Możemy uogólnić to pojęcie na słowow=a1,,am i fw=fa1fam gdzie oznacza skład funkcji. Ponadto oznaczamyG={fwwΓ} i G jest monoidem.

[Gjest zwykle nazywany monoidem przejściowym w standardowym podręczniku, ale tutaj odtwarzam definicję dla przejrzystości.]

Pytanie brzmi, biorąc pod uwagę funkcję f:QQmożemy podjąć decyzję fG (najlepiej w czasie wielomianowym), a jeśli tak jest (tzn. istnieje w takie, że f=fw), czy w jest tylko wielomianowy, czy może być wykładniczo długi?

[Chyba takie słowo może być wykładniczo długie, ale szukam prostego przykładu.]

maomao
źródło

Odpowiedzi:

9

Rozstrzygalność

To jest rozstrzygalne. Istnieje tylko wiele możliwych funkcjif:QQ, dzięki czemu możesz modelować to jako problem z osiągalnością wykresu, z jednym wierzchołkiem na funkcję i krawędzią gh jeśli istnieje aΓ takie, że h=fag. Następnie testowanie, czy funkcjag jest w G sprowadza się do sprawdzenia, czy g jest osiągalny na wykresie od fϵ. Możesz znaleźć najkrótsze takie słowo przy pierwszym użyciu. Czas działania może być wykładniczy w ciąguQ, chociaż.

Długość słowa

Najkrótsze takie słowo może być wykładniczo długie. Oto przykład takiego DFA. Pozwolićp1,,pk bądź pierwszy kliczby pierwsze Wtedy stan będzie miał formę(i,x) gdzie i{1,,k} i xi{0,1,,pi1}. Zdefiniuj DFA z jednoargumentowym alfabetemΓ={0} i funkcja przejścia δ((i,x),0=(i,x+1modpi). Funkcjaf0:QQ jest dany przez

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

Teraz rozważ funkcję g:QQ podane przez

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

Aby to wykazać, można użyć twierdzenia o reszcie chińskiej g=f0n gdzie n=p1×p2××pk1, i to 0njest najkrótszym takim słowem. Co więcej,|Q|=p1++pk, więc n jest wykładniczo duży w Q.

W związku z tym nie ma nadziei na algorytm wielomianowy, który generuje takie słowo. To wciąż pozostawia otwartą możliwość algorytmu wielomianowego czasu do decydowania, czyg jest w G, chociaż.

DW
źródło