Documente Academic
Documente Profesional
Documente Cultură
Motivation
question: what is a good algorithm? problem isnt to decide fast, rather what to decide.
Applications
Resource Allocation
Computational Finance
Methods of Analysis
For any input, the cost of our online algorithm is never worse than c times the cost of the optimal offline algorithm.
Pros: can make very robust statements about the performance of a strategy.
Cons: results tend to be pessimistic.
Methods of Analysis
Probabilistic Analysis
Assume a distribution generating the input. Find an algorithm which minimizes the expected cost of the algorithm.
Pros: can incorporate information predicting the future. Cons: can be difficult to determine probability distributions accurately.
Competitive Analysis
Paging problem
Maintain a two level memory system, consisting of a small fast memory and a large slow memory
The goal is to serve a sequence of requests to memory pages so as to minimize number of page faults. LRU, FIFO, LIFO, Least freq use LIFO, LFU not competititive LRU, FIFO k-competitive. Theorem: no deterministic online algorithm can be better than k-competitive
We are given a set of m machines. A sequence of jobs arrives online. Each job has a processing time that may or may not be known in advance. Each job must be scheduled immediately on one of m machines without knowledge of any future jobs.
We have again a set of m machines and a sequence of jobs Each job has a weight and a duration that may be or may not be known in advance The load of a machine is some of weights of jobs present on the machine at that time The goal is to minimize the maximum load that occur during the processing of the job sequence For settings on m identical machine Azar and Epstein showed that greedy algorithm is (2-1/m) competitive Load balancing become more complicated with restricted assignments when each jab can only be assigned to a subset of admissible machines
These problems were studied starting from the virtual circuit routing problem A communication network with every link has a given max capacity The input instance is formed by a seq. of communication request. For each request we must establish a virtual circuit on a path connecting two nodes of the network at a given bandwidth for a given duration Aspnes gave an O(log n)-competitive algorithm for the problem of minimizing the maximum load on a link of a network of n nodes when connection requests have unlimited duration The v.c.r problem has also been studied in its throughput version, the so called call control problem
An online algorithm is a two player zero sum game between algorithm and adversary. Well known that optimal strategies require randomization
A randomized online algorithm is a probability distribution over deterministic online algorithms Algorithm is k-competitive if for any
Restricting an adversary
Competitive analysis is a strong worst-case performance measure For some problems, such as paging, the competitive ratios of online algorithms are much higher than practice.
A line of research is concerned with evaluating online algorithms on restricted classes of request sequences.
In other words, the power of an adversary is limited Statistical adversary: The input generated by the adversary must satisfy certain statistical assumptions Diffuse adversary model : an adversary must generate an input according to a probability distribution D that belongs to a class of possible distributions known to the online algorithm.
The areas of Online Algorithms and Machine Learning are both concerned with problems of making decisions about the present based only on knowledge of the past.
0 typically,1n
finally the algorithm is told the true label The algorithm is penalized for each mistake made Our goal is to make as few mistakes as possible.
Streaming Algorithms
Line Simplification Problem: we are getting a possibly infinite sequence of points p0, p1, p2, . . . defining a polygonal path, and as we receive the points we wish to maintain a simplification of the path seen so far.
Any Question?