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