CS 373: Combinatorial Algorithms, Fall 2000
Homework 6 (due December 7, 2000 at midnight)
Name:
Net ID:
Alias:
U
3
/
4
1
Name:
Net ID:
Alias:
U
3
/
4
1
Name:
Net ID:
Alias:
U
3
/
4
1
Starting with Homework 1, homeworks may be done in teams of up to three people. Each team
turns in just one solution, and every member of a team gets the same grade. Since 1-unit graduate
students are required to solve problems that are worth extra credit for other students,
1-unit grad
students may not be on the same team as 3/4-unit grad students or undergraduates.
Neatly print your name(s), NetID(s), and the alias(es) you used for Homework 0 in the boxes
above. Please also tell us whether you are an undergraduate, 3/4-unit grad student, or 1-unit grad
student by circling U,
3
/
4
, or 1, respectively. Staple this sheet to the top of your homework.
Required Problems
1.
(a) Prove that P
⊆
co-NP.
(b) Show that if NP
negationslash
=
co-NP, then
no
NP-complete problem is a member of co-NP.
2. 2
SAT
is a special case of the formula satisfiability problem, where the input formula is in
conjunctive normal form and every clause has at most
two
literals. Prove that 2
SAT
is in P.
3. Describe an algorithm that solves the following problem, called 3
SUM
, as quickly as possible:
Given a set of
n
numbers, does it contain three elements whose sum is zero? For example,
your algorithm should answer T
RUE
for the set
{−
5
,
−
17
,
7
,
−
4
,
3
,
−
2
,
4
}
, since
−
5+7+(
−
2) =
0
, and F
ALSE
for the set
{−
6
,
7
,
−
4
,
−
13
,
−
2
,
5
,
13
}
.