跳转至

34.2 Polynomial-time verification

34.2-1

Consider the language \(\text{GRAPH-ISOMORPHISM}\) \(= \\{\langle G_1, G_2 \rangle: G_1\) and \(G_2\) are isomorphic graphs\(\\}\). Prove that \(\text{GRAPH-ISOMORPHISM} \in \text{NP}\) by describing a polynomial-time algorithm to verify the language.

(Omit!)

34.2-2

Prove that if \(G\) is an undirected bipartite graph with an odd number of vertices, then \(G\) is nonhamiltonian.

(Omit!)

34.2-3

Show that if \(\text{HAM-CYCLE} \in P\), then the problem of listing the vertices of a hamiltonian cycle, in order, is polynomial-time solvable.

(Omit!)

34.2-4

Prove that the class \(\text{NP}\) of languages is closed under union, intersection, concatenation, and Kleene star. Discuss the closure of \(\text{NP}\) under complement.

(Omit!)

34.2-5

Show that any language in \(\text{NP}\) can be decided by an algorithm running in time \(2^{O(n^k)}\) for some constant \(k\).

(Omit!)

34.2-6

A hamiltonian path in a graph is a simple path that visits every vertex exactly once. Show that the language \(\text{HAM-PATH}\) \(= \\{\langle G, u, v \rangle:\) there is a hamiltonian path from \(u\) to \(v\) in graph \(G\\}\) belongs to \(\text{NP}\).

(Omit!)

34.2-7

Show that the hamiltonian-path problem from Exercise 34.2-6 can be solved in polynomial time on directed acyclic graphs. Give an efficient algorithm for the problem.

(Omit!)

34.2-8

Let \(\phi\) be a boolean formula constructed from the boolean input variables \(x_1, x_2, \dots, x_k\), negations (\(\neg\)), ANDs (\(\vee\)), ORs (\(\wedge\)), and parentheses. The formula \(\phi\) is a tautology if it evaluates to \(1\) for every assignment of \(1\) and \(0\) to the input variables. Define \(\text{TAUTOLOGY}\) as the language of boolean formulas that are tautologies. Show that \(\text{TAUTOLOGY} \in \text{co-NP}\).

(Omit!)

34.2-9

Prove that \(\text P \subseteq \text{co-NP}\).

(Omit!)

34.2-10

Prove that if \(\text{NP} \ne \text{co-NP}\), then \(\text P \ne \text{NP}\).

(Omit!)

34.2-11

Let \(G\) be a connected, undirected graph with at least \(3\) vertices, and let \(G^3\) be the graph obtained by connecting all pairs of vertices that are connected by a path in \(G\) of length at most \(3\). Prove that \(G^3\) is hamiltonian. (\(\textit{Hint:}\) Construct a spanning tree for \(G\), and use an inductive argument.)

(Omit!)