CSCE 411H Design and Analysis of Algorithms Set 10: Lower Bounds Prof. Evdokia Nikolova* Spring 2013 CSCE 411H, Spring 2013: Set 10 1 * Slides adapted.

Slides:



Advertisements
Similar presentations
CPSC 411 Design and Analysis of Algorithms Set 2: Sorting Lower Bound Prof. Jennifer Welch Spring 2011 CPSC 411, Spring 2011: Set 2 1.
Advertisements

110/6/2014CSE Suprakash Datta datta[at]cse.yorku.ca CSE 3101: Introduction to the Design and Analysis of Algorithms.
Heapsort O(n lg n) worst case Another design paradigm –Use of a data structure (heap) to manage information during execution of algorithm Comparision-based.
Analysis of Algorithms CS 477/677 Linear Sorting Instructor: George Bebis ( Chapter 8 )
Sorting Comparison-based algorithm review –You should know most of the algorithms –We will concentrate on their analyses –Special emphasis: Heapsort Lower.
CSE332: Data Abstractions Lecture 14: Beyond Comparison Sorting Dan Grossman Spring 2010.
Lower bound for sorting, radix sort COMP171 Fall 2005.
Discrete Structure Li Tak Sing( 李德成 ) Lectures
© 2004 Goodrich, Tamassia Sorting Lower Bound1. © 2004 Goodrich, Tamassia Sorting Lower Bound2 Comparison-Based Sorting (§ 10.3) Many sorting algorithms.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Midterm Review Fri. Oct 26.
Lower bound for sorting, radix sort COMP171 Fall 2006.
Lecture 5: Linear Time Sorting Shang-Hua Teng. Sorting Input: Array A[1...n], of elements in arbitrary order; array size n Output: Array A[1...n] of the.
CS 253: Algorithms Chapter 8 Sorting in Linear Time Credit: Dr. George Bebis.
Sorting Heapsort Quick review of basic sorting methods Lower bounds for comparison-based methods Non-comparison based sorting.
Comp 122, Spring 2004 Lower Bounds & Sorting in Linear Time.
Data Structures, Spring 2006 © L. Joskowicz 1 Data Structures – LECTURE 4 Comparison-based sorting Why sorting? Formal analysis of Quick-Sort Comparison.
2 -1 Analysis of algorithms Best case: easiest Worst case Average case: hardest.
© 2004 Goodrich, Tamassia Sorting Lower Bound1. © 2004 Goodrich, Tamassia Sorting Lower Bound2 Comparison-Based Sorting (§ 10.3) Many sorting algorithms.
CPSC 411, Fall 2008: Set 2 1 CPSC 411 Design and Analysis of Algorithms Set 2: Sorting Lower Bound Prof. Jennifer Welch Fall 2008.
CPSC 411, Fall 2008: Set 2 1 CPSC 311 Analysis of Algorithms Sorting Lower Bound Prof. Jennifer Welch Fall 2009.
Chapter 11: Limitations of Algorithmic Power
CSE 326: Data Structures Sorting Ben Lerner Summer 2007.
Sorting Lower Bound Andreas Klappenecker based on slides by Prof. Welch 1.
Analysis of Algorithms CS 477/677
1 Today’s Material Lower Bounds on Comparison-based Sorting Linear-Time Sorting Algorithms –Counting Sort –Radix Sort.
DAST 2005 Week 4 – Some Helpful Material Randomized Quick Sort & Lower bound & General remarks…
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
The Complexity of Algorithms and the Lower Bounds of Problems
Sorting Lower Bound1. 2 Comparison-Based Sorting (§ 4.4) Many sorting algorithms are comparison based. They sort by making comparisons between pairs of.
Lower Bounds for Comparison-Based Sorting Algorithms (Ch. 8)
© Neeraj Suri EU-NSF ICT March 2006 Dependable Embedded Systems & SW Group Prof. Neeraj Suri Dan Dobre Overview: 1.Merge.
Computer Algorithms Lecture 11 Sorting in Linear Time Ch. 8
CSE 373 Data Structures Lecture 15
Chapter 11 Limitations of Algorithm Power. Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples:
Computational Complexity Polynomial time O(n k ) input size n, k constant Tractable problems solvable in polynomial time(Opposite Intractable) Ex: sorting,
1 Time Analysis Analyzing an algorithm = estimating the resources it requires. Time How long will it take to execute? Impossible to find exact value Depends.
Sorting Fun1 Chapter 4: Sorting     29  9.
Analysis of Algorithms CS 477/677
Fall 2015 Lecture 4: Sorting in linear time
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
Sorting Conclusions David Kauchak cs302 Spring 2013.
CSC 213 Lecture 13: Writing Code & Sorting Lowest Bound.
Princeton University COS 423 Theory of Algorithms Spring 2001 Kevin Wayne Average Case Analysis.
COSC 3101A - Design and Analysis of Algorithms 6 Lower Bounds for Sorting Counting / Radix / Bucket Sort Many of these slides are taken from Monica Nicolescu,
LIMITATIONS OF ALGORITHM POWER
1 CSC 421: Algorithm Design & Analysis Spring 2014 Complexity & lower bounds  brute force  decision trees  adversary arguments  problem reduction.
Lecture 2 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
Sorting Lower Bounds n Beating Them. Recap Divide and Conquer –Know how to break a problem into smaller problems, such that –Given a solution to the smaller.
1 Chapter 8-1: Lower Bound of Comparison Sorts. 2 About this lecture Lower bound of any comparison sorting algorithm – applies to insertion sort, selection.
David Kauchak cs062 Spring 2010
Sorting Lower Bound 4/25/2018 8:49 PM
Decision trees Polynomial-Time
CPSC 411 Design and Analysis of Algorithms
CPSC 411 Design and Analysis of Algorithms
CSC 421: Algorithm Design & Analysis
CSCE 411 Design and Analysis of Algorithms
(2,4) Trees 11/15/2018 9:25 AM Sorting Lower Bound Sorting Lower Bound.
Lower Bound Theory.
Analysis of Algorithms
CSCE 411 Design and Analysis of Algorithms
(2,4) Trees 12/4/2018 1:20 PM Sorting Lower Bound Sorting Lower Bound.
CS200: Algorithm Analysis
Linear Sorting Sorting in O(n) Jeff Chastine.
Chapter 11 Limitations of Algorithm Power
(2,4) Trees 2/28/2019 3:21 AM Sorting Lower Bound Sorting Lower Bound.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Topic 5: Heap data structure heap sort Priority queue
CPSC 411 Design and Analysis of Algorithms
David Kauchak cs302 Spring 2012
CS 583 Analysis of Algorithms
Presentation transcript:

CSCE 411H Design and Analysis of Algorithms Set 10: Lower Bounds Prof. Evdokia Nikolova* Spring 2013 CSCE 411H, Spring 2013: Set 10 1 * Slides adapted from Prof. Jennifer Welch

What is a Lower Bound? Provides information about the best possible efficiency of ANY algorithm for a problem Tells us whether we can improve an algorithm or not When lower bound is (asymptotically) the same as the best upper bound (provided by an algorithm), the bound is TIGHT If there is a gap, there might be room for improvement CSCE 411H, Spring 2013: Set 102

Techniques for Proving Lower Bounds Trivial (size of input or output) Ex: Any algorithm to generate all permutations of n elements requires time Ω(n!) because there are n! outputs Ex: Computing the product of two n-by-n matrices requires time Ω(n 2 ) because the output has n 2 entries Ex: Any TSP solution for n cities requires Ω(n 2 ) time because there are Θ(n 2 ) inputs to be taken into account. CSCE 411H, Spring 2013: Set 103

Techniques for Proving Lower Bounds Information-theoretic: Consider the amount of information that the solution must provide Show that each step of the algorithm can only produce so much information Uses mechanism of “decision trees” Example next… CSCE 411H, Spring 2013: Set 104

5 Comparison-Based Sorting We’ve seen mergesort, insertion sort, quicksort, heapsort,… All these algorithms are comparison-based the behavior depends on relative values of keys, not exact values behavior on [1,3,2,4] is same as on [9,25,23,99] Fastest of these algorithms was O(nlog n). We will show that's the best you can get with comparison-based sorting.

CSCE 411H, Spring 2013: Set 106 Decision Tree Consider any comparison based sorting algorithm Represent its behavior on all inputs of a fixed size with a decision tree Each tree node corresponds to the execution of a comparison Each tree node has two children, depending on whether the parent comparison was true or false Each leaf represents correct sorted order for that path

CSCE 411H, Spring 2013: Set 107 Decision Tree Diagram first comparison: check if a i ≤ a j second comparison if a i ≤ a j : check if a k ≤ a l second comparison if a i > a j : check if a m ≤ a p third comparison if a i ≤ a j and a k ≤ a l : check if a x ≤ a y YES NO

CSCE 411H, Spring 2013: Set 108 Insertion Sort for j := 2 to n to key := a[j] i := j-1 while i > 0 and a[i] > key do a[i]+1 := a[i] i := i -1 endwhile a[i+1] := key endfor

CSCE 411H, Spring 2013: Set 109 Insertion Sort for n = 3 a 1 ≤ a 2 ? a 2 ≤ a 3 ?a 1 ≤ a 3 ? a 2 ≤ a 3 ? NOYES a 1 a 2 a 3 a 1 a 3 a 2 a 3 a 1 a 2 a 2 a 3 a 1 a 3 a 2 a 1 a 2 a 1 a 3 NO YES

CSCE 411H, Spring 2013: Set 1010 Insertion Sort for n = 3 a 1 ≤ a 2 ? NO a 2 ≤ a 3 ?a 1 ≤ a 3 ? a 2 ≤ a 3 ? YES a 1 a 2 a 3 a 1 a 3 a 2 a 3 a 1 a 2 a 2 a 3 a 1 a 3 a 2 a 1 a 2 a 1 a 3 NO YES

CSCE 411H, Spring 2013: Set 1011 How Many Leaves? Must be at least one leaf for each permutation of the input otherwise there would be a situation that was not correctly sorted Number of permutations of n keys is n!. Idea: since there must be a lot of leaves, but each decision tree node only has two children, tree cannot be too shallow depth of tree is a lower bound on running time

CSCE 411H, Spring 2013: Set 1012 Key Lemma Height of a binary tree with n! leaves is  (n log n). Proof: Maximum number of leaves in a binary tree with height h is 2 h. h = 1, 2 1 leaves h = 2, 2 2 leaves h = 3, 2 3 leaves

CSCE 411H, Spring 2013: Set 1013 Proof of Lemma Let h be height of decision tree. Number of leaves in decision tree, which is n!, is at most 2 h. 2 h ≥ n! h ≥ log(n!) = log(n(n-1)(n-2)…(2)(1)) ≥ (n/2)log(n/2) by algebra =  (n log n)

CSCE 411H, Spring 2013: Set 1014 Finishing Up Any binary tree with n! leaves has height  (n log n). Decision tree for any comparison-based sorting alg on n keys has height  (n log n). Any comp.-based sorting alg has at least one execution with  (n log n) comparisons Any comp.-based sorting alg has  (n log n) worst-case running time.

Techniques for Proving Lower Bounds Problem reduction: Assume we already know that problem P is hard (i.e., there is some lower bound of X on its running time) Show that problem Q is at least as hard as problem P by reducing problem P to Q I.e., if we can solve Q, then we can solve P Implies that X is also a lower bound for Q CSCE 411H, Spring 2013: Set 1015