Reductions STUDY GUIDE
Terminology and Basics
- Why reduce? To determine if we can solve problems and to determine how efficiently we can solve problems.
- What is the definition? Problem X reduces to problem Y if you can use an algorithm that solves Y to help solve X. Which means: Cost of solving X = total cost of solving Y + cost of reduction.
- What does reduction tell us?
- How to classify problems using reduction? To prove two problems have the same complexity, reduce problem X to problem Y AND reduce problem Y to problem X.
Examples
- Element distinctness reduces to sorting means that
the cost of solving element distinctness = the cost of solving sorting + cost of reduction (checking if two adjacent elements are distinct)
- Finding the median reduces to sorting means that
the cost of finding the median = the cost of sorting + the cost of reduction (finding the midmost element)
- What are some other examples? And what is the cost of reduction in each case?
Recommended Problems
C level
- Textbook 6.61
- Textbook 6.62
- Fall 2014 Final, #12c
B level
- Spring 2015 Final, #10a
- Spring 2015 Final, #12a
A level
- Spring 2015 Final, #12b
- Fall 2014 Final, #12a
- Fall 2014 Final, #12b