Processing math: 76%

Obliczalność i nierozstrzygalność

  1. Udowodnić równoważność następujących warunków

    1. język L jest częściowo obliczalny,
    2. język L jest dziedziną pewnej funkcji częściowo obliczalnej,
    3. język L jest zbiorem wartości pewnej funkcji częściowo obliczalnej,
    4. język L jest zbiorem wartości pewnej funkcji obliczalnej.
  2. Udowodnić, że język L jest obliczalny, wtedy i tylko wtedy, gdy jest skończony lub jest zbiorem wartości pewnej funkcji obliczalnej rosnącej.
  3. Udowodnić następujące twierdzenie Turinga–Posta : jeśli zarówno język jak i jego uzupełnienie są częściowo obliczalne, to są również obliczalne.
  4. Udowodnić, że istnieje zbiór częściowo obliczalny, którego uzupełnienie nie zawiera żadnego nieskończonego zbioru częściowo obliczalnego.
  5. Udowodnić, że istnieje automat z dwoma (sic !) licznikami A taki, że nie jest rozstrzygalne, czy A zatrzymuje się dla danej wejściowej n. Wskazówka : wykorzystać zadanie ??.
  6. Udowodnić nierozstrzygalność następującego problemu Posta.

    Dane są dwie listy słów : u1,,unΣ i w1,,wnΣ. Pytanie, czy istnieje ciąg indeksów i1,,im{1,,n}, taki, że ui1uin=wi1win ? Jeśli taki ciąg istnieje, to słowo ui1uin (=wi1win) nazywamy rozwiązaniem danej instancji problemu Posta.

    Wskazówka : Rozważyć zmodyfikowany problem Posta, w którym dodatkowo wymaga się, by pierwszymi słowami w rozwiązaniu były u1 i w1 (tzn. i1=1). Redukcja zmodyfikowanego problemu do oryginalnego problemu Posta nie jest trudna. Z kolei przedstawić algoerytm, który dla dowolnej maszyny Turinga M i jej wejścia w konstruuje instancję P zmodyfikowanego problemu Posta w ten sposób, że P ma rozwiązanie wtedy i tylko wtedy, gdy M akceptuje w. Rozwiązaniem P (o ile istnieje) będzie właśnie akceptujące obliczenie M na w.

  7. Dowieść, że następujące problemy są nierozstrzygalne :

    1. Dana gramatyka bezkontekstowa G nad alfabetem Σ. Pytanie : czy L(G)=Σ ? (Tzw. problem uniwersalności.) Wskazówka : Dla maszyny Turinga M, udane obliczenie jest ciągiem c0#c1##cf, gdzie ci są konfiguracjami M, c0 jest konfiguracją początkową, cf akceptującą, oraz ciMci+1. Należy przedstawić algorytm, który dla dowolnej maszyny M konstruuje gramatykę GM generującą wszystkie ciągi, które nie są udanymi obliczeniami. A zatem, gdybyśmy potrafili rozstrzygać problem uniwersalności, moglibyśmy również rozstrzygać problem niepustości (L(M) ?) dla maszyn Turinga, co jest niemożliwe (na mocy twierdzenia Rice'a).
    2. Dane dwie gramatyki bezkontekstowe G1,G2. Pytanie : czy L(G1)(G2) ? Wskazówka : Podobnie jak poprzednie zadanie, ale należy wykorzystać operację lustrzanego odbicia.
    3. Dana gramatyka bezkontekstowa G. Pytanie : czy G jest jednoznaczna (tzn. dla każedego słowa w L(G) istnieje dokładnie jedno drzewo wyprowadzenia).
      Wskazówka : wykorzystać problem Posta.
  8. Czy następuący problem X jest rozstrzygalny:
    Dana gramatyka bezkontekstowa G, sprawdzić czy L(G) zawiera palindrom.

  9. Załóżmy, że wiemy że jednotasmowa deterministyczna maszyna Turinga M wykonuje zawsze co najwyzej jeden ńawrót” (to znaczy glowica przesuwa sie w prawo a od pewnego momentu już tylko w lewo). Czy problem “wL(M)” jest rozstrzygalny, gdzie w jest słowem wejściowym a L(M) oznacza zbiór słów akceptowanych przez M stanem akceptującym.

  10. Czy następujący problem jest rozstrzygalny. Dane są dwa słowa u,wΣ oraz liczba k, sprawdzić czy

    ( xΣ) ( |x|>k & Ile(w,x)=Ile(u,x) )

    gdzie Ile(w,x) oznacza liczbę wystąpień słowa w jako podsłowo x (wystąpienia nie muszą być rozłączne).

  11. Niech bin(n) oznacza zapis binarny liczby naturalnej n. Mamy |bin(n)|=log2n+1 z wyjątkiem liczby 0, dla której |bin(0)|=1. Określić obliczalną różnowartościową funkcję pary {0,1}×{0,1}, tak by

    |(x,y)|=|x|+|y|+min

  12. Ustalamy pewne kodowanie maszyn Turinga, które pozwala nam utożsamiać maszynę M z pewnym słowem nad \{ 0,1\}. Rozważmy funkcję C, która parze \left(M,v\right) przyporządkowuje minimalną długość słowa x, takiego że

    M(x)=v

    lub specjalny symbol \infty, gdy nie ma takiego x.

    1. Dowieść, że funkcja C nie jest obliczalna.

      Wskazówka. W przeciwnym razie obliczalna byłaby również funkcja, która liczbie n danej w postaci binarnej przyporządkowuje pewne słowo w\in(0+1)^{n}, takie że

      \min\{|(M,x)|:M(x)=w\}\geq n

      (długość pary w rozumieniu za zadania ??). Biorąc za M maszynę obliczajacą tę funkcję oraz \mathit{bin}(n) za x, otrzymujemy sprzeczność.

    2. Dowieść, że funkcja C z punktu ?? moze być przybliżana w następującym sensie. Istnieje maszyna Turinga, która dla wejścia \left(M,v\right) produkuje nieskończony ciąg liczb, który od pewnego miejsca ustala się na wartości C\left(M,v\right).

      Uwaga. Nie ma sprzeczności pomiędzy punktami ?? i ?? , ponieważ odbiorca powyższego ciągu nigdy nie wie, czy jest on już ustalony.