An Interactive Tutorial for NP-Completeness

advertisement
An Interactive Tutorial for
NP-Completeness
Outline
Background and Motivation
Visualizations
 The NP-Complete Problems
 Practice Exercises on NP-Complete Problem Instances.
 Proof of NP-Completeness
Analysis of Usage
Conclusion and Future work
5/19/2015
2
NP-Completeness
5/19/2015
3
Students’ perception of NP-Completeness
Not at all difficult.
14%
2%
Somewhat less difficult
20%
Average difficulty
Somewhat more difficult
Much more difficult
64%
5/19/2015
4
Related Work
 “Using Interactive Visualization for Teaching the Theory of NPcompleteness.”
 “Incorporating an interactive visualization of NP-Completeness
proofs into a web-based learning environment.”
 “Visualizing NP-completeness through circuit-based widgets.”
 GraphBench
 AlViE
 Swan
5/19/2015
5
Tools and Framework



5/19/2015
OpenDSA
JSAV - JavaScript Algorithm Visualization library
Khan Academy exercises
6
Outline
Background and Motivation
Visualizations
 The NP-Complete Problems
 Practice Exercises on NP-Complete Problem Instances.
 Proof of NP-Completeness
Analysis of Usage
Conclusion and Future work
5/19/2015
7
NP-Complete problems covered:
 Circuit-SAT
 SAT
 3-SAT
 Clique
 Independent Set
 Vertex Cover
 Hamiltonian Cycle
 Traveling Salesman.
5/19/2015
8
Outline
Background and Motivation
Visualizations
 The NP-Complete Problems
 Practice Exercises on NP-Complete Problem Instances.
 Proof of NP-Completeness
Analysis of Usage
Conclusion and Future work
5/19/2015
9
Introducing the problem

Explanation of relevant context

Definition of the problem

Illustration with examples.
5/19/2015
(Example)
10
The NP-Complete problems
Circuit Satisfiability problem (Circuit-SAT)
The Formula Satisfiability problem (SAT)
The 3CNF Satisfiability problem ( 3SAT )
The Clique problem
The Independent Set problem
The Vertex Cover problem
The Hamiltonian Cycle problem
The Traveling Salesman problem
5/19/2015
11
Outline
Background and Motivation
Visualizations
 The NP-Complete Problems
 Practice Exercises on NP-Complete Problem Instances.
 Proof of NP-Completeness
Analysis of Usage
Conclusion and Future work
5/19/2015
12
Practice Exercises – Why?

Better illustration of the problem

Hands-on experience on problem instances

Help to appreciate the computation complexity.
5/19/2015
13
Practice Exercises – Design aspects

Generation of problem instances

Level of Difficulty

Solution and Verification
5/19/2015
14
The Practice Exercises
3-SAT
The Maximum Clique problem
The Maximum Independent Set problem
The Minimum Vertex Cover problem
The Hamiltonian cycle problem
The Traveling Salesman problem
5/19/2015
15
Outline
Background and Motivation
Visualizations
 The NP-Complete Problems
 Practice Exercises on NP-Complete Problem Instances.
 Proof of NP-Completeness
Analysis of Usage
Conclusion and Future work
5/19/2015
16
Proving NP-Completeness
NP
NP-Complete
NP-Hard
Reductions
5/19/2015
17
Reductions
5/19/2015
18
Proof of NP-Completeness
The visualizations should include –

Description of each step of a reduction.

Explanation of correctness of the reduction.

Illustration using examples.
5/19/2015
19
Order of Reductions
5/19/2015
20
Reductions in proving NP-Completeness
Reduction of Circuit-SAT to SAT
Reduction of SAT to 3-SAT
Reduction of 3-SAT to Clique problem
Reduction of Clique to Independent Set problem
Reduction of Independent Set to Vertex Cover problem
Reduction of 3-SAT to Hamiltonian Cycle problem
Reduction of Hamiltonian Cycle to Traveling Salesman problem
5/19/2015
21
Outline
Background and Motivation
Visualizations
 The NP-Complete Problems
 Practice Exercises on NP-Complete Problem Instances.
 Proof of NP-Completeness
Analysis of Usage
Conclusion and Future work
5/19/2015
22
Hypothesis
 Students would spend a reasonable amount of time on the
tutorial if it helps in their learning.
 Students would have a good experience with the tutorial.
5/19/2015
23
Analysis of Usage – Methodology
The tutorial was introduced as a supplementary resource in CS
5114 and CS 4104 in Spring 2015.
 Interaction logs : We analyzed the logs of students’
interactions with the tutorial.
 Student survey : We collect feedback from students in the
form of a survey.
5/19/2015
24
Challenges in analyzing Interaction logs
 Distinguishing between users.
 Distinguishing between actual usage and idle
time.
5/19/2015
25
CS-5114 : Categorized Usage
CS 5114 : Categorized usage
16
14
Time spent ( hours)
12
10
8
6
4
2
0
Date
Theory
5/19/2015
Reduction
Intro
Proof
26
CS-5114 : Usage per module
16
CS 5114 Analysis of time spent per module
14
Time spent ( hours)
12
10
8
6
4
2
0
LimComp
hamiltonianCycle
provingNPC
circuitSAT_to_SAT
independentSet
threeSAT_to_clique
threeSAT_to_hamiltonianCycle
5/19/2015
Date
Reduction
circuitSAT
threeSAT
SAT_to_threeSAT
vertexCover
clique_to_independentSet
hamiltonianCycle_to_TSP
NPComplete
NPCoping
SAT
clique
TSP
independentSet_to_vertexCover
27
CS-4104 : Categorized Usage
4104 Categorized usage analysis
3.5
3
Time spent (seconds)
2.5
2
1.5
1
0.5
0
Date
Theory
5/19/2015
Reduction
Intro
Proof
28
CS-4104 : Usage per module
3.5
CS 4104 Analysis of time spent per module
TIme spent (hours)
3
2.5
2
1.5
1
0.5
0
LimComp
circuitSAT
clique
independentSet
vertexCover
threeSAT_to_clique
clique_to_independentSet
5/19/2015
Date
Reduction
circuitSAT_to_SAT
provingNPC
SAT
hamiltonianCycle
NPCoping
hamiltonianCycle_to_TSP
NPComplete
threeSAT
threeSAT_to_hamiltonianCycle
TSP
SAT_to_threeSAT
independentSet_to_vertexCover
29
Time spent of exercises
Analysis of Exercises
1.2
1
TIme spent (hours)
0.8
0.6
0.4
0.2
0
3/26/2015
3/28/2015
4/2/2015
4/16/2015
4/22/2015
Date
hamiltonianCycle_KA
5/19/2015
threeSAT_KA
clique_KA
independentSet_KA
vertexCover_KA
30
TSP_KA
Overall usage for CS 5114
16
CS 5114 Analysis of time spent per module
14
Time spent (hours)
12
10
8
6
4
2
0
LimComp
hamiltonianCycle
provingNPC
circuitSAT_to_SAT
independentSet
threeSAT_to_clique
threeSAT_to_hamiltonianCycle
5/19/2015
Date
Reduction
circuitSAT
threeSAT
SAT_to_threeSAT
vertexCover
clique_to_independentSet
hamiltonianCycle_to_TSP
NPComplete
NPCoping
SAT
clique
TSP
independentSet_to_vertexCover
31
5/19/2015
LimComp
circuitSAT_to_SAT
threeSAT_to_hamiltonianCycle
vertexCover
NPCoping
Reduction
threeSAT
independentSet
hamiltonianCycle
independentSet_to_vertexCover
Date
NPComplete
clique
SAT
SAT_to_threeSAT
clique_to_independentSet
32
circuitSAT
provingNPC
TSP
threeSAT_to_clique
hamiltonianCycle_to_TSP
5/13/2015
5/12/2015
5/11/2015
5/10/2015
5/9/2015
5/8/2015
5/7/2015
5/6/2015
5/5/2015
5/4/2015
5/3/2015
5/2/2015
5/1/2015
4/30/2015
4/29/2015
4/28/2015
4/27/2015
4/26/2015
4/25/2015
4/24/2015
4/23/2015
4/22/2015
4/21/2015
4/20/2015
4/19/2015
6
4/18/2015
4/17/2015
4/16/2015
4/15/2015
4/14/2015
4/13/2015
4/12/2015
4/11/2015
4/10/2015
4/9/2015
4/8/2015
4/7/2015
4/6/2015
4/5/2015
4/4/2015
4/3/2015
4/2/2015
4/1/2015
TIme spent (hours)
Overall usage for CS 4104
7
CS 4104 Analysis of time spent per module for finals
5
4
3
2
1
0
Student Survey
CS 5114
CS 4104
• 23 out of 34 responded to the survey
• 36 out of 62 responded to the survey
• Average time spent as reported - 2.28
hours
• Average time spent as reported - 32
minutes
• 65% found it useful for their
homework
• 19% found it useful for their
homework
• 82% say they will use the tutorial to
prepare for finals.
• 86% say the tutorial will be helpful for
their finals.
• 97% of the students provided a
positive feedback when asked about
their experience with the tutorial.
• 72% of the students had a positive
feedback when asked about their
experience with the tutorial.
5/19/2015
33
Outline
Background and Motivation
Visualizations
 The NP-Complete Problems
 Practice Exercises on NP-Complete Problem Instances.
 Proof of NP-Completeness
Analysis of Usage
Conclusion and Future work
5/19/2015
34
Conclusion

18 visualizations and 6 practice exercises in the tutorial.

Students think it is a good resource.

They use it on a need-to-know basis.
5/19/2015
35
Future work

Visualizations on more NP-Complete problems.

Pedagogical evaluation of the material.
5/19/2015
36
Thank you 
Special mentions:
Dr . Cliff Shaffer
Dr. Lenwood Heath
Mohammed Farghally
Questions ??
5/19/2015
37
Download