Few confusions about halting problem is unsolvable proof-:

  • Context: MHB 
  • Thread starter Thread starter shivajikobardan
  • Start date Start date
  • Tags Tags
    Proof
Click For Summary
SUMMARY

The discussion centers on the concept of Turing machines and their ability to take their own code as input. Participants agree that any Turing machine can accept any finite word from its input alphabet, including its own code. The conversation highlights the distinction between input and output, emphasizing that while output can alter a machine's code, input does not. The existence of self-reproducing machines, or quines, is acknowledged, but it requires a more complex function than simple print instructions.

PREREQUISITES
  • Understanding of Turing machines and their operational principles
  • Familiarity with the concept of finite words in formal languages
  • Knowledge of fixed points in computational functions
  • Basic grasp of self-replicating programs (quines)
NEXT STEPS
  • Explore the theory of computation through resources like "Introduction to the Theory of Computation" by Michael Sipser
  • Learn about the construction and properties of Turing machines
  • Investigate the concept of quines and their implementation in various programming languages
  • Study fixed-point theorems in computer science and their implications
USEFUL FOR

Computer science students, theoretical computer scientists, and anyone interested in the foundations of computation and Turing machine theory.

shivajikobardan
Messages
637
Reaction score
54
https://lh6.googleusercontent.com/xFVXel6_szTL_WVir-dz4SpFIGkHqMY9428mA3HRY2Nl06Ez9Wt9N3RZ8U0Jmsshwnl7ekEQX31ccWBXBNW5XUhRwVQafqZOPHpmy3fY4L94b4UmqGR-N7IIO8Ep1wpWg4BmDebD
How can same machine take same machine as input(is it same machine taking encoding of itself as input—if that’s the case, what does that means some examples to understand this)? (in Universal Turing Machine, i know it was possible). What does that even mean here?

I feel like adding a turing machine flipper is like cheating and should not be allowed as well.

https://lh4.googleusercontent.com/Q52OnluXaJhBGPUQEcMzbJlS5ooxohC_Pn_D_fUq_BUCmRyfuE1d4XRY8KwEBIkqzy8zJBiaZT-VGQlqQQKQ0Qdiw0VD0v2pxHhu4WVTfGP-7_bqzTG4pnjhHJfXoMN7NC4Adplg
 
Technology news on Phys.org
shivajikobardan said:
How can same machine take same machine as input
Consider an arbitrary Turing machine (TM). Do you agree that you can give to it any finite word in the input alphabet as input? The machine may accept it, reject it or loop forever, but it will not burst into flames whatever the word is. There is nothing in the definition of a Turing machine that says, for example, that input words longer than $10^{100}$ or containing the first $10^{10^{10}}$ digits of $\pi$ are prohibited.

Next, do you agree that every Turing machine has a code, which is a finite word?

If you said "yes" to both questions, then it follows by simple logic that for any machine its code can be given to it as input.

A problem could arise if providing an input changed the machine code. This does indeed happen when we are talking about output rather than input. Suppose we want a machine to output a certain word. The simplest way is to include some print instructions or their TM analogs. For example, we may consider a function $\text{print}(\langle M\rangle, w)=\langle M'\rangle$ that takes a machine $M$ and returns a machine $M'$ that behaves just like $M$, but prints $w$ just before $M$ stops. If the function $\text{print}$ is implemented straightforwardly, by adding a sequence of print statements, then the size of $M'$ is greater than the size of $w$ because $M'$ contains $w$.

For this reason it is not obvious if one can make a machine that outputs its own code. Let $S$ be a trivial machine that does nothing and simply stops. Building a TM that outputs its own code asks for finding a fixed point of $\text{print}$, i.e., machine $M$ such that $f(\langle S\rangle, \langle M\rangle)=\langle M\rangle$. Due to the size increase described above such fixed point does not exist. In fact, building a self-reproducing machine (it is called a quine) is possible, but it requires considering a more sophisticated function than $\text{print}$.

In any case, while adding output changes the machine code, feeding an input to a machine doesn't. The input and the machine are completely independent; therefore, there is no paradox or vicious circle in giving its own code to a machine as input.

I like how the document you posted explains the material. Could you say where it is from? Perhaps there is a link to this and similar documents about the theory of computation?
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 1 ·
Replies
1
Views
1K
Replies
29
Views
5K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 54 ·
2
Replies
54
Views
6K