Maszyna Turinga

Maszyna Turinga
Polecane artykuły


Maszyna Turinga to model prostego automatu logicznego, opracowanego przez angielskiego matematyka i kryptologa, Alana Turinga, znanego przede wszystkim ze swojego wkładu w rozszyfrowanie kodu maszyny Enigma, używanej przez Nazistów podczas II wojny światowej. Turing przedstawił światu koncepcję swojej "logicznej maszyny obliczeniowej" w 1936 roku (W. Isaacson 2014, s. 135-137). Uznaje się ją za najprostszą konstrukcję podobną współczesnym komputerom. Opiera się ona na działaniu systemu jedynkowego (S. Wrycza (red.) 2010, s. 54). Do dziś funkcjonuje stwierdzenie, że program jest rozwiązywalny na komputerze, jeżeli da się zdefiniować odpowiednią dla niego maszynę Turinga. Podobnie też, za obliczalną uważa się taką funkcję, która zostanie wyliczona przez tę maszynę (Wrycza S. (red.) 2010, s. 185).

Składowe Maszyny Turinga

Automat logiczny musi zawierać trzy podstawowe składowe, żeby móc zostać uznanym za mechanizm Maszyny Turinga. Są nimi:

  1. taśma o nieskończonej długości, podzielona na komórki zawierające przetwarzane znaki,
  2. ruchoma głowica odczytująco-zapisująca,
  3. układ pozwalający na sterowanie głowicą w lewo i w prawo (Wrycza S. (red.) 2010, s. 185).

Taśma składa się z komórek, z kolei każda komórka zawiera symbol analizowany i przetwarzany przez maszynę. Są to tzw. dane wejściowe. Dzięki układowi sterującemu, głowica jest w stanie odczytywać wartości z kolejnych komórek. Po przetworzeniu znaków są one kodowane jako dane wyjściowe. Następnym elementem maszyny jest głowica. To ona jest odpowiedzialna za analizę symboli zawartych w komórkach. Przetwarzanie danych to z kolei nic innego, jak odczytywanie wartości z komórki i zapisywanie do niej innego symbolu. Ostatnią składową jest układ sterujący. To on nakazuje głowicy przemieszczenie się do sąsiednich komórek oraz odbiera i wysyła do niej poszczególne symbole (Lula P., Madej J., Stal J., Tadeusiewicz R., Tuchowski J. (2012), s. 30-31).

Sposób działania

Aby maszyna Turinga działała skutecznie, jej układ sterujący musi znajdować się w pewnym stanie. To właśnie ten stan określa, jaką czynność ma wykonać maszyna po sczytaniu symbolu z komórki. Stany przyjmują wartości od q0 do qn, gdzie q0 określa stan początkowy. Pojedyncza instrukcja dla maszyny Turinga zawiera pięć symboli - So, qi, Sz, qj, L/R, gdzie:

  • So stanowi symbol, który jest odczytywany z aktualnej komórki,
  • qi to aktualny stan układu sterującego,
  • Sz określa znak, który ma zostać zapisany w bieżącej komórce,
  • qj oznacza stan, w który ma przejść układ sterowania po wykonaniu instrukcji,
  • L/R czyli zmiana położenia głowicy. L to przesunięcie o jedną komórkę w lewo, natomiast R w prawo. N to komenda pozostawiająca głowicę w niezmienionej pozycji (Lula P., Madej J., Stal J., Tadeusiewicz R., Tuchowski J. (2012), s. 45).

Test Turinga

Alan Turing szukając odpowiedzi na nurtujące go pytanie "Czy maszyny myślą?”, zaproponował swego rodzaju test, nazwany przez niego samego "grą naśladownictwa", a dopiero później, od jego nazwiska: "Testem Turinga". W 1950 roku na łamach dziennika "Mind" opublikował on artykuł "Maszyna licząca a inteligencja" (ang. Computing Machinery and Intelligence) (W. Isaacson (2014), s. 281), w którym miał dowodzić tego, że urządzenie jest w stanie opanować ludzki sposób myślenia. Zasady testu są niezwykle proste. Sędzia prowadzi dialog z drugą stroną (jest nią człowiek bądź komputer). Maszyna zdaje egzamin, jeśli arbiter nie jest w stanie określić, czy prowadził rozmowę z istotą ludzką, czy z urządzeniem. Należy pamiętać, że zachowania zarówno żywej osoby, jak i programu są jak najbardziej zbliżone do zachowań ludzkich. Oczywiście, test nie jest idealny i nie do końca definiuje inteligencję maszynową. Wynikłe o to liczne spory, zwłaszcza podnoszone przez kognitywistów, oraz wszelkie wątpliwości co do jego efektywności są jak najbardziej zrozumiałe. Przez lata sformułowano trzy główne problemy testu:

  1. maszyna, aby przejść test Turinga, może posługiwać się sprytnie wymyślonymi regułami. Nawet jeśli uda się jej symulować ludzką konwersację, to w rzeczywistości nie musi świadczyć to o inteligencji programu,
  2. to, że maszyna nie posiada umiejętności ludzkiej rozmowy, nie musi świadczyć o tym, że nie jest inteligenta (sytuacja odwrotna do poprzedniej),
  3. zaproponowanej przez Turinga gry z pewnością nie zaliczyłby znaczny procent ludzi.

Ograniczony test Turinga po raz pierwszy odbył się w 1991 roku. Wówczas to, w Bostońskim Muzeum komputerów, sześć maszyn miało udawać ludzi a dwie osoby maszyny. W teście brało udział dziesięciu sędziów, z których każdy przeprowadził rozmowę ze wszystkimi partnerami. Zwyciężył program autorstwa Josepha Weintrauba. Udało mu się oszukać połowę arbitrów. Dużym zaskoczeniem był fakt, że aż trzech sędziów uznało Shakespearowego znawcę za urządzenie mechaniczne. Wyjątkowo szybkie i dokładne cytowanie utworów poety zostało uznane za odczyt z pamięci masowej.

Bibliografia

Autor: Natalia Kargula, Michał Srokosz