- #1
JohnDoe2013
- 5
- 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?
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?