Algorithms in the Real World: - PowerPoint PPT Presentation

About This Presentation
Title:

Algorithms in the Real World:

Description:

Research with Haim Kaplan and Kostas Tsioutsiouliklis. Help from ... Old/New. Theory/Practice. model ... of problems for algorithm. guys/gals. ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 16
Provided by: Bar151
Learn more at: http://www.cs.cmu.edu
Category:
Tags: algorithms | gals | older | real | world

less

Transcript and Presenter's Notes

Title: Algorithms in the Real World:


1
Algorithms in the Real World From Application to
Abstraction to Algorithm
(and Back)
Robert E. Tarjan
Princeton University
and
InterTrust Technologies
Research with Haim Kaplan and Kostas
Tsioutsiouliklis Help from Andrew
Goldberg
2
Outline
Broadcast Scheduling Scheduling Using a Kinetic
Heap Initial Solutions Connections to
Computational Geometry Additional Solutions A
Simple Solution (Practical?) The
Discovery/Development Process Thoughts
3
Broadcast Scheduling
(Lecture by Mike Franklin
research papers)
requests
Server many data items
Users
Broadcast channel (single-item)
One server, many possible items to send. One
broadcast channel. Users submit requests for
items. Goal Satisfy users as well as possible,
making decisions on-line.
4
Abstractions All items have the same broadcast
time. Minimize the sum of waiting
times? Scheduling Policies (heuristics) Greed
y Longest Wait first (LWF) Send item with
largest sum of waiting times. (vs. number of
requests or longest single waiting time) R x
W Max requests x longest waiting
time Approximations to R x W
5
Results of Franklin and others LWF schedules
well in practice (in simulations) but too
expensive (linear-time) This claim used to
justify approximations to R x W, still
linear-time but with a smaller (parameterized)
constant.
5
6
Questions (for an algorithm guy or gal) LWF does
well compared to what?
Try a competitive analysis
_
Can we improve the cost of LWF?
What data structure?
_
7
Parametic Heap A collection of items, each with
an associated key.
key (i) ai x bi ai,, bi reals, x a
real-valued parameter ai slope, bi
constant
Operations make an empty heap h. insert item
i with key ai x bi into heap h. find an item
i in heap h of minimum key for x x0. delete
item i from heap h.
8
Kinetic Heap
A parametric heap such that successive
x-values of find mins are non-decreasing. (Think
of x as time.) xc largest x so far (current
time) Additional operation decrease the key
of an item i, replacing it by a key that is no
larger for all x gt (next) xc
9
Broadcast Scheduling via a Kinetic Heap Max-heap
(replace find min by find max, decrease key by
increase key change sign of all keys) Can
implement LWF or R x W or any similar
policy Broadcast decision is find min plus
delete Request is insert (if first) or decrease
key (if not) Only (at most) find min need be
real-time, other ops can proceed concurrently
with broadcasting Slopes are integers that
count requests
10
What is known about parametric and kinetic
heaps? A key is a line _computational
geometry Equivalent problems maintain the
lower envelope of a collection of lines in 2
D projective duality maintain the convex
hull of a set of points in 2D under insertion
and deletion kinetic restriction sweep
line constraint of queries
11
(Seminal) Results Overmars and van Leeuwen
(1981) Dynamic convex hulls and lower
envelopes in O(log n) time per
query, O(log2n) time per update,
worst-case Basch, Guibas, and Hershberger
(1997) Kinetic data structure
paradigm (Much other work improvements,
restrictions, etc.)
12
Our Results Four different data structures,
each one best in a different setting. Simple
Kinetic Heap A balanced binary tree, with items
in nodes in symmetric order by key slope. The
tree is a tournament on items by current
key. The tree also contains swap times (times
when winning keys change) and is a tournament
on swap times. O(1) worst-case find
min, O(log2n) amortized insert/delete Combines
seminal ideas with our own Is it practical?
13
min key
min swap time
swap time
3.5
2
d
b
d
3
2
a x 10
b 2x 7
c 3x 2
d4x
xc 0
A Simple Kinetic Heap
14
The Discovery/Development Process
Application
model
experiment
apply
Abstraction
Algorithm
develop
Old/New Theory/Practice
15
Thoughts
Effective algorithm development and
application in the real world requires active,
repeated interaction between the application
developer(s) and the algorithm guy(s)/gal(s)
teaming. Our training of students should
include, or at least model, this
practice. Our training should also include
cross-discipline studies rich sources of
problems for algorithm guys/gals.
Write a Comment
User Comments (0)
About PowerShow.com