Loading AI tools
Z Wikipedii, wolnej encyklopedii
Maszyna Turinga z wyrocznią – w teorii obliczeń abstrakcyjny model stosowany w celu badania problemów decyzyjnych. Maszynę Turinga z wyrocznią można traktować jako wielotaśmową maszynę Turinga z wyróżnioną, przeznaczoną tylko do odczytu taśmą (zwaną taśmą wyroczni), na której zapisany jest nieskończony ciąg symboli (zwany wyrocznią)[1][2][3]. Pod każdym innym względem maszyna Turinga z wyrocznią działa jak zwykła maszyna Turinga. Jeżeli zawartość taśmy wyroczni składa się wyłącznie z symboli zerowych, to taka maszyna jest zwykłą wielotaśmową maszyną Turinga.
Część autorów podaje alternatywną definicję, w której zbiór stanów maszyny rozszerzony jest o stany dodatkowe {qask,qyes,qno} związane z obsługą wyroczni. Odwołanie do wyroczni polega na zapisaniu słowa na taśmie wyroczni i wywołaniu stanu qask, co skutkuje przejściem do stanu qyes lub qno w zależności od rozwiązania problemu decyzyjnego, o które pytana jest wyrocznia[4]. Wyrocznia jest więc równoważna zbiorowi słów (językowi), dla których maszyna przechodzi do stanu qyes.
W ogólności wyrocznia może dawać rozwiązanie dowolnego problemu decyzyjnego lub problemu funkcyjnego. Taki problem nie musi być algorytmicznie rozstrzygalny, wyrocznia może reprezentować odpowiedzi w zakresie dowolnego, zdefiniowanego matematycznie zbioru problemów. Na przykład:
Maszyna Turinga z wyrocznią może rozstrzygnąć w skończonej liczbie kroków, czy dowolna maszyna Turinga z określoną daną wejściową nie zakończy pracy. Jednak nie istnieje maszyna Turinga z wyrocznią determinująca w ogólności, które maszyny Turinga z taką samą wyrocznią z określoną daną wejściową nie zakończą pracy[6]. Dowód przyjmuje identyczną formę jak w przypadku standardowych maszyn Turinga. Rozważmy pewną numerację maszyn Turinga z wyrocznią: C1, C2, ... Przypuśćmy, że A jest maszyną Turinga z wyrocznią taką, że jeżeli A zatrzymuje się działając na daną (q,n) to dowodzi, że Cq(n) nie kończy pracy. Dla pewnego k: Ck(n) = A(n,n). Zatem jeżeli A działa poprawnie to A(k,k) nie kończy pracy, ponieważ jeżeli A(k,k) kończy pracę, to Ck(k)=A(k,k) nie kończy pracy. Zatem jeżeli A działa poprawnie, to istnieje takie k, że pomimo że Ck(k) nie kończy pracy, A(k,k) nie kończy pracy, zatem A jest niezupełna. Pokazaną metodę diagonalizacji można w ogólności zastosować dla każdej maszyny Turinga z wyrocznią, której konfiguracja może być reprezentowana za pomocą liczby naturalnej.
Maszyny Turinga z wyrocznią znalazły zastosowanie w badaniu problemów związanych ze złożonością obliczeniową. Niech AL oznacza zbiór tych języków, które mogą zostać zdefiniowane przy użyciu deterministycznych, należących do klasy A maszyn Turinga z wyrocznią L. Na przykład P3-SAT oznacza zbiór tych języków, w przypadku których przynależność słowa można zdefiniować przy pomocy działającej w czasie wielomianowym deterministycznej maszyny Turinga z wyrocznią rozwiązującą problem 3-SAT.
Maszyny Turinga z wyrocznią są użyteczne w badaniu relacji pomiędzy klasami złożoności P i NP, co wiąże się z nierozwiązanym dotychczas problemem P vs NP. W szczególności twierdzenie Bakera-Gilla-Solovaya mówi, że istnieją takie języki X i Y, że PX = NPX i PY ≠ NPY [7]. Uważa się, że fakt ten świadczy o trudności problemu P vs NP, ponieważ pokazuje, że ten problem nie może zostać rozwiązany przy pomocy większości znanych technik dowodowych. Większość metod dowodowych to rozumowania, które relatywizują się, tzn. wykorzystują własności, które nie zmieniają się nawet, jeśli założymy, że każda maszyna Turinga w dowodzie ma dostęp do dowolnej, ale takiej samej wyroczni.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.