Non-Deterministic Selection in NPD Decider: CLIQUE

  • Context: MHB 
  • Thread starter Thread starter JohnDoe2013
  • Start date Start date
Click For Summary
SUMMARY

The discussion centers on the concept of "Non-Deterministic Selection" within the context of Non-Deterministic Polynomial Time Deciders, specifically regarding the CLIQUE problem. The Non-Deterministic Turing Machine (NTM) is described as either generating multiple branches for each possible set of k-nodes or selecting one branch that leads to an accepting state. The interpretations of the transition function of an NTM highlight the parallel processing of multiple deterministic runs, ultimately leading to acceptance if at least one run reaches an accepting state. Clarifications provided emphasize that the NTM does not merely select a single set but explores all combinations of k-nodes simultaneously.

PREREQUISITES
  • Understanding of Non-Deterministic Turing Machines (NTMs)
  • Familiarity with the CLIQUE problem in computational theory
  • Knowledge of transition functions in Turing machines
  • Basic concepts of polynomial time complexity
NEXT STEPS
  • Study the formal definition of acceptance in Turing machines as outlined in "Elements of the Theory of Computation" by Lewis and Papadimitriou
  • Explore the implications of Non-Deterministic Polynomial Time (NP) problems in computational complexity theory
  • Learn about the powerset and its application in transition functions of NTMs
  • Investigate the differences between deterministic and non-deterministic computation models
USEFUL FOR

Computer scientists, theoretical computer scientists, and students studying computational complexity, particularly those interested in Non-Deterministic Turing Machines and NP problems.

JohnDoe2013
Messages
3
Reaction score
0
Meaning of "Non-Deterministically select" in context of a Non-Deterministic Polynomial Time Decider

The following is an example from Sipser.

CLIQUE = { <G, k> : G s an undirected graph with a k-clique}

The following is a Non-Deterministic Polynomial Time Decider that decides CLIQUE:

1. Non-Deterministically select a set Q of k nodes where each node is in G.
2. Test whether G contains all edges connecting nodes in Q.
3. If yes, accept; otherwise reject.

I'm not sure what is meant by "$Non-Deterministically$ $select$".

I'm assuming it does not literally mean to just pick one of the possible branches to execute. Wikipedia says that one way of thinking about Non-Deterministic TM (NTM) is to assume that they are the "luckiest guesser". That is, they will always select a branch that leads to an accepting state (if one exists). Alternatively, it says to imagine that the NTM branches into multiple copies each of which follows one of the possible transitions.

From this I'm assuming that the NTM does not just "select a single set Q". It is basically generating one branch for each of the $\binom{n}{k}$ possible set of k-nodes and then computing each of the branches in parallel.

Can someone clarify?
 
Technology news on Phys.org
Hi, and welcome to the forum.

The transition function of a nondeterministic Turing machine has the type
\[
\delta:Q\times\Gamma\to \mathcal{P}(Q\times\Gamma\times\{\text{L},\text{R}\}).
\]
Here $Q$ is the set of states, $\Gamma$ is the tape alphabet, L and R direct the head to move left and right, and $\mathcal{P}(\cdot)$ denotes the powerset. That is, for each state and symbol read on the tape, the transition function returns a set of new states and symbols to write.

This is the definition, and there are two ways to interpret it. One says that for each $q\in Q$ and $a\in\Gamma$ the machine initiates a new process for each element of $\delta(q,a)$. These processes work in parallel, and each process is deterministic. The other interpretation is that the machine chooses one element of $\delta(q,a)$ and goes into that state. In the first interpretation there is only one "run" of the machine on a given input, and it consists of a tree of processes. In the second interpretation, there are multiple possible runs of the machine on a given input, and each one is the trace of a single process.

What ties these interpretation together is the definition of when the input word is accepted. Formally, this happens if there is (at least one) run that ends in the accepting state. Unfortunately, Sipser's book does not have a formal definition of acceptance for Turing machines, but it has it for nondeterministic finite automata, and the idea is quite analogous. There is a definition for TMs, for example, in the "Elements of the Theory of Computation" by Lewis and Papadimitriou, p. 222. So, we can think of an accepting computation as either a tree of deterministic processes working in parallel at least one of whom accepts, or we can think about it as a set of deterministic attempts, again at least one of whom is successful.

JohnDoe2013 said:
I'm assuming it does not literally mean to just pick one of the possible branches to execute.
This is a valid interpretation.

JohnDoe2013 said:
From this I'm assuming that the NTM does not just "select a single set Q". It is basically generating one branch for each of the $\binom{n}{k}$ possible set of k-nodes and then computing each of the branches in parallel.
This is another valid interpretation.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 88 ·
3
Replies
88
Views
10K
Replies
1
Views
2K
  • · Replies 32 ·
2
Replies
32
Views
5K
Replies
1
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K