Turing Machines - A simulating simulatorelise/courses/cs6800/TM-sim.pdf · Turing Machines A...
Transcript of Turing Machines - A simulating simulatorelise/courses/cs6800/TM-sim.pdf · Turing Machines A...
IntroductionLanguages
Self Replicating Machines
Turing MachinesA simulating simulator
H. Saleh1 M. Gul2 J. Hussini
CS6800 Advanced Theory of ComputationDepartment of Computer Science
Western Michigan University
March 21, 2016
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Outline
1 IntroductionWhat is a Turing MachineExecution
2 LanguagesRecursively Enumerable LanguagesChurch Turing Theses
3 Self Replicating MachinesDefinitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Outline
1 IntroductionWhat is a Turing MachineExecution
2 LanguagesRecursively Enumerable LanguagesChurch Turing Theses
3 Self Replicating MachinesDefinitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Definition of a Turing Machine
www.cs.cornell.edu/courses/cs4820/2012su/handouts/turingm.pdf
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Definition of a Turing Machinein English
Turing Machines are an abstract model of computation.They represent what it means for an algorithm to becomputable.Turing machine models have a few key features.
1 The internal state is finite.2 The tape has infinite capacity.3 A program has a specific finite set of instructions.4 A programming language is able to write an interpreter for
programs in that language (self reference).
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Question 1
What are the components of a Turing Machine? What is thesubset of these components required to describe aconfiguration of a specific machine?
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Components of a Turing Machine
A Turing machine is a 6-tuple M=(Q,Γ,Σ, δ, q0,B) whereQ is the finite set of states of the Turing machineΓ is the tape alphabetΣ ⊆ Γ is the input alphabetδ is the transition function such that Q x Γ→ Q x Γ x {L,R}q0 ∈ Q is the initial stateB ⊆ Γ − Σ is the blank symbol
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Components of a Turing Machine
A Turing machine is a 6-tuple M=(Q,Γ,Σ, δ, q0,B) whereQ is the finite set of states of the Turing machineΓ is the tape alphabetΣ ⊆ Γ is the input alphabetδ is the transition function such that Q x Γ→ Q x Γ x {L,R}q0 ∈ Q is the initial stateB ⊆ Γ − Σ is the blank symbol
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Components of a Turing Machine
A Turing machine is a 6-tuple M=(Q,Γ,Σ, δ, q0,B) whereQ is the finite set of states of the Turing machineΓ is the tape alphabetΣ ⊆ Γ is the input alphabetδ is the transition function such that Q x Γ→ Q x Γ x {L,R}q0 ∈ Q is the initial stateB ⊆ Γ − Σ is the blank symbol
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Components of a Turing Machine
A Turing machine is a 6-tuple M=(Q,Γ,Σ, δ, q0,B) whereQ is the finite set of states of the Turing machineΓ is the tape alphabetΣ ⊆ Γ is the input alphabetδ is the transition function such that Q x Γ→ Q x Γ x {L,R}q0 ∈ Q is the initial stateB ⊆ Γ − Σ is the blank symbol
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Components of a Turing Machine
A Turing machine is a 6-tuple M=(Q,Γ,Σ, δ, q0,B) whereQ is the finite set of states of the Turing machineΓ is the tape alphabetΣ ⊆ Γ is the input alphabetδ is the transition function such that Q x Γ→ Q x Γ x {L,R}q0 ∈ Q is the initial stateB ⊆ Γ − Σ is the blank symbol
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Components of a Turing Machine
A Turing machine is a 6-tuple M=(Q,Γ,Σ, δ, q0,B) whereQ is the finite set of states of the Turing machineΓ is the tape alphabetΣ ⊆ Γ is the input alphabetδ is the transition function such that Q x Γ→ Q x Γ x {L,R}q0 ∈ Q is the initial stateB ⊆ Γ − Σ is the blank symbol
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Turing Machine Configurations
The above components describe the entire Turing machine. Todescribe a certain configuration, you need to know three things:
1 The current state.2 Whatever’s on the tape.3 the current position of the reading head.
This is a three tuple derived from: Q x Γ∗ x (ε ∪ Γ∗(Γ− B))
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Turing Machine Configurations
The above components describe the entire Turing machine. Todescribe a certain configuration, you need to know three things:
1 The current state.2 Whatever’s on the tape.3 the current position of the reading head.
This is a three tuple derived from: Q x Γ∗ x (ε ∪ Γ∗(Γ− B))
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Turing Machine Configurations
The above components describe the entire Turing machine. Todescribe a certain configuration, you need to know three things:
1 The current state.2 Whatever’s on the tape.3 the current position of the reading head.
This is a three tuple derived from: Q x Γ∗ x (ε ∪ Γ∗(Γ− B))
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Turing Machine Configurations
The above components describe the entire Turing machine. Todescribe a certain configuration, you need to know three things:
1 The current state.2 Whatever’s on the tape.3 the current position of the reading head.
This is a three tuple derived from: Q x Γ∗ x (ε ∪ Γ∗(Γ− B))
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Outline
1 IntroductionWhat is a Turing MachineExecution
2 LanguagesRecursively Enumerable LanguagesChurch Turing Theses
3 Self Replicating MachinesDefinitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Execution steps of a Turing Machine
In the beginning, there is a string on the infinite tape. A stringfollowed by the blank symbols all the way to infinity.The head is positioned at the leftmost symbol on the tape.At each iteration, the machine will take the following actions:
head will read the symbol at its current positionhead will replace the read symbol with a symbol specifiedby the transition function.head will move one position left or right depending on thetransition function.the state of the Turing machine will change depending onthe transition function.
Note that a null change in the machine is still change (thathappens to do nothing).
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Execution steps of a Turing Machine
In the beginning, there is a string on the infinite tape. A stringfollowed by the blank symbols all the way to infinity.The head is positioned at the leftmost symbol on the tape.At each iteration, the machine will take the following actions:
head will read the symbol at its current positionhead will replace the read symbol with a symbol specifiedby the transition function.head will move one position left or right depending on thetransition function.the state of the Turing machine will change depending onthe transition function.
Note that a null change in the machine is still change (thathappens to do nothing).
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Execution steps of a Turing Machine
In the beginning, there is a string on the infinite tape. A stringfollowed by the blank symbols all the way to infinity.The head is positioned at the leftmost symbol on the tape.At each iteration, the machine will take the following actions:
head will read the symbol at its current positionhead will replace the read symbol with a symbol specifiedby the transition function.head will move one position left or right depending on thetransition function.the state of the Turing machine will change depending onthe transition function.
Note that a null change in the machine is still change (thathappens to do nothing).
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Execution steps of a Turing Machine
In the beginning, there is a string on the infinite tape. A stringfollowed by the blank symbols all the way to infinity.The head is positioned at the leftmost symbol on the tape.At each iteration, the machine will take the following actions:
head will read the symbol at its current positionhead will replace the read symbol with a symbol specifiedby the transition function.head will move one position left or right depending on thetransition function.the state of the Turing machine will change depending onthe transition function.
Note that a null change in the machine is still change (thathappens to do nothing).
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Execution steps of a Turing Machine
In the beginning, there is a string on the infinite tape. A stringfollowed by the blank symbols all the way to infinity.The head is positioned at the leftmost symbol on the tape.At each iteration, the machine will take the following actions:
head will read the symbol at its current positionhead will replace the read symbol with a symbol specifiedby the transition function.head will move one position left or right depending on thetransition function.the state of the Turing machine will change depending onthe transition function.
Note that a null change in the machine is still change (thathappens to do nothing).
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Execution steps of a Turing Machine
In the beginning, there is a string on the infinite tape. A stringfollowed by the blank symbols all the way to infinity.The head is positioned at the leftmost symbol on the tape.At each iteration, the machine will take the following actions:
head will read the symbol at its current positionhead will replace the read symbol with a symbol specifiedby the transition function.head will move one position left or right depending on thetransition function.the state of the Turing machine will change depending onthe transition function.
Note that a null change in the machine is still change (thathappens to do nothing).
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Execution steps of a Turing Machine
In the beginning, there is a string on the infinite tape. A stringfollowed by the blank symbols all the way to infinity.The head is positioned at the leftmost symbol on the tape.At each iteration, the machine will take the following actions:
head will read the symbol at its current positionhead will replace the read symbol with a symbol specifiedby the transition function.head will move one position left or right depending on thetransition function.the state of the Turing machine will change depending onthe transition function.
Note that a null change in the machine is still change (thathappens to do nothing).
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
Execution steps of a Turing Machine
In the beginning, there is a string on the infinite tape. A stringfollowed by the blank symbols all the way to infinity.The head is positioned at the leftmost symbol on the tape.At each iteration, the machine will take the following actions:
head will read the symbol at its current positionhead will replace the read symbol with a symbol specifiedby the transition function.head will move one position left or right depending on thetransition function.the state of the Turing machine will change depending onthe transition function.
Note that a null change in the machine is still change (thathappens to do nothing).
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
The Transition function and the derivation of transitions
The transition function determines how the machine will act onthe given input. Given a state q and a symbol b:
if δ( q , b ) = (q’, b’, R) then(q, α1, bα′2) `M (q’, α1b′, α′2)
if δ( q , b ) = (q’, b’, L) and α1 6= ε then(q, α′1a, bα′2) `M (q’,α′1, ab’α′2).
Every valid configuration ck can be generated from c0 using thetransitions above.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
The Transition function and the derivation of transitions
The transition function determines how the machine will act onthe given input. Given a state q and a symbol b:
if δ( q , b ) = (q’, b’, R) then(q, α1, bα′2) `M (q’, α1b′, α′2)
if δ( q , b ) = (q’, b’, L) and α1 6= ε then(q, α′1a, bα′2) `M (q’,α′1, ab’α′2).
Every valid configuration ck can be generated from c0 using thetransitions above.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
DefinitionExecution
The Transition function and the derivation of transitions
The transition function determines how the machine will act onthe given input. Given a state q and a symbol b:
if δ( q , b ) = (q’, b’, R) then(q, α1, bα′2) `M (q’, α1b′, α′2)
if δ( q , b ) = (q’, b’, L) and α1 6= ε then(q, α′1a, bα′2) `M (q’,α′1, ab’α′2).
Every valid configuration ck can be generated from c0 using thetransitions above.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Outline
1 IntroductionWhat is a Turing MachineExecution
2 LanguagesRecursively Enumerable LanguagesChurch Turing Theses
3 Self Replicating MachinesDefinitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Question 2
Define, in relatively formal language, the relationship betweenTuring machines and languages. Explain the differencebetween recursively enumberable and recursive languages.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Turing Machines and relation to languages
Turing Machines can be used as language acceptors. Given atransition table δ and a set of states Q, a Turing Machine candetermine whether a string is part of the language. Formally:
let M=(Q,Σ, Γ, δ, q0, B,F) be a Turing machine.A string u ε Σ∗ is accepted by final state if the computationof M with input u halts in a final state.A computation the terminates abnormally rejects the inputregardless of the state in which the machine halts.The language of M, denoted by L(M) is the set of all stringsaccepted by M.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Turing Machines and relation to languages
Turing Machines can be used as language acceptors. Given atransition table δ and a set of states Q, a Turing Machine candetermine whether a string is part of the language. Formally:
let M=(Q,Σ, Γ, δ, q0, B,F) be a Turing machine.A string u ε Σ∗ is accepted by final state if the computationof M with input u halts in a final state.A computation the terminates abnormally rejects the inputregardless of the state in which the machine halts.The language of M, denoted by L(M) is the set of all stringsaccepted by M.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Turing Machines and relation to languages
Turing Machines can be used as language acceptors. Given atransition table δ and a set of states Q, a Turing Machine candetermine whether a string is part of the language. Formally:
let M=(Q,Σ, Γ, δ, q0, B,F) be a Turing machine.A string u ε Σ∗ is accepted by final state if the computationof M with input u halts in a final state.A computation the terminates abnormally rejects the inputregardless of the state in which the machine halts.The language of M, denoted by L(M) is the set of all stringsaccepted by M.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Turing Machines and relation to languages
Turing Machines can be used as language acceptors. Given atransition table δ and a set of states Q, a Turing Machine candetermine whether a string is part of the language. Formally:
let M=(Q,Σ, Γ, δ, q0, B,F) be a Turing machine.A string u ε Σ∗ is accepted by final state if the computationof M with input u halts in a final state.A computation the terminates abnormally rejects the inputregardless of the state in which the machine halts.The language of M, denoted by L(M) is the set of all stringsaccepted by M.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Turing Machines and relation to languages
Turing Machines can be used as language acceptors. Given atransition table δ and a set of states Q, a Turing Machine candetermine whether a string is part of the language. Formally:
let M=(Q,Σ, Γ, δ, q0, B,F) be a Turing machine.A string u ε Σ∗ is accepted by final state if the computationof M with input u halts in a final state.A computation the terminates abnormally rejects the inputregardless of the state in which the machine halts.The language of M, denoted by L(M) is the set of all stringsaccepted by M.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Turing Machines and relation to languages
Turing Machines can be used as language acceptors. Given atransition table δ and a set of states Q, a Turing Machine candetermine whether a string is part of the language. Formally:
let M=(Q,Σ, Γ, δ, q0, B,F) be a Turing machine.A string u ε Σ∗ is accepted by final state if the computationof M with input u halts in a final state.A computation the terminates abnormally rejects the inputregardless of the state in which the machine halts.The language of M, denoted by L(M) is the set of all stringsaccepted by M.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Turing Machines and relation to languages
Turing Machines can be used as language acceptors. Given atransition table δ and a set of states Q, a Turing Machine candetermine whether a string is part of the language. Formally:
let M=(Q,Σ, Γ, δ, q0, B,F) be a Turing machine.A string u ε Σ∗ is accepted by final state if the computationof M with input u halts in a final state.A computation the terminates abnormally rejects the inputregardless of the state in which the machine halts.The language of M, denoted by L(M) is the set of all stringsaccepted by M.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Recursive languages
A language is said to be recuresively enumerable if there isa Turing Machine that accepts it.A machine M recognizes L if it accepts string in thelanguage L. It is not always the case that it will always haltfor any input.A language is said to be recursive if and only if there is aTuring machine that accepts the language and halts for allinputs.Because a recursive language has a Turing machine that isguaranteed to always halt, the problem of langugemembership is decidable for recursive languages.A Turing Machine decides a recursive language.
All recursive languages are necessarily recursivelyenumerable, but recursively enumerable languages are not allnecessarily recursive
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Recursive languages
A language is said to be recuresively enumerable if there isa Turing Machine that accepts it.A machine M recognizes L if it accepts string in thelanguage L. It is not always the case that it will always haltfor any input.A language is said to be recursive if and only if there is aTuring machine that accepts the language and halts for allinputs.Because a recursive language has a Turing machine that isguaranteed to always halt, the problem of langugemembership is decidable for recursive languages.A Turing Machine decides a recursive language.
All recursive languages are necessarily recursivelyenumerable, but recursively enumerable languages are not allnecessarily recursive
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Recursive languages
A language is said to be recuresively enumerable if there isa Turing Machine that accepts it.A machine M recognizes L if it accepts string in thelanguage L. It is not always the case that it will always haltfor any input.A language is said to be recursive if and only if there is aTuring machine that accepts the language and halts for allinputs.Because a recursive language has a Turing machine that isguaranteed to always halt, the problem of langugemembership is decidable for recursive languages.A Turing Machine decides a recursive language.
All recursive languages are necessarily recursivelyenumerable, but recursively enumerable languages are not allnecessarily recursive
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Recursive languages
A language is said to be recuresively enumerable if there isa Turing Machine that accepts it.A machine M recognizes L if it accepts string in thelanguage L. It is not always the case that it will always haltfor any input.A language is said to be recursive if and only if there is aTuring machine that accepts the language and halts for allinputs.Because a recursive language has a Turing machine that isguaranteed to always halt, the problem of langugemembership is decidable for recursive languages.A Turing Machine decides a recursive language.
All recursive languages are necessarily recursivelyenumerable, but recursively enumerable languages are not allnecessarily recursive
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Recursive languages
A language is said to be recuresively enumerable if there isa Turing Machine that accepts it.A machine M recognizes L if it accepts string in thelanguage L. It is not always the case that it will always haltfor any input.A language is said to be recursive if and only if there is aTuring machine that accepts the language and halts for allinputs.Because a recursive language has a Turing machine that isguaranteed to always halt, the problem of langugemembership is decidable for recursive languages.A Turing Machine decides a recursive language.
All recursive languages are necessarily recursivelyenumerable, but recursively enumerable languages are not allnecessarily recursive
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Recursive languages
A language is said to be recuresively enumerable if there isa Turing Machine that accepts it.A machine M recognizes L if it accepts string in thelanguage L. It is not always the case that it will always haltfor any input.A language is said to be recursive if and only if there is aTuring machine that accepts the language and halts for allinputs.Because a recursive language has a Turing machine that isguaranteed to always halt, the problem of langugemembership is decidable for recursive languages.A Turing Machine decides a recursive language.
All recursive languages are necessarily recursivelyenumerable, but recursively enumerable languages are not allnecessarily recursive
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Example
Figure: Example from : http://www.montefiore.ulg.ac.be/Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Question 3
Given the above 6-tuple:1 Draw the Turing machine for the transition table2 Determine the language accepted by this machine.3 Choose a 6 letter string within the language show the
derivations for this string.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Question 3
Given the above 6-tuple:1 Draw the Turing machine for the transition table2 Determine the language accepted by this machine.3 Choose a 6 letter string within the language show the
derivations for this string.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Question 3
Given the above 6-tuple:1 Draw the Turing machine for the transition table2 Determine the language accepted by this machine.3 Choose a 6 letter string within the language show the
derivations for this string.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Question 3
Given the above 6-tuple:1 Draw the Turing machine for the transition table2 Determine the language accepted by this machine.3 Choose a 6 letter string within the language show the
derivations for this string.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Question 4
Compared to a normal a finite state machine, what is theproperty that makes Turing machines so much more powerful?How can we (theoretically speaking) simulate a Turing machineon it?
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Question 4 solution
what makes a Turing machine so much more powerful thana finite state machine is its ability to write to the tape.A turing machine can remember the results of previouscomputationsFor example, a the language anbn can be easily definedusing a Turing machine.a state machine that cannot remember previouscomputations will have to use infinitely many states toremember how many a symbols it has seen. i.e. state1represents a, state 2 represents aa, and so on.
Contrary to what first graders believe, counting is immenselyuseful!
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Question 4 solution
what makes a Turing machine so much more powerful thana finite state machine is its ability to write to the tape.A turing machine can remember the results of previouscomputationsFor example, a the language anbn can be easily definedusing a Turing machine.a state machine that cannot remember previouscomputations will have to use infinitely many states toremember how many a symbols it has seen. i.e. state1represents a, state 2 represents aa, and so on.
Contrary to what first graders believe, counting is immenselyuseful!
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Question 4 solution
what makes a Turing machine so much more powerful thana finite state machine is its ability to write to the tape.A turing machine can remember the results of previouscomputationsFor example, a the language anbn can be easily definedusing a Turing machine.a state machine that cannot remember previouscomputations will have to use infinitely many states toremember how many a symbols it has seen. i.e. state1represents a, state 2 represents aa, and so on.
Contrary to what first graders believe, counting is immenselyuseful!
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Question 4 solution
what makes a Turing machine so much more powerful thana finite state machine is its ability to write to the tape.A turing machine can remember the results of previouscomputationsFor example, a the language anbn can be easily definedusing a Turing machine.a state machine that cannot remember previouscomputations will have to use infinitely many states toremember how many a symbols it has seen. i.e. state1represents a, state 2 represents aa, and so on.
Contrary to what first graders believe, counting is immenselyuseful!
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Question 4 solution
what makes a Turing machine so much more powerful thana finite state machine is its ability to write to the tape.A turing machine can remember the results of previouscomputationsFor example, a the language anbn can be easily definedusing a Turing machine.a state machine that cannot remember previouscomputations will have to use infinitely many states toremember how many a symbols it has seen. i.e. state1represents a, state 2 represents aa, and so on.
Contrary to what first graders believe, counting is immenselyuseful!
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Outline
1 IntroductionWhat is a Turing MachineExecution
2 LanguagesRecursively Enumerable LanguagesChurch Turing Theses
3 Self Replicating MachinesDefinitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Church Turing
The Church-Turing Theses are a set of important notions thathave shaped how computer scientists think about computationin general. There are three distinct definitions:
1 The Church Turing Thesis for Decision Problems2 The Church Turing Thesis for Recognition Problems3 The Church Turing Thesis for Computable Functions
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Question 5
Define the Church Turing Thesis for Decision Problems. Give aformal definition and explain it’s meaning.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Decision Problems
Definition: There is an effective procedure to solve a decisionproblem if and only if there is a Turing machine that halts for allinput strings.
A solution to a decision problem must halt, or return ananswer, for every instance of the problem. (the solutiondecides the problem completely)A solution that halts only when the answer is affirmative issaid to be a partial solution. (the solution recognizes yesinstances)A complete solution to a decision problem is equivalent toa the membership problem of whether a string is in arecursive language.A partial solution is equivalent to the problem of whether astring is in a recursively enumerable language.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Decision Problems
Definition: There is an effective procedure to solve a decisionproblem if and only if there is a Turing machine that halts for allinput strings.
A solution to a decision problem must halt, or return ananswer, for every instance of the problem. (the solutiondecides the problem completely)A solution that halts only when the answer is affirmative issaid to be a partial solution. (the solution recognizes yesinstances)A complete solution to a decision problem is equivalent toa the membership problem of whether a string is in arecursive language.A partial solution is equivalent to the problem of whether astring is in a recursively enumerable language.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Decision Problems
Definition: There is an effective procedure to solve a decisionproblem if and only if there is a Turing machine that halts for allinput strings.
A solution to a decision problem must halt, or return ananswer, for every instance of the problem. (the solutiondecides the problem completely)A solution that halts only when the answer is affirmative issaid to be a partial solution. (the solution recognizes yesinstances)A complete solution to a decision problem is equivalent toa the membership problem of whether a string is in arecursive language.A partial solution is equivalent to the problem of whether astring is in a recursively enumerable language.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Decision Problems
Definition: There is an effective procedure to solve a decisionproblem if and only if there is a Turing machine that halts for allinput strings.
A solution to a decision problem must halt, or return ananswer, for every instance of the problem. (the solutiondecides the problem completely)A solution that halts only when the answer is affirmative issaid to be a partial solution. (the solution recognizes yesinstances)A complete solution to a decision problem is equivalent toa the membership problem of whether a string is in arecursive language.A partial solution is equivalent to the problem of whether astring is in a recursively enumerable language.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Decision Problems
Definition: There is an effective procedure to solve a decisionproblem if and only if there is a Turing machine that halts for allinput strings.
A solution to a decision problem must halt, or return ananswer, for every instance of the problem. (the solutiondecides the problem completely)A solution that halts only when the answer is affirmative issaid to be a partial solution. (the solution recognizes yesinstances)A complete solution to a decision problem is equivalent toa the membership problem of whether a string is in arecursive language.A partial solution is equivalent to the problem of whether astring is in a recursively enumerable language.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Recognition Problems
Definition: A decision problem is partially solvable if and only ifthere is a Turing machine that accepts precisely the instancesof P whose answer is yes.Based on the last two points in the previous slide, a partialsolution solves the problem of whether a string is in an RElanguage while a full solution solves the problem of whether astring is in a Recursive language.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Recognition Problems
Definition: A decision problem is partially solvable if and only ifthere is a Turing machine that accepts precisely the instancesof P whose answer is yes.Based on the last two points in the previous slide, a partialsolution solves the problem of whether a string is in an RElanguage while a full solution solves the problem of whether astring is in a Recursive language.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Computable Functions
Definition: A function f is effectively computable if and only ifthere is a Turing machine that computes f.
Interesting fact: there is no proof for the Church-Turing Thesis.All you have to do to disprove it is find an effective procedurethat cannot be computed by a TM.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Recursively Enumerable LanguagesChurch Turing Theses
Computable Functions
Definition: A function f is effectively computable if and only ifthere is a Turing machine that computes f.
Interesting fact: there is no proof for the Church-Turing Thesis.All you have to do to disprove it is find an effective procedurethat cannot be computed by a TM.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Outline
1 IntroductionWhat is a Turing MachineExecution
2 LanguagesRecursively Enumerable LanguagesChurch Turing Theses
3 Self Replicating MachinesDefinitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Life
Human beings have the natural ability of detecting patternsin nature.One process which long eluded them, is the understandingof life.How each life form is not only able to replicate itself but isable to evolve.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Life
Human beings have the natural ability of detecting patternsin nature.One process which long eluded them, is the understandingof life.How each life form is not only able to replicate itself but isable to evolve.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Life
Human beings have the natural ability of detecting patternsin nature.One process which long eluded them, is the understandingof life.How each life form is not only able to replicate itself but isable to evolve.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Life
Human beings have the natural ability of detecting patternsin nature.One process which long eluded them, is the understandingof life.How each life form is not only able to replicate itself but isable to evolve.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Some Hypotheses
French philosopher, Henry Bergson put forth the conceptof “Élan Vital” in his book Creative Evolution.He discussed life as a very organized and mechanisticprocess but very complex.Later Darwin gave similar views, explaining life as amiraculous self sustaining process, with the ability toevolve.Is fire a self replicating entity as well ?
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Some Hypotheses
French philosopher, Henry Bergson put forth the conceptof “Élan Vital” in his book Creative Evolution.He discussed life as a very organized and mechanisticprocess but very complex.Later Darwin gave similar views, explaining life as amiraculous self sustaining process, with the ability toevolve.Is fire a self replicating entity as well ?
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Some Hypotheses
French philosopher, Henry Bergson put forth the conceptof “Élan Vital” in his book Creative Evolution.He discussed life as a very organized and mechanisticprocess but very complex.Later Darwin gave similar views, explaining life as amiraculous self sustaining process, with the ability toevolve.Is fire a self replicating entity as well ?
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Some Hypotheses
French philosopher, Henry Bergson put forth the conceptof “Élan Vital” in his book Creative Evolution.He discussed life as a very organized and mechanisticprocess but very complex.Later Darwin gave similar views, explaining life as amiraculous self sustaining process, with the ability toevolve.Is fire a self replicating entity as well ?
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Some Hypotheses
French philosopher, Henry Bergson put forth the conceptof “Élan Vital” in his book Creative Evolution.He discussed life as a very organized and mechanisticprocess but very complex.Later Darwin gave similar views, explaining life as amiraculous self sustaining process, with the ability toevolve.Is fire a self replicating entity as well ?
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Some Questions about a self replicating entity
Can an entity build a replica of itself?If it can, where does it find the ability of “self reference”?If it can build it self from a “self reference”, contained initself, how can it evolve into a better form?
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Some Questions about a self replicating entity
Can an entity build a replica of itself?If it can, where does it find the ability of “self reference”?If it can build it self from a “self reference”, contained initself, how can it evolve into a better form?
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Some Questions about a self replicating entity
Can an entity build a replica of itself?If it can, where does it find the ability of “self reference”?If it can build it self from a “self reference”, contained initself, how can it evolve into a better form?
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Some Questions about a self replicating entity
Can an entity build a replica of itself?If it can, where does it find the ability of “self reference”?If it can build it self from a “self reference”, contained initself, how can it evolve into a better form?
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
So What is A Self Replicating Entity
It can replicate itselfIt can replicate itself and contains a self reference.It can replicate it self and contains a self reference, alsocopies the self reference into its offspring thus impartingthe ability of self replicating.On top of all that, it can also evolve. (Terminator?).
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
So What is A Self Replicating Entity
It can replicate itselfIt can replicate itself and contains a self reference.It can replicate it self and contains a self reference, alsocopies the self reference into its offspring thus impartingthe ability of self replicating.On top of all that, it can also evolve. (Terminator?).
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
So What is A Self Replicating Entity
It can replicate itselfIt can replicate itself and contains a self reference.It can replicate it self and contains a self reference, alsocopies the self reference into its offspring thus impartingthe ability of self replicating.On top of all that, it can also evolve. (Terminator?).
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
So What is A Self Replicating Entity
It can replicate itselfIt can replicate itself and contains a self reference.It can replicate it self and contains a self reference, alsocopies the self reference into its offspring thus impartingthe ability of self replicating.On top of all that, it can also evolve. (Terminator?).
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
So What is A Self Replicating Entity
It can replicate itselfIt can replicate itself and contains a self reference.It can replicate it self and contains a self reference, alsocopies the self reference into its offspring thus impartingthe ability of self replicating.On top of all that, it can also evolve. (Terminator?).
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Outline
1 IntroductionWhat is a Turing MachineExecution
2 LanguagesRecursively Enumerable LanguagesChurch Turing Theses
3 Self Replicating MachinesDefinitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Kinematic Model
In late 1940s, mathematician Jon von Neumann presenteda kinematic model.It was a theoretical concept of how a self replicatingmachine can be built and discussed its various high levelparts.Later he also presented the model of von Neumann’sUniversal Constructor, which was yet another concept selfreplicating machine utilizing the Cellular Automata.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Kinematic Model
In late 1940s, mathematician Jon von Neumann presenteda kinematic model.It was a theoretical concept of how a self replicatingmachine can be built and discussed its various high levelparts.Later he also presented the model of von Neumann’sUniversal Constructor, which was yet another concept selfreplicating machine utilizing the Cellular Automata.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Kinematic Model
In late 1940s, mathematician Jon von Neumann presenteda kinematic model.It was a theoretical concept of how a self replicatingmachine can be built and discussed its various high levelparts.Later he also presented the model of von Neumann’sUniversal Constructor, which was yet another concept selfreplicating machine utilizing the Cellular Automata.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Kinematic Model
In late 1940s, mathematician Jon von Neumann presenteda kinematic model.It was a theoretical concept of how a self replicatingmachine can be built and discussed its various high levelparts.Later he also presented the model of von Neumann’sUniversal Constructor, which was yet another concept selfreplicating machine utilizing the Cellular Automata.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Question 6
Discuss major components of von Neumann’s kinematic model.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Kinematic Model
The kinematic model put forth essential parts of a selfreplicating machine as:
Blue Print Instructions, for creating the machine.A Blue Print copier.A ControllerA Constructor
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Kinematic Model
The kinematic model put forth essential parts of a selfreplicating machine as:
Blue Print Instructions, for creating the machine.A Blue Print copier.A ControllerA Constructor
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Kinematic Model
The kinematic model put forth essential parts of a selfreplicating machine as:
Blue Print Instructions, for creating the machine.A Blue Print copier.A ControllerA Constructor
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Kinematic Model
The kinematic model put forth essential parts of a selfreplicating machine as:
Blue Print Instructions, for creating the machine.A Blue Print copier.A ControllerA Constructor
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Kinematic Model
Figure: image from : https://www.youtube.com/user/HowieInTheUK
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Question 7
What conditions qualify a phenomenon/machine as selfreplicating? Is human being self replicating?
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Kinematic Model
The model presented the two basic steps of self replication as :
Reading the instruction and constructing a copy of itself(translation)Copying the “self reference” information to the newlycreated machine (transcription)
Years later, we can correctly verify human beings as selfreplicating machines.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Kinematic Model
The model presented the two basic steps of self replication as :
Reading the instruction and constructing a copy of itself(translation)Copying the “self reference” information to the newlycreated machine (transcription)
Years later, we can correctly verify human beings as selfreplicating machines.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Kinematic Model
The model presented the two basic steps of self replication as :
Reading the instruction and constructing a copy of itself(translation)Copying the “self reference” information to the newlycreated machine (transcription)
Years later, we can correctly verify human beings as selfreplicating machines.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Outline
1 IntroductionWhat is a Turing MachineExecution
2 LanguagesRecursively Enumerable LanguagesChurch Turing Theses
3 Self Replicating MachinesDefinitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Universal Constructor
Yet another self replicating machine designed by vonNeumann and Arthur Burkes.It is based on cellular automata and is able to fulfill all therequirements put forth by von Neumann previously.This is considered as the first theoretical model of selfreplicating machine.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Universal Constructor
Yet another self replicating machine designed by vonNeumann and Arthur Burkes.It is based on cellular automata and is able to fulfill all therequirements put forth by von Neumann previously.This is considered as the first theoretical model of selfreplicating machine.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Universal Constructor
Yet another self replicating machine designed by vonNeumann and Arthur Burkes.It is based on cellular automata and is able to fulfill all therequirements put forth by von Neumann previously.This is considered as the first theoretical model of selfreplicating machine.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Universal Constructor
Yet another self replicating machine designed by vonNeumann and Arthur Burkes.It is based on cellular automata and is able to fulfill all therequirements put forth by von Neumann previously.This is considered as the first theoretical model of selfreplicating machine.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
von Neumann’s Universal Constructor
Figure: image from :https://en.wikipedia.org/wiki/Von_Neumann_universal_constructor
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Quines
A computer program which does not accept any input andproduces a copy of itself at output such that the newprogram is able to replicate it self.Use of modern libraries and programing techniques, thiscan be easily achieved.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Quines
A computer program which does not accept any input andproduces a copy of itself at output such that the newprogram is able to replicate it self.Use of modern libraries and programing techniques, thiscan be easily achieved.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Quines
A computer program which does not accept any input andproduces a copy of itself at output such that the newprogram is able to replicate it self.Use of modern libraries and programing techniques, thiscan be easily achieved.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
A real world example?
Modern day 3D printers are able to satisfy the conditions of selfreplicating machines partially but the time where we will have a3D printer, which could produce a 3D printer out of thin air is yetto come.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Self Replicating Turing Machine
A Turing machine just like CA, can be used for constructinga self replicating machine.However as we already have enough theoretical models ofa self replicating machine, so not much effort has been puthere.Self-Replicating Turing Machines andComputer Viruses, Elise de Doncker, discusses abouta viral set and how TMs have been used for constructingthem.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Self Replicating Turing Machine
A Turing machine just like CA, can be used for constructinga self replicating machine.However as we already have enough theoretical models ofa self replicating machine, so not much effort has been puthere.Self-Replicating Turing Machines andComputer Viruses, Elise de Doncker, discusses abouta viral set and how TMs have been used for constructingthem.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Self Replicating Turing Machine
A Turing machine just like CA, can be used for constructinga self replicating machine.However as we already have enough theoretical models ofa self replicating machine, so not much effort has been puthere.Self-Replicating Turing Machines andComputer Viruses, Elise de Doncker, discusses abouta viral set and how TMs have been used for constructingthem.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Self Replicating Turing Machine
A Turing machine just like CA, can be used for constructinga self replicating machine.However as we already have enough theoretical models ofa self replicating machine, so not much effort has been puthere.Self-Replicating Turing Machines andComputer Viruses, Elise de Doncker, discusses abouta viral set and how TMs have been used for constructingthem.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Our Approach
Rather then constructing a whole self replicating TuringMachine, we are utilizing a copy machine to emulate a selfreplicating Turing machine.Such a machine almost fulfills both the requirements of vonNeumann’s Kinematic model.As any real world self replicating machine would face theshortage of space, so would ours. Hence we limit itsfunctionality, just to show how it replicates up till 2nd or 3rdgeneration.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Our Approach
Rather then constructing a whole self replicating TuringMachine, we are utilizing a copy machine to emulate a selfreplicating Turing machine.Such a machine almost fulfills both the requirements of vonNeumann’s Kinematic model.As any real world self replicating machine would face theshortage of space, so would ours. Hence we limit itsfunctionality, just to show how it replicates up till 2nd or 3rdgeneration.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Our Approach
Rather then constructing a whole self replicating TuringMachine, we are utilizing a copy machine to emulate a selfreplicating Turing machine.Such a machine almost fulfills both the requirements of vonNeumann’s Kinematic model.As any real world self replicating machine would face theshortage of space, so would ours. Hence we limit itsfunctionality, just to show how it replicates up till 2nd or 3rdgeneration.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Our Approach
Rather then constructing a whole self replicating TuringMachine, we are utilizing a copy machine to emulate a selfreplicating Turing machine.Such a machine almost fulfills both the requirements of vonNeumann’s Kinematic model.As any real world self replicating machine would face theshortage of space, so would ours. Hence we limit itsfunctionality, just to show how it replicates up till 2nd or 3rdgeneration.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
Question 8
Give an example of a self replicating machine from modernworld, or if you can imagine a hypothetical machine from future.Also tell why your machine is self replicating, in view of vonNeumann’s kinematic model.
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
References
Pesavento, Umberto. "An implementation of vonNeumann’s self-reproducing machine." Artificial Life 2.4(1995): 337-354.Restrepo, Hector Fabio, Gianluca Tempesti, and DanielMange.Implementation of a self-replicating universal Turingmachine. Springer Berlin Heidelberg, 2004.de Doncker, Elise. "Self-Replicating Turing Machines andComputer Viruses.“Bratley, Paul; Millo, Jean (1972). "Computer Recreations:Self-Reproducing Automata". Software Practice andSchiff, J. L. "Introduction to cellular automata." (2005):79-81.https://www.youtube.com/user/HowieInTheUK
Hisham, Muaaz, Jahed Turing Machine Simulator
IntroductionLanguages
Self Replicating Machines
Definitionvon Neumann’s Kinematic Modelvon Neumann’s Universal Constructor
More References
Sudkamp, Thomas. “Languages and Machines” PearsonEducation, 2006
http://www.cs.cornell.edu/courses/cs4820/2012su/handouts/turingm.pdfhttp://plato.stanford.edu/entries/turing-machine/
http://www.montefiore.ulg.ac.be/ pw/cours/psfiles/calc-chap5.pdf
http://web.stanford.edu/class/archive/cs/cs103/cs103.1142/lectures/18/Small18.pdf
Hisham, Muaaz, Jahed Turing Machine Simulator