Maszyna Turinga

 

W dzisiejszych czasach wszyscy korzystamy z komputerów, warto jednak zastanowić się nad ich historią. Trzeba przyznać, że swego rodzaju pierwowzorem komputera była właśnie maszyna Turinga – to właśnie ten projekt pozwolił w dużej mierze na dalszy rozwój techniczny w tej właśnie dziedzinie. Warto podkreślić, że maszyna Turinga była rozwiązaniem całkowicie abstrakcyjnym, miała ona wykonywać algorytmy. Według wizji jej twórcy maszyna ta miała mieć postać długiej taśmy, która podzielona była na pojedyncze pola T. Taśma ta miała poruszać się wokół teoretycznej głowicy i zapisywać poszczególne operacje, wartości. Wyidealizowana maszyna Turinga miała działać na podstawie specjalnej listy rozkazów, która można porównać z programami komputerowymi i ich instrukcjami. Warto jeszcze dodać, że zgodnie z założeniami maszyny, każdy algorytm, który mogła ona wyrazić, można było także określić poprzez rachunek lambda. Zresztą prawidłowość to działa także w drugą stronę. Pamiętając, że maszyna Turinga to pojęcie abstrakcyjne, możemy z powodzeniem zastanowić się nad rozmaitymi wariantami tego urządzenia. Przykładem nieco odmiennych maszyn Turinga są maszyny posiadające wiele taśm lub też maszyny określane niedeterministycznymi – oznacza to, że kilka instrukcji dotyczy w takim przypadku jednego tylko stanu maszyny. Zdarzają się również maszyny Turinga wielowymiarowe. Niezależnie od poszczególnych wariantów tego abstrakcyjnego urządzenia informatycy są zdania, że wszystkie jego warianty są w zasadzie równoważne. Oznacza to, iż w praktyce wielotaśmowa maszyna Turinga jest w zasadzie takim samym urządzeniem jak maszyna wyposażona tradycyjnie tylko w jedną taśmę. Co więcej maszyny deterministyczne stanowią od strony praktycznej równoważniki maszyn niedeterministycznych, dotyczy to zwłaszcza ich potencjalnej mocy obliczeniowej.