COMP Online Algorithms. Online Bin Packing. Shahin Kamali. Lecture 20 - Nov. 16th, 2017 University of Manitoba

Similar documents
COMP Online Algorithms. List Update with Advice & Bin Packing. Shahin Kamali. Lecture 14 - Oct. 23, 2018 University of Manitoba

COMP Online Algorithms. Online Graph Problems. Shahin Kamali. Lecture 23 - Nov. 28th, 2017 University of Manitoba

COMP Online Algorithms. k-server Problem & Advice. Shahin Kamali. Lecture 13 - Oct. 24, 2017 University of Manitoba

Efficient Online Strategies for Renting Servers in the Cloud. Shahin Kamali, Alejandro López-Ortiz. University of Waterloo, Canada.

Comp Online Algorithms

CMPSCI611: Approximating SET-COVER Lecture 21

Online Algorithms. - Lecture 4 -

COMP Analysis of Algorithms & Data Structures

Department of Mathematics and Computer Science University of Southern Denmark, Odense. Exercises for Week 47 on. Online Algorithms

Reordering Buffer Management with Advice

princeton univ. F 17 cos 521: Advanced Algorithm Design Lecture 24: Online Algorithms

Online Algorithms. Lecture 11

Algorithmen II. Peter Sanders, Christian Schulz, Simon Gog. Übungen: Michael Axtmann. Institut für Theoretische Informatik, Algorithmik II.

Advanced Algorithms. On-line Algorithms

Comp Online Algorithms

COMP Analysis of Algorithms & Data Structures

Approximation Algorithms

Alternative Approaches for Analysis of Bin Packing and List Update Problems

Primality Testing. Public-Key Cryptography needs large prime numbers How can you tell if p is prime? Try dividing p by all smaller integers

7 Distributed Data Management II Caching

Batch Coloring of Graphs

COMP Analysis of Algorithms & Data Structures

The Online Connected Facility Location Problem

Online Compression Caching

CPSC 536N: Randomized Algorithms Term 2. Lecture 4

Lecture 1: An Introduction to Online Algorithms

On the Max Coloring Problem

COMP Data Structures

On the Advice Complexity of Online Problems

Online Admission Control and Embedding of Service Chains

9 Distributed Data Management II Caching

Lecture 2. 1 Introduction. 2 The Set Cover Problem. COMPSCI 632: Approximation Algorithms August 30, 2017

4. Sorting and Order-Statistics

Online file caching with rejection penalties

The k-server problem June 27, 2005

Online Algorithms with Advice

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

6 Distributed data management I Hashing

COMP Analysis of Algorithms & Data Structures

1 (15 points) LexicoSort

COMP Analysis of Algorithms & Data Structures

Distributed Computing over Communication Networks: Leader Election

1 Better Approximation of the Traveling Salesman

Deterministic Leader Election in O(D + log n) Rounds with Messages of size O(1)

Notes for Lecture 21. From One-Time Signatures to Fully Secure Signatures

Direct Routing: Algorithms and Complexity

A Primal-Dual Approach for Online Problems. Nikhil Bansal

On the online unit clustering problem

Formal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T.

COMP Analysis of Algorithms & Data Structures

Online Algorithms. Lecture Notes for CSCI 570 by David Kempe December 1, 2006

Lecture 6: Suffix Trees and Their Construction

1 The range query problem

Reordering Buffer Management with Advice

COMP Analysis of Algorithms & Data Structures

Algorithms for Grid Graphs in the MapReduce Model

Decidable Problems. We examine the problems for which there is an algorithm.

Online Coloring Known Graphs

Approximation Algorithms

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17

The Geometry of Binary Search Trees

Upper Bounds for Maximally Greedy Binary Search Trees

Lower bound for comparison-based sorting

Greedy Algorithms CHAPTER 16

CS256 Applied Theory of Computation

Lecture Notes: Euclidean Traveling Salesman Problem

Lectures 12 and 13 Dynamic programming: weighted interval scheduling

CSE 521: Design and Analysis of Algorithms I

Data Streams, Dyck Languages, and Detecting Dubious Data Structures

Lecture Overview. 2 Online Algorithms. 2.1 Ski rental problem (rent-or-buy) COMPSCI 532: Design and Analysis of Algorithms November 4, 2015

Coverage Approximation Algorithms

Deterministic Conflict-Free Coloring for Intervals: from Offline to Online

Poketree: A Dynamically Competitive Data Structure with Good Worst-Case Performance

How many leaves on the decision tree? There are n! leaves, because every permutation appears at least once.

How to Win Coding Competitions: Secrets of Champions. Week 3: Sorting and Search Algorithms Lecture 7: Lower bound. Stable sorting.

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

Approximation Algorithms for Wavelength Assignment

Lecture 8 Sept 25, 2014

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14

Approximation Algorithms

Multidimensional Divide and Conquer 2 Spatial Joins

Approximation Algorithms

Hash Tables. Reading: Cormen et al, Sections 11.1 and 11.2

Master of Science in Advanced Mathematics and Mathematical Engineering

Optimal Parallel Randomized Renaming

MATH 54 - LECTURE 4 DAN CRYTSER

Approximation Techniques for Utilitarian Mechanism Design

Rank-Pairing Heaps. Bernard Haeupler Siddhartha Sen Robert E. Tarjan. SIAM JOURNAL ON COMPUTING Vol. 40, No. 6 (2011), pp.

15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015

Time and Space Lower Bounds for Implementations Using k-cas

Outline. Computer Science 331. Heap Shape. Binary Heaps. Heap Sort. Insertion Deletion. Mike Jacobson. HeapSort Priority Queues.

COMP260 Spring 2014 Notes: February 4th

A Preemptive Algorithm for Maximizing Disjoint Paths on Trees

4.1 Interval Scheduling

The Online Minimum Matching Problem on the Line

Lecture Notes: External Interval Tree. 1 External Interval Tree The Static Version

The Power of Locality

Comparison Based Sorting Algorithms. Algorithms and Data Structures: Lower Bounds for Sorting. Comparison Based Sorting Algorithms

Lecture Online Algorithms and the k-server problem June 14, 2011

Transcription:

COMP 7720 - Online Algorithms Online Bin Packing Shahin Kamali Lecture 20 - Nov. 16th, 2017 University of Manitoba COMP 7720 - Online Algorithms Online Bin Packing 1 / 24

Review & Plan COMP 7720 - Online Algorithms Online Bin Packing 1 / 24

Today s objectives Renting servers in the cloud Online bin packing with advice COMP 7720 - Online Algorithms Online Bin Packing 2 / 24

Renting Servers in the Cloud COMP 7720 - Online Algorithms Online Bin Packing 3 / 24

Buying vs. Renting When you buy servers, the goal is to minimize the total number of opened (purchased) servers. When you rent servers, the goal is to minimize the total time you have rented servers Each item has an arrival and a departure time. The difference is the Length of the item. COMP 7720 - Online Algorithms Online Bin Packing 4 / 24

First Fit Algorithm Apply First Fit algorithm to place items. Release the bin when all items depart. The cost of First Fit is 18 + 20 (assuming no other item arrives till time 20). < a = (0.3, 1, 7), b = (0.4, 2, 7), c = (0.4, 3, 7), d = (0.5, 4, 7), e = (0.3, 5, 20), f = (0.1, 6, 20), > Time: 7 e 0.3 f 0.1 COMP 7720 - Online Algorithms Online Bin Packing 5 / 24

Previous Results No Any-Fit algorithm can be better than µ competitive µ is the ratio between the length of the largest and the smallest item First Fit is at most 2µ + 13-competitive Best Fit is not competitive. COMP 7720 - Online Algorithms Online Bin Packing 6 / 24

Next Fit Algorithm Apply Next Fit algorithm to place items. Release the bin when all items depart. The cost of Next Fit is 7 + 5 + 15 = 27 (assuming no other item arrives till time 20). < a = (0.3, 1, 7), b = (0.4, 2, 7), c = (0.4, 3, 7), d = (0.5, 4, 7), e = (0.3, 5, 20), f = (0.1, 6, 20), > Time: 7 f 0.1 e 0.3 COMP 7720 - Online Algorithms Online Bin Packing 7 / 24

New Results for Renting Servers No algorithm can be better than µ-competitive Next Fit is at most 2µ + 1-competitive. If the value of µ is known, one can achieve a µ + 2-competitive algorithm. COMP 7720 - Online Algorithms Online Bin Packing 8 / 24

Boosting Average-Case Performance On average, Best Fit is still better than Next Fit and First Fit We introduce a new algorithm Move To Front. An Any Fit algorithm that applies after placing an item, moves the bin to the front. COMP 7720 - Online Algorithms Online Bin Packing 9 / 24

Move To Front Algorithm We introduce a new algorithm Move To Front. An Any Fit algorithm that applies after placing an item, moves the bin to the front. Intuitively, items that arrive together are more likely to depart at the same time. < a = (0.3, 1, 7), b = (0.4, 2, 7), c = (0.4, 3, 7), d = (0.5, 4, 7), e = (0.3, 5, 20), f = (0.1, 6, 20), > Time: 6 f 0.1 d 0.5 e 0.3 b 0.4 c 0.4 a 0.3 COMP 7720 - Online Algorithms Online Bin Packing 10 / 24

Average-Case Performance of Online Algorithms Competitive ratio of Move To Front is at most 6µ + 7. On average (sequences with uniform size and length), Move To Front outperforms all algorithms. T = 1,000 T = 10,000 T = 100,000 μ = 1 μ = 2 μ = 5 μ = 10 μ = 100 μ = 1 μ = 2 μ = 5 μ = 10 μ = 100 μ = 1 μ = 2 μ = 5 μ = 10 μ = 100 1.4011 1.4618 1.4970 1.5113 1.5255 1.7186 1.6564 1.5810 1.5473 1.5263 1.9539 1.9291 1.8721 1.8014 1.5496 Next Fit Modified Next Fit 1.4392 1.4820 1.4780 1.5023 1.5253 1.8069 1.8061 1.7223 1.6383 1.5366 1.9762 1.9738 1.9313 1.8601 1.5631 First Fit 1.5647 1.4561 1.3448 1.2929 1.2255 1.7485 1.6635 1.5288 1.4295 1.2624 1.9544 1.9292 1.8705 1.7950 1.4132 Modified First Fit 1.6666 1.5335 1.3952 1.3233 1.2287 1.8362 1.7622 1.6330 1.5148 1.2768 1.9726 1.9534 1.9042 1.8352 1.4293 Harmonic 1.7598 1.6937 1.5848 1.5143 1.4235 1.9555 1.9270 1.8842 1.8195 1.5170 1.9946 1.9903 1.9797 1.9726 1.8294 Best Fit 1.6659 1.5027 1.3509 1.2637 1.1151 1.7401 1.6585 1.5342 1.4359 1.2107 1.9540 1.9287 1.8696 1.7935 1.4164 Move To Front 1.4113 1.3921 1.3094 1.2560 1.1612 1.7134 1.6323 1.5036 1.4110 1.2251 1.9536 1.9283 1.8689 1.7913 1.4005 Next Fit 2.20 Modified Next Fit First Fit Modified First Fit Harmonic Best Fit Move To Front 2.00 1.80 1.60 1.40 1.20 1.00 μ=1 μ=2 μ=5 μ=10 μ=100 μ=1 μ=2 μ=5 μ=10 μ=100 μ=1 μ=2 μ=5 μ=10 μ=100 T=1,000 T=10,000 T=100,000 μ=1 μ=2 μ=5 μ=10 μ=100 μ=1 μ=2 μ=5 μ=10 μ=100 μ=1 μ=2 μ=5 μ=10 μ=100 Next Fit 0.4011 0.4618 0.4970 0.5113 0.5255 0.7186 0.6564 0.5810 0.5473 0.5263 0.9539 0.9291 0.8721 0.8014 0.5496 Modified Next Fit 0.4392 0.4820 0.4780 0.5023 0.5253 0.8069 0.8061 0.7223 0.6383 0.5366 0.9762 0.9738 0.9313 0.8601 0.5631 First Fit 0.5647 0.4561 0.3448 0.2929 0.2255 0.7485 0.6635 0.5288 0.4295 0.2624 0.9544 0.9292 0.8705 0.7950 0.4132 Modified First Fit 0.6666 0.5335 0.3952 0.3233 0.2287 0.8362 0.7622 0.6330 0.5148 0.2768 0.9726 0.9534 0.9042 0.8352 0.4293 COMP 7720 - Online Algorithms Online Bin Packing 11 / 24

Bin Packing with Advice COMP 7720 - Online Algorithms Online Bin Packing 12 / 24

Advice Model for Online Problems Under the advice model, an online algorithm receives b bits of advice from an benevolent offline oracle. The advice bits are available since the beginning. There is a compromise between the number of advice bits (b) and quality of algorithms (e.g., their competitive ratio). COMP 7720 - Online Algorithms Online Bin Packing 13 / 24

Relevant Questions For a fixed sequence of fixed length n: How many bits of advice are required (sufficient) to achieve an optimal solution? How many bits of advice are sufficient to outperform all online algorithms? How good the competitive ratio can be with an advice of linear/sublinear size? COMP 7720 - Online Algorithms Online Bin Packing 14 / 24

Optimal Solution with Advice Theorem For any sequence of length n, advice of size O(n log k)is sufficient to achieve an optimal solution, where k is number of bins in an optimal packing. What advice encodes? For each item, it encodes the bin that it is packed to in an optimal packing What is the advice size? For each item, we require O(log n) bits to encode the target bin. In total, O(n log k) bits suffice. How the algorithm work with the given advice? It packs each item in the same bin as Opt does. Why it is optimal? The resulting packing is similar to Opt. COMP 7720 - Online Algorithms Online Bin Packing 15 / 24

Optimal Solution with Advice Theorem For any sequence of length n, Ω(n log k) bits of advice are required to achieve an optimal solution, where k is number of bins in an optimal packing. σ = 1 4, 1 8, 1 16,..., 1 2 n k+1, u 1, u 2,..., u k Each of the first n k + 1 items can be packed in any of the k bins The summation of all of them is less than 1/2. There will be k n k+1 different packings! COMP 7720 - Online Algorithms Online Bin Packing 16 / 24

Optimal Solution with Advice σ = 1 4, 1 8, 1 16,..., 1 2 n k+1, u 1, u 2,..., u k There will be k n k+1 different packings! For each packing the last items (u i s) fill the empty space for each bin σ 1 = 1/4, 1/8, 1/16, 1 1/4, 1 1/8, 1 1/16 σ 2 = 1/4, 1/8, 1/16, 1 1/4 1/16, 1 1/8, 1 1/16 σ 3 = 1/4, 1/8, 1/16, 1 1/4 1/8, 1 1/16, 1 σ 4 = 1/4, 1/8, 1/16, 1 1/4 1/8 1/16, 1, 1 COMP 7720 - Online Algorithms Online Bin Packing 17 / 24

Optimal Solution with Advice σ = 1 4, 1 8, 1 16,..., 1 2 n k+1, u 1, u 2,..., u k There will be k n k+1 different sequences! All start with the same prefix of length n k + 1 For each sequence, an optimal algorithm should pack the first n k + 1 items differently from others. Each sequence requires an advice tailored for itself k n k+1 different advice strings are required Ω(log k n k+1 ) Ω(n log k) advice bits are required. COMP 7720 - Online Algorithms Online Bin Packing 18 / 24

Optimal Solution with Advice Theorem To achieve an optimal packing, it is sufficient to receive n log Opt(σ) bits of advice. Moreover, any deterministic online algorithm requires at least (n 2 Opt(σ)) log Opt(σ) bits of advice to achieve an optimal packing. COMP 7720 - Online Algorithms Online Bin Packing 19 / 24

Optimal Solution with Advice Assume the sequence is formed by m = o(n) distinct items which have size larger than a fixed value ɛ. Theorem It is sufficient to read O(m log n) bits of advice to achieve an optimal packing. For each item x encode its frequency in the input sequence! This requires O(log n) bits The advice encodes the whole multi-set that forms the input in O(m log n) bits. Given the multi-set, pack it, optimally, using an offline algorithm before starting to serve the input. When an item is revealed, place it into its reserved space in the offline packing! COMP 7720 - Online Algorithms Online Bin Packing 20 / 24

The Idea Behind the Lower Bound Theorem To achieve an optimal solution least Ω(m log n) bits of advice are required. Consider a subclass of sequences which start by n/2 items of size ɛ. Let X denote the number of ways that these n/2 items can be packed in m 2 different bin types. n X will be at least (1 + (m 1)(m 2) )m 3 (we skip the proof here) COMP 7720 - Online Algorithms Online Bin Packing 21 / 24

The Idea Behind the Lower Bound For each partial packing, complete the sequence with items which fill the empty spaces Each sequence requires a distinct advice, and consequently an advice of size < 9 3 lg6 5 X1 1 is3 required. 2 4 2 4 5 6 8 6 4 5 > At least (1 + n (m 1)(m 2) )m 3 = Ω(m log n) bits are required Example: n=30, m=6 (bin capacities scaled up by 12) 11 1 11 11 11 10 10 9 8 1 1 1 1 1 1 1 1 1 11 sequence: <1 (15) 11 11 11 11 10 10 9 8 12 (7) > 8 11 11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 11 sequence: <1 (15) 11 11 11 11 11 11 11 8 8 12 (6) > 12 8 1 1 12 12 12 12 12 12 12 12 12 12 12 12 5 8 9 10 COMP 7720 - Online Algorithms Online Bin Packing 2 3 4 22 / 24

Optimal Solution with Advice Theorem It is sufficient to read O(m log n) bits of advice to achieve an optimal packing. At least Ω(m log n) bits of advice are required to achieve an optimal solution. COMP 7720 - Online Algorithms Online Bin Packing 23 / 24

Breaking the Lower Bound O(log n) bits of advice is sufficient to achieve competitive ratio 1.5. All online algorithms have a competitive ratio of at least 1.54. Receive the number of items in range (1/2, 2/3]. Reserve a space of size 2/3 for each, apply FF for other items. < 9 3 6 5 1 1 3 2 4 2 4 5 6 8 6 4 5 > 1 3 2 1 3 4 4 5 2 3 6 6 6 9 5 4 5 8 2 We see the analysis of the algorithm in the next class! COMP 7720 - Online Algorithms Online Bin Packing 24 / 24