Static Optimality and Dynamic Search Optimality in Lists and Trees

Slides:



Advertisements
Similar presentations
A Tutorial on Learning with Bayesian Networks
Advertisements

Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
LEARNING INFLUENCE PROBABILITIES IN SOCIAL NETWORKS Amit Goyal Francesco Bonchi Laks V. S. Lakshmanan University of British Columbia Yahoo! Research University.
Exercise 1.1(Paid Exchanges Necessary) Consider the three-element list with the following initial configuration: (i.e. x1 is at the front). Prove that.
Hidden Markov Models (1)  Brief review of discrete time finite Markov Chain  Hidden Markov Model  Examples of HMM in Bioinformatics  Estimations Basic.
Fast Algorithms For Hierarchical Range Histogram Constructions
Online Algorithms Amrinder Arora Permalink:
Online learning, minimizing regret, and combining expert advice
Dynamic Bayesian Networks (DBNs)
Evaluation of Algorithms for the List Update Problem Suporn Pongnumkul R. Ravi Kedar Dhamdhere.
Self-Organizing Lists1 Self-Organizing Lists Competitive Analysis Lee Wee Sun SoC Modified by Orgad Keller Modified again by.
Shuchi Chawla, Carnegie Mellon University Static Optimality and Dynamic Search Optimality in Lists and Trees Avrim Blum Shuchi Chawla Adam Kalai 1/6/2002.
Gene Regulatory Networks - the Boolean Approach Andrey Zhdanov Based on the papers by Tatsuya Akutsu et al and others.
Online Oblivious Routing Nikhil Bansal, Avrim Blum, Shuchi Chawla & Adam Meyerson Carnegie Mellon University 6/7/2003.
Dasgupta, Kalai & Monteleoni COLT 2005 Analysis of perceptron-based active learning Sanjoy Dasgupta, UCSD Adam Tauman Kalai, TTI-Chicago Claire Monteleoni,
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
Preference Analysis Joachim Giesen and Eva Schuberth May 24, 2006.
Evaluation of Algorithms for the List Update Problem Suporn Pongnumkul R. Ravi Kedar Dhamdhere.
. Approximate Inference Slides by Nir Friedman. When can we hope to approximate? Two situations: u Highly stochastic distributions “Far” evidence is discarded.
Tracking with Linear Dynamic Models. Introduction Tracking is the problem of generating an inference about the motion of an object given a sequence of.
Binary search trees Definition Binary search trees and dynamic set operations Balanced binary search trees –Tree rotations –Red-black trees Move to front.
Experts and Boosting Algorithms. Experts: Motivation Given a set of experts –No prior information –No consistent behavior –Goal: Predict as the best expert.
Commitment without Regrets: Online Learning in Stackelberg Security Games Nika Haghtalab Carnegie Mellon University Joint work with Maria-Florina Balcan,
Online Learning Algorithms
A Theoretical Study of Optimization Techniques Used in Registration Area Based Location Management: Models and Online Algorithms Sandeep K. S. Gupta Goran.
Online Oblivious Routing Nikhil Bansal, Avrim Blum, Shuchi Chawla & Adam Meyerson Carnegie Mellon University 6/7/2003.
Why is bin packing interesting?
1 Logistic Regression Adapted from: Tom Mitchell’s Machine Learning Book Evan Wei Xiang and Qiang Yang.
Motif finding with Gibbs sampling CS 466 Saurabh Sinha.
Data Mining Practical Machine Learning Tools and Techniques Chapter 4: Algorithms: The Basic Methods Section 4.6: Linear Models Rodney Nielsen Many of.
Lossless Compression CIS 465 Multimedia. Compression Compression: the process of coding that will effectively reduce the total number of bits needed to.
1 Splay trees (Sleator, Tarjan 1983). 2 Goal Support the same operations as previous search trees.
Inga ZILINSKIENE a, and Saulius PREIDYS a a Institute of Mathematics and Informatics, Vilnius University.
1 Monte-Carlo Planning: Policy Improvement Alan Fern.
Splay Trees and the Interleave Bound Brendan Lucier March 15, 2005 Summary of “Dynamic Optimality -- Almost” by Demaine et. Al., 2004.
Sporadic model building for efficiency enhancement of the hierarchical BOA Genetic Programming and Evolvable Machines (2008) 9: Martin Pelikan, Kumara.
1 AVL Trees II Implementation. 2 AVL Tree ADT A binary search tree in which the balance factor of each node is 0, 1, of -1. Basic Operations Construction,
1 CSC 421: Algorithm Design Analysis Spring 2013 Transform & conquer  transform-and-conquer approach  presorting  balanced search trees, heaps  Horner's.
Unified Adaptivity Optimization of Clock and Logic Signals Shiyan Hu and Jiang Hu Dept of Electrical and Computer Engineering Texas A&M University.
11/20/2016IT 2791 Is this an AVL tree?
Binary search trees Definition
Self-Adjusting Search trees
Better Algorithms for Better Computers
Iterative Deepening A*
COSC160: Data Structures Binary Trees
CS b659: Intelligent Robotics
Profit Maximizing Mechanisms for the Multicasting Game
Advanced Algorithms Analysis and Design
On Multi-Arm Manipulation Planning
Priority Queues Chuan-Ming Liu
Enough Mathematical Appetizers!
ISP and Egress Path Selection for Multihomed Networks
Lecture 25 Splay Tree Chapter 10 of textbook
Department of Computer Science
Computation.
Professor Arne Thesen, University of Wisconsin-Madison
Robust Belief-based Execution of Manipulation Programs
Hidden Markov Models Part 2: Algorithms
The
Analysis & Design of Algorithms (CSCE 321)
3.4 Push-Relabel(Preflow-Push) Maximum Flow Alg.
Applied Discrete Mathematics Week 6: Computation
The algorithm of Garsia and Wachs
Splay trees (Sleator, Tarjan 1983)
Data Structure and Algorithms
Overfitting and Underfitting
Pruning 24-Feb-19.
326 Lecture 9 Henry Kautz Winter Quarter 2002
Rohan Yadav and Charles Yuan (rohany) (chenhuiy)
Presentation transcript:

Static Optimality and Dynamic Search Optimality in Lists and Trees Avrim Blum Shuchi Chawla Adam Kalai 1/6/2002

List Update Problem Unordered list Access for xi takes i time = = = = 4 7 2 9 12 3 6 8 = No = No = No = Yes Query for element 9 Unordered list Access for xi takes i time

List Update Problem Unordered list Access for xi takes i time 9 4 7 2 12 3 6 8 Query for element 9 Unordered list Access for xi takes i time Moving up accessed item is FREE! Other reorderings cost 1 per transposition Goal: minimize total cost What should the reordering policy be?

Binary Search Tree “In-order” tree Search cost = depth of element 7 2 12 4 5 9 14 15 “In-order” tree Search cost = depth of element Cost of rotations = 1 per rotation Replacement policy = ?

How good is a reordering algorithm? Compare against the best “offline” algorithm Dynamic competitive ratio Best offline algorithm that cannot change state of the list/tree -- “static” Static competitive ratio

Known results.. List update Trees Classic Machine Learning results Dynamic ratio [Albers et al’95, Teia’93] : u.b.- 1.6; l.b.- 1.5 Trees Splay trees [Sleator Tarjan 85] : static ratio ~ 3 No known result on dynamic ratio Classic Machine Learning results Experts analysis [LW’94]: static ratio (1+ ) Computationally inefficient Recent new result [Kalai Vempala’01] Efficient alg for Strong Static Optimality for trees

Our results.. List Update (1+ ) static ratio – efficient variant of Experts We call this “Strong” static optimality Combining strong static optimality and dynamic optimality to get best of both Search trees Constant Dynamic ratio for trees Given free rotations ignoring computation time

Revisiting Experts Algorithm [Littlestone Warmuth ’94] N “expert” algorithms We want to be (1+) wrt the best algorithm Weighted Majority algorithm Assign weights to each expert by how well it performs Pick probabilistically according to weights Cost incurred < (1+)m + ln(N)/(1-) Applying this to list update Each list configuration is an expert Too many experts – n! Can we reduce computation?

Experts for List Update Weight for every static list – too much computation The BIG idea Assign weights to every item in list and still make an experts style analysis work!

Candidate algorithm Initialize wi for item i If ith element accessed, update wi Order elements using some rule based on wi Need to analyze probability of getting a particular static list

Idea #2: List Factoring [Borodin ElYaniv] Distribute cost of accessing among pairs of elements Observation: The relative order of x and y in the list does not depend upon accesses to others Implication: Only need to analyze a two element list!

Algorithm for two element list List – (x,y) Experts – (x,y) and (y,x) weights – wx, wy – correspond to the respective experts! Algorithm: Initialize wx, wy to rx & ry R [1..1/] If x accessed, wx <- wx+1 else wy <- wy+1 Always keep the element with higher weight in front

Efficient Experts algorithm for List Update Select ri R [1..1/] for element i Initialize wi <- ri If ith element accessed, wi <- wi+1 Order elements in decreasing order of weight (1+) static competitive [Kalai Vempala’01] give a similar result for trees

Combining Static & Dynamic optimality A has strong static optimality, B has dynamic optimality Combine the two to get the best of both Apply Experts again Technical difficulties Cannot estimate weights – running both simultaneously defeats our purpose Experts maintain state - Huge cost of switching Don’t switch very often

How to estimate weights? The Bandits approach [Burch 00] Bandit can sample at most one slot machine at a time Run the (so far) better expert Assume good behavior from the other - Pessimistic approach After a few runs, we have sampled each one sufficiently Details in the paper

Binary Search Trees Splay trees achieve constant static ratio No results on dynamic optimality Simplifying the problem… Allow free rotations Allow unlimited computation We give a constant dynamic ratio

Outline of our approach Design a probability distribution p over accesses: Low offline cost => greater probability Assume p reflects reality and predict the next access from it. Construct tree based on conditional probability of next access Low offline cost => node closer to root => low online cost

An observation about offline BSTs An access sequence with offline cost k can be expressed in 12k bits At most 212k sequences of offline cost k.

An observation about offline BSTs An access sequence with offline cost k can be expressed in 12k bits Express access sequence as rotations performed by an offline algorithm Start with a fixed tree, make some assumptions about offline algorithm – gives extra factor of 2 Express rotations from one tree to another using 6 bits per rotation At most 212k sequences of offline cost k.

Probability distribution on accesses  Distribution on access sequence a : p(a) > 2-13k where k = offline cost of a Use this to calculate conditional probability of next access Construct tree such that Cost of accessing =  ln(1/p(a)) = O(k)

What next? Can we make this algorithm computationally feasible? True dynamic optimality for BST Strong static optimality solved recently [KV’01] Lessons to take home Experts analysis is a useful tool for data structures Generic algorithm too slow