On this page:
1 README
2 Connected Graphs
3 Isomorphic Graphs
4 Boolean Satisfiability
5 Closure of NP Languages
6 Closure under Kleene Star

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

  1. README (2 points)

  2. Connected Graphs (6 points)

  3. Isomorphic Graphs (6 points)

  4. Boolean Satisfiability (6 points)

  5. Closure of NP Languages (3 + 3 = 6 points)

  6. Closure under Kleene Star (3 + 3 = 6 points)

Total: 32 points

Submitting

Submit this assignment at Gradescope hw10.

You may write up your solution however you like but the submission:
  • 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

  1. Show that the \textbf{NP} class of languges is closed under the Kleene star operation

  2. 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.