Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Lecture 10 Universal Algorithms –moving beyond one problem at a time –operating system/general purpose computer.

Similar presentations


Presentation on theme: "1 Lecture 10 Universal Algorithms –moving beyond one problem at a time –operating system/general purpose computer."— Presentation transcript:

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


Download ppt "1 Lecture 10 Universal Algorithms –moving beyond one problem at a time –operating system/general purpose computer."

Similar presentations


Ads by Google