Evaluation of Algorithms for the List Update Problem Suporn Pongnumkul R. Ravi Kedar Dhamdhere.

Slides:



Advertisements
Similar presentations
Online Algorithm Huaping Wang Apr.21
Advertisements

Yannis Smaragdakis / 11-Jun-14 General Adaptive Replacement Policies Yannis Smaragdakis Georgia Tech.
CSE 4101/5101 Prof. Andy Mirzaian. Lists Move-to-Front Search Trees Binary Search Trees Multi-Way Search Trees B-trees Splay Trees Trees Red-Black.
Let X 1, X 2,..., X n be a set of independent random variables having a common distribution, and let E[ X i ] = . then, with probability 1 Strong law.
Online Algorithms Advanced Seminar A Supervisor: Matya Katz Ran Taig, Achiya Elyasaf December, 2009.
Replication Strategies in Unstructured Peer-to-Peer Networks Edith Cohen Scott Shenker This is a modified version of the original presentation by the authors.
Order Statistics Sorted
Analysis of Algorithms CS 477/677 Instructor: Monica Nicolescu Lecture 6.
An Approximate Truthful Mechanism for Combinatorial Auctions An Internet Mathematics paper by Aaron Archer, Christos Papadimitriou, Kunal Talwar and Éva.
Online Algorithms Amrinder Arora Permalink:
On the Competitiveness of Self Organizing Linear Search J. Ian Munro (University of Waterloo) Competitiveness: How well does an on line algorithm do in.
Online Scheduling with Known Arrival Times Nicholas G Hall (Ohio State University) Marc E Posner (Ohio State University) Chris N Potts (University of Southampton)
Dynamic Wavelength Allocation in All-optical Ring Networks Ori Gerstel and Shay Kutten Proceedings of ICC'97.
Quick Sort, Shell Sort, Counting Sort, Radix Sort AND Bucket Sort
Introduction to Algorithms 6.046J/18.401J L ECTURE 14 Competitive Analysis  Self-organizing lists  Move-to-front heuristic  Competitive analysis of.
Chapter 5. Probabilistic Analysis and Randomized Algorithms
UMass Lowell Computer Science Analysis of Algorithms Spring, 2002 Chapter 5 Lecture Randomized Algorithms Sections 5.1 – 5.3 source: textbook.
Planning under Uncertainty
Advanced Topics in Algorithms and Data Structures Page 1 Parallel merging through partitioning The partitioning strategy consists of: Breaking up the given.
Oblivious Routing for the L p -norm Matthias Englert Harald Räcke 1.
Self-Organizing Lists1 Self-Organizing Lists Competitive Analysis Lee Wee Sun SoC Modified by Orgad Keller Modified again by.
The Value of Knowing a Demand Curve: Regret Bounds for Online Posted-Price Auctions Bobby Kleinberg and Tom Leighton.
Adaptive Data Collection Strategies for Lifetime-Constrained Wireless Sensor Networks Xueyan Tang Jianliang Xu Sch. of Comput. Eng., Nanyang Technol. Univ.,
Dynamic Power Management for Systems with Multiple Power Saving States Sandy Irani, Sandeep Shukla, Rajesh Gupta.
Probabilistic (Average-Case) Analysis and Randomized Algorithms Two different but similar analyses –Probabilistic analysis of a deterministic algorithm.
Ch. 7 - QuickSort Quick but not Guaranteed. Ch.7 - QuickSort Another Divide-and-Conquer sorting algorithm… As it turns out, MERGESORT and HEAPSORT, although.
Duality Lecture 10: Feb 9. Min-Max theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum Cut Both.
Institute of Computer Science University of Wroclaw Page Migration in Dynamic Networks Marcin Bieńkowski Joint work with: Jarek Byrka (Centrum voor Wiskunde.
Discrete Event Simulation How to generate RV according to a specified distribution? geometric Poisson etc. Example of a DEVS: repair problem.
Online Algorithms Motivation and Definitions Paging Problem Competitive Analysis Online Load Balancing.
Shuchi Chawla, Carnegie Mellon University Static Optimality and Dynamic Search Optimality in Lists and Trees Avrim Blum Shuchi Chawla Adam Kalai 1/6/2002.
The k-server Problem Study Group: Randomized Algorithm Presented by Ray Lam August 16, 2003.
Lecture 10: Search Structures and Hashing
1 Constructing Pseudo-Random Permutations with a Prescribed Structure Moni Naor Weizmann Institute Omer Reingold AT&T Research.
E.G.M. Petrakissearching1 Searching  Find an element in a collection in the main memory or on the disk  collection: (K 1,I 1 ),(K 2,I 2 )…(K N,I N )
Evaluation of Algorithms for the List Update Problem Suporn Pongnumkul R. Ravi Kedar Dhamdhere.
Binary search trees Definition Binary search trees and dynamic set operations Balanced binary search trees –Tree rotations –Red-black trees Move to front.
Priority Models Sashka Davis University of California, San Diego June 1, 2003.
Online Algorithms Lecture notes for lectures given by Dr. Ely Porat, Bar-Ilan University Notes taken by: Navot Akiva Yair Kaufman Raz Lin Ohad Lipsky July.
Online Function Tracking with Generalized Penalties Marcin Bieńkowski Institute of Computer Science, University of Wrocław, Poland Stefan Schmid Deutsche.
Randomized Algorithms - Treaps
Approximation Algorithms for Stochastic Combinatorial Optimization Part I: Multistage problems Anupam Gupta Carnegie Mellon University.
International Graduate School of Dynamic Intelligent Systems, University of Paderborn Improved Algorithms for Dynamic Page Migration Marcin Bieńkowski.
Yossi Azar Tel Aviv University Joint work with Ilan Cohen Serving in the Dark 1.
Great Theoretical Ideas in Computer Science.
Online Paging Algorithm By: Puneet C. Jain Bhaskar C. Chawda Yashu Gupta Supervisor: Dr. Naveen Garg, Dr. Kavitha Telikepalli.
Trust-Aware Optimal Crowdsourcing With Budget Constraint Xiangyang Liu 1, He He 2, and John S. Baras 1 1 Institute for Systems Research and Department.
Randomized Online Algorithm for Minimum Metric Bipartite Matching Adam Meyerson UCLA.
Online Algorithms. Introduction An offline algorithm has a full information in advance so it can compute the optimal strategy to maximize its profit (minimize.
David Luebke 1 10/25/2015 CS 332: Algorithms Skip Lists Hash Tables.
1 Online algorithms Typically when we solve problems and design algorithms we assume that we know all the data a priori. However in many practical situations.
Competitive Queue Policies for Differentiated Services Seminar in Packet Networks1 Competitive Queue Policies for Differentiated Services William.
Data Stream Algorithms Ke Yi Hong Kong University of Science and Technology.
ECE 8443 – Pattern Recognition ECE 8423 – Adaptive Signal Processing Objectives: ML and Simple Regression Bias of the ML Estimate Variance of the ML Estimate.
Jennifer Campbell November 30,  Problem Statement and Motivation  Analysis of previous work  Simple - competitive strategy  Near optimal deterministic.
A Membrane Algorithm for the Min Storage problem Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano – Bicocca WMC.
A Optimal On-line Algorithm for k Servers on Trees Author : Marek Chrobak Lawrence L. Larmore 報告人:羅正偉.
Frequency Capping in Online Advertising Moran Feldman Technion Joint work with: Niv Buchbinder,The Open University of Israel Arpita Ghosh,Yahoo! Research.
Non-Preemptive Buffer Management for Latency Sensitive Packets Moran Feldman Technion Seffi Naor Technion.
The bin packing problem. For n objects with sizes s 1, …, s n where 0 < s i ≤1, find the smallest number of bins with capacity one, such that n objects.
International Graduate School of Dynamic Intelligent Systems, University of Paderborn Fighting Against Two Adversaries: Page Migration in Dynamic Networks.
CSE 5314 – Spring 2004 Homework #1 - Solutions [Soumya Sanyal] Q 1.5: Prove that the algorithm “MTF every-other-access” (i.e. move the item to the front.
Towards Robust Revenue Management: Capacity Control Using Limited Demand Information Michael Ball, Huina Gao, Yingjie Lan & Itir Karaesmen Robert H Smith.
Better Algorithms for Better Computers
Hashing Alexandra Stefan.
Task: It is necessary to choose the most suitable variant from some set of objects by those or other criteria.
Streaming & sampling.
Static Optimality and Dynamic Search Optimality in Lists and Trees
Hidden Markov Models Part 2: Algorithms
Bin Fu Department of Computer Science
Presentation transcript:

Evaluation of Algorithms for the List Update Problem Suporn Pongnumkul R. Ravi Kedar Dhamdhere

Overview List Update Problem Competitive Analysis Average Case Analysis Our Hybrid Model Setup of our experiment Results from our experiment Conjecture

List Update Problem Self-organizing sequential search Unsorted list Received a sequence of requests Cost of accessing the i th element of the list is i. ywzxvu L:

ywzxvu List Update Example ActionCostTotal Cost

ywzxvu L: List Update Example ActionCostTotal Cost Access x

ywzxvu L: List Update Example ActionCostTotal Cost Access x44

ywzxvu L: List Update Example ActionCostTotal Cost Access x44 Access v

ywzxvu L: List Update Example ActionCostTotal Cost Access x44 Access v59

ywzxvu L: List Update Example ActionCostTotal Cost Access x44 Access v59 Move v forward to before w

yvwzxu L: List Update Example ActionCostTotal Cost Access x44 Access v59 Move v forward to before w09

yvwzxu L: List Update Example ActionCostTotal Cost Access x44 Access v59 Move v forward to before w09 Access y

yvwzxu L: List Update Example ActionCostTotal Cost Access x44 Access v59 Move v forward to before w09 Access y110

yvwzxu L: List Update Example ActionCostTotal Cost Access x44 Access v59 Move v forward to before w09 Access y110 Access v

yvwzxu L: List Update Example ActionCostTotal Cost Access x44 Access v59 Move v forward to before w09 Access y110 Access v212

yvzwxu L: List Update Example ActionCostTotal Cost Access x44 Access v59 Move v forward to before w09 Access y110 Access v212 Transpose w and z

yvwzxu L: List Update Example ActionCostTotal Cost Access x44 Access v59 Move v forward to before w09 Access y110 Access v212 Transpose w and z113

Competitive Analysis Definition: An analysis in which the performance of an online algorithm is compared to the best that could have been achieved if all the inputs had been known in advance.

Competitive Ratio A: Our online algorithm C A (  ) OPT: Optimal Offline algorithm C OPT (  ) A is c-competitive if  a C A (  ) ≤ c C OPT (  ) + a for all request sequences 

Move-to-Front (MTF) When an element is accessed, move it to the front of the list. Theorem: [Sleator, Tarjan, 1985] MTF has competitive ratio 2 against optimal offline algorithm.

Average Case Analysis Assume each request comes from a fixed probability distribution, independent of previous requests. Suppose the i th item has probability p i. Design algorithms to minimize the expected cost. Optimal strategy is to keep the list sorted in non-increasing order of p i.

STAT = Static List List is sorted in non-increasing order of the probabilities Never moves anything Good for when we have a good estimate of the probability distribution.

Need a new model? Most real-world settings don't behave either like a discrete distribution, or like a worst-case one. Can we design an algorithm that does well in both typical and worst-case? How could we analyze such algorithms?

Hybrid Model Assume a fixed probability distribution, For each request, with probability, let the adversary change the request.  Average Case Analysis  Competitive Analysis  Known probability distribution with uncertainty.

Hybrid Algorithm? Parameterized by  Matches best average case performance when  is low, and matches best competitive ratio when  is high.

Move-From-Back-Epsilon List initially sorted in non-increasing order of probabilities. When an element x is accessed, promote it past others that have probability up to p x + .

ywzxvu L: MFBE Example (  = 0.2) RequestCostTotal Cost  vyzy vyzy Probp y = 0.5 p w = 0.2 p z = 0.15 p x = 0.1 p v = 0.03 p u = 0.02

ywzxvu L: MFBE Example (  = 0.2) RequestCostTotal Cost  xvyv xvyv Probp y = 0.5 p w = 0.2 p z = 0.15 p x = 0.1 p v = 0.03 p u = 0.02

ywzxvu L: MFBE Example (  = 0.2) RequestCostTotal Cost Access x (and move to before w)  xvyv xvyv Probp y = 0.5 p w = 0.2 p z = 0.15 p x = 0.1 p v = 0.03 p u = 0.02

yxwzvu L: MFBE Example (  = 0.2) RequestCostTotal Cost Access x (and move to before w)44  xvyv xvyv Probp y = 0.5 p x = 0.1 p w = 0.2 p z = 0.15 p v = 0.03 p u = 0.02

yxwzvu L: MFBE Example (  = 0.2) RequestCostTotal Cost Access x (and move to before w)44  xvyv xvyv Probp y = 0.5 p x = 0.1 p w = 0.2 p z = 0.15 p v = 0.03 p u = 0.02

yxwzvu L: MFBE Example (  = 0.2) RequestCostTotal Cost Access x (and move to before w)44 Access v (and move to before x)  xvyv xvyv Probp y = 0.5 p x = 0.1 p w = 0.2 p z = 0.15 p v = 0.03 p u = 0.02

yvxwzu L: MFBE Example (  = 0.2) RequestCostTotal Cost Access x (and move to before w)44 Access v (and move to before x)59  xvyv xvyv Probp y = 0.5 p v = 0.03 p x = 0.1 p w = 0.2 p z = 0.15 p u = 0.02

yvxwzu L: MFBE Example (  = 0.2) RequestCostTotal Cost Access x (and move to before w)44 Access v (and move to before x)59  xvyv xvyv Probp y = 0.5 p v = 0.03 p x = 0.1 p w = 0.2 p z = 0.15 p u = 0.02

yvxwzu L: MFBE Example (  = 0.2) RequestCostTotal Cost Access x (and move to before w)44 Access v (and move to before x)59 Access y  xvyv xvyv Probp y = 0.5 p v = 0.03 p x = 0.1 p w = 0.2 p z = 0.15 p u = 0.02

yvxwzu L: MFBE Example (  = 0.2) RequestCostTotal Cost Access x (and move to before w)44 Access v (and move to before x)59 Access y110  xvyv xvyv Probp y = 0.5 p v = 0.03 p x = 0.1 p w = 0.2 p z = 0.15 p u = 0.02

yvxwzu L: MFBE Example (  = 0.2) RequestCostTotal Cost Access x (and move to before w)44 Access v (and move to before x)59 Access y110  xvyv xvyv Probp y = 0.5 p v = 0.03 p x = 0.1 p w = 0.2 p z = 0.15 p u = 0.02

yvxwzu L: MFBE Example (  = 0.2) RequestCostTotal Cost Access x (and move to before w)44 Access v (and move to before x)59 Access y110 Access v  xvyv xvyv Probp y = 0.5 p v = 0.03 p x = 0.1 p w = 0.2 p z = 0.15 p u = 0.02

yvxwzu L: MFBE Example (  = 0.2) RequestCostTotal Cost Access x (and move to before w)44 Access v (and move to before x)59 Access y110 Access v212  xvyv xvyv Probp y = 0.5 p v = 0.03 p x = 0.1 p w = 0.2 p z = 0.15 p u = 0.02

Difficulties in Proofs It’s not easy to understand the behavior of OPT. –OPT can be computed by Dynamic programming Trivial way = O ((n!) 2 m) Improvement = O ((2 n )(n!)m) [Reingold, Westbrook, 1996]

Our Experiment Motivation: To see the behavior of algorithms in our hybrid model. Measurement: We measure the performance of an online algorithm by the average competitive ratio.

Our Experiment Variables in our experiment –Type of List Update Algorithm (MTF, STAT, MFBE) –Type of Probability Distribution –Type of Adversary –Epsilon: 

Our Experiment We generate a request sequence of length 100, with a chosen probability distribution. Then, with probability  let the adversary change the request sequence.

Our Experiment Record the cost incurred by the online algorithm = Cost A () Use Dynamic Programming to find optimum cost of that request sequence = Cost OPT (). Competitive Ratio = Cost A ()/Cost OPT () Repeat this 100 times to find the average competitive ratio.

Distribution Geometric Distribution: –P[i] / 1/2 i Uniform Distribution: –P[i] = 1/n, n = length of the list Zipfian Distribution (Zipf(2)): –P[i] / 1/i 2

Cruel Adversary This is an adaptive adversary Looks at the current list and request for the last item in the list. ywzxvu L:

Cruel Adversary, Geometric Distribution, n=6

Reversed Geometric Adversary This adversary chooses elements randomly, according to the geometric distribution on the reversed STAT order. This adversary requests small probability items more frequently. Oblivious Adversary = doesn’t look at the current list

Reversed Geometric Adversary, Geometric Distribution, n=6

Uniform Adversary This adversary requests elements from the list uniformly at random. Oblivious Adversary With this adversary, the sorted order of elements in the combined probability distribution doesn’t change.

Uniform Adversary, Zipfian2 Distribution, n=6

Observation The performance of any algorithm in this hybrid model depends heavily on the type of adversary. Yet MFBE seems better than the worse of STAT and MTF.

Conjecture The average competitive ratio of MFBE is dominated by the maximum of the average competitive ratios of STAT and MTF.

Conjecture Request sequence is generated by p Adversarial settings:  = k/m 8 adversarial settings, E p (Cost(MFB)) · maxE p (Cost(MTF)) E p (Cost(STAT)) {

Questions?

Thank you !!!