Question: Extra credit ) Recall the course scheduling problem: Given h time slots and a set of courses, each has a list of students. Determine if

Extra credit) Recall the course scheduling problem: Given h time slots and a set of
courses, each has a list of students. Determine if you can schedule the given courses into h
slots so that there is no conflict, i.e., no slot has two courses with a same student.
We have formulated this problem as a language named Schedule and proved that Schedule
is in NP. Now you will show that it is NP-complete by proving that 3Sat P Schedule.
To prove this, let be a 3cnf-formula with n Boolean variables x1,..., xn and k clauses
c1,..., ck, we construct an instance of Schedule as follows:
Let the pool of all students be {s1, s2,..., sn+1}.
For each variable xi, where i =1,..., n, introduce three courses namely Xi, Xi and Yi.
Course Xi contains only one student si. Course Xi also contains only one student si.
Course Yi contains all but student si.
1
For each clause cj , where j =1,..., k, introduce a new course named Cj that contains
all students except for students si such that literals xi or xi appear in clause cj .
Let the number of time slots be n +1.
In order to show that this is a polynomial time reduction from 3Sat to Schedule, you need
to
(a)(5pts) Prove that if is satisfiable then there is a conflict-free schedule for the courses
introduced above into n +1 slots. (Hint: Note that all courses Yis contain student
sn+1.)
(b)(5pts) Prove that if there is a conflict-free schedule for the courses introduced above into
n +1 slots then is satisfiable.
(c)(5pts) Prove that the construction of courses above can be computed in polynomial time
in n and k.(Hint: Give an upper bound estimation of the running time taken by a
multi-tape deterministic Turing machine to list all courses above and their students.)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!