Centrum wiedzy o technologiach i pracy w IT
maszyna-turinga-co-to-jest-protoplasta-komputera

Maszyna Turinga – co to jest i gdzie ma zastosowanie?

Maszyna Turinga to jedno z dzieł genialnego angielskiego matematyka i kryptologa. Wsławił się on także pomocą w rozszyfrowaniu Enigmy, niemieckiej maszyny szyfrującej. Stworzył koncepcję maszyny liczącej, która miała działać na podobnej zasadzie, jak opracowane wiele lat później komputery.

Ostatnia aktualizacja: 14.09.2022. Dodaliśmy informację na temat Kompletności Turinga.

Zobacz: Pierwsza mysz komputerowa. Jaka jest jej historia?

Nie udało się zapisać Twojej subskrypcji. Spróbuj ponownie.
Udało się! Widzimy się niebawem – newsletter wysyłamy w każdy wtorek

Otrzymuj za darmo unikalne poradniki, dane i wiedzę o pracy w IT – dostarczane co tydzień

Klikając “Zapisz mnie” wyrażasz zgodę na otrzymywanie e-maili od redakcji, a także ofert partnerów oraz akceptujesz naszą Politykę prywatności.

Kim był Alan Turing?

Alan Turing urodził się 23 czerwca 2912 roku w Londynie. Wychowywał się w Anglii, mimo iż jego rodzice wyjechali do Indii. W szkole radził sobie dobrze jedynie z naukami ścisłymi, ale zawalał wszystko, co związane było z naukami humanistycznymi.

Zamiłowanie do matematyki i rozwiązywania różnych testów oraz łamigłówek sprawiły jednak, że otrzymał stypendium naukowe na King’s College w Cambridge, gdzie studiował matematykę.

Tam też napisał swoją słynną pracę naukową „On Computable Numbers With An Application To The Entscheidungsproblem”, czyli „O liczbach obliczalnych i ich zastosowania do problemów decyzyjnych”.

W późniejszych latach przyczynił się do rozwoju kryptografii w Rządowej Szkole Kodów i Szyfrów, opracowując urządzenie zwane potocznie Bombą Turinga. Wykorzystał on do tego prace Mariana Rajewskiego. Maszyna ta pozwoliła znacznie szybciej rozwiązać problem deszyfracji komunikatów przygotowanych z wykorzystaniem niemieckiej maszyny szyfrującej Enigma.

Za swoje osiągnięcia odznaczono go Orderem Imperium Brytyjskiego.

Po II Wojnie Światowej zajął się problemami sztucznej inteligencji. To poskutkowało powstaniem Testu Turinga. Dzięki niemu powinno się dać określić w ślepym teście, czy rozmawia się z człowiekiem, czy też maszyną.

Więcej o Alanie Turingu, jego życiu i pracy dowiecie się z Wikipedii.

Maszyna Turinga

Alan Turing stworzył koncepcję maszyny, która była w stanie wykonywać zaprogramowane operacje matematyczne, które obecnie nazywamy algorytmami. Dane do obliczeń miały być dostarczane urządzeniu na specjalnych taśmach perforowanych.

Ważne było to, że według jego koncepcji, do każdego rodzaju obliczeń (dodawanie, odejmowanie, dzielenie, mnożenie itp.) miały istnieć różne maszyny i zajmować się tylko jednym z wymienionych zagadnień.

Urządzenie zwane Maszyną Turinga miało być uniwersalne i zależnie od przygotowanych danych wejściowych, wykonywać różne operacje. Dane te miały być do niej dostarczane na nieskończonej długości taśmie podzielonej na komórki zawierające znaki możliwe do interpretacji i przetwarzania. Dodatkowo głowica odczytująca lub zapisująca te komórki musi mieć możliwość przesuwania się. Układ sterujący miał zarządzać przemieszczaniem się głowicy oraz przesuwaniem się taśmy.

Wiele lat później, pierwsze realnie działające komputery były niemal dokładnym odzwierciedleniem tej koncepcji. Wykonywały obliczenia, pobierając dane z kart perforowanych przygotowanych przez operatorów.

Zobacz: Komputer do pracy w IT– jaki wybrać?

Kompletność Turinga

Od nazwiska Alana Turinga nazwano cechę języka programowania lub systemu przetwarzającego dane. Kompletność Turinga polega na tym, że dany system lub język może rozwiązać podobną klasę problemów obliczeniowych, które również rozwiąże maszyna Turinga. Co to dokładniej oznacza? Jeśli system, maszyna lub język potrafi wyrazić lub wykonać każdy algorytm, to określa się je jako zupełne. Nie istnieją w tym przypadku dodatkowe warunki dotyczące wydajności.

W przypadku Kompletności Turinga, zupełne modele obliczeniowe są proste konstrukcyjnie. Pozwala to łatwo weryfikować ograniczenia obliczalności i umożliwia łatwiejsze zapisy matematyczne. Przykładami są:

  • maszyna Turinga,
  • rachunek lambda,
  • system półhueowski.

Ciekawostką jest to, że większość języków programowania jest zupełna w sensie Turinga. Wśród nich wymienić można:

  • Wszystkie języki ogólnego przeznaczenia: obiektowe (m.in. Java), wieloparadygmatowe (m.in. C++, R) i proceduralne (m.in. C).
  • Języki wykorzystujące mniej popularne paradygmaty: deklaratywne, logiczne i funkcyjne.

Zdjęcie tytułowe: Maszyna Turinga, zrekonstruowana przez Mike’a Davey’a, widziana w Go Ask ALICE na Uniwersytecie Harvarda (Wikipedia)

Total
0
Shares
_podobne artykuły