slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Algorithms in the Real World: From Application to Abstraction to Algorithm PowerPoint Presentation
Download Presentation
Algorithms in the Real World: From Application to Abstraction to Algorithm

Loading in 2 Seconds...

play fullscreen
1 / 15

Algorithms in the Real World: From Application to Abstraction to Algorithm - PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on

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. Outline.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Algorithms in the Real World: From Application to Abstraction to Algorithm' - judah-mclaughlin


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

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

slide2

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

slide3

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.

slide4

Abstractions:

All items have the same broadcast time.

Minimize the sum of waiting times?

Scheduling Policies (heuristics)

Greedy = 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

slide5

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

slide6

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?

_

slide7

Parametic Heap

A collection of items, each with an associated

key.

key (i) = aix + biai,, 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.

slide8

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 >(next) xc

slide9

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 orR 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 concurrentlywith broadcasting

Slopes are integers that count requests

slide10

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

slide11

(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.)

slide12

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?

slide13

min key

min swap time

swap time

3.5

2

d

b

d

3

2

a: x + 10

b: 2x + 7

c: 3x +2

d:4x

xc = 0

A Simple Kinetic Heap

slide14

The Discovery/Development Process

Application

model

experiment

apply

Abstraction

Algorithm

develop

Old/New

Theory/Practice

slide15

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.