360 likes | 471 Views
Dive into computable functions with Turing Machines in binary and unary domains. Learn about representation, parameters, and computability of functions through examples. Discover the power of Turing Machines in computation and digital computers.
E N D
A function has: Domain Result Region
Integer Domain: Unary: 11111 101 Binary: Decimal: 5 We prefer Unary representation: Easier to manipulate
A function may have many parameters: Example: Addition function are integers
Definition: A function is computable if there is a Turing Machine such that: final state Initial Configuration Final configuration Domain
In other words: A function is computable if there is a Turing Machine such that: Final Configuration Initial Configuration Domain
Example is computable The function are integers Turing Machine: Input string: unary Output string: unary
Start Finish final state
Execution Example: Time 0 (2) (2) Final Result
Time 0 Time 1
Time 2 Time 3
Time 4 Time 5
Time 6 Time 7
Time 8 Time 9
Time 10 Time 11
Time 12 HALT & accept
Another Example is computable The function is integer Turing Machine: Input string: unary Output string: unary
Start Finish final state
Turing Machine Pseudocode for 1. Replace every 1 with $ Repeat: 2. Find rightmost $, replace it with 1 3. Go to right end, insert 1 Until no more $ remain
Example Start Finish
Another Example if The function if is computable
Turing Machine for if if Input: or Output:
Turing Machine Pseudocode: 1. Repeat Match a 1 from with a 1 from Until all or has been matched 2. If a 1 from is not matched erase tape, write 1 else erase tape, write 0
Block Diagram Turing Machine input output
Example: if if Adder Comparer Eraser
Do Turing machines have the same power with a digital computer?
Do Turing machines have the same power with a digital computer? Intuitive answer: Yes There is no formal answer
Turing’s thesis: Any computation carried out by mechanical means can be performed by Turing Machine (1930)
Computer Science Law: A computation is mechanical if and only if it can be performed by a Turing Machine There is no known model of computation more powerful than Turing Machines
Definition of Algorithm: An algorithm for function is a Turing Machine which computes
Algorithms are Turing Machines When we say: There exists an algorithm We mean: There exists a Turing Machine