Algorytmiczne maszyny do prezentacji. Maszyna Turinga

Jedna z pierwszych i bardzo udanych prób podania dokładnego
matematyczny odpowiednik intuicyjnego rozumienia algorytmu
było wprowadzenie koncepcji maszyny Turinga w 1937 roku, 9 lat wcześniej
pojawienie się pierwszego komputera.
Maszyna Turinga jest maszyną abstrakcyjną. To jest matematyczne
model wyidealizowanego urządzenia komputerowego.
Maszyna Turinga składa się z taśmy i urządzenia sterującego z
głowice czytające i piszące (wózki) (rys. 5.1).
Ryż. 5.1
Taśma jest sztywno zamocowana po lewej stronie i nieskończona po prawej stronie. czasem
uważaj, że taśma nie ogranicza się do prawej i lewej strony. Taśma jest podzielona na
komórki ponumerowane liczbami naturalnymi 1, 2,….
Symbole alfabetu zewnętrznego są wprowadzane do każdej komórki taśmy
Maszyny Turinga
A = (a0, a1, ... an).
(5.1)
Jeden ze znaków (spacja) pasuje do pustego, pustego
komórka.
Głowa może poruszać się po taśmie w lewo iw prawo. Kiedy
jest nieruchoma, a następnie stoi naprzeciw pewnej komórki taśmy; mówią, że
głowa widzi tę komórkę.

Przez jednostkę czasu, zwaną krokiem, głowa może:
przesuń jedną komórkę w lewo lub w prawo. Ponadto głowa
potrafi również rozpoznać zawartość przeglądanej komórki, potrafi
umieść znak alfabetu zewnętrznego w bieżącej komórce i może wymazać
zawartość bieżącej komórki lub, co jest to samo, napisz tam
przestrzeń.
Urządzenie sterujące może znajdować się w jednym z wielu
stany dyskretne:
Q = (q0, q1, ... qm).
(5.2)
Zbiór Q nazywany jest wewnętrznym alfabetem maszyny
Turing czyli alfabet stanów wewnętrznych.
Słowo to ciąg W = ai1, ai2, ..., ais symbole,
zapisane w komórkach taśmy, gdzie ai1 to znak znajdujący się w
lewa niepusta komórka, a ais to znak po prawej stronie
niepusta komórka. Liczba znaków s w słowie nazywana jest długością
słowa.
Niech w pewnym momencie t na taśmie zostanie napisane słowo W,
urządzenie sterujące jest w stanie qi, a wózek jest
naprzeciwko symbolu celu słowa W. Konfiguracja maszyny w chwili obecnej
czas t jest ciągiem K = ai1, ..., ai (m - 1), qi, aim ...,
ais. Konfiguracje na początku i na końcu pracy są odpowiednio nazywane.
początkowy i końcowy.

Przykład 5.4.
Niech na taśmie zostanie napisane słowo abcde, urządzenie sterujące
jest w stanie qi, a karetka znajduje się naprzeciwko znaku d.
Konfiguracja w tym przypadku będzie zapisana w następujący sposób:
Abcqide.
Ponieważ maszyna Turinga ma skończony alfabet i skończony
liczba stanów wewnętrznych, oczywiste jest, że może wykonywać
skończoną liczbę działań.
Jeśli urządzenie sterujące w pewnym momencie?
jest w stanie qi, symbol aj jest monitorowany, następna chwila
czas, zapisywany jest symbol ar, urządzenie sterujące przechodzi do
stan qk, a karetka jest przesunięta, to maszyna ma działać
Komenda
ajqi arSqk,
(5.3)
gdzie S - przesunięcie, S = L, jeśli przesunięcie w lewo, S = R, jeśli przesunięcie w prawo, S = C,
jeśli karetka pozostanie na swoim miejscu.
Zbiór wszystkich poleceń, które maszyna może wykonać,
nazwał jej program. Warunek wyjątkowości wymaga, aby
dla dowolnego j i dowolnego i jest tylko jedno polecenie postaci (5.3).

Każda maszyna Turinga jest całkowicie zdeterminowana przez własną
alfabet, stany wewnętrzne i program.
A więc maszyna Turinga to kolekcja
M = ,
(5.4)
gdzie A jest zewnętrznym alfabetem (5.1),
Q - alfabet wewnętrzny
stany (5.2), P jest programem (5.3).
Przykład 5.5.
Maszyna z alfabetem zewnętrznym A = (1, a), alfabetem wewnętrznym
stany Q = (q1, q2) i program
1q1 1Rq1,
aq1 1R q1,
z dowolnej konfiguracji początkowej będzie działać w nieskończoność,
wypełnienie całej taśmy jednostkami na prawo od punktu początkowego.

Kolejność działania maszyny Turinga jest często podawana w formie tabeli.
W każdej kolumnie górnego wiersza znaki wewnętrznego
alfabet, w każdym wierszu pierwszej kolumny - symbole zewnętrzne
alfabet. W komórkach na przecięciu innych kolumn i linii
są umieszczane polecenia.
Jeśli na przecięciu dowolnego wiersza i dowolnej kolumny we
otrzymujemy pustą komórkę, oznacza to, że w tym wewnętrznym
państwa, ten symbol nie występuje.
A / Q
a0
a1
q0
q1

qi
qn

aj
ajKqi

jestem
Format polecenia: aKq, gdzie:
a - nowa zawartość bieżącej komórki (nowy znak zewnętrznej
alfabet wprowadzony do bieżącej komórki);
K - Polecenie napędu taśmowego maszyny Turinga
(lewo, prawo, stop);
q to nowy stan wewnętrzny maszyny Turinga.

Następuje działanie maszyny na podstawie zadanego programu
w następujący sposób.
Załóżmy, że w danym momencie maszyna Turinga
jest w stanie wewnętrznym qi, a w monitorowanym wózku
komórka taśmy zawiera symbol aj.
Następnie maszyna przystępuje do wykonania polecenia ajKqi w komórce, on
przecięcie kolumny qi i wiersza aj:
1) nowy symbol aj jest wprowadzany do bieżącej komórki taśmy (ewentualnie,
to samo).
2) następuje przesunięcie głowy w lewo (K = w lewo) lub przesunięcie głowy
w prawo (K = w prawo) lub głowa pozostaje na swoim miejscu, tj.
zatrzymanie maszyny (K = stop).
3) samochód wchodzi do nowego stan wewnętrzny qi.
Możliwe przypadki zatrzymania maszyny Turinga:
1) podczas wykonywania programu maszyna przejdzie do realizacji
polecenia zatrzymania; program uważa się w tym przypadku za wykonany,
samochód zatrzymuje się - następuje skuteczne zatrzymanie.
2) samochód nigdy się nie zatrzymuje, jest pętla.

Przykład 5.6.
Niech zewnętrzny alfabet A = (0, 1, 2), a zbiór wewnętrznych
stany składają się tylko z jednego stanu Q = (q0). Niezbędny
skonstruować MT, który w dowolnym zapisie, zaczynając od dowolnego
komórka, przesuwając się w prawo, znajduje pierwsze zero i zatrzymuje się.
Taką maszynę można podać przy stole:
a
q0
0 0Cq0
1 1Rq0
2 2Rq0
Rzeczywiście, niech na początku maszyna jest w stanie
1 1 2 0 1 2 2
Głowa patrzy na symbol 1. Zgodnie z tab. wykonywane
komenda 1Rq0, czyli to samo
znak 1 i głowa przesunie się w prawo.
1
1
2
0
1
2
2
Teraz głowa znów patrzy na znak 1 i zgodnie z
patka. 5.2 wykonywane jest polecenie 1Rq0, czyli do monitorowanej komórki
ten sam znak 1 jest napisany i głowa jest przesunięta w prawo
1 1 2 0 1 2 2
Teraz głowa patrzy na symbol 2 i zgodnie z tabelą. 5.2
wykonywane jest polecenie 2Rq0, czyli
ten sam znak 2 i głowa jest przesunięta w prawo.
1 1 2 0 1 2 2
Teraz głowa patrzy na znak 0 i zgodnie z tabelą. 5.2
wykonywane jest polecenie 0Cq0, czyli zapisywana jest obserwowana komórka
to samo 0 i samochód się zatrzymuje.

Przykład 5.7.
Konstruujemy maszynę Turinga, która zamienia słowo AVB) na
słowo A i B, a słowo A i B) przekształca się w słowo A V B, które
jest zgodny z prawami de Morgana. Taką maszynę można określić
Tabela 5.2.
Zewnętrzny alfabet A = (А, B, V, &, (,), _) (symbol _ pasuje
pusta komórka), a zbiór stanów wewnętrznych składa się tylko z
jeden stan Q = (q0).
A
A
b
V
&
)
_
q0
_Rq0
ARq0
Rq0
& Rq0
VRq0
Rq0
BRq0
_Cq0

Dane maszyny Turinga to słowa w zewnętrznym alfabecie taśmy.
Na taśmie zapisywane są zarówno oryginalne dane, jak i wynik końcowy. Na
taśma może zawierać zarówno słowa, jak i sekwencje słów. V
W tym drugim przypadku między słowami umieszczany jest specjalny znak separatora, może to być spacja lub symbol. Liczba naturalna a
a
jest reprezentowany przez słowo 1 ... 1 = 1, składające się z jedynek. Na przykład,
liczba 3 odpowiada słowu 111.
Przykład 5.8.
Zbudujmy maszynę Turinga, która dodaje dwa
a
liczby naturalne a i b. Dodanie dwóch liczb a i b oznacza słowo 1
b
a + b
1 przekonwertuj na słowo 1.
Można to zrobić, usuwając znak separatora z wpisu a b i
przesunięcie pierwszego terminu na drugi. Taka maszyna może być
podane w tabeli. Alfabet zewnętrzny A = (1, _), gdzie jest symbolem
ogranicznik, a _ to znak pustej komórki (spacja). Wiele
stany wewnętrzne składają się z trzech stanów Q = (q0, q1, q2).
a
q0
q1
q2
1 _Rq1 1Rq1 1Lq2
* _Rq1 1Lq2
_
_Cq1
__Rq1
Stan początkowy i końcowy taśmy dla przypadku a = 2, b = 3
pokazano na ryc. a) i b)
a)
1 1 1 1 1
b)
1 1 1 1 1

Funkcje obliczane przez Turinga
Rozważymy funkcje f jednego lub więcej
zmienne zdefiniowane na zbiorze N = (0, 1, 2, ..., n, ...)
liczby naturalne lub ich podzbiory (funkcje częściowe) oraz
przyjmowanie wartości na zbiorze N.
Definicja 5.8. Funkcja f (x1, x2, ..., xn) nazywana jest obliczalną,
jeśli istnieje algorytm, który pozwala obliczyć jego wartości dla
te zmienne, dla których jest zdefiniowany, oraz działanie
jest nieskończona, jeśli funkcja dla danego zbioru zmiennych nie jest
zdefiniowane.
Definicja 5.9. Funkcja f (x1, x2, ..., xn) nazywana jest obliczalną
przez Turinga, jeśli istnieje maszyna Turinga obliczająca to
funkcjonować.
Zmienne mogą być pozycjonowane jako oddzielone słowa
11…1 11…1 …… 11…1
Przykład 5.9.
Wpis 111 11 1 mecze
równy odpowiednio 3, 2 i 1.
trzy zmienne x1, x2, x3,
Funkcja jest również zapisana słowem składającym się z jedynek.
Przykład 5.8 przedstawia funkcję dwóch zmiennych f (a, b) = a + b.

Teza Turinga. Dowolny algorytm może być zaimplementowany przez maszynę
Turinga.
Tezy Turinga nie można udowodnić. To stwierdzenie oznacza, że
matematyczna koncepcja funkcji obliczalnej Turinga to
idealny model intuicyjnej koncepcji algorytmu. Ta teza
potwierdzone doświadczeniem.
Ze swej natury teza Turinga przypomina matematykę
prawa mechaniki, których w ten sam sposób nie można udowodnić, ale
odkryte przez Newtona, zostały wielokrotnie potwierdzone doświadczeniem.
Na mocy tezy Turinga niemożność skonstruowania maszyny
Turing oznacza, że ​​nie ma algorytmu do rozwiązania tego problemu.
Badania
maszyny
Turing
kładzie
Fundacja
myślenie algorytmiczne, którego istotą jest to, że
musisz umieć podzielić proces obliczeniowy na proste elementy
Kroki.
W maszynie Turinga ta separacja jest doprowadzona do granic możliwości
ty tylko. We współczesnych komputerach proces algorytmiczny jest podzielony
nie tak mały jak w maszynie Turinga. Nawzajem,
istnieje chęć poszerzenia zabiegów wykonywanych przez maszynę.
Na przykład operacja dodawania w maszynie Turinga to cały program,
a w komputerze jest to najprostsza funkcja.

„Umysł jest lustrem i
lustro umysłu odchodzi
kurz pragnień ... wymazać
pojawi się kurz i prawda
przed Tobą ... "

Opracowanie metodologiczne lekcji, które zostanie omówione w tej publikacji, jest przeznaczone do nauki w klasie 10 przy rozważaniu bloku tematycznego ” Algorytm. Wykonawcy algorytmów».

W lekcji na ten temat ” »W towarzystwie prezentacji multimedialnej dzieci zapoznają się z jej budową, poznają zasadę działania oraz nauczą się budować program dla maszyny Turinga. Materiał lekcji pozwala rozwijać myślenie algorytmiczne uczniów szkół ponadgimnazjalnych, umiejętność formalizowania.

Według rodzaju ta lekcja jest połączona, w której badanie nowego materiału jest konsolidowane w procesie rozwiązywania problemów na ten temat. Autor opracowania proponuje zastosowanie metody częściowego poszukiwania nauczania, gdy proces myślenia staje się produktywny przy konsekwentnym ukierunkowaniu i kontroli nauczyciela.

Opis przebiegu lekcji o maszynie Turinga

Na etapie organizacji zajęć nauczyciel przygotowuje dzieci do pracy, formułuje temat lekcji oraz opowiada o angielskim Alanie Turingu, który znacząco wpłynął na rozwój informatyki jako nauki.

Na rozgrzewkę w kolejnym etapie lekcji decydują uczniowie logiczne zadanie po czym następuje czek na tablicy. Ważne jest, aby zwrócić uwagę na umiejętność sporządzenia algorytmu rozumowania.

Po zajęciu się rozgrzewką aktualizujemy poprzednio przebyte materiał teoretyczny o algorytmie i wykonawcach algorytmów. W tym celu autor opracowania proponuje przeprowadzenie frontalnej ankiety na następujące pytania:

Co nazywa się algorytmem i dla kogo jest przeznaczony?

Jakie właściwości ma algorytm?

Kto może występować jako wykonawca algorytmu?

Jakie są podstawowe koncepcje maszyny Turinga?

Zademonstruj główne właściwości algorytmów na przykładzie maszyny Turinga.

Przykłady maszyn Turinga - część teoretyczna

Przed przystąpieniem do rozwiązywania problemów na ten temat, w części teoretycznej podajemy opis maszyny Turinga. Zwracamy uwagę klasy na dwa elementy każdej z tych maszyn:

1) taśma jest nieograniczona i podzielona na komórki;
2) sterowana programowo głowica odczytująca informacje i nazywana automatem.

Zastąp jedną literę alfabetu zawartą w widocznej komórce pamięci inną;

Przesuń się w prawo lub w lewo w odstępie jednej komórki lub pozostań w tym samym miejscu;

Zmień swój stan wewnętrzny.

Rozwiązywanie problemów za pomocą maszyn Turinga

Kolejny etap lekcji polega na zanurzeniu się w praktycznej części lekcji i rozwiązywaniu problemów na dany temat. Nauczyciel mówi, że za pomocą maszyny Turinga należy spróbować zasymulować urządzenie podobne do kalkulatora. W sumie proponowane są dwa zadania, których analiza odbywa się wraz ze slajdami prezentacji:


Cel 1.
Taśma maszyny Turinga zawiera pewną liczbę dziesiętną. Do tego należy dodać 1 ( jednostka). Automat w tym przypadku sprawdza pewną cyfrę odpowiadającą numerowi wejściowemu.

Definicja maszyny Turinga

Maszyna Turinga jest abstrakcyjnym wykonawcą, który implementuje proces algorytmiczny zaprojektowany w celu udoskonalenia koncepcji algorytmu. Jest to obiekt matematyczny, a nie fizyczna maszyna. Zaproponowana przez Alana Turinga w 1936 roku maszyna Turinga jest rygorystyczną konstrukcją matematyczną, aparatem matematycznym przeznaczonym do rozwiązywania pewnych problemów.

Budowa i opis maszyny Turinga Maszyna Turinga składa się z: taśmy bez końca podzielonej na komórki; karetka (głowica do czytania i pisania); programowalna maszyna (program w formie tabeli). Maszyna „widzi” za każdym razem tylko jedną komórkę. W zależności od tego, jaką literę widzi, a także w zależności od stanu q, automat może wykonać następujące czynności: napisać nową literę do obserwowanej komórki; wykonaj przesunięcie wzdłuż taśmy o jedną komórkę w prawo / w lewo lub pozostań w bezruchu; przejść do nowego stanu.

1) Alfabet zewnętrzny A = (a 0, a 1, ..., a n) Element a 0 nazywamy pustym symbolem lub pustą literą (znak, że komórka jest pusta). W alfabecie tym oryginalny zbiór danych i wynik algorytmu są zakodowane w postaci słowa. Struktura maszyny Turinga

2) Alfabet wewnętrzny Q = (q 0, q 1,…, qm), (P, L, N!) W dowolnym momencie maszyna Turinga znajduje się w jednym ze stanów q 0, q 1,…, qm In w tym przypadku: q 1 - stan początkowy (maszyna rozpoczyna pracę) q 0 - stan końcowy (maszyna zakończyła pracę) Symbole (P, L, N!) - symbole przesunięć (prawo, lewo, w miejscu) Budowa maszyny Turinga

Rodzaje poleceń maszyny Turinga Napisz nową literę do obserwowanej komórki Przesuń wzdłuż taśmy o jedną komórkę w prawo/lewo lub pozostań w miejscu (P, L, N) Przejdź do nowego stanu. a 0 a 1… a i… a j q 0 q 1… a k (LPN) q m q i… q j 1 1 1 * 1 1 Wskazanie zmiany symbolu Wskazanie przesunięcia karetki Wskazanie zmiany stanu wewnętrznego

3) Pamięć zewnętrzna (taśma) Maszyna posiada taśmę podzieloną na komórki, z których każda może zawierać tylko jedną literę Budowa maszyny Turinga

3) Pamięć zewnętrzna (taśma) Struktura maszyny Turinga Pusta komórka zawiera 0. W każdym momencie na taśmie zapisywana jest skończona liczba niepustych liter.Taśma jest skończona, ale w każdej chwili jest uzupełniana komórkami po lewej i prawej stronie, aby zapisać nowe niepuste znaki. Jest to zgodne z zasadą abstrakcji potencjalnej wykonalności

4) Karetka (głowica kontrolna) Karetka maszyny znajduje się nad pewną komórką taśmy - rozpoznaje znak zapisany w komórce. W jednym cyklu pracy karetka jest przesunięta o jedną komórkę (w prawo, w lewo) lub pozostaje Urządzenie maszyny Turinga

5) Schemat funkcjonalny (program) Program maszyny składa się z instrukcji: Budowa maszyny Turinga Dla każdej pary (q i, a j) program maszyny musi zawierać jedną instrukcję (deterministyczna maszyna Turinga)

Na początku działania maszyny początkowy zestaw danych jest podawany na taśmę w postaci słowa  Opis działania maszyny Turinga Powiemy, że niepuste słowo  w alfabecie A \ (a 0) jest odbierane przez maszynę w swojej standardowej pozycji, jeśli: - jest podane w kolejnych komórkach taśmy, - wszystkie pozostałe komórki są puste - samochód patrzy na skrajną prawą komórkę z tych, które zawierają słowo 

Opis działania maszyny Turinga Pozycja standardowa nazywana jest pozycją początkową (końcową), jeśli maszyna odbierająca słowo w pozycji standardowej jest w stanie początkowym q 1 (stan zatrzymania q 0)

Będąc w stanie nie-końcowym maszyna wykonuje krok, który jest określany przez aktualny stan q i oraz monitorowany symbol a j Opis działania maszyny Turinga

Opis działania maszyny Turinga Zgodnie z poleceniem qiaj  qkal X wykonywane są następujące czynności: 1) Zawartość obserwowanej komórki aj jest kasowana i zapisywany jest w niej symbol al (który może pokrywać się z aj) 2) Maszyna wchodzi w nowy stan qk (może pokrywać się ze stanem qi) 3) Karetka porusza się zgodnie ze sterowanym znakiem X  (P, L, N!)

Gdy maszyna wejdzie w stan końcowy q 0, jej działanie zostaje zatrzymane Taśma zawiera wynik działania algorytmu - słowo  w alfabecie A \ (a 0) Opis działania maszyny Turinga

Słowo maszynowe (konfiguracja) maszyny Turinga to słowo o postaci  1 q k a l  2, gdzie  1 i  2 to słowa w alfabecie A.

Konfiguracja  1 q k a l  2 jest interpretowana następująco: - maszyna jest w stanie q k - karetka patrzy na symbol a l na taśmie -  1 i  2 to zawartość taśmy przed i po symbolu a l

Sytuacje niestosowalności maszyny Turinga Uważa się, że maszyna Turinga nie ma zastosowania do danego słowa wejściowego, jeśli w programie nie ma komórek stopu lub maszyna nie uderza w nie podczas pracy. Na przykład: Maszyna Turinga ma zastosowanie do danego słowa wejściowego, jeśli po rozpoczęciu pracy nad tym słowem wejściowym prędzej czy później dotrze do jednej z komórek zatrzymujących. Jak zmienił się przykładowy program? a 0 0 1 q 1 1P q 1 0P q 1 1P q 1 a 0 0 1 q 1 1H q 0 0P q 1 1P q 1

Przykład maszyny Turinga Zbudowanie maszyny Turinga jest wymagane do rozwiązania następującego problemu: w słowie wejściowym zastąp wszystkie litery „a” literami „b” i odwrotnie. a 0 a b c ... i q 1 a 0 H! b L q 1 a L q 1 c L q 1 ... i L q 1 y  y b  a a  b r  r u b a r a b a  b b  a a b b a

Implementuj proponowany algorytm Maszyna Turinga dodaje jeden do liczby na taśmie. Słowo wejściowe składa się z cyfr całkowitych dziesiętny zapisane w kolejnych komórkach na taśmie. W początkowym momencie samochód znajduje się naprzeciwko skrajnej prawej cyfry numeru. a 0 0 1 2 3 4 ... 7 8 9 q 1 1H q 0 1H q 0 2H q 0 3H q 0 4H q 0 5H q 0 ... 8H q 0 9H q 0 0L q 1

Implementuj proponowany algorytm Taśma maszyny Turinga zawiera ciąg symboli „+”. Maszyna Turinga zastępuje co drugi symbol „+” „-”. Wymiana zaczyna się na prawym końcu sekwencji. Automat w stanie q 1 patrzy na jeden z symboli podanego ciągu. a 0 + - q 1 a 0 L q 2 + P q 1 q 2 a 0 H! + Л q 3 q 3 а 0 Н! - Л q 2 q 1 - maszyna szuka prawego końca numeru; q 2 - pomija znak "+", po osiągnięciu końca sekwencji - stop; q 3 - znak „+” zostaje zastąpiony przez „-”.

Przykład Mając maszynę Turinga z zewnętrznym alfabetem A = (a 0, 1, *), alfabetem stanów wewnętrznych Q = (q 0, q 1, q 2, q 3) i następującym schematem funkcjonalnym: Zastosuj Turinga maszyna do słowa  = 11 * 1 zaczynając od standardowej pozycji startowej

Rozwiązanie 1) Zamień zawartość obserwowanej komórki 1 na 0

Rozwiązanie 2) Maszyna wchodzi w nowy stan q 2

Rozwiązanie 3) Karetka przesuwa się w lewo

Rozwiązanie Kompletne szczegółowe rozwiązanie

Rozwiązanie Kompletne szczegółowe rozwiązanie

Rozwiązanie Rozwiązanie napisane z konfiguracjami (w linii)

 = 1 * 11 Odpowiedź:  = 111

Literatura Igoszyn V.I. Logika matematyczna i teoria algorytmów. - M .: Akademia, 2008 .-- 448 s. Lichtarnikow L.M., Sukaczewa T.G. Logika matematyczna. Kurs wykładowy. Praktyczna książka problemów i rozwiązań. - SPb .: Lan, 1999 .-- 288 s. Ilinich A.P. Teoria algorytmów. Instruktaż... - Jekaterynburg, 2006 .-- 149 pkt.

Ludzie mogą zachowywać się inaczej w tych samych sytuacjach iw tym zasadniczo różnią się od maszyn.

Alan Turing

Alan Mathison Turing Alan Mathison Turing (angielski Alan Mathison Turing; 23 czerwca 1912 – 7 czerwca 1954) – angielski matematyk, logik, kryptograf, który miał znaczący wpływ na rozwój informatyki. Komandor Orderu Imperium Brytyjskiego (1945), członek Royal Society of London (1951). Zaproponowana przez niego w 1936 roku abstrakcyjna „Maszyna Turinga”, którą można uznać za uniwersalny model komputerowy, umożliwiła sformalizowanie pojęcia algorytmu i jest nadal wykorzystywana w wielu badaniach teoretycznych i praktycznych. Prace naukowe A. Turing jest uznanym wkładem w podstawy informatyki (a w szczególności teorii sztucznej inteligencji).

Czas wojny Podczas II wojny światowej Alan Turing pracował w Rządowej Szkole Kodów i Szyfrów w Bletchley Park, gdzie koncentrowały się prace nad łamaniem szyfrów i kodów Osi. Kierował grupą Hut 8, która jest odpowiedzialna za kryptoanalizę wiadomości z niemieckiej marynarki wojennej. Turing opracował szereg technik hakerskich, w tym teoretyczne podstawy Bomby, maszyny używanej do włamywania się do niemieckiego urządzenia szyfrującego Enigma.

Maszyna Turinga W ciągu kilku tygodni po przybyciu do Blatchley Park Turing napisał specyfikacje maszyny elektromechanicznej, która mogłaby pomóc w złamaniu Enigmy skuteczniej niż polska bomba kryptologiczna. Maszyna Turinga, z ulepszeniami zaproponowanymi przez matematyka Gordona Welchmana, stała się podstawowym narzędziem do odszyfrowywania komunikatów Enigmy. Samochód został nazwany Bombe. Maszyna wyszukała możliwe ustawienia używane do szyfrowania wiadomości (kolejność wirników, pozycja wirnika, połączenia paneli krosowniczych) na podstawie znanego tekstu jawnego. Dla każdego możliwego ustawienia wirnika (który miał 1019 stanów lub 1022 w modyfikacji stosowanej na okrętach podwodnych) maszyna dokonała szeregu założeń logicznych na podstawie tekstu jawnego (jego treści i struktury). Następnie maszyna zidentyfikowała sprzeczność, odrzuciła zestaw parametrów i przeszła do następnego. W ten sposób większość możliwych zestawów została wyeliminowana i pozostało tylko kilka opcji do dokładnej analizy. Pierwszy pojazd wszedł do służby 18 marca 1940 roku. Numeracja klawiszy odbywała się dzięki obrotowi mechanicznych bębnów, czemu towarzyszył dźwięk podobny do tykania zegara.

Kolos W lipcu 1942 r. Turing brał udział w rozszyfrowaniu kodu Lorenza używanego przez Niemców do przesyłania wiadomości do naczelnego dowództwa. „Lorenz” był znacznie bardziej złożony niż „Enigma” i nie można go było rozszyfrować istniejącymi metodami. Turing zaproponował zastosowanie lamp próżniowych w konstrukcji dekodera i sprowadził zespół T. Flowersa, doświadczonego elektronika. W wyniku wspólnych wysiłków matematyków i inżynierów powstał „Colossus” – jeden z pierwszych komputerów na świecie. Do 1944 roku z pomocą Colossusa złamano kod Lorenza, który pozwolił aliantom na odczytanie całej korespondencji najwyższych niemieckich przywódców. Według niektórych szacunków przybliżyło to klęskę Niemiec o kilka lat.

Wczesne komputery i test Turinga Od 1945 do 1947 Turing mieszkał w Richmond i pracował nad ACE (Automatic Computing Engine) w National Physics Laboratory. 19 lutego 1946 przedstawił coś, co można by nazwać pierwszym szczegółowym opisem komputera z programem zapisanym w pamięci. Poprzedziła go niedokończona praca von Neumanna „First Draft EDVAC Report” (1945), ale była znacznie mniej szczegółowa i według kierownika wydziału matematyki National Physics Laboratory – Johna Wurmsleya: zawiera szereg pomysłów, które należą do dr. Turinga. Chociaż budowa ACE była możliwa, tajemnica otaczająca Blatchley Park doprowadziła do opóźnień w rozpoczęciu prac, co rozczarowało Turinga. Pod koniec 1947 roku wrócił do Cambridge na roczny urlop, podczas którego produktywnie pracował nad Inteligentną Maszyną, która nie została opublikowana za jego życia. Podczas gdy Alan Turing był w Cambridge, ACE Pilot został zbudowany pod jego nieobecność. Swój pierwszy program wykonał 10 maja 1950 roku. Pomimo pełna wersja ACE nigdy nie zostało zbudowane, niektóre komputery miały z nim wiele wspólnego np. DEUCE i Bendix G-15

W 1948 roku Alan Turing otrzymał tytuł Czytelnika na Wydziale Matematyki Uniwersytetu w Manchesterze. Tam w 1949 roku został dyrektorem Laboratorium Komputerowego, gdzie koncentrowało się programowanie Manchester Mark I. W tym samym czasie Turing kontynuował pracę nad bardziej abstrakcyjnymi problemami matematycznymi, a w swojej pracy „Computing Machinery and Intelligence” Mind ", październik 1950) zwrócił się do problemu sztucznej inteligencji i zaproponował eksperyment, który później stał się znany jako test Turinga. Jego pomysł polegał na tym, że komputer można uznać za „myślący”, jeśli osoba z nim współpracująca nie może odróżnić komputera od innej osoby w procesie komunikacji. W tej pracy Turing zasugerował, że zamiast próbować stworzyć program symulujący umysł dorosłego, znacznie łatwiej byłoby zacząć od umysłu dziecka, a następnie go uczyć. CAPTCHA oparta na odwróconym teście Turinga jest szeroko rozpowszechniona w Internecie. W 1948 r. Alan wraz ze swoim byłym kolegą Davidem Champernovnem (angielskim) zaczęli pisać program szachowy na komputer, który jeszcze nie istniał. W 1952 roku, nie mając odpowiedniego urządzenia do jego wykonania, Turing grał w grę, w której symulował działanie maszyny, wykonując jeden ruch co pół godziny. Mecz został nagrany i w rezultacie program przegrał z kolegą Turinga Alec Glini, ale wygrał mecz nad żoną Champernovny. Turing wynalazł również metodę rozszerzania LU w 1948 roku, która jest obecnie używana do rozwiązywania równań.

Slajd 2

Wstęp

Pojęcie algorytmu. Algorytm jest dokładną receptą, która określa proces obliczeniowy przechodzący od zmiennych danych początkowych do pożądanego wyniku (Markov A.A.) Właściwości algorytmu: 1) Dyskretność. 2) Pewność. 3) Skuteczność. 4) Charakter masowy.

Slajd 3

Model matematyczny maszyny Turinga

Maszyna Turinga (MT) to matematyczny model wyidealizowanej cyfrowej maszyny obliczeniowej. Urządzenie maszyny Turinga. Wstążka. Czytanie głowy. Urządzenie sterujące. Pamięć wewnętrzna.

Slajd 4

wstążka

Tylko jeden symbol (litera) z alfabetu zewnętrznego A = (˄, a1, a2,…, an-1), 2≥n może być wpisany do komórek w dyskretnym momencie. Pusta komórka jest oznaczona symbolem ˄, a sam symbol ˄ nazywany jest pustym, podczas gdy pozostałe znaki są określane jako niepuste.

Slajd 5

Czytanie głowy

Głowica może odczytać zawartość komórki i wpisać do niej nowy znak z alfabetu A. W jednym cyklu pracy może przesunąć tylko jedną komórkę w prawo (P), w lewo (L) lub pozostać na miejscu (H ).

Slajd 6

Pamięć wewnętrzna

Pamięć wewnętrzna maszyny to pewien skończony zbiór stanów wewnętrznych Q = (q0, q1,…, qm), m≥ 1. Zakładamy, że liczność | Q | ≥2. Szczególne znaczenie mają dwa stany maszyny: q1 to początkowy stan wewnętrzny (może być kilka początkowych stanów wewnętrznych), q0 to stan końcowy lub stan zatrzymania (stan końcowy jest zawsze jeden). W każdym momencie MT charakteryzuje się pozycją głowy i stanem wewnętrznym.

Slajd 7

Urządzenie sterujące

Wykonuje następujące czynności: Zmienia znak ai odczytany w czasie t na nowy znak aj (w szczególności pozostawia go bez zmian, czyli ai = aj); Przesuwa głowę w jednym z następujących kierunków: N, L, R; Zmienia stan wewnętrzny maszyny qi istniejący w czasie t na nowy qj, w którym maszyna będzie w czasie t+1. Takie działania urządzenia sterującego nazywamy poleceniem, które można zapisać w postaci: qiaiajDqj

Slajd 8

Obsługa maszyny Turinga

Działanie maszyny jest całkowicie zdeterminowane zadaniem w pierwszym (początkowym) momencie: Słowa na taśmie, czyli sekwencja znaków zapisanych w komórkach taśmy (słowo uzyskuje się czytając te znaki wzdłuż komórek taśmy od lewej do prawej); pozycje głowy; Stan wewnętrzny maszyny.

Slajd 9

Jeżeli w momencie początkowym na taśmie zapisane jest słowo a1, a2, ˄, a1, a1, to początkowa konfiguracja będzie wyglądać następująco: Działanie maszyny Turinga polega na sekwencyjnym aplikowaniu poleceń, ponadto jedno lub polecenie jest określone przez bieżącą konfigurację. Tak więc w powyższym przykładzie należy zastosować polecenie z lewą stroną q1a1. Wynikiem działania automatu jest słowo, które zostanie zapisane na taśmie w konfiguracji końcowej, czyli takiej, w której stan wewnętrzny automatu wynosi q0.

Slajd 10

Przykłady maszyn Turinga

Przykład 1. Skonstruuj maszynę Turinga T1, która ma zastosowanie do wszystkich słów z zewnętrznym alfabetem (a, b) i wykonuje następujące czynności: dowolne słowo x1, x2 ... xn, gdzie xi = a lub xi = b (i = 1, 2 ... n) zamienia się na słowo x2, ... xn, x1, czyli rozpoczynając pracę ze słowem x1, x2 ... xn na taśmie w konfiguracji początkowej, maszyna zatrzyma się, a w ostatecznej konfiguracji na jakimś odcinku taśmy słowo x2, ... xn, x1 i wszystkie inne komórki taśmy (jeśli są) będą puste.

Slajd 11

Rozwiązanie: Dla zewnętrznego alfabetu maszyny T1 przyjmujemy zbiór A = (˄, a, b), a dla wewnętrznego - Q = (q0, q1, q2, q3). Polecenia definiuje się następująco: q1a ˄Пq2, q1b ˄Пq3, qiy ˄PPi, gdzie yϵ (a, b), i = 2, 3; q2˄ aHq0, q3˄ bHq0 Rozważmy działanie maszyny T1 na słowie ba. W działaniu maszyny na słowie ba konfiguracja początkowa wygląda następująco:

Krótszy zapis tej sekwencji konfiguracji, czyli procesu działania maszyny, będzie następujący: Tak więc słowo bbabb jest przekształcane przez maszynę w słowo babbb.

Zobacz wszystkie slajdy

Podziel się ze znajomymi lub zaoszczędź dla siebie:

Ładowanie...