BRICS Research Activities Algorithms Gerth Stlting Brodal BRICS - - PowerPoint PPT Presentation

brics research activities algorithms
SMART_READER_LITE
LIVE PREVIEW

BRICS Research Activities Algorithms Gerth Stlting Brodal BRICS - - PowerPoint PPT Presentation

BRICS Research Activities Algorithms Gerth Stlting Brodal BRICS Retreat, Sandbjerg, 2123 October 2002 1 Outline of Talk The Algorithms Group Courses Algorithm Events Expertise within BRICS Examples Algorithms for


slide-1
SLIDE 1

BRICS Research Activities Algorithms

Gerth Stølting Brodal

BRICS Retreat, Sandbjerg, 21–23 October 2002

1

slide-2
SLIDE 2

Outline of Talk

  • The Algorithms Group
  • Courses
  • Algorithm Events
  • Expertise within BRICS

Examples

  • Algorithms for Evolutionary Trees
  • Cache Oblivious Algorithms

BRICS Retreat, Sandbjerg, 21–23 October 2002

2

slide-3
SLIDE 3

The Algorithms Group

Erik Meineche Schmidt

Algorithms, Complexity Theory

PhD students

Sven Skyum

Algorithms, Complexity Theory

Alex Rune Berg

Graph Theory

Peter Bro Miltersen

Complexity Theory, Data Structures

Jesper Makholm Byskov

Algorithms for NP-hard problems

Gudmund Skovbjerg Frandsen

Algebraic Algorithms, Dynamic Algorithms

Bolette Ammitzbøll Madsen

Algorithms for NP-hard problems

Christian Nørgaard Storm Pedersen

Bioinformatics, String Algorithms

Bjarke Skjernaa

Algorithms for NP-hard problems

Gerth Stølting Brodal

Data Structures, External Memory

Kristoffer Arnsfelt Hansen

Complexity

Rolf Fagerberg

Data structures, External Memory

BRICS Retreat, Sandbjerg, 21–23 October 2002

3

slide-4
SLIDE 4

Courses

  • dProg (Introduction to Programming)

Frandsen

  • dADS (Algorithms and Data Structures)

Brodal, Schmidt

  • dSøgOpt (Searching and Optimization)

Skyum, Miltersen

  • Computer Architecture and Operating Systems

Pedersen

  • Computational Geometry

Skyum

  • Complexity

Miltersen

  • Randomized, Parallel and Dynamic Algorithms

Frandsen

  • Algorithms (ph.d. course)

Brodal, Fagerberg

  • External Memory Algorithms and Data Structures

  • Algorithms for Web Indexing and Searching

  • Algorithms in Bioinformatics

Pedersen

  • Genome Analysis

BRICS Retreat, Sandbjerg, 21–23 October 2002

4

slide-5
SLIDE 5

Algorithm Events

Upcoming

18th IEEE Conference on Computational Complexity (June 2003, organizing chair Peter Bro Miltersen)

Ongoing

Alcom seminar

Recent

EEF Summer School on Massive Data Sets (June 2002) ALGO 2001 (August 2001) ESA 2001 - 9th Annual European Symposium on Algorithms      WAE 2001 - 5th Workshop on Algorithm Engineering WABI 2001 - 1st Workshop on Algorithms in BioInformatics

BRICS Retreat, Sandbjerg, 21–23 October 2002

5

slide-6
SLIDE 6

Algorithms and Complexity – Future Technologies

The ALCOM-FT project is a joint effort between eleven of the leading groups in algorithms research in Europe. The aim of the project is to discover new algorithmic concepts, identify key algorithmic problems in im- portant applications, and contribute to the accelerated transfer of advanced algorithmic techniques into commercial systems. The project takes place from June 2000 to June 2003.

  • ALCOM-FT (continuation of ALCOM, ALCOM-II, ALCOM-IT)
  • BRICS is the coordinator of ALCOM-FT

(Erik Meineche Schmidt, Rolf Fagerberg)

  • 336 technical reports since July 2000

BRICS Retreat, Sandbjerg, 21–23 October 2002

6

slide-7
SLIDE 7

BRICS Erik Meineche Schmidt Barcelona Josep Díaz Cologne Michael Jünger INRIA Rocquencourt Philippe Flajolet Max-Planck-Institut für Informatik Kurt Mehlhorn Paderborn Burkhard Monien Friedhelm Meyer auf der Heide Patras Paul Spirakis Rome “La Sapienza” Giorgio Ausiello Utrecht Jan van Leeuwen Warwick Mike Paterson Cyprus Marios Mavronicolas

BRICS Retreat, Sandbjerg, 21–23 October 2002

7

slide-8
SLIDE 8

Algorithm Expertise within BRICS

  • Algorithms in general
  • Complexity
  • Data structures
  • Dynamic algorithms
  • External memory algorithms
  • Algorithms in Bioinformatics
  • Algorithm engineering / experimental algorithmics

BRICS Retreat, Sandbjerg, 21–23 October 2002

8

slide-9
SLIDE 9

Examples

BRICS Retreat, Sandbjerg, 21–23 October 2002

9

slide-10
SLIDE 10

Algorithms for Evolutionary Trees

✁ ✂ ✂ ✂ ✄ ✄ ☎ ☎ ☎ ☎ ☎ ☎ ✆ ✆ ✝ ✝ ✝ ✞ ✞ ✟ ✟ ✟ ✠ ✠ ✠ ✡ ✡ ✡ ✡ ✡ ✡ ☛ ☛ ☛ ☞ ☞ ☞ ☞ ☞ ☞ ✌ ✌ ✌ ✍ ✍ ✍ ✍ ✍ ✍ ✎ ✎ ✎ ✎ ✎ ✎

f e c d b d c b f e a a a d b c induced quartets a c b d

  • Reconstruct evolutionary trees, e.g. from quartets
  • Compare evolutionary trees, e.g. number of common quartets

BRICS Retreat, Sandbjerg, 21–23 October 2002

10

slide-11
SLIDE 11

The Classic RAM Model

CPU A R M

Add: O(1) Mult: O(1) Mem access: O(1)

BRICS Retreat, Sandbjerg, 21–23 October 2002

11

slide-12
SLIDE 12

The Classic RAM Model

CPU A R M

Add: O(1) Mult: O(1) Mem access: O(1) Real life

Disk CPU L2 L1 A R M C a c C c a e h h e

Bottleneck: transfer between two highest memory levels in use

BRICS Retreat, Sandbjerg, 21–23 October 2002

11

slide-13
SLIDE 13

The I/O Model

CPU External I/O Memory y r

  • m

e M

N = problem size M = memory size B = I/O block size

Aggarwal and Vitter 1988

  • One I/O moves B consecutive records from/to disk
  • Cost: number of I/Os
  • E.g., sorting requires O

N

B logM/B N B

  • I/Os.

BRICS Retreat, Sandbjerg, 21–23 October 2002

12

slide-14
SLIDE 14

Cache-Oblivious Model

Frigo, Leiserson, Prokop, Ramachandran, FOCS’99

  • Program in the RAM model
  • Analyze in the I/O model (for arbitrary B and M).

Advantages

  • Optimal on arbitrary level ⇒ optimal on all levels.
  • B and M not hard-wired into algorithm.

BRICS Retreat, Sandbjerg, 21–23 October 2002

13

slide-15
SLIDE 15

Cache-Oblivious Results

  • Scanning ⇒ stack, queue, median finding,. . . .
  • Sorting, matrix multiplication, FFT

Frigo, Leiserson, Prokop, Ramachandran, FOCS’99

  • Cache oblivious search trees

Prokop 99 Bender, Demaine, Farach-Colton, FOCS’00 Rahman, Cole, Raman, WAE’01 Bender, Duan, Iacono, Wu and Brodal, Fagerberg, Jacob, SODA’02

  • Priority queue and graph algorithms

Arge, Bender, Demaine, Holland-Minkley, Munro, STOC’02 Brodal, Fagerberg, ISAAC’02

  • Computational geometry

Bender, Cole, Raman, ICALP’02 Brodal, Fagerberg, ICALP’02

  • Scanning dynamic sets

Bender, Cole, Demaine, Farach-Colton, ESA’02

BRICS Retreat, Sandbjerg, 21–23 October 2002

14

slide-16
SLIDE 16

Double for-loop

X, Y arrays of length n:

X Y i j

✂ ✄ ☎ ✆ ✝✟✞ ☎ ✠ ✡ ✞ ☎ ☛ ☛ ☞
✂ ✄ ✌ ✆ ✝✟✞ ✌ ✠ ✡ ✞ ✌ ☛ ☛ ☞
✍ ✎ ☎ ✏✒✑ ✓ ✎ ✌ ✏ ☞

I/O complexity: n × n B = n2 B

BRICS Retreat, Sandbjerg, 21–23 October 2002

15

slide-17
SLIDE 17

Double for-loop

More I/O-efficient version:

X Y M M

I/O complexity: n M × n M × M B = n2 MB

✂ ✄ ☎ ✆ ✝✟✞ ☎ ✠ ✡ ✞ ☎ ✆ ☎ ☛
✂ ✄ ✌ ✆ ✝ ✞ ✌ ✠ ✡ ✞ ✌ ☛ ☛ ☞
✂ ✄ ✁ ✆ ☎ ✞ ✁ ✠ ☎ ☛
✁ ☛ ☛ ☞
✍ ✎ ✁ ✏✒✑ ✓ ✎ ✌ ✏ ☞

BRICS Retreat, Sandbjerg, 21–23 October 2002

16

slide-18
SLIDE 18

Double for-loop

Cache-oblivious version:

X Y n/2 n/2 n/2 n/2

+ recursion I/O complexity: Again n2 MB

BRICS Retreat, Sandbjerg, 21–23 October 2002

17

slide-19
SLIDE 19

Double for-loop

Cache-oblivious version

✁ ✂✄ ☎ ✆ ✁ ✁ ✝ ✄ ☎ ✑ ✌ ✑ ✄ ☎ ✡ ✞ ✟ ✠ ☞ ☎
✄ ☎ ✡ ✞ ✟ ✠ ✆ ✆ ✡ ☞
✍ ✎ ☎ ✏✒✑ ✓ ✎ ✌ ✏ ☞ ☎ ✄ ☛ ☎
✁ ✂ ✄ ☎ ✆ ✁ ✁ ✝ ✄ ☎ ✑ ✌ ✑ ✄ ☎ ✡ ✞ ✟ ✠ ☞ ✌ ☞
✁ ✂ ✄ ☎ ✆ ✁ ✁ ✝ ✄ ☎ ✑ ✌ ☛ ✄ ☎ ✡ ✞ ✟ ✠ ☞ ✌ ✑ ✄ ☎ ✡ ✞ ✟ ✠ ☞ ✌ ☞
✁ ✂ ✄ ☎ ✆ ✁ ✁ ✝ ✄ ☎ ☛ ✄ ☎ ✡ ✞ ✟ ✠ ☞ ✌ ✑ ✌ ✑ ✄ ☎ ✡ ✞ ✟ ✠ ☞ ✌ ☞
✁ ✂ ✄ ☎ ✆ ✁ ✁ ✝ ✄ ☎ ☛ ✄ ☎ ✡ ✞ ✟ ✠ ☞ ✌ ✑ ✌ ☛ ✄ ☎ ✡ ✞ ✟ ✠ ☞ ✌ ✑ ✄ ☎ ✡ ✞ ✟ ✠ ☞ ✌ ☞

BRICS Retreat, Sandbjerg, 21–23 October 2002

18

slide-20
SLIDE 20

Double for-loop – Experiments

1 10 100 1000 10000 15 16 17 18 19 20 21 time (seconds) log2 of array size (bytes) plain cache-aware (L1) cache-aware (L2) cache-oblivious

Sizes within RAM (element size 4 bytes)

366 MHz Pentium II, 128 MB RAM, 256 KB Cache, gcc -O3, Linux

BRICS Retreat, Sandbjerg, 21–23 October 2002

19

slide-21
SLIDE 21

Double for-loop – Experiments

0.1 1 10 100 1000 19 20 21 22 23 24 25 26 27 time (seconds) log2 of array size (bytes) plain cache-aware (L2) cache-aware (RAM) cache-oblivious

Sizes exceeding RAM (element size 1 KB)

366 MHz Pentium II, 128 MB RAM, 256 KB Cache, gcc -O3, Linux

BRICS Retreat, Sandbjerg, 21–23 October 2002

20

slide-22
SLIDE 22

Cache-Oblivious Search Trees

Recursive memory layout (van Emde Boas layout)

Prokop 1999

Bk A B1 A B1 Bk · · · · · · h ⌈h/2⌉ ⌊h/2⌋ · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

Binary tree Searches use O(logB N) I/Os Dynamization

Bender, Demaine, Farach-Colton, FOCS’00 Rahman, Cole, Raman, WAE’01 Bender, Duan, Iacono, Wu, SODA 02 Brodal, Fagerberg, Jacob, SODA’02

BRICS Retreat, Sandbjerg, 21–23 October 2002

21

slide-23
SLIDE 23

Cache-Oblivious Search Trees

6 4 1 3 5 8 7 11 10 13

6 4 8 1 − 3 5 − − 7 − − 11 10 13

Search O(logB N) Range Reporting O

  • logB N + k

B

  • Updates

O

  • logB N + log2 N

B

  • BRICS Retreat, Sandbjerg, 21–23 October 2002

22

slide-24
SLIDE 24

Current Work...

M ≥ B2 ?

BRICS Retreat, Sandbjerg, 21–23 October 2002

23