Algorithms and Data Structures Group

Download Report

Transcript Algorithms and Data Structures Group

Algorithms and Data Structures
Group
Gerth Stølting Brodal
Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014
VIP
Lars Arge (Professor)
Gerth Stølting Brodal (Lektor)
Peyman Afshani (Adjunkt)
Kasper Green Larsen (Adjunkt)
Weekly visitors
Peder Klith Bøcher
Brody Steven Sandel
(Biodiversity Group)
PostDocs
Allan Grønlund Jørgensen (HTF)
Wanbin Son
Zengfeng Huang
Constantinos Tsirogiannis (AUFF)
PhD students
Bryan Wilkinson
Edvin Berglin
Ingo van Duijn
Jakob Truelsen
Jesper Asbjørn Sindahl Nielsen
Jungwoo Yang
Morten Revsbæk
Sarfraz Raza
Mathias Rav
Konstantinos Mampentzidis
MSc students
Claus Jespersen
Mikkel Engelbrecht Hougaard
Bo Mortensen
Programmer Svend Christian Svendsen
Administration Trine Ji Holmgaard Jensen, Katrine Østerlund Rasmussen, Ellen Kjemtrup
Events





Workshop on Massive Data Algorithmis (2009 -)
Symposium on Computational Geometry (2009)
European Symposium on Algorithms / ALGO 2016
MADALGO Summer Schools 2007, 2008, 2010 MADALGO retreat (October)
Research – Efficiency
O(n3)
O(n2)
O(nlog2 n)
O(nlog n)
?
log n
O(n
)
loglog n
quartet distance between two trees
O(log n)
Less
practical ?
algorithm ?
engineering
Deeper
insights
Improved
asymptotics
More
complicated ?
log n
O(
)
loglog n
O(loglog n)
O( loglog n)
? lower
bound ?
O(1)
integer sorting, cost per element
Algorithms Research
Gerth
Kasper
Algorithm
engineering
Theory
Lars
Peyman
EcoInformatics
BioInformatics
COWI, DES, EIVA, …
Applications
Research – Models of Computation
 RAM model
memory access and other operations O(1), sometimes * is (1)
 Pointer model
disallow arrays, memory is a graph with O(1) out-degree
 Functional model
pointer model with no side-effects, implies persistence
 Comparison model/decision trees
 Cell-probe model
 Bit-probe model
 Implicit model
 IO model
simple lower bounds
strong lower bounds, applies to RAM model
fundamental lower bounds, special case of cell-probe
O(1) working space, store information as input permutation
focus on number of memory-disk transfers
 Cache-oblivious model
 Streaming model
abstract model to model multiple memory layers
limited working space, single or multiple scans of input
Integer Sorting
Results
(n words of w bits)
Time per element
O
2
log log n
O(1)
1
?
NEW
3
log n log2 n·loglog n log2+ε n
1
Bucket sort
Radix sort; Hollerith 1887
van Emde Boas 1975
Willard 1983
Kirkpatrick and Reicsh 1983
Merge sort: von Neumann 1945
w
O(n+2w)
w
O n
log n
O n log w
w
log n
O n log n
superlinear space
expected
O n log
O n log (w/log n)
O n log log n
comparison based optimal
2
Thorup and Han 2002
expected
3
Andersson et al. 1998
O(n)
expected, w ≥ Ω log2+ε n
Belazzougui, Brodal, Nielsen 2014
O(n)
expected, w ≥ Ω log2 n ∙ log log n
Allan Grønlund, Seth Pettie FOCS 2014
Threesomes, Degenerates,
and Love Triangles
3SUM problem : Given real numbers x1,..., xn, does there exist xi + xj + xk = 0 ?
3
2
-9
11
-7
5
9
10
-4
6
Conjecture : 3SUM requires time Θ(n2)
Theorem : 3SUM can be solved in time O(n2 / (log n/loglog n)2/3)
Theorem’ : 3SUM has decision tree complexity O(n3/2 log n)
Gerth Brodal, Kasper Larsen SWAT 2014
Planar Orthogonal Skyline Queries
Space
(words)
Query
Reporting
O(n)
O(nlglg n)
O(nlgε n)
O(klgε n)
O(klglg n + lg n/lglg n)
O(k + lg n/lglg n)
Counting
O(n)
O(nlgO(1) n)
O(lg n/lglg n)
(lg n/lglg n)

Peyman Afshani JCGA 2013
Half-Space Range Reporting
Query time Q(n)  Space
n  d
Q(n)
Memory Hierarchies
CPU
Processor
L1
L2
L3
R
A
M
Disk
bottleneck
increasing access times and memory sizes
IO Model
 Cost = # block transfers
Memory, size M
Block
size B
Disk
Cache-Oblivious
Model
 I/O model...but algorithms
do not know B and M
 Assume optimal cache
replacement strategy
 Optimal on all levels
(under some assumptions)
Scanning O(N/B) IOs, Sorting O(N/BlogM/B N/B) IOs
Alok Aggarwal and Jeff Vitter. The Input/Output Complexity of Sorting and Related Problems.
Communications of the ACM 31(9) 1988.
Matteo Frigo, Charles E. Leiserson, Harald Prokop, Sridhar Ramachandran. Cache-Oblivious Algorithms.
ACM Transactions on Algorithms, 8(1), Article No. 4, 2012.
Computing Multiresolution Rasters
Output size =
average
Input
x
nxn
n
n2
= O(n2)
2
=1 
RAM algorithm O(n2) time
Output
nxn
IO Model - O(Sort(n2)) IOs
Lars Arge, Herman Haverkort and Constantinos
Tsirogiannis. ACM SIGSPATIAL 2012.
Cache Oblivious Model - O(Scan(n2)) IOs
Lars Arge, Gerth Stølting Brodal, Jakob Truelsen,
and Constantinos Tsirogiannis. ESA 2013.
n n
2x2
n n
3x3
n n n n
4x4 x
...
1x1
Terrain Research
3
7
7
3
7
7
2
5
1
2
5
1
4
8
9
4
8
9
3
7
7
3
7
7
2
5
1
2
5
1
Height matrix
Terrain model
4
8
9
4
8
9
Lars Arge, Morten Revsbæk, and Norbert Zeh SoCG 2010
Areas Flooded by 100 mm Rain
SoCG 2010  MADALGO prototype  SCALGO prodct
Algorithms Research
Gerth
Theory
Algorithm
engineering
Kasper
Lars
Peyman
EcoInformatics
BioInformatics
COWI, DES, EIVA, …
Applications