Turing machine - polynomial time expression

Click For Summary
SUMMARY

The discussion centers on the definition of polynomial time in the context of Turing machines. A Turing machine accepts a word if the computation terminates in an accepting state, with the language defined as L(M) = {w ∈ Δ}. The worst-case run time is denoted as Tm(n) = max{Tm(w)}, and a machine runs in polynomial time if there exists a constant k such that T(n) ≤ n^k. A clarification was provided that the correct definition of polynomial time is T(n) ≤ n^k, excluding the additional k term.

PREREQUISITES
  • Understanding of Turing machines and their operation
  • Familiarity with computational complexity theory
  • Knowledge of polynomial functions and their properties
  • Basic grasp of formal languages and automata theory
NEXT STEPS
  • Research the formal definition of polynomial time complexity
  • Explore the implications of Turing machines in computational theory
  • Study examples of polynomial time algorithms in computer science
  • Learn about the differences between polynomial time and exponential time complexities
USEFUL FOR

Students and professionals in computer science, particularly those focusing on algorithms, computational complexity, and theoretical computer science.

xeon123
Messages
90
Reaction score
0
In the Turing Machine, the machine accepts a word if the computation terminates in the accepting state. The language accepted by the machine, L(M), has associated an alphabet Δ and is defined by

L(M) = {w \in \Delta}

This means that the machine understands the word w if w belongs to the language.
We denote by Tm(w) the number of steps in the computation of M on the input w. If the computation never halts, then Tm(w)=infinity.

Also, we denote the worst case run time of M as

Tm(n) = max{Tm(w)}

which means the biggest words in the dictionary (I suppose).

But, we say that M runs in polynomial time if there exists k such that for all n, T(n)\leq n^k + k.

I don't understand what n^k+k means. Can anyone explain me the last expression?

Thanks,
 
Last edited by a moderator:
Mathematics news on Phys.org
xeon123 said:
In the Turing Machine, the machine accepts a word if the computation terminates in the accepting state. The language accepted by the machine, L(M), has associated an alphabet Δ and is defined by

L(M) = {w \in \Delta}

This means that the machine understands the word w if w belongs to the language.
We denote by Tm(w) the number of steps in the computation of M on the input w. If the computation never halts, then Tm(w)=infinity.

Also, we denote the worst case run time of M as

Tm(n) = max{Tm(w)}

which means the biggest words in the dictionary (I suppose).

But, we say that M runs in polynomial time if there exists k such that for all n, T(n)\leq n^k + k.

I don't understand what n^k+k means. Can anyone explain me the last expression?

Thanks,

Your definition for polynomial time seems to be a little off. It's usually defined as T(n) ≤ nk, without the additional k term that you showed.

If you do a search for "polynomial time" this is one of the links that you'll see: http://www.wordiq.com/definition/Polynomial_time.
 

Similar threads

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