18
Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Embed Size (px)

Citation preview

Page 1: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Algorithms and Data Structures Group

Gerth Stølting Brodal

Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Page 2: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

VIPLars Arge (Professor)Gerth Stølting Brodal (Lektor)Peyman Afshani (Adjunkt)Kasper Green Larsen (Adjunkt)

PostDocsAllan Grønlund Jørgensen (HTF)

Wanbin SonZengfeng HuangConstantinos Tsirogiannis (AUFF)

PhD studentsBryan WilkinsonEdvin BerglinIngo van DuijnJakob TruelsenJesper Asbjørn Sindahl NielsenJungwoo YangMorten RevsbækSarfraz RazaMathias RavKonstantinos Mampentzidis

MSc studentsClaus JespersenMikkel Engelbrecht HougaardBo Mortensen

Programmer Svend Christian SvendsenAdministration Trine Ji Holmgaard Jensen, Katrine Østerlund Rasmussen, Ellen Kjemtrup

Weekly visitorsPeder Klith Bøcher

Brody Steven Sandel(Biodiversity Group)

Page 3: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

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)

Page 4: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Research – EfficiencyO(n3)

O(n2)

O(nlog2 n)

O(nlog n)

O(n)

quartet distance between two trees

?

O(log n)

O()

O(loglog n)

O()

O(1)

integer sorting, cost per element

?

Lesspractical ?

Deeper insights

Improved asymptotics

More complicated ?

lower bound ?

algorithm engineering

?

Page 5: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Algorithms Research

Theory

Algorithmengineering

Applications

Peyman

Gerth

Lars

EcoInformaticsBioInformatics

COWI, DES, EIVA, …

Kasper

Page 6: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

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 simple lower bounds

Cell-probe model strong lower bounds, applies to RAM model

Bit-probe model fundamental lower bounds, special case of cell-probe

Implicit model O(1) working space, store information as input permutation

IO model focus on number of memory-disk transfers

Cache-oblivious model abstract model to model multiple memory layers

Streaming model limited working space, single or multiple scans of input

Page 7: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

NEW

Integer SortingResults

Bucket sort O(n+2w)

Radix sort; Hollerith 1887van Emde Boas 1975Willard 1983

superlinear spaceexpected

Kirkpatrick and Reicsh 1983

Merge sort: von Neumann 1945 comparison based optimal

Thorup and Han 2002 expected

Andersson et al. 1998 O(n) expected,

Belazzougui, Brodal, Nielsen 2014 O(n) expected,

Time per element

wlog2 n·loglog n log2+ε n

O (√ log log n )

O(1)

log n

1

2

3

1

2

3

?(n words of w bits)

Page 8: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Threesomes, Degenerates, and Love Triangles

Allan Grønlund, Seth Pettie FOCS 2014

3SUM problem : Given real numbers x1,..., xn, does there exist xi + xj + xk = 0 ?

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 )

3 2 -9 11 -7 5 9 10 -4 6

Page 9: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Planar Orthogonal Skyline Queries

Space(words) Query

ReportingO(n)

O(nlglg n) O(nlgε n)

O(klgε n)O(klglg n + lg n/lglg n)

O(k + lg n/lglg n)

Counting O(n)O(nlgO(1) n)

O(lg n/lglg n)(lg n/lglg n)

Gerth Brodal, Kasper Larsen SWAT 2014

Page 10: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Half-Space Range Reporting

Peyman Afshani JCGA 2013

Query time Q(n) Space

Page 11: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Memory Hierarchies

ProcessorL1 L2 A

R

ML3 Disk

bottleneck

increasing access times and memory sizes

CPU

Page 12: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

IO Model

I/O model...but algorithmsdo not know B and M

Assume optimal cachereplacement strategy

Optimal on all levels (under some assumptions)

Memory, size M

Blocksize B

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.

Disk

Cache-Oblivious Model Cost = # block transfers

Scanning O(N/B) IOs, Sorting O(N/BlogM/B N/B) IOs

Page 13: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Computing Multiresolution Rasters

Input

n x n x x x n x n

Output

IO Model - O(Sort(n2)) IOsLars Arge, Herman Haverkort and Constantinos Tsirogiannis. ACM SIGSPATIAL 2012.

Cache Oblivious Model - O(Scan(n2)) IOsLars Arge, Gerth Stølting Brodal, Jakob Truelsen, and Constantinos Tsirogiannis. ESA 2013.

x

x

average ∑=1

nn22=¿O( n2 )¿Output size =

...1x1

RAM algorithm O(n2) time

Page 14: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Lars

Water

Page 15: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Terrain Research

3 2 47 5 87 1 9

3 2 47 5 87 1 9

3 2 47 5 87 1 9

3 2 47 5 87 1 9

Height matrix

Terrain model

Page 16: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014
Page 17: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Areas Flooded by 100 mm Rain

SoCG 2010 MADALGO prototype SCALGO prodct

Lars Arge, Morten Revsbæk, and Norbert Zeh SoCG 2010

Page 18: Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014

Algorithms Research

Theory

Algorithmengineering

Applications

Peyman

Gerth

Lars

EcoInformaticsBioInformatics

COWI, DES, EIVA, …

Kasper