Complement of Universal Turing Machine - Does this exist?

Click For Summary

Discussion Overview

The discussion revolves around the existence of a complement for a Universal Turing Machine (UTM) and the implications of such a complement in the context of Turing-recognizable languages. Participants explore the theoretical foundations of Turing machines, decidability, and the nature of recursively enumerable sets.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant expresses confusion regarding the construction of a machine that simulates a UTM but accepts strings it rejects and rejects strings it accepts, questioning the implications for decidability.
  • Another participant asserts that the complement of a Turing machine need not be a Turing machine, suggesting that this distinction is crucial for understanding membership testing in recursively enumerable sets.
  • A participant proposes a theorem stating that for any Turing machine recognizing a language, a complementary Turing machine can be constructed, but questions the validity of this construction in the context of a UTM.
  • Concerns are raised about the looping behavior of Turing machines and how it affects the ability to determine membership in certain sets, particularly regarding the UTM and its complement.
  • Another participant references a definition of Turing-recognizable sets, emphasizing that a machine may halt for "yes" answers but not for "no" answers, leading to complications in defining the complement machine.
  • One participant questions whether the language recognized by the UTM is itself recursively enumerable, using the example of a trivial Turing machine that rejects everything to illustrate their point.

Areas of Agreement / Disagreement

Participants express differing views on the nature of Turing machine complements and the implications for decidability and recursively enumerable languages. The discussion remains unresolved, with multiple competing perspectives on the existence and characteristics of a complement for a UTM.

Contextual Notes

Participants highlight limitations related to the definitions of Turing-recognizable sets and the behavior of Turing machines, particularly concerning looping and halting conditions. These aspects contribute to the complexity of the discussion without reaching a consensus.

controlfreak
Messages
58
Reaction score
0
Complement of Universal Turing Machine - Does this exist??

I am kind of confused in terms of the creation of machine which does NOT (Universal Turing Machine). I mean I construct a TM which will simulate UTM and accept strings it rejects and rejects strings it accepts. So if L(UTM) defined as <M,w> = <Turing Machine (TM) Description,string passed which is accepted by TM> is recognizable by UTM then L'(UTM) should be recoginizable by NOT(UTM) which is also a TM. But then if L(UTM) and L'(UTM) is turing recognizable then L(UTM) becomes decidable which is wrong as that is the crux of Turing and in turn Godel's undecidability theorem. So I MUST be missing some fundamental point here and not sure what that is. Please Help!
 
Last edited:
Physics news on Phys.org
The complement of a Turing machine need not be a Turing machine, otherwise testing for membership in recursively enumerable sets would be no different from testing membership in recursive sets.
 
CRGreathouse said:
The complement of a Turing machine need not be a Turing machine, otherwise testing for membership in recursively enumerable sets would be no different from testing membership in recursive sets.

Why?

Theorem: Given a TM1 which recognizes language L(TM1), there is always a TM2 which recognizes language L'(TM1)

Proof Idea:
Let us take all the strings a turing machine (TM1) accepts and make it a string set - we call that string set a language recognized by the turing machine - say L(TM1). Then I can always create a turing machine TM2 which simulates TM1 inside it and reverses the result - accept strings which TM1 rejects and reject strings which TM1 accepts. There are many theorems which are proven based on this possiblity. If such a turing machine exists that turing machine's accepted string set constitute of strings not present in L(TM1)

i.e.

L(TM2) = Complement of L(TM1).

QED

I define complement of turing machine TM1 as the turing machine TM2 which accepts a language complement to the language accepted by TM1. Technically I can't say complement of TM1 - doesn't have much meaning.

When you mean the complement of a turing machine is not always a turing machine - are you meaning it is something more than that? As far as I know Regular Languages, CFL and all types of recognizable languages are recognized by a turing machine. If there is a language which is not recognized by a turing machine, it cannot be recognized by any machine we know of (let it be DFA,NFA,Pushdown Automata...). Then we go to the realm of super turing machine and all that... That itself is a research field where there is a lot of debate.

In anycase what you essentially mean is my construction proof given above which indicates given a turing machine TM1 I can create another machine TM2 such that L(TM2) = L'(TM2) has a flaw. In my question I am specifically concerned about not any turing machine but specifically the universal turing machine. If so where is the flaw - that is what is bothering me.

I think the flaw is related to the strings which cause the UTM to loop... but not able to fully pinpoint it.
 
Last edited:
I think the loop is the problem.

If I state"

For recursively enumerable set, I can determine the "yes" answer for membership for certain elements in finite time (no loop), but for many other elements the definite "yes" or "no" answer cannot be reached because of the loop.

If a set is not even recursively enumerable "yes" for any element can't be reached in finite time.

But then that still doesn't cause a problem with my proof as UTM might reject certain strings which will be accepted by UTM'. This means UTM' also will have some strings which it can accept in finite time and some strings which will loop indefinitely and some it will reject in finite time. So the fate of UTM and UTM' are similar so why one machine's language is recursively enumerable and other's not.

Loop is the issue... don't know how.
 
It is how they have defined turing recognizable:

From Wikipedia

In computability theory, traditionally called recursion theory, a set S of natural numbers is called recursively enumerable, computably enumerable, semidecidable, provable or Turing-recognizable if:

* There is an algorithm that, when given an input number, eventually halts if and only if the input is an element of S.



So here it says because of "iff" in certain cases where the membership answer is "yes" the machine will halt but it will not halt at for any case where the answer is "no". So the complement machine will not halt for any "yes" answer but will halt for certain "no" answers and hence the complement machine will not say "yes" to any input in finite time and hence the issue.

But in this sort of definition - the language recognized by the UTM i.e. L(UTM) itself is not recursively enumerable as there would be strings which it can reject in finite time or strings for which the end state of reject state can be attained by UTM in finite time. Am I wrong here?? Take for example I construct a trivial turing machine (TMR) which rejects everything and it is one of the inputs to UTM as <TMR, w> which UTM can get to reject state immediately in finite time.

What the hell is wrong?
 

Similar threads

Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
29
Views
6K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 3 ·
Replies
3
Views
3K