A Lower Bound for Comparison Sort

Size: px
Start display at page:

Download "A Lower Bound for Comparison Sort"

Transcription

1 A Lower Bound for Comparison Sort Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) A Lower Bound for Comparison Sort 2014/ / 9

2 On this lecture Upper and lower bound problems Notion of comparison-based sort An Ω(n log n) worst-case bound for a deterministic comparison 2 player game view of algorithm analysis Pedro Ribeiro (DCC/FCUP) A Lower Bound for Comparison Sort 2014/ / 9

3 Upper Bound Problem One typical question when designing algorithms is: given some problem X, can we construct an algorithm that runs in time O(f (n)) on inputs of size n? This can be seen as an upper bound problem, and our goal is to make g(n) as low as possible. Pedro Ribeiro (DCC/FCUP) A Lower Bound for Comparison Sort 2014/ / 9

4 Lower Bound Problem In this lecture, the question is different: given some problem X, what is g(n) such that any algorithm must take time Ω(g(n)) on inputs of size n? This can be seen as an lower bound problem, and our goal is to make g(n) as high as possible. Lower bound help understand the intrinsic difficulty of the problem and how close we are to the best possible solution. Pedro Ribeiro (DCC/FCUP) A Lower Bound for Comparison Sort 2014/ / 9

5 Lower Bound Problem For today we will consider the class of comparison-based sorting algorithms. These are sorting algorithms that operate only by comparing elements and moving them around based on the result of these comparisons Comparison-Based Sorting Algorithm A comparison-based sorting algorithm takes as input an array [a 1, a 2,..., a n ] with n items, and can only gain information about the items by comparing pairs of them. Each comparison ( is a i < a j? ) returns YES or NO. In the end, the algorithm must output a permutation of the input in which all items are in sorted order. Ex: QuickSort, MergeSort, HeapSort, InsertionSort, SelectionSort or BubbleSort are all comparison-based sorting algorithms. Pedro Ribeiro (DCC/FCUP) A Lower Bound for Comparison Sort 2014/ / 9

6 Lower Bound for the Deterministic Case Theorem Any deterministic comparison-based sorting algorithm must perform Ω(n log n) comparisons to sort n elements in the worst case. We will now prove this theorem, by showing that given any deterministic comparison-based sorting algorithm A, for all n 2 there exists an input I of size n such that A makes at least log 2 (n!) = Ω(n log n) comparisons to sort I. Note that we need to prove for any possible deterministic algorithm, and not for a specific choice of pivot on QuickSort, or for a specific merge operation on MergeSort. Pedro Ribeiro (DCC/FCUP) A Lower Bound for Comparison Sort 2014/ / 9

7 20 questions games Your goal is to determine the correct ordering of n elements (that you do not know in advance) Imagine you can ask me questions about the result of comparing a pair of elements I m answering this questions with the goal of delaying as much as possible your final answer How many questions do you need to ask? Pedro Ribeiro (DCC/FCUP) A Lower Bound for Comparison Sort 2014/ / 9

8 Proving the Ω(n log n) bound There are n! permutations that could be the output of the algorithm For each of these permutations, there is an input for which that permutation is the only correct answer Let S be set of permutations that are consistent with the questions already made Initially, S = n! What happens when you start asking questions? Pedro Ribeiro (DCC/FCUP) A Lower Bound for Comparison Sort 2014/ / 9

9 Proving the Ω(n log n) bound A comparison will answer YES or NO This answer will split the permutations still left in S in two groups Now suppose the adversary answering the question will always choose the answer leading to the largest group This means at each time we can only cut S by a factor of 2 By design, the algorithm can only stop when S = 1, so that it knows what permutation to output This means the algorithm must make log 2 (n!) questions! (i.e., comparisons) log 2 (n!) = log 2 (n)+log 2 (n 1)+log 2 (n 2)+...+log 2 (2) = Ω(n log n) (we could use Stirling s Approximation to prove this last step) Pedro Ribeiro (DCC/FCUP) A Lower Bound for Comparison Sort 2014/ / 9

Animation Demos. Shows time complexities on best, worst and average case.

Animation Demos. Shows time complexities on best, worst and average case. Animation Demos http://cg.scs.carleton.ca/~morin/misc/sortalg/ http://home.westman.wave.ca/~rhenry/sort/ Shows time complexities on best, worst and average case http://vision.bc.edu/~dmartin/teaching/sorting/animhtml/quick3.html

More information

Chapter 7: Sorting 7.1. Original

Chapter 7: Sorting 7.1. Original Chapter 7: Sorting 7.1 Original 3 1 4 1 5 9 2 6 5 after P=2 1 3 4 1 5 9 2 6 5 after P=3 1 3 4 1 5 9 2 6 5 after P=4 1 1 3 4 5 9 2 6 5 after P=5 1 1 3 4 5 9 2 6 5 after P=6 1 1 3 4 5 9 2 6 5 after P=7 1

More information

Divide & conquer. Which works better for multi-cores: insertion sort or merge sort? Why?

Divide & conquer. Which works better for multi-cores: insertion sort or merge sort? Why? 1 Sorting... more 2 Divide & conquer Which works better for multi-cores: insertion sort or merge sort? Why? 3 Divide & conquer Which works better for multi-cores: insertion sort or merge sort? Why? Merge

More information

Introduction to. Algorithms. Lecture 10. Prof. Constantinos Daskalakis CLRS

Introduction to. Algorithms. Lecture 10. Prof. Constantinos Daskalakis CLRS 6.006- Introduction to Algorithms Lecture 10 Prof. Constantinos Daskalakis CLRS 8.1-8.4 Menu Show that Θ(n lg n) is the best possible running time for a sorting algorithm. Design an algorithm that sorts

More information

CSE 21 Practice Final Exam Winter 2016

CSE 21 Practice Final Exam Winter 2016 CSE 21 Practice Final Exam Winter 2016 1. Sorting and Searching. Give the number of comparisons that will be performed by each sorting algorithm if the input list of length n happens to be of the form

More information

ECE 242 Data Structures and Algorithms. Simple Sorting II. Lecture 5. Prof.

ECE 242 Data Structures and Algorithms.  Simple Sorting II. Lecture 5. Prof. ECE 242 Data Structures and Algorithms http://www.ecs.umass.edu/~polizzi/teaching/ece242/ Simple Sorting II Lecture 5 Prof. Eric Polizzi Summary previous lecture 1 Bubble Sort 2 Selection Sort 3 Insertion

More information

Animation Demos. Shows time complexities on best, worst and average case.

Animation Demos. Shows time complexities on best, worst and average case. Animation Demos http://cg.scs.carleton.ca/~morin/misc/sortalg/ http://home.westman.wave.ca/~rhenry/sort/ Shows time complexities on best, worst and average case http://vision.bc.edu/~dmartin/teaching/sorting/animhtml/quick3.html

More information

DATA STRUCTURES USING C

DATA STRUCTURES USING C DATA STRUCTURES USING C Lecture-10 Data Structures Different types of Sorting Techniques used in Data Structures Sorting: Definition Sorting: an operation that segregates items into groups according to

More information

Programming Abstractions

Programming Abstractions Programming Abstractions C S 1 0 6 X Cynthia Lee Today s Topics Sorting! 1. The warm-ups Selection sort Insertion sort 2. Let s use a data structure! Heapsort 3. Divide & Conquer Merge Sort (aka Professor

More information

Previous Lecture. How can computation sort data faster for you? Sorting Algorithms: Speed Comparison. Recursive Algorithms 10/31/11

Previous Lecture. How can computation sort data faster for you? Sorting Algorithms: Speed Comparison. Recursive Algorithms 10/31/11 CS 202: Introduction to Computation " UIVERSITY of WISCOSI-MADISO Computer Sciences Department Professor Andrea Arpaci-Dusseau How can computation sort data faster for you? Previous Lecture Two intuitive,

More information

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Algorithms and Game Theory Date: 12/4/14

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Algorithms and Game Theory Date: 12/4/14 600.363 Introduction to Algorithms / 600.463 Algorithms I Lecturer: Michael Dinitz Topic: Algorithms and Game Theory Date: 12/4/14 25.1 Introduction Today we re going to spend some time discussing game

More information

lecture notes September 2, Batcher s Algorithm

lecture notes September 2, Batcher s Algorithm 18.310 lecture notes September 2, 2013 Batcher s Algorithm Lecturer: Michel Goemans Perhaps the most restrictive version of the sorting problem requires not only no motion of the keys beyond compare-and-switches,

More information

More Great Ideas in Theoretical Computer Science. Lecture 1: Sorting Pancakes

More Great Ideas in Theoretical Computer Science. Lecture 1: Sorting Pancakes 15-252 More Great Ideas in Theoretical Computer Science Lecture 1: Sorting Pancakes January 19th, 2018 Question If there are n pancakes in total (all in different sizes), what is the max number of flips

More information

Algorithms and Data Structures CS 372. The Sorting Problem. Insertion Sort - Summary. Merge Sort. Input: Output:

Algorithms and Data Structures CS 372. The Sorting Problem. Insertion Sort - Summary. Merge Sort. Input: Output: Algorithms and Data Structures CS Merge Sort (Based on slides by M. Nicolescu) The Sorting Problem Input: A sequence of n numbers a, a,..., a n Output: A permutation (reordering) a, a,..., a n of the input

More information

CS 758/858: Algorithms

CS 758/858: Algorithms CS 758/858: Algorithms http://www.cs.unh.edu/~ruml/cs758 1 handout: slides Wheeler Ruml (UNH) Class 2, CS 758 1 / 19 Counting Sort O() O() Example Stable Counting Wheeler Ruml (UNH) Class 2, CS 758 2 /

More information

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Module 6 Lecture - 37 Divide and Conquer: Counting Inversions

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Module 6 Lecture - 37 Divide and Conquer: Counting Inversions Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute Module 6 Lecture - 37 Divide and Conquer: Counting Inversions Let us go back and look at Divide and Conquer again.

More information

Introduction to. Algorithms. Lecture 10. Prof. Piotr Indyk

Introduction to. Algorithms. Lecture 10. Prof. Piotr Indyk 6.006- Introduction to Algorithms Lecture 10 Prof. Piotr Indyk Quiz Rules Do not open this quiz booklet until directed to do so. Read all the instructions on this page When the quiz begins, write your

More information

CSE465, Spring 2009 March 16 1

CSE465, Spring 2009 March 16 1 CSE465, Spring 2009 March 16 1 Bucket sort Bucket sort has two meanings. One is similar to that of Counting sort that is described in the book. We assume that every entry to be sorted is in the set {0,

More information

Lecture 7: The Principle of Deferred Decisions

Lecture 7: The Principle of Deferred Decisions Randomized Algorithms Lecture 7: The Principle of Deferred Decisions Sotiris Nikoletseas Professor CEID - ETY Course 2017-2018 Sotiris Nikoletseas, Professor Randomized Algorithms - Lecture 7 1 / 20 Overview

More information

CSE 373 DECEMBER 4 TH ALGORITHM DESIGN

CSE 373 DECEMBER 4 TH ALGORITHM DESIGN CSE 373 DECEMBER 4 TH ALGORITHM DESIGN ASSORTED MINUTIAE P3P3 scripts running right now Pushing back resubmission to Friday Next Monday office hours 12:00-2:00 last minute exam questions Topics list and

More information

CS3334 Data Structures Lecture 4: Bubble Sort & Insertion Sort. Chee Wei Tan

CS3334 Data Structures Lecture 4: Bubble Sort & Insertion Sort. Chee Wei Tan CS3334 Data Structures Lecture 4: Bubble Sort & Insertion Sort Chee Wei Tan Sorting Since Time Immemorial Plimpton 322 Tablet: Sorted Pythagorean Triples https://www.maa.org/sites/default/files/pdf/news/monthly105-120.pdf

More information

1111: Linear Algebra I

1111: Linear Algebra I 1111: Linear Algebra I Dr. Vladimir Dotsenko (Vlad) Lecture 7 Dr. Vladimir Dotsenko (Vlad) 1111: Linear Algebra I Lecture 7 1 / 8 Invertible matrices Theorem. 1. An elementary matrix is invertible. 2.

More information

Lecture 2. 1 Nondeterministic Communication Complexity

Lecture 2. 1 Nondeterministic Communication Complexity Communication Complexity 16:198:671 1/26/10 Lecture 2 Lecturer: Troy Lee Scribe: Luke Friedman 1 Nondeterministic Communication Complexity 1.1 Review D(f): The minimum over all deterministic protocols

More information

MITOCW 7. Counting Sort, Radix Sort, Lower Bounds for Sorting

MITOCW 7. Counting Sort, Radix Sort, Lower Bounds for Sorting MITOCW 7. Counting Sort, Radix Sort, Lower Bounds for Sorting The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality

More information

Lecture 20: Combinatorial Search (1997) Steven Skiena. skiena

Lecture 20: Combinatorial Search (1997) Steven Skiena.   skiena Lecture 20: Combinatorial Search (1997) Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Give an O(n lg k)-time algorithm

More information

COS 226 Algorithms and Data Structures Fall Midterm Exam

COS 226 Algorithms and Data Structures Fall Midterm Exam COS 226 lgorithms and Data Structures Fall 2015 Midterm Exam This exam has 8 questions worth a total of 100 points. You have 80 minutes. The exam is closed book, except that you are allowed to use one

More information

COS 226 Algorithms and Data Structures Fall Midterm Exam

COS 226 Algorithms and Data Structures Fall Midterm Exam COS 226 lgorithms and Data Structures Fall 2015 Midterm Exam You have 80 minutes for this exam. The exam is closed book, except that you are allowed to use one page of notes (8.5-by-11, one side, in your

More information

((( ))) CS 19: Discrete Mathematics. Please feel free to ask questions! Getting into the mood. Pancakes With A Problem!

((( ))) CS 19: Discrete Mathematics. Please feel free to ask questions! Getting into the mood. Pancakes With A Problem! CS : Discrete Mathematics Professor Amit Chakrabarti Please feel free to ask questions! ((( ))) Teaching Assistants Chien-Chung Huang David Blinn http://www.cs cs.dartmouth.edu/~cs Getting into the mood

More information

Lecture5: Lossless Compression Techniques

Lecture5: Lossless Compression Techniques Fixed to fixed mapping: we encoded source symbols of fixed length into fixed length code sequences Fixed to variable mapping: we encoded source symbols of fixed length into variable length code sequences

More information

Algorithms. Abstract. We describe a simple construction of a family of permutations with a certain pseudo-random

Algorithms. Abstract. We describe a simple construction of a family of permutations with a certain pseudo-random Generating Pseudo-Random Permutations and Maimum Flow Algorithms Noga Alon IBM Almaden Research Center, 650 Harry Road, San Jose, CA 9510,USA and Sackler Faculty of Eact Sciences, Tel Aviv University,

More information

Block Ciphers Security of block ciphers. Symmetric Ciphers

Block Ciphers Security of block ciphers. Symmetric Ciphers Lecturers: Mark D. Ryan and David Galindo. Cryptography 2016. Slide: 26 Assume encryption and decryption use the same key. Will discuss how to distribute key to all parties later Symmetric ciphers unusable

More information

Lecture 12: Divide and Conquer Algorithms. Divide and Conquer Algorithms

Lecture 12: Divide and Conquer Algorithms. Divide and Conquer Algorithms Lecture 12: Divide and Conquer Algorithms Study Chapter 7.1 7.4 1 Divide and Conquer Algorithms Divide problem into sub-problems Conquer by solving sub-problems recursively. If the sub-problems are small

More information

The Complexity of Sorting with Networks of Stacks and Queues

The Complexity of Sorting with Networks of Stacks and Queues The Complexity of Sorting with Networks of Stacks and Queues Stefan Felsner Institut für Mathematik, Technische Universität Berlin. felsner@math.tu-berlin.de Martin Pergel Department of Applied Mathematics

More information

Counting in Algorithms

Counting in Algorithms Counting Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers? How many steps to factor an integer? Counting in Games How many different

More information

Fast Sorting and Pattern-Avoiding Permutations

Fast Sorting and Pattern-Avoiding Permutations Fast Sorting and Pattern-Avoiding Permutations David Arthur Stanford University darthur@cs.stanford.edu Abstract We say a permutation π avoids a pattern σ if no length σ subsequence of π is ordered in

More information

Olympiad Combinatorics. Pranav A. Sriram

Olympiad Combinatorics. Pranav A. Sriram Olympiad Combinatorics Pranav A. Sriram August 2014 Chapter 2: Algorithms - Part II 1 Copyright notices All USAMO and USA Team Selection Test problems in this chapter are copyrighted by the Mathematical

More information

CSE373: Data Structure & Algorithms Lecture 23: More Sorting and Other Classes of Algorithms. Nicki Dell Spring 2014

CSE373: Data Structure & Algorithms Lecture 23: More Sorting and Other Classes of Algorithms. Nicki Dell Spring 2014 CSE373: Data Structure & Algorithms Lecture 23: More Sorting and Other Classes of Algorithms Nicki Dell Spring 2014 Admin No class on Monday Extra time for homework 5 J 2 Sorting: The Big Picture Surprising

More information

Extended Introduction to Computer Science CS1001.py

Extended Introduction to Computer Science CS1001.py Extended Introduction to Computer Science CS1001.py Lecture 13: Recursion (4) - Hanoi Towers, Munch! Instructors: Daniel Deutch, Amir Rubinstein, Teaching Assistants: Amir Gilad, Michal Kleinbort School

More information

Game Theory and Randomized Algorithms

Game Theory and Randomized Algorithms Game Theory and Randomized Algorithms Guy Aridor Game theory is a set of tools that allow us to understand how decisionmakers interact with each other. It has practical applications in economics, international

More information

Partitions and Permutations

Partitions and Permutations Chapter 5 Partitions and Permutations 5.1 Stirling Subset Numbers 5.2 Stirling Cycle Numbers 5.3 Inversions and Ascents 5.4 Derangements 5.5 Exponential Generating Functions 5.6 Posets and Lattices 1 2

More information

CS101 Lecture 28: Sorting Algorithms. What You ll Learn Today

CS101 Lecture 28: Sorting Algorithms. What You ll Learn Today CS101 Lecture 28: Sorting Algorithms Selection Sort Bubble Sort Aaron Stevens (azs@bu.edu) 18 April 2013 What You ll Learn Today What is sorting? Why does sorting matter? How is sorting accomplished? Why

More information

Selective Families, Superimposed Codes and Broadcasting on Unknown Radio Networks. Andrea E.F. Clementi Angelo Monti Riccardo Silvestri

Selective Families, Superimposed Codes and Broadcasting on Unknown Radio Networks. Andrea E.F. Clementi Angelo Monti Riccardo Silvestri Selective Families, Superimposed Codes and Broadcasting on Unknown Radio Networks Andrea E.F. Clementi Angelo Monti Riccardo Silvestri Introduction A radio network is a set of radio stations that are able

More information

Decision Mathematics practice paper

Decision Mathematics practice paper Decision Mathematics practice paper 1. based on old-syllabus January 2013. 50 minutes, 50 marks. Write answers in answers book. Figure 1 Hero s algorithm for finding a square root is described by the flow

More information

Sec 5.1 The Basics of Counting

Sec 5.1 The Basics of Counting 1 Sec 5.1 The Basics of Counting Combinatorics, the study of arrangements of objects, is an important part of discrete mathematics. In this chapter, we will learn basic techniques of counting which has

More information

Collectives Pattern. Parallel Computing CIS 410/510 Department of Computer and Information Science. Lecture 8 Collective Pattern

Collectives Pattern. Parallel Computing CIS 410/510 Department of Computer and Information Science. Lecture 8 Collective Pattern Collectives Pattern Parallel Computing CIS 410/510 Department of Computer and Information Science Outline q What are Collectives? q Reduce Pattern q Scan Pattern q Sorting 2 Collectives q Collective operations

More information

Hypercube Networks-III

Hypercube Networks-III 6.895 Theory of Parallel Systems Lecture 18 ypercube Networks-III Lecturer: harles Leiserson Scribe: Sriram Saroop and Wang Junqing Lecture Summary 1. Review of the previous lecture This section highlights

More information

Content. 1 Understanding and analyzing algorithms. 2 Using graphs and graph algorithms

Content. 1 Understanding and analyzing algorithms. 2 Using graphs and graph algorithms Content 1 Understanding and analyzing algorithms 2 Using graphs and graph algorithms 3 Using combinatorial reasoning and probability to quantitatively analyze algorithms and systems 3.1 Basics of Counting:

More information

Collectives Pattern CS 472 Concurrent & Parallel Programming University of Evansville

Collectives Pattern CS 472 Concurrent & Parallel Programming University of Evansville Collectives Pattern CS 472 Concurrent & Parallel Programming University of Evansville Selection of slides from CIS 410/510 Introduction to Parallel Computing Department of Computer and Information Science,

More information

Yale University Department of Computer Science

Yale University Department of Computer Science LUX ETVERITAS Yale University Department of Computer Science Secret Bit Transmission Using a Random Deal of Cards Michael J. Fischer Michael S. Paterson Charles Rackoff YALEU/DCS/TR-792 May 1990 This work

More information

Lecture Notes 3: Paging, K-Server and Metric Spaces

Lecture Notes 3: Paging, K-Server and Metric Spaces Online Algorithms 16/11/11 Lecture Notes 3: Paging, K-Server and Metric Spaces Professor: Yossi Azar Scribe:Maor Dan 1 Introduction This lecture covers the Paging problem. We present a competitive online

More information

arxiv: v1 [cs.cc] 21 Jun 2017

arxiv: v1 [cs.cc] 21 Jun 2017 Solving the Rubik s Cube Optimally is NP-complete Erik D. Demaine Sarah Eisenstat Mikhail Rudoy arxiv:1706.06708v1 [cs.cc] 21 Jun 2017 Abstract In this paper, we prove that optimally solving an n n n Rubik

More information

GENERALIZATION: RANK ORDER FILTERS

GENERALIZATION: RANK ORDER FILTERS GENERALIZATION: RANK ORDER FILTERS Definition For simplicity and implementation efficiency, we consider only brick (rectangular: wf x hf) filters. A brick rank order filter evaluates, for every pixel in

More information

Sensor Network Gossiping or How to Break the Broadcast Lower Bound

Sensor Network Gossiping or How to Break the Broadcast Lower Bound Sensor Network Gossiping or How to Break the Broadcast Lower Bound Martín Farach-Colton 1 Miguel A. Mosteiro 1,2 1 Department of Computer Science Rutgers University 2 LADyR (Distributed Algorithms and

More information

CS510 \ Lecture Ariel Stolerman

CS510 \ Lecture Ariel Stolerman CS510 \ Lecture04 2012-10-15 1 Ariel Stolerman Administration Assignment 2: just a programming assignment. Midterm: posted by next week (5), will cover: o Lectures o Readings A midterm review sheet will

More information

RMT 2015 Power Round Solutions February 14, 2015

RMT 2015 Power Round Solutions February 14, 2015 Introduction Fair division is the process of dividing a set of goods among several people in a way that is fair. However, as alluded to in the comic above, what exactly we mean by fairness is deceptively

More information

What is a Sorting Function?

What is a Sorting Function? Department of Computer Science University of Copenhagen Email: henglein@diku.dk WG 2.8 2008, Park City, June 15-22, 2008 Outline 1 Sorting algorithms Literature definitions What is a sorting criterion?

More information

MITOCW watch?v=cnb2ladk3_s

MITOCW watch?v=cnb2ladk3_s MITOCW watch?v=cnb2ladk3_s The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

Tiling Problems. This document supersedes the earlier notes posted about the tiling problem. 1 An Undecidable Problem about Tilings of the Plane

Tiling Problems. This document supersedes the earlier notes posted about the tiling problem. 1 An Undecidable Problem about Tilings of the Plane Tiling Problems This document supersedes the earlier notes posted about the tiling problem. 1 An Undecidable Problem about Tilings of the Plane The undecidable problems we saw at the start of our unit

More information

Stanford University CS261: Optimization Handout 9 Luca Trevisan February 1, 2011

Stanford University CS261: Optimization Handout 9 Luca Trevisan February 1, 2011 Stanford University CS261: Optimization Handout 9 Luca Trevisan February 1, 2011 Lecture 9 In which we introduce the maximum flow problem. 1 Flows in Networks Today we start talking about the Maximum Flow

More information

MITOCW watch?v=3e1zf1l1vhy

MITOCW watch?v=3e1zf1l1vhy MITOCW watch?v=3e1zf1l1vhy NARRATOR: The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for

More information

Compressing Pattern Databases

Compressing Pattern Databases Compressing Pattern Databases Ariel Felner and Ram Meshulam Computer Science Department Bar-Ilan University Ramat-Gan, Israel 92500 Email: ffelner,meshulr1g@cs.biu.ac.il Robert C. Holte Computing Science

More information

How Many Mates Can a Latin Square Have?

How Many Mates Can a Latin Square Have? How Many Mates Can a Latin Square Have? Megan Bryant mrlebla@g.clemson.edu Roger Garcia garcroge@kean.edu James Figler figler@live.marshall.edu Yudhishthir Singh ysingh@crimson.ua.edu Marshall University

More information

Randomized Algorithms

Randomized Algorithms Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Randomized Algorithms Randomized Algorithms 1 Applications: Simple Algorithms and

More information

Game Theory and Algorithms Lecture 3: Weak Dominance and Truthfulness

Game Theory and Algorithms Lecture 3: Weak Dominance and Truthfulness Game Theory and Algorithms Lecture 3: Weak Dominance and Truthfulness March 1, 2011 Summary: We introduce the notion of a (weakly) dominant strategy: one which is always a best response, no matter what

More information

Tile Complexity of Assembly of Length N Arrays and N x N Squares. by John Reif and Harish Chandran

Tile Complexity of Assembly of Length N Arrays and N x N Squares. by John Reif and Harish Chandran Tile Complexity of Assembly of Length N Arrays and N x N Squares by John Reif and Harish Chandran Wang Tilings Hao Wang, 1961: Proving theorems by Pattern Recognition II Class of formal systems Modeled

More information

COMP Online Algorithms. Paging and k-server Problem. Shahin Kamali. Lecture 11 - Oct. 11, 2018 University of Manitoba

COMP Online Algorithms. Paging and k-server Problem. Shahin Kamali. Lecture 11 - Oct. 11, 2018 University of Manitoba COMP 7720 - Online Algorithms Paging and k-server Problem Shahin Kamali Lecture 11 - Oct. 11, 2018 University of Manitoba COMP 7720 - Online Algorithms Paging and k-server Problem 1 / 19 Review & Plan

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Algorithmic Game Theory Date: 12/6/18

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Algorithmic Game Theory Date: 12/6/18 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Algorithmic Game Theory Date: 12/6/18 24.1 Introduction Today we re going to spend some time discussing game theory and algorithms.

More information

Plan. Related courses. A Take-Away Game. Mathematical Games , (21-801) - Mathematical Games Look for it in Spring 11

Plan. Related courses. A Take-Away Game. Mathematical Games , (21-801) - Mathematical Games Look for it in Spring 11 V. Adamchik D. Sleator Great Theoretical Ideas In Computer Science Mathematical Games CS 5-25 Spring 2 Lecture Feb., 2 Carnegie Mellon University Plan Introduction to Impartial Combinatorial Games Related

More information

CS431 homework 2. 8 June Question 1 (page 54, problem 2.3). Is lg n = O(n)? Is lg n = Ω(n)? Is lg n = Θ(n)?

CS431 homework 2. 8 June Question 1 (page 54, problem 2.3). Is lg n = O(n)? Is lg n = Ω(n)? Is lg n = Θ(n)? CS1 homework June 011 Question 1 (page, problem.). Is lg n = O(n)? Is lg n = Ω(n)? Is lg n = Θ(n)? Answer. Recall the definition of big-o: for all functions f and g, f(n) = O(g(n)) if there exist constants

More information

More on recursion. Fundamentals of Computer Science Keith Vertanen

More on recursion. Fundamentals of Computer Science Keith Vertanen More on recursion Fundamentals of Computer Science Keith Vertanen Recursion A method calling itself Overview A new way of thinking about a problem A powerful programming paradigm Examples: Last @me: Factorial,

More information

Sec$on Summary. Permutations Combinations Combinatorial Proofs

Sec$on Summary. Permutations Combinations Combinatorial Proofs Section 6.3 Sec$on Summary Permutations Combinations Combinatorial Proofs 2 Coun$ng ordered arrangements Ex: How many ways can we select 3 students from a group of 5 students to stand in line for a picture?

More information

Ma/CS 6a Class 16: Permutations

Ma/CS 6a Class 16: Permutations Ma/CS 6a Class 6: Permutations By Adam Sheffer The 5 Puzzle Problem. Start with the configuration on the left and move the tiles to obtain the configuration on the right. The 5 Puzzle (cont.) The game

More information

Network-building. Introduction. Page 1 of 6

Network-building. Introduction. Page 1 of 6 Page of 6 CS 684: Algorithmic Game Theory Friday, March 2, 2004 Instructor: Eva Tardos Guest Lecturer: Tom Wexler (wexler at cs dot cornell dot edu) Scribe: Richard C. Yeh Network-building This lecture

More information

On Symmetric Key Broadcast Encryption

On Symmetric Key Broadcast Encryption On Symmetric Key Broadcast Encryption Sanjay Bhattacherjee and Palash Sarkar Indian Statistical Institute, Kolkata Elliptic Curve Cryptography (This is not) 2014 Bhattacherjee and Sarkar Symmetric Key

More information

Improving Text Indexes Using Compressed Permutations

Improving Text Indexes Using Compressed Permutations Improving Text Indexes Using Compressed Permutations Jérémy Barbay, Carlos Bedregal, Gonzalo Navarro Department of Computer Science University of Chile, Chile {jbarbay,cbedrega,gnavarro}@dcc.uchile.cl

More information

Anavilhanas Natural Reserve (about 4000 Km 2 )

Anavilhanas Natural Reserve (about 4000 Km 2 ) Anavilhanas Natural Reserve (about 4000 Km 2 ) A control room receives this alarm signal: what to do? adversarial patrolling with spatially uncertain alarm signals Nicola Basilico, Giuseppe De Nittis,

More information

MITOCW R7. Comparison Sort, Counting and Radix Sort

MITOCW R7. Comparison Sort, Counting and Radix Sort MITOCW R7. Comparison Sort, Counting and Radix Sort The following content is provided under a Creative Commons license. B support will help MIT OpenCourseWare continue to offer high quality educational

More information

UPenn NETS 412: Algorithmic Game Theory Game Theory Practice. Clyde Silent Confess Silent 1, 1 10, 0 Confess 0, 10 5, 5

UPenn NETS 412: Algorithmic Game Theory Game Theory Practice. Clyde Silent Confess Silent 1, 1 10, 0 Confess 0, 10 5, 5 Problem 1 UPenn NETS 412: Algorithmic Game Theory Game Theory Practice Bonnie Clyde Silent Confess Silent 1, 1 10, 0 Confess 0, 10 5, 5 This game is called Prisoner s Dilemma. Bonnie and Clyde have been

More information

Random. Bart Massey Portland State University Open Source Bridge Conf. June 2014

Random. Bart Massey Portland State University Open Source Bridge Conf. June 2014 Random Bart Massey Portland State University Open Source Bridge Conf. June 2014 No Clockwork Universe Stuff doesn't always happen the same even when conditions seem pretty identical.

More information

MITOCW watch?v=krzi60lkpek

MITOCW watch?v=krzi60lkpek MITOCW watch?v=krzi60lkpek The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

On the size of sets of permutations with bounded VC-dimension

On the size of sets of permutations with bounded VC-dimension On the size of sets of permutations with bounded VC-dimension Department of Applied Mathematics Charles University, Prague 11 August 2010 / PP 2010 VC-dimension Set systems VC-dimension of a family C of

More information

Parking and Railroad Cars

Parking and Railroad Cars Parking and Railroad Cars CS 007 Algorithm Analysis and Design 5th Semester 1 Rail Road Cars Imagine four railroad cars positioned on the input side of the track numbered 1,2,3,4 respectively. Suppose

More information

Last update: March 9, Game playing. CMSC 421, Chapter 6. CMSC 421, Chapter 6 1

Last update: March 9, Game playing. CMSC 421, Chapter 6. CMSC 421, Chapter 6 1 Last update: March 9, 2010 Game playing CMSC 421, Chapter 6 CMSC 421, Chapter 6 1 Finite perfect-information zero-sum games Finite: finitely many agents, actions, states Perfect information: every agent

More information

Sorting. APS105: Computer Fundamentals. Jason Anderson

Sorting. APS105: Computer Fundamentals. Jason Anderson Sorting APS105: Computer Fundamentals Jason Anderson Dept. of Electrical and Computer Engineering Faculty of Applied Science and Engineering University of Toronto 1 Sorting Phonebook useless if names were

More information

Greedy Algorithms. Kleinberg and Tardos, Chapter 4

Greedy Algorithms. Kleinberg and Tardos, Chapter 4 Greedy Algorithms Kleinberg and Tardos, Chapter 4 1 Selecting gas stations Road trip from Fort Collins to Durango on a given route with length L, and fuel stations at positions b i. Fuel capacity = C miles.

More information

CSE 1400 Applied Discrete Mathematics Permutations

CSE 1400 Applied Discrete Mathematics Permutations CSE 1400 Applied Discrete Mathematics Department of Computer Sciences College of Engineering Florida Tech Fall 2011 1 Cyclic Notation 2 Re-Order a Sequence 2 Stirling Numbers of the First Kind 2 Problems

More information

NOTES ON SEPT 13-18, 2012

NOTES ON SEPT 13-18, 2012 NOTES ON SEPT 13-18, 01 MIKE ZABROCKI Last time I gave a name to S(n, k := number of set partitions of [n] into k parts. This only makes sense for n 1 and 1 k n. For other values we need to choose a convention

More information

Game-playing AIs: Games and Adversarial Search FINAL SET (w/ pruning study examples) AIMA

Game-playing AIs: Games and Adversarial Search FINAL SET (w/ pruning study examples) AIMA Game-playing AIs: Games and Adversarial Search FINAL SET (w/ pruning study examples) AIMA 5.1-5.2 Games: Outline of Unit Part I: Games as Search Motivation Game-playing AI successes Game Trees Evaluation

More information

Bounds for Cut-and-Paste Sorting of Permutations

Bounds for Cut-and-Paste Sorting of Permutations Bounds for Cut-and-Paste Sorting of Permutations Daniel Cranston Hal Sudborough Douglas B. West March 3, 2005 Abstract We consider the problem of determining the maximum number of moves required to sort

More information

Some recent results and some open problems concerning solving infinite duration combinatorial games. Peter Bro Miltersen Aarhus University

Some recent results and some open problems concerning solving infinite duration combinatorial games. Peter Bro Miltersen Aarhus University Some recent results and some open problems concerning solving infinite duration combinatorial games Peter Bro Miltersen Aarhus University Purgatory Mount Purgatory is on an island, the only land in the

More information

Lecture 20 November 13, 2014

Lecture 20 November 13, 2014 6.890: Algorithmic Lower Bounds: Fun With Hardness Proofs Fall 2014 Prof. Erik Demaine Lecture 20 November 13, 2014 Scribes: Chennah Heroor 1 Overview This lecture completes our lectures on game characterization.

More information

DISCRETE STRUCTURES COUNTING

DISCRETE STRUCTURES COUNTING DISCRETE STRUCTURES COUNTING LECTURE2 The Pigeonhole Principle The generalized pigeonhole principle: If N objects are placed into k boxes, then there is at least one box containing at least N/k of the

More information

Discrete Structures for Computer Science

Discrete Structures for Computer Science Discrete Structures for Computer Science William Garrison bill@cs.pitt.edu 6311 Sennott Square Lecture #22: Generalized Permutations and Combinations Based on materials developed by Dr. Adam Lee Counting

More information

Notes for Recitation 3

Notes for Recitation 3 6.042/18.062J Mathematics for Computer Science September 17, 2010 Tom Leighton, Marten van Dijk Notes for Recitation 3 1 State Machines Recall from Lecture 3 (9/16) that an invariant is a property of a

More information

Merge Sort. Note that the recursion bottoms out when the subarray has just one element, so that it is trivially sorted.

Merge Sort. Note that the recursion bottoms out when the subarray has just one element, so that it is trivially sorted. 1 of 10 Merge Sort Merge sort is based on the divide-and-conquer paradigm. Its worst-case running time has a lower order of growth than insertion sort. Since we are dealing with subproblems, we state each

More information

SPACE-EFFICIENT ROUTING TABLES FOR ALMOST ALL NETWORKS AND THE INCOMPRESSIBILITY METHOD

SPACE-EFFICIENT ROUTING TABLES FOR ALMOST ALL NETWORKS AND THE INCOMPRESSIBILITY METHOD SIAM J. COMPUT. Vol. 28, No. 4, pp. 1414 1432 c 1999 Society for Industrial and Applied Mathematics SPACE-EFFICIENT ROUTING TABLES FOR ALMOST ALL NETWORKS AND THE INCOMPRESSIBILITY METHOD HARRY BUHRMAN,

More information

Signal Recovery from Random Measurements

Signal Recovery from Random Measurements Signal Recovery from Random Measurements Joel A. Tropp Anna C. Gilbert {jtropp annacg}@umich.edu Department of Mathematics The University of Michigan 1 The Signal Recovery Problem Let s be an m-sparse

More information

PERMUTATIONS AS PRODUCT OF PARALLEL TRANSPOSITIONS *

PERMUTATIONS AS PRODUCT OF PARALLEL TRANSPOSITIONS * SIAM J. DISCRETE MATH. Vol. 25, No. 3, pp. 1412 1417 2011 Society for Industrial and Applied Mathematics PERMUTATIONS AS PRODUCT OF PARALLEL TRANSPOSITIONS * CHASE ALBERT, CHI-KWONG LI, GILBERT STRANG,

More information

Fermat s little theorem. RSA.

Fermat s little theorem. RSA. .. Computing large numbers modulo n (a) In modulo arithmetic, you can always reduce a large number to its remainder a a rem n (mod n). (b) Addition, subtraction, and multiplication preserve congruence:

More information

MA 524 Midterm Solutions October 16, 2018

MA 524 Midterm Solutions October 16, 2018 MA 524 Midterm Solutions October 16, 2018 1. (a) Let a n be the number of ordered tuples (a, b, c, d) of integers satisfying 0 a < b c < d n. Find a closed formula for a n, as well as its ordinary generating

More information