Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałBożydar Szymanowski Został zmieniony 10 lat temu
1
Modele obliczeń i granice obliczalności Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plhttp://www.cs.put.poznan.pl/~nawrocki/ics/ Wprowadzenie do informatyki Wykład 2
2
J.Nawrocki, Modele obliczeń i granice... Plan wykładu Maszyna TuringaMaszyna Turinga Funkcje rekurencyjneFunkcje rekurencyjne Model maszyny RAMModel maszyny RAM
3
J.Nawrocki, Modele obliczeń i granice... Maszyna Turinga a1a1a1a1 a2a2a2a2... aiaiaiai... ananananBB...
4
J.Nawrocki, Modele obliczeń i granice... Maszyna Turinga a1a1a1a1 a2a2a2a2... aiaiaiai... ananananBB... Sterowanie
5
J.Nawrocki, Modele obliczeń i granice... Maszyna Turinga Sterowanie Problem parzystości liczby binarnej 0 | A | 1 | A | 0 | B | B | B | 1 | B | 0 | B | 1 | B | A | 0 | - A | 1 | -
6
J.Nawrocki, Modele obliczeń i granice... Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | 0 | B | 1 | B | A | 0 | - A | 1 | - 110BB...
7
J.Nawrocki, Modele obliczeń i granice... 1 | A | Maszyna Turinga Sterowanie 0 | A | 0 | B | B | B | 1 | B | 0 | B | 1 | B | A | 0 | - A | 1 | - 110BB...
8
J.Nawrocki, Modele obliczeń i granice... 1 | A | Maszyna Turinga Sterowanie 0 | A | 0 | B | B | B | 1 | B | 0 | B | 1 | B | A | 0 | - A | 1 | - A10BB...
9
J.Nawrocki, Modele obliczeń i granice... 1 | A | Maszyna Turinga Sterowanie 0 | A | 0 | B | B | B | 1 | B | 0 | B | 1 | B | A | 0 | - A | 1 | - A10BB...
10
J.Nawrocki, Modele obliczeń i granice... Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | 0 | B | 1 | B | A | 0 | - A | 1 | - A10BB...
11
J.Nawrocki, Modele obliczeń i granice... Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | 0 | B | 1 | B | A | 0 | - A | 1 | - AB0BB...
12
J.Nawrocki, Modele obliczeń i granice... 0 | B | Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | A | 0 | - A | 1 | - AB0BB...
13
J.Nawrocki, Modele obliczeń i granice... 0 | B | Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | A | 0 | - A | 1 | - AB0BB...
14
J.Nawrocki, Modele obliczeń i granice... 0 | B | Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | A | 0 | - A | 1 | - ABBBB...
15
J.Nawrocki, Modele obliczeń i granice... 0 | B | Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | A | 0 | - A | 1 | - ABBBB...
16
J.Nawrocki, Modele obliczeń i granice... B | B | 0 | B | Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | A | 0 | - A | 1 | - ABBBB...
17
J.Nawrocki, Modele obliczeń i granice... B | B | 0 | B | Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | A | 0 | - A | 1 | - ABBBB...
18
J.Nawrocki, Modele obliczeń i granice... B | B | 0 | B | Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | A | 0 | - A | 1 | - ABBBB...
19
J.Nawrocki, Modele obliczeń i granice... B | B | 0 | B | Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | A | 0 | - A | 1 | - ABBBB...
20
J.Nawrocki, Modele obliczeń i granice... B | B | 0 | B | Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | A | 0 | - A | 1 | - ABBBB...
21
J.Nawrocki, Modele obliczeń i granice... B | B | 0 | B | Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | A | 0 | - A | 1 | - ABBBB...
22
J.Nawrocki, Modele obliczeń i granice... B | B | 0 | B | Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | A | 0 | - A | 1 | - ABBBB...
23
J.Nawrocki, Modele obliczeń i granice... A | 0 | - B | B | 0 | B | Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | A | 1 | - ABBBB...
24
J.Nawrocki, Modele obliczeń i granice... A | 0 | - B | B | 0 | B | Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | A | 1 | - 0BBBB...
25
J.Nawrocki, Modele obliczeń i granice... A | 0 | - B | B | 0 | B | Maszyna Turinga Sterowanie 0 | A | 1 | A | 0 | B | B | B | 1 | B | A | 1 | - 0BBBB...
26
J.Nawrocki, Modele obliczeń i granice... Deterministyczna maszyna Turinga Zbiór stanów Zbiór symboli wejściowych Zbiór symboli taśmowych Funkcja następnego ruchu jeśli stan=q x oraz symbol=a i to {przejdź do stanu q y ; zapisz na taśmie symbol s; przesuń głowicę} Stan początkowy Symbol pusty (B) Zbiór stanów końcowych
27
J.Nawrocki, Modele obliczeń i granice... Funkcje rekurencyjne Tylko funkcje określone na zbiorze liczb naturalnych i o wartościach naturalnych 5 + 3 5 * 3 5 mod 3 5 3 ln 5 5 e 3 + 3 + 3
28
J.Nawrocki, Modele obliczeń i granice... Funkcje rekurencyjne Składanie funkcji Nieparz(n)= 2*n + 1 Plus(a,b) = a + b Razy(a,b) = a * b Nieparz(n)= Plus(Razy(2,n), 1)
29
J.Nawrocki, Modele obliczeń i granice... Funkcje rekurencyjne Definiowanie indukcyjne (1) n! = 1*2*3*.. *n Silnia(0)= 1 Silnia(n)= n * Silnia(n-1) f(0)= k f(n)= h(n-1, f(n-1))
30
J.Nawrocki, Modele obliczeń i granice... Funkcje rekurencyjne Definiowanie indukcyjne (2) a b = a*a*a*.. *a P(a,0)= 1 P(a,n)= a * P(a, n-1) f(x, 0)= g(x) f(x, n)= h(x, n-1, f(n-1,x))
31
J.Nawrocki, Modele obliczeń i granice... Funkcje rekurencyjne Operacja minimum Log2(x)= Log 2 x Log2(x)= Log 2 x Log2(x)=w 2 w x < 2 w+1 Log2(x)= najmn. w : x < 2 w+1 Log2(x)= ( w) [ x < 2 w+1 ] f(x)= ( y) [ R(x,y) ]
32
J.Nawrocki, Modele obliczeń i granice... Funkcje rekurencyjne Minimum efektywne Minus1(x)= ( y) [ x < y + 2 ] ( y) [ x < y + 2 ] --- efektywne -- f(x)= ( y) [ R(x,y) ] x y R(x,y) x y R(x,y) Minus1(x)= ( y) [ x = y + 1 ] ( y) [ x = y + 1 ] --- nieefektywne ---
33
J.Nawrocki, Modele obliczeń i granice... Funkcje rekurencyjne Klasa funkcji obliczalnych Najmniejsza klasa funkcji zawierająca zero i następnik oraz zamknięta ze względu na operacje: składania funkcji, składania funkcji, rekursji prostej, rekursji prostej, minimum efektywnego. minimum efektywnego.
34
J.Nawrocki, Modele obliczeń i granice... Twierdzenie Gödela - 1930 Jeśli teoria T jest niesprzeczna i zawiera arytmetykę liczb naturalnych, to istnieją zdania A(x) takie, że chociaż wszystkie zdania A(0), A(1), A(2),... są twierdzeniami teorii T, to jednak zdanie ogólne dla każdej liczby naturalnej x zachodzi A(x) ani jego zaprzeczenie nie daje się wyprowadzić.
35
J.Nawrocki, Modele obliczeń i granice... Model maszyny RAM Rejestry Pamięć
36
J.Nawrocki, Modele obliczeń i granice... Model maszyny RAM Rejestry Pamięć Przykładowe operacje maszyny: przesłanie stałej do rejestru: R1 1przesłanie stałej do rejestru: R1 1 przesłanie iloczynu do rejestru: R1 R1 * R2przesłanie iloczynu do rejestru: R1 R1 * R2 porównanie rejestru ze stałą: R2 > 0porównanie rejestru ze stałą: R2 > 0 przesłanie komórki pamięci do rejestru: R1 M [1000]przesłanie komórki pamięci do rejestru: R1 M [1000]
37
J.Nawrocki, Modele obliczeń i granice... Język schematów blokowych R1 1 R2 0 R2 > 0 Tak Nie Start Stop
38
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 0 Tak Nie Warunek pocz.: R2 = n Warunek końc.: R1 = n!
39
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out
40
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1
41
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1
42
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1 4
43
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1 43
44
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1 43
45
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1 43
46
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1 43 12
47
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1 43 122
48
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1 43 122
49
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1 43 122
50
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1 43 122 24
51
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1 43 122 24 1
52
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1 43 122 24 1
53
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1 43 122 24 1
54
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1 43 122 24 1
55
J.Nawrocki, Modele obliczeń i granice... Obliczanie n! Start Stop R1 1 R1 1 R1 R1 * R2 R1 R1 * R2 R2 R2 - 1 R2 R2 - 1 R2 > 1 Tak Nie R2R1 4 In Out In Out 1 43 122 24 1 4! = 24 4! = 24
56
J.Nawrocki, Modele obliczeń i granice... Koncepcja von Neumanna Specjalizowane kalkulatory (obliczanie toru pocisku) a uniwersalne komputery Jak zrealizować uniwersalność: program jako łącznice kablowe program jako łącznice kablowe program jako dane przechowywane w pamięci (koncepcja von Neumanna) program jako dane przechowywane w pamięci (koncepcja von Neumanna)
57
J.Nawrocki, Modele obliczeń i granice... Koncepcja von Neumanna Dwie fazy: 1. Ściąganie rozkazu i jego dekodowanie 2. Wykonanie rozkazu Specjalny rejestr (licznik rozkazów) pokazuje następny rozkaz do wykonania.
58
J.Nawrocki, Modele obliczeń i granice... Kodowanie rozkazów Kod Rozkaz Przykład 1 MovRegCon(R, C) 1 1 0 R1 0 1 MovRegCon(R, C) 1 1 0 R1 0 2 IfRegLeCon(R, C, I) 2 2 1 20 R2 1.. 2 IfRegLeCon(R, C, I) 2 2 1 20 R2 1.. 3 MulRegReg(Rd, Rs) 3 1 2 R1 R1*R2 3 MulRegReg(Rd, Rs) 3 1 2 R1 R1*R2 4 SubRegCon(Rd, C) 4 2 1 R2 R2-R1 4 SubRegCon(Rd, C) 4 2 1 R2 R2-R1 5 Jump(I) 5 14 5 Jump(I) 5 14 6 Stop 6 6 Stop 6
59
J.Nawrocki, Modele obliczeń i granice... Kodowanie rozkazów 1 1 1MovRegConR1 1 10 2 2 1 13 25 IfRegLeCon 3 17 MulRegReg 1 2 4 2 1 20SubRegCon 5 13 6 23 Jump 25Stop
60
J.Nawrocki, Modele obliczeń i granice... Kodowanie rozkazów 1 1 1 MovRegCon R1 1 10 2 2 1 13 25 IfRegLeCon 3 17 MulRegReg 1 2 4 2 1 20SubRegCon 5 13 6 23 Jump 25Stop R2R1 3 In Out In Out 10 IC
61
J.Nawrocki, Modele obliczeń i granice... Kodowanie rozkazów 1 1 1 MovRegCon R1 1 10 2 2 1 13 25 IfRegLeCon 3 17 MulRegReg 1 2 4 2 1 20SubRegCon 5 13 6 23 Jump 25Stop R2R1 3 In Out In Out 13 IC 1
62
J.Nawrocki, Modele obliczeń i granice... Kodowanie rozkazów 1 1 1 MovRegCon R1 1 10 2 2 1 13 25 IfRegLeCon 3 17 MulRegReg 1 2 4 2 1 20SubRegCon 5 13 6 23 Jump 25Stop R2R1 3 In Out In Out 17 IC 1
63
J.Nawrocki, Modele obliczeń i granice... Kodowanie rozkazów 1 1 1 MovRegCon R1 1 10 2 2 1 13 25 IfRegLeCon 3 17 MulRegReg 1 2 4 2 1 20SubRegCon 5 13 6 23 Jump 25Stop R2R1 3 In Out In Out 20 IC 1 3
64
J.Nawrocki, Modele obliczeń i granice... Kodowanie rozkazów 1 1 1 MovRegCon R1 1 10 2 2 1 13 25 IfRegLeCon 3 17 MulRegReg 1 2 4 2 1 20SubRegCon 5 13 6 23 Jump 25Stop R2R1 3 In Out In Out 23 IC 1 32
65
J.Nawrocki, Modele obliczeń i granice... Kodowanie rozkazów 1 1 1 MovRegCon R1 1 10 2 2 1 13 25 IfRegLeCon 3 17 MulRegReg 1 2 4 2 1 20SubRegCon 5 13 6 23 Jump 25Stop R2R1 3 In Out In Out 13 IC 1 32
66
J.Nawrocki, Modele obliczeń i granice... Kodowanie rozkazów 1 1 1 MovRegCon R1 1 10 2 2 1 13 25 IfRegLeCon 3 17 MulRegReg 1 2 4 2 1 20SubRegCon 5 13 6 23 Jump 25Stop R2R1 3 In Out In Out 17 IC 1 32
67
J.Nawrocki, Modele obliczeń i granice... Kodowanie rozkazów 1 1 1 MovRegCon R1 1 10 2 2 1 13 25 IfRegLeCon 3 17 MulRegReg 1 2 4 2 1 20SubRegCon 5 13 6 23 Jump 25Stop R2R1 3 In Out In Out 20 IC 1 32 6
68
J.Nawrocki, Modele obliczeń i granice... Kodowanie rozkazów 1 1 1 MovRegCon R1 1 10 2 2 1 13 25 IfRegLeCon 3 17 MulRegReg 1 2 4 2 1 20SubRegCon 5 13 6 23 Jump 25Stop R2R1 3 In Out In Out 23 IC 1 32 61
69
J.Nawrocki, Modele obliczeń i granice... Kodowanie rozkazów 1 1 1 MovRegCon R1 1 10 2 2 1 13 25 IfRegLeCon 3 17 MulRegReg 1 2 4 2 1 20SubRegCon 5 13 6 23 Jump 25Stop R2R1 3 In Out In Out 13 IC 1 32 61
70
J.Nawrocki, Modele obliczeń i granice... Kodowanie rozkazów 1 1 1 MovRegCon R1 1 10 2 2 1 13 25 IfRegLeCon 3 17 MulRegReg 1 2 4 2 1 20SubRegCon 5 13 6 23 Jump 25Stop R2R1 3 In Out In Out 13 IC 1 32 61
71
J.Nawrocki, Modele obliczeń i granice... Równoważność modeli Maszyna Turinga, funkcje rekurencyjne i maszyna RAM są obliczeniowo równoważne
72
J.Nawrocki, Modele obliczeń i granice... Problem stopu Dany jest podprogram X. Czy ten podprogram skończy obliczenia w skończonym czasie?
73
J.Nawrocki, Modele obliczeń i granice... Problem stopu procedure ZatrzymaSię(P: procedure): Boolean; { ??? } { ??? } procedure X; { while ZatrzymaSię(X) do ; } { while ZatrzymaSię(X) do ; }
74
J.Nawrocki, Modele obliczeń i granice... Problem stopu ZatrzymaSię(X) procedure X Tak Nie Wniosek: Problem stopu jest nierozstrzygalny
75
J.Nawrocki, Modele obliczeń i granice... Podsumowanie Maszyna Turinga, funkcje rekurencyjne i maszyna RAM są obliczeniowo równoważneMaszyna Turinga, funkcje rekurencyjne i maszyna RAM są obliczeniowo równoważne Problem stopu jest nierozstrzygalnyProblem stopu jest nierozstrzygalny Nareszcie!
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.