Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Modele obliczeń i granice obliczalności Copyright, 1999 © Jerzy R. Nawrocki Wprowadzenie.

Podobne prezentacje


Prezentacja na temat: "Modele obliczeń i granice obliczalności Copyright, 1999 © Jerzy R. Nawrocki Wprowadzenie."— Zapis prezentacji:

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!


Pobierz ppt "Modele obliczeń i granice obliczalności Copyright, 1999 © Jerzy R. Nawrocki Wprowadzenie."

Podobne prezentacje


Reklamy Google