Podstawy Informatyki Maszyna Turinga

advertisement
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Podstawy Informatyki
Maszyna Turinga
dr inż. Alina MOMOT
[email protected]
http://zti.polsl.pl/AMomot/pi
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Plan wykładu
1
Opis maszyny Turinga
Czym jest Maszyna Turinga
Programowanie maszyny Turinga
Teza Churcha-Turinga
2
Przykład MT – Sprawdzanie poprawności napisu
3
Przykład MT – Inkrementacja liczby trójkowej
4
Przykład MT – Wartość bezwzględna liczby binarnej
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Czym jest Maszyna Turinga
Programowanie maszyny Turinga
Teza Churcha-Turinga
Opis maszyny Turinga
Maszyna Turinga, 1936r.
Stworzony w 1936 roku przez Alana Turinga model abstrakcyjnej
maszyny obliczeniowej służący do analizy algorytmów.
Składa się z:
nieskończenie długiej taśmy podzielonej na pola, w których
zapisane są symbole
głowicy zaspisująco-odczytującej, będącej w jednym ze stanów,
przesuwającej się nad taśmą.
Podstawowe pojęcia:
zbiór symboli, alfabet S = {si : i = 1, 2, . . . , n}
zbiór stanów maszyny Q = {qj : j = 1, 2, . . . , m}
ruch głowicy R = {P, L, N}
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Czym jest Maszyna Turinga
Programowanie maszyny Turinga
Teza Churcha-Turinga
Programowanie maszyny Turinga
Algorytm dla maszyny Turinga zapisany jest za pomocą tablicy
charakterystycznej.
T
q0
q1
...
...
...
...
s1
..
.
si
..
.
sn
dr inż. Alina MOMOT
qj
..
.
..
.
sk , ql , R
..
.
..
.
...
qm
...
...
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Czym jest Maszyna Turinga
Programowanie maszyny Turinga
Teza Churcha-Turinga
Rozkaz maszyny Turinga
(si , qj ) → (sk , ql , R)
si odczytany symbol na taśmie pod głowicą
qj bieżący wewnętrzny stan głowicy
sk nowy symbol, który ma być zapisany na taśmie
ql nowy wewnętrzny stan głowicy
R kierunek ruchu głowicy
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Czym jest Maszyna Turinga
Programowanie maszyny Turinga
Teza Churcha-Turinga
Teza Churcha-Turinga
Teza Churcha-Turinga
Każdy algorytm może być zrealizowany przez odpowiednio
zaprogramowaną maszynę Turinga.
Wynika z tego, że:
nawet najpotężniejszy superkomputer z wieloma najwymyślniejszymi
językami programowania, interpretatorami, kompilatorami nie jest
potężniejszy od domowego komputera z jego uproszczonym językiem
programowania
mając nieograniczoną ilość czasu i pamięci obydwa mogą rozwiązać
te same problemy algorytmiczne, a żaden z nich nie może rozwiązać
problemów nierozstrzygalnych (nieobliczalnych).
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Schemat blokowy algorytmu
Tablica charakterystyczna
Przykład działania
Sprawdzanie poprawności napisu - sformułowanie problemu
Na taśmie zapisano 3-literowy ciąg złożony z symboli: a, b i c.
Tylko napis abc jest poprawny
Podać algorytm rozpoznawania tego napisu
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Schemat blokowy algorytmu
Tablica charakterystyczna
Przykład działania
Schemat blokowy algorytmu
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Schemat blokowy algorytmu
Tablica charakterystyczna
Przykład działania
Tablica charakterystyczna
Założenie:
Głowica na początku znajduje się nad pierwszym symbolem (z lewej).
T
a
b
c
q1
q2
q3
q4
q5
q1
aq2 P
bq5 N
cq5 N
q2
aq5 N
bq3 P
cq5 N
q3
aq5 N
bq5 N
cq4 N
q4
–
–
cq4 N
sprawdź czy stoisz nad a
sprawdź czy stoisz nad b
sprawdź czy stoisz nad c
napis poprawny
napis niepoprawny
dr inż. Alina MOMOT
Maszyna Turinga
q5
aq5 N
bq5 N
cq5 N
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Schemat blokowy algorytmu
Tablica charakterystyczna
Przykład działania
Przykład działania - napis niepoprawny
T
a
b
c
q1
aq2 P
bq5 N
cq5 N
q2
aq5 N
bq3 P
cq5 N
q3
aq5 N
bq5 N
cq4 N
q4
–
–
cq4 N
G = q1
⇓
a b b
dr inż. Alina MOMOT
Maszyna Turinga
q5
aq5 N
bq5 N
–
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Schemat blokowy algorytmu
Tablica charakterystyczna
Przykład działania
Przykład działania - napis niepoprawny
T
a
b
c
q1
aq2 P
bq5 N
cq5 N
q2
aq5 N
bq3 P
cq5 N
q3
aq5 N
bq5 N
cq4 N
q4
–
–
cq4 N
G = q2
⇓
a b b
dr inż. Alina MOMOT
Maszyna Turinga
q5
aq5 N
bq5 N
–
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Schemat blokowy algorytmu
Tablica charakterystyczna
Przykład działania
Przykład działania - napis niepoprawny
T
a
b
c
q1
aq2 P
bq5 N
cq5 N
q2
aq5 N
bq3 P
cq5 N
q3
aq5 N
bq5 N
cq4 N
q4
–
–
cq4 N
G = q3
a
dr inż. Alina MOMOT
b
⇓
b
Maszyna Turinga
q5
aq5 N
bq5 N
–
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Schemat blokowy algorytmu
Tablica charakterystyczna
Przykład działania
Przykład działania - napis niepoprawny
T
a
b
c
q1
aq2 P
bq5 N
cq5 N
q2
aq5 N
bq3 P
cq5 N
q3
aq5 N
bq5 N
cq4 N
q4
–
–
cq4 N
G = q5
a
dr inż. Alina MOMOT
b
⇓
b
Maszyna Turinga
q5
aq5 N
bq5 N
–
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Schemat blokowy algorytmu
Tablica charakterystyczna
Przykład działania
Przykład działania - napis poprawny
T
a
b
c
q1
aq2 P
bq5 N
cq5 N
q2
aq5 N
bq3 P
cq5 N
q3
aq5 N
bq5 N
cq4 N
q4
–
–
cq4 N
G = q1
⇓
a b c
dr inż. Alina MOMOT
Maszyna Turinga
q5
aq5 N
bq5 N
–
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Schemat blokowy algorytmu
Tablica charakterystyczna
Przykład działania
Przykład działania - napis poprawny
T
a
b
c
q1
aq2 P
bq5 N
cq5 N
q2
aq5 N
bq3 P
cq5 N
q3
aq5 N
bq5 N
cq4 N
q4
–
–
cq4 N
G = q2
⇓
a b c
dr inż. Alina MOMOT
Maszyna Turinga
q5
aq5 N
bq5 N
–
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Schemat blokowy algorytmu
Tablica charakterystyczna
Przykład działania
Przykład działania - napis poprawny
T
a
b
c
q1
aq2 P
bq5 N
cq5 N
q2
aq5 N
bq3 P
cq5 N
q3
aq5 N
bq5 N
cq4 N
q4
–
–
cq4 N
G = q3
a
dr inż. Alina MOMOT
b
⇓
c
Maszyna Turinga
q5
aq5 N
bq5 N
–
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Schemat blokowy algorytmu
Tablica charakterystyczna
Przykład działania
Przykład działania - napis poprawny
T
a
b
c
q1
aq2 P
bq5 N
cq5 N
q2
aq5 N
bq3 P
cq5 N
q3
aq5 N
bq5 N
cq4 N
q4
–
–
cq4 N
G = q4
a
dr inż. Alina MOMOT
b
⇓
c
Maszyna Turinga
q5
aq5 N
bq5 N
–
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
System pozycyjny trójkowy
Tablica charakterystyczna
Przykład działania
Inkrementacja liczby trójkowej - sformułowanie problemu
Na taśmie zapisano liczbę w systemie pozycyjnym trójkowym.
Liczba otoczona jest znakami pustymi Φ.
Głowica znajduje się na prawo od liczby.
Podać algorytm inkremetujący tę liczbę.
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
System pozycyjny trójkowy
Tablica charakterystyczna
Przykład działania
System pozycyjny trójkowy
Tylko napisy złożone z cyfr 0, 1, 2 są poprawne, np.
(2101)3
=
=
=
=
2 · 33 + 1 · 32 + 0 · 31 + 1 · 30
2 · 27 + 1 · 9 + 0 · 3 + 1 · 1
54 + 9 + 0 + 1
64
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
System pozycyjny trójkowy
Tablica charakterystyczna
Przykład działania
Tablica charakterystyczna
Założenie:
Głowica po wykonaniu algorytmu ma zatrzymać się na pierwszym znaku
pustym Φ z lewej strony liczby.
Φ
0
1
2
q1
q2
q3
q4
q1
Φq1 L
1q3 L
2q3 L
0q2 L
q2
1q3 L
1q3 L
2q3 L
0q2 L
q3
Φq4 N
0q3 L
1q3 L
2q3 L
q4
Φq4 N
–
–
–
szukanie liczby i dodawanie
dodawanie z przeniesiem
przesunięcie głowicy na lewo
stop
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
System pozycyjny trójkowy
Tablica charakterystyczna
Przykład działania
Przykład działania
q1
Φq1 L
1q3 L
2q3 L
0q2 L
Φ
0
1
2
q2
1q3 L
1q3 L
2q3 L
0q2 L
q3
Φq4 N
0q3 L
1q3 L
2q3 L
q4
Φq4 N
–
–
–
2
⇓
Φ
G = q1
Φ
1
0
dr inż. Alina MOMOT
2
Φ
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
System pozycyjny trójkowy
Tablica charakterystyczna
Przykład działania
Przykład działania
q1
Φq1 L
1q3 L
2q3 L
0q2 L
Φ
0
1
2
q2
1q3 L
1q3 L
2q3 L
0q2 L
q3
Φq4 N
0q3 L
1q3 L
2q3 L
q4
Φq4 N
–
–
–
G = q1
Φ
1
0
dr inż. Alina MOMOT
2
2
⇓
Φ
Maszyna Turinga
Φ
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
System pozycyjny trójkowy
Tablica charakterystyczna
Przykład działania
Przykład działania
q1
Φq1 L
1q3 L
2q3 L
0q2 L
Φ
0
1
2
q2
1q3 L
1q3 L
2q3 L
0q2 L
q3
Φq4 N
0q3 L
1q3 L
2q3 L
q4
Φq4 N
–
–
–
G = q1
Φ
1
0
dr inż. Alina MOMOT
2
⇓
2
Φ
Maszyna Turinga
Φ
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
System pozycyjny trójkowy
Tablica charakterystyczna
Przykład działania
Przykład działania
q1
Φq1 L
1q3 L
2q3 L
0q2 L
Φ
0
1
2
Φ
1
q2
1q3 L
1q3 L
2q3 L
0q2 L
q3
Φq4 N
0q3 L
1q3 L
2q3 L
G = q2
⇓
0 2 0
dr inż. Alina MOMOT
q4
Φq4 N
–
–
–
Φ
Maszyna Turinga
Φ
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
System pozycyjny trójkowy
Tablica charakterystyczna
Przykład działania
Przykład działania
q1
Φq1 L
1q3 L
2q3 L
0q2 L
Φ
0
1
2
Φ
1
q2
1q3 L
1q3 L
2q3 L
0q2 L
q3
Φq4 N
0q3 L
1q3 L
2q3 L
G = q2
⇓
0 0 0
dr inż. Alina MOMOT
q4
Φq4 N
–
–
–
Φ
Maszyna Turinga
Φ
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
System pozycyjny trójkowy
Tablica charakterystyczna
Przykład działania
Przykład działania
q1
Φq1 L
1q3 L
2q3 L
0q2 L
Φ
0
1
2
q2
1q3 L
1q3 L
2q3 L
0q2 L
q3
Φq4 N
0q3 L
1q3 L
2q3 L
q4
Φq4 N
–
–
–
G = q3
Φ
⇓
1
1
dr inż. Alina MOMOT
0
0
Φ
Maszyna Turinga
Φ
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
System pozycyjny trójkowy
Tablica charakterystyczna
Przykład działania
Przykład działania
q1
Φq1 L
1q3 L
2q3 L
0q2 L
Φ
0
1
2
q2
1q3 L
1q3 L
2q3 L
0q2 L
q3
Φq4 N
0q3 L
1q3 L
2q3 L
q4
Φq4 N
–
–
–
G = q3
⇓
Φ
1
1
dr inż. Alina MOMOT
0
0
Φ
Maszyna Turinga
Φ
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
System pozycyjny trójkowy
Tablica charakterystyczna
Przykład działania
Przykład działania
q1
Φq1 L
1q3 L
2q3 L
0q2 L
Φ
0
1
2
q2
1q3 L
1q3 L
2q3 L
0q2 L
q3
Φq4 N
0q3 L
1q3 L
2q3 L
q4
Φq4 N
–
–
–
G = q4
⇓
Φ
1
1
dr inż. Alina MOMOT
0
0
Φ
Maszyna Turinga
Φ
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Zapis binarnych liczb całkowitych
Zakres liczb w zapisie uzupełnieniowym do 2
Tablica charakterystyczna
Wartość bezwzględna liczby - sformułowanie problemu
Na taśmie zapisano liczbę całkowitą ze znakiem w systemie
pozycyjnym dwójkowym w zapisie uzupełnieniowym do 2.
Liczba otoczona jest znakami pustymi Φ.
Głowica znajduje się na lewo od liczby.
Podać algorytm wyznaczający wartość bezwzględną tej liczby.
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Zapis binarnych liczb całkowitych
Zakres liczb w zapisie uzupełnieniowym do 2
Tablica charakterystyczna
Zapis binarnych liczb całkowitych
Liczba binarna to napis złożony z cyfr 0, 1, np.
= 1 · 23 + 1 · 22 + 0 · 21 + 1 · 20
= 1·8+1·4+0·2+1·1
= 13
Znak reprezentowany w postaci dodatkowego bitu zwanego bitem znaku:
0 - liczba dodatnia,
1 - liczba ujemna.
Najpopularniejsze formy zapisu:
(1101)2
znak moduł,
uzupełnieniowy do 1,
uzupełnieniowy do 2.
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Zapis binarnych liczb całkowitych
Zakres liczb w zapisie uzupełnieniowym do 2
Tablica charakterystyczna
Zapis binarnych liczb całkowitych
Liczba binarna to napis złożony z cyfr 0, 1, np.
= 1 · 23 + 1 · 22 + 0 · 21 + 1 · 20
= 1·8+1·4+0·2+1·1
= 13
Znak reprezentowany w postaci dodatkowego bitu zwanego bitem znaku:
0 - liczba dodatnia,
1 - liczba ujemna.
Najpopularniejsze formy zapisu:
(1101)2
znak moduł,
uzupełnieniowy do 1,
uzupełnieniowy do 2.
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Zapis binarnych liczb całkowitych
Zakres liczb w zapisie uzupełnieniowym do 2
Tablica charakterystyczna
Zapis uzupełnieniowy do 2
Liczba dodatnia (liczba bez znaku z dodatkowym bitem 0), np:
13 = (1101)2
liczba bez znaku
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Zapis binarnych liczb całkowitych
Zakres liczb w zapisie uzupełnieniowym do 2
Tablica charakterystyczna
Zapis uzupełnieniowy do 2
Liczba dodatnia (liczba bez znaku z dodatkowym bitem 0), np:
13 = (1101)2
liczba bez znaku
+ 13 = (01101)2 liczba dodatnia ze znakiem
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Zapis binarnych liczb całkowitych
Zakres liczb w zapisie uzupełnieniowym do 2
Tablica charakterystyczna
Zapis uzupełnieniowy do 2
Liczba dodatnia (liczba bez znaku z dodatkowym bitem 0), np:
13 = (1101)2
liczba bez znaku
+ 13 = (01101)2 liczba dodatnia ze znakiem
Liczba ujemna (zanegowana liczba bez znaku z dodaną jedynką i
dodatkowym bitem 1), np.:
13 = (1101)2
liczba bez znaku
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Zapis binarnych liczb całkowitych
Zakres liczb w zapisie uzupełnieniowym do 2
Tablica charakterystyczna
Zapis uzupełnieniowy do 2
Liczba dodatnia (liczba bez znaku z dodatkowym bitem 0), np:
13 = (1101)2
liczba bez znaku
+ 13 = (01101)2 liczba dodatnia ze znakiem
Liczba ujemna (zanegowana liczba bez znaku z dodaną jedynką i
dodatkowym bitem 1), np.:
13 = (1101)2
liczba bez znaku
(0010)2
zanegowana liczba bez znaku (inwersja)
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Zapis binarnych liczb całkowitych
Zakres liczb w zapisie uzupełnieniowym do 2
Tablica charakterystyczna
Zapis uzupełnieniowy do 2
Liczba dodatnia (liczba bez znaku z dodatkowym bitem 0), np:
13 = (1101)2
liczba bez znaku
+ 13 = (01101)2 liczba dodatnia ze znakiem
Liczba ujemna (zanegowana liczba bez znaku z dodaną jedynką i
dodatkowym bitem 1), np.:
13 = (1101)2
liczba bez znaku
(0010)2
zanegowana liczba bez znaku (inwersja)
(0011)2
z dodaną liczbą 1
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Zapis binarnych liczb całkowitych
Zakres liczb w zapisie uzupełnieniowym do 2
Tablica charakterystyczna
Zapis uzupełnieniowy do 2
Liczba dodatnia (liczba bez znaku z dodatkowym bitem 0), np:
13 = (1101)2
liczba bez znaku
+ 13 = (01101)2 liczba dodatnia ze znakiem
Liczba ujemna (zanegowana liczba bez znaku z dodaną jedynką i
dodatkowym bitem 1), np.:
13 = (1101)2
liczba bez znaku
(0010)2
zanegowana liczba bez znaku (inwersja)
(0011)2
z dodaną liczbą 1
− 13 = (10011)2 liczba ujemna ze znakiem
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Zapis binarnych liczb całkowitych
Zakres liczb w zapisie uzupełnieniowym do 2
Tablica charakterystyczna
Zakres liczb w zapisie uzupełnieniowym do 2
Zakres liczb 4-bitowych:
dodatnich
liczba binarna liczba
0 000
0 001
0 010
0 011
0 100
0 101
0 110
0 111
dziesiętna
0
1
2
3
4
5
6
7
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Zapis binarnych liczb całkowitych
Zakres liczb w zapisie uzupełnieniowym do 2
Tablica charakterystyczna
Zakres liczb w zapisie uzupełnieniowym do 2
Zakres liczb 4-bitowych:
dodatnich
liczba binarna liczba
0 000
0 001
0 010
0 011
0 100
0 101
0 110
0 111
dziesiętna
0
1
2
3
4
5
6
7
dr inż. Alina MOMOT
ujemnych
liczba binarna liczba
1 111
1 110
1 101
1 100
1 011
1 010
1 001
1 000
Maszyna Turinga
dziesiętna
-1
-2
-3
-4
-5
-6
-7
-8
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Zapis binarnych liczb całkowitych
Zakres liczb w zapisie uzupełnieniowym do 2
Tablica charakterystyczna
Zakres liczb w zapisie uzupełnieniowym do 2
Zakres liczb 4-bitowych:
dodatnich
liczba binarna liczba
0 000
0 001
0 010
0 011
0 100
0 101
0 110
0 111
dziesiętna
0
1
2
3
4
5
6
7
ujemnych
liczba binarna liczba
1 111
1 110
1 101
1 100
1 011
1 010
1 001
1 000
Zakres liczb N-bitowych: [−2N−1 ; 2N−1 − 1].
dr inż. Alina MOMOT
Maszyna Turinga
dziesiętna
-1
-2
-3
-4
-5
-6
-7
-8
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Zapis binarnych liczb całkowitych
Zakres liczb w zapisie uzupełnieniowym do 2
Tablica charakterystyczna
Tablica charakterystyczna
Założenie:
Głowica po wykonaniu algorytmu ma zatrzymać się na pierwszym znaku
pustym Φ z lewej strony liczby.
Jeśli liczba była dodatnia (bit znaku 0), to KONIEC.
Jeśli liczba była ujemna (bit znaku 1), to dokonaj inwersji bitów i
dodaj jedynkę.
dr inż. Alina MOMOT
Maszyna Turinga
Plan wykładu
Opis maszyny Turinga
Przykład MT – Sprawdzanie poprawności napisu
Przykład MT – Inkrementacja liczby trójkowej
Przykład MT – Wartość bezwzględna liczby binarnej
Sformułowanie problemu
Zapis binarnych liczb całkowitych
Zakres liczb w zapisie uzupełnieniowym do 2
Tablica charakterystyczna
Tablica charakterystyczna
Φ
0
1
q0
q1
q2
q3
q4
q5
–
–
–
–
–
–
q0
Φq0 P
0q1 L
0q2 P
q1
Φq1 N
–
–
q2
Φq3 L
1q2 P
0q2 P
q3
–
1q4 L
0q3 L
q4
0q1 L
0q5 L
1q5 L
q5
Φq1 N
0q5 L
1q5 L
szukanie liczby i sprawdzanie znaku
KONIEC
negacja bitów
dodawanie jedynki (negacja bitów aż do napotkania 0 włącznie)
sprawdzenie czy zanegowane 0 nie było bitem znaku
przesunięcie głowicy na lewo
dr inż. Alina MOMOT
Maszyna Turinga
Download