Homework 10
Last updated: Wed, 2 Dec 2020 14:12:56 -0500
Out: Wed Nov 25, 00:00 EST Due: Sun Dec 6, 23:59 EST (NOTE: extended deadline)
This homework covers material from Chapter 7 of the textbook.
Homework Problems
README (2 points)
Connected Graphs (6 points)
Isomorphic Graphs (6 points)
Boolean Satisfiability (6 points)
Closure of NP Languages (3 + 3 = 6 points)
Closure under Kleene Star (3 + 3 = 6 points)
Total: 32 points
Submitting
Submit this assignment at Gradescope hw10.
should only include pdf or plain text files,
and each file must be assigned to the correct problem in Gradescope.
1 README
Create a README file containing the required information, and submit it along with the rest of the homework.
2 Connected Graphs
A connected graph is one where every node is reachable from every other node.
Show that the following language is in \textbf{P}:
CONNECTED_{GRAPH} = \{\left\langle G\right\rangle\mid G\textrm{ is a connected, undirected graph}\}
You may assume that the number of nodes in a graph is roughly equal to the length of the graph encoding.
To help you get started, you might want to review the decider for PATH that was presented in class.
3 Isomorphic Graphs
Two graphs are isomorphic if there is an "edge-preserving" bijection between their vertices.
In other words, graphs G_1=(V_1,E_1) and G_2=(V_2,E_2) are isomorphic if there exists a mapping f:V_1\rightarrow V_2 such that (u,v) \in E_1 \Leftrightarrow (f(u),f(v))\in E_2.
Show that the following language is in \textbf{NP}:
ISO = \{\left\langle G,H\right\rangle\mid G\textrm{ and }H\textrm{ are isomorphic graphs}\}
4 Boolean Satisfiability
A Boolean variable is a variable that can be either \textrm{TRUE} or \textrm{FALSE}.
A Boolean formula is an expression that combines Boolean variables using the operations \textrm{AND}, \textrm{OR}, and \textrm{NOT}, written \wedge,\vee, and \lnot, respectively.
A Boolean formula is satisfiable if there exists some assignment of \textrm{TRUE} or \textrm{FALSE} to each variable to make the formula equal to \textrm{TRUE}.
Show that the following language is in \textbf{NP}:
SAT = \{\left\langle\phi\right\rangle\mid\phi\textrm{ is a satisfiable Boolean formula}\}
You may assume that the number of variables in a formula is roughly equivalent to its length.
(NOTE: The proof may not use the Cook-Levin Theorem, since we have not proven that in class yet.)
5 Closure of NP Languages
Show that the \textbf{NP} class of languages is closed under union and concatenation.
Use the polynomial verifier definition of \textbf{NP}.
6 Closure under Kleene Star
Show that the \textbf{NP} class of languges is closed under the Kleene star operation
Show that the \textbf{P} class of languages is closed under the Kleene star operation.
HINT: use dynamic programming like in the algorithm for Theorem 7.16 that creates a table for all possible substrings of the input.