Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1 1 Module 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] = 3 A[i] = temp;A[5] = 5 }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 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

6 6 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

7 7 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

8 8 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 What does MUP do on all yes instances of H? What does MUP do on all no inputs of H?

9 9 Debuggers * How are debugger’s like gdb or ddd related to universal programs? How do debuggers simplify the debugging process?

10 10 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? What additional fact about RE and set complement does this prove?

11 11 RE and REC REC RE  ll Languages H HcHc

12 12 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 Module 10 Universal Algorithms –moving beyond one problem at a time –operating system/general purpose computer."

Similar presentations


Ads by Google