Download presentation
Presentation is loading. Please wait.
1
1 Lecture 10 Universal Algorithms –moving beyond one problem at a time –operating system/general purpose computer
2
2 Observation So far, each program solves one specific problem –Divisor –Sorting –Multiplication –Language L
3
3 Universal Problem/Program Universal Problem (nonstandard term) –Input Program P Input x to program P –Task Compute P(x) Univeral Program –Program which solves universal problem Universal Turing machine
4
4 Example Input int main(A[6]) { Input int i,temp; for (i=1;i<=3;i++) A[1] = 6 if (A[i] > A[i+3]) {A[2] =4 temp = A[i+3];A[3] = 2 A[i+3] = A[i];A[4] = 5 A[i] = temp;A[5] = 3 }A[6] = 1 for (i=1; i<=5; i++) for (j=i+1;j<=6;j++) if (A[j-1] > A[j]) { temp = A[j]; A[j] = A[j-1]; A[j-1] = temp; }
5
5 Questions Which of the following two people is most like a universal program? –Brilliant, creative scientist –Efficient, obedient soldier How does a universal program work? What is a universal program in real life?
6
6 Organization Universal Program’s Memory Program P Program P’s Memory Program P int main(A[6]){ int i,temp; for (i=1;i<=3;i++) if (A[i] > A[i+3]) { temp = A[i+3]; A[i+3] = A[i]; A[i] = temp; } for (i=1; i<=5; i++) for (j=i+1;j<=6;j++) if (A[j-1] > A[j]) { temp = A[j]; A[j] = A[j-1]; A[j-1] = temp; } Program Counter int A[6],i,temp; 642531642531 Line 1
7
7 Description of Universal Program Basic Loop –Find current line of program P –Execute current line of program P Update program P’s memory –Update program counter –Return to Top of Loop
8
8 Past, Present, Future Turing came up with the concept of a universal program (Universal Turing machine) in the 1930’s –This is well before the invention of the general purpose computer –People were still thinking of computing devices as special-purpose devices (calculators, etc.) –Turing helped move people beyond this narrow perspective Turing/Von Neumann perspective –Computers are general purpose/universal algorithms Focused on computation Stand-alone Today, we are moving beyond this view –Computation, communication, cyberspace –However, results in Turing perspective still relevant
9
9 Halting Problem Revisited Halting Problem is half-solvable –Modified Universal Program (MUP) half- solves H Run P on x Output yes –This step only executed if first step halts –Behavior MUP halts and accepts all yes instances of H MUP loops on all no instances of H –Stuck in “Run P on x” step
10
10 Debuggers How do debugger’s like gdb or ddd work? –They basically operate like a universal program –Key properties of debugger’s to aid in debugging Breakpoints Display memory commands
11
11 RE and REC We now have a problem that is half- solvable but not solvable What do we now know about the complement of the Halting Problem? –It is not even half-solvable This proves RE is not closed under the set complement operation –H is counterexample
12
12 RE and REC REC RE ll Languages H HcHc
13
13 Summary Universal Programs –1930’s, Turing –Introduces general purpose computing concept –Not a super intelligent program, merely a precise follower of instructions Halting Problem half-solvable but not solvable –RE not closed under set complement
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.