Questions tagged [turing-machines]

A Turing machine is an idealized model of computation consisting of a finite-state control, an infinite tape holding information, and a read head positioned somewhere over the tape. Turing machines are used in computability theory to reason about the limits of computation, to provide a formal definition for an algorithm, and to provide formal models for nondeterminism.

Wiki

A Turing machine is a device that manipulates symbols on a strip of tape according to a table of rules. Despite its simplicity, a Turing machine can be adapted to simulate the logic of any computer algorithm, and is particularly useful in explaining the functions of a CPU inside a computer.

Turing machines are not physical objects but mathematical ones. A Turing machine is a kind of state machine. At any time the machine is in any one of a finite number of states. Instructions for a Turing machine consist in specified conditions under which the machine will transition between one state and another.

The tape is used to store data. In addition, it can also store a series of transitions (a small programs) and thus, the head can run sub-programs. By analogy with modern computers, the tape is the memory and the head is the microprocessor.

Tag usage

The tag can be used for programming related problems in implementing features of a turing machine. The tag can also be used for algorithmic problems related to turing machine. Try to avoid theoretical and research based questions on Stack Overflow.

Please note https://cstheory.stackexchange.com is another stack exchange website which you can use to ask theoretical and conceptual problems with tag

Source

487 questions
14
votes
3 answers

What is the difference between recursive and recursively enumerable languages

I was wondering what the difference between recursive and recursively enumerable languages is in terms of halting and Turing Machines. I know that recursively enumerable languages are a subset of recursive languages but I'm not sure about the…
13
votes
1 answer

Can a hypergraph represent a nondeterministic Turing machine?

Does anyone know of any papers, texts, or other documents that discuss using a hypergraph to implement or represent a nondeterministic Turing machine? Are they in fact equivalent? I'm pretty sure that a hypergraph is able to properly and…
stevegt
  • 1,644
  • 20
  • 26
12
votes
2 answers

How to determine if a language is recursive or recursively enumerable?

I have to determine whether a language (for example L={a^n b^m c^s | 0<=n<=m<=s}) is regular, context-free, recursive, recursively enumerable or none of them. I know how to determine if a language is regular (find a DFA or regular expression that…
12
votes
4 answers

Are .NET's regular expressions Turing complete?

Regular expressions are often pointed to as the classical example of a language that is not Turning complete. For example "regular expressions" is given in as the answer to this SO question looking for languages that are not Turing complete. In my,…
Robert
  • 6,407
  • 2
  • 34
  • 41
12
votes
6 answers

What are the consequences of saying a non-deterministic Turing Machine can solve NP in polynomial time?

these days I have been studying about NP problems, computational complexity and theory. I believe I have finally grasped the concepts of Turing Machine, but I have a couple of doubts. I can accept that a non-deterministic turing machine has several…
Clash
  • 4,896
  • 11
  • 47
  • 67
11
votes
9 answers

Multiple levels of infinity

Some programmers don't see much relevance in theoretical CS classes (especially my students). Here is something I find very relevant. Let me build it up in pieces for those that haven't seen it before... A) Programming problems can be reworded to be…
RAL
  • 917
  • 8
  • 19
11
votes
1 answer

Is PI a turing computable number?

AFAIK, turing computable numbers are numbers whose i-th index can be returned by a Turing Machine. So a non-computable number would be something like a number whose decimal points are decided if some other program halts on some other input, etc. But…
Gaurav Dadhania
  • 5,167
  • 8
  • 42
  • 61
11
votes
1 answer

How does an oblivious Turing machine work?

I am reading the book Computational Complexity: A Modern Approach and I am having problems understanding oblivious Turing machines. An oblivious Turing machine (TM) is such a TM that the movement of its heads is entirely determined by the length of…
Martin Drozdik
  • 12,742
  • 22
  • 81
  • 146
10
votes
2 answers

How should Chomsky's Hierarchy and Turing Machines influence language design?

I'm currently studying for a discrete mathematics test in which we are learning Chomsky's hierarchy and the type of automatas that recognize each level of the hierarchy. I'm being taught that most computer languages fall within "level 2 and 1" of…
andandandand
  • 21,946
  • 60
  • 170
  • 271
10
votes
2 answers

Is there a term for a finite state machine that is guaranteed to halt?

I was having a discussion earlier about a state machine, and there was a question as to whether it might not halt on some input. It seems like a property of state machines that is important and frequently mentioned, but I can't for the life of me…
Brandon Yarbrough
  • 37,021
  • 23
  • 116
  • 145
9
votes
2 answers

Looking for languages that are not Turing complete

I know a little about what is a turing-machine and a turing-complete language, but to understand better, could someone give examples of languages that are not Turing complete? (maybe even machines that are not Turing, as well?)
The Student
  • 27,520
  • 68
  • 161
  • 264
9
votes
2 answers

What is meant by the language of a Turing machine?

So I tried searching for the precise definition of language, but all articles assume that the definition is obvious to everyone. Apparently, to me it isn't. What is the definition of a Turing machine's language?
new
  • 329
  • 3
  • 11
9
votes
1 answer

Please explain this Turing Machine simulator written in Prolog

The Wikipedia Prolog article includes this Turing Machine simulator: turing(Tape0, Tape) :- perform(q0, [], Ls, Tape0, Rs), reverse(Ls, Ls1), append(Ls1, Rs, Tape). perform(qf, Ls, Ls, Rs, Rs) :- !. perform(Q0, Ls0, Ls, Rs0, Rs) :- …
Ellen Spertus
  • 6,576
  • 9
  • 50
  • 101
9
votes
7 answers

Universal Turing Machine Problems

If I have a machine, call it machine 1, that is able to solve a problem: it's just a machine, not per se a Turing machine. It can solve one specific problem. If this exact same problem can be solved on a Universal Turing Machine, then is my original…
Pindatjuh
  • 10,550
  • 1
  • 41
  • 68
9
votes
1 answer

How to convert a DFA to a Turing machine?

Having the diagram of a DFA, how can I convert it to a Turing Machine? Do I have to find the language that the DFA accepts and then create the Turing Machine? Or is there a direct way? Thank you.
user2880113
  • 345
  • 1
  • 5
  • 13
1
2
3
32 33