Presentation is loading. Please wait.

Presentation is loading. Please wait.

Algorithm Engineering (2016, Q3, 5 ECTS)

Similar presentations


Presentation on theme: "Algorithm Engineering (2016, Q3, 5 ECTS)"— Presentation transcript:

1 Algorithm Engineering (2016, Q3, 5 ECTS)
Gerth Stølting Brodal

2 Motivation for the course…
Narrow the gap between theoretical algorithm courses and implementing algorithms Systematic experimental evaluation Algorithm vs hardware understanding … new theory

3 From Idea to Program Execution
(Java-)code Pseudocode Divide and Conquer ? for each x in m up to middle add x to left for each x in m after middle add x to right if ( t1[t1index] <= t2[t2index] ) a[index] = t1[t1index++]; else a[index] = t2[t2index++]; Idea Compiler (Java) Bytecode + Virtual machine Assembler Machine code Microcode Virtual memory/ TLB L1, L2,… cache Branch Prediction Pipelining ... MergeSort pseudo kode + Java uddrag Image: Athlon Igor Ostrovsky Blog: Gallery of Processor Cache Effects Program execution

4 Theory–Experiment Cycle

5 Pred(x) = return max { yS | y  x }
Project 1 Store a set S of N integers to support the query: Pred(x) = return max { yS | y  x } Throughout testing of the performance of the Pred operation Groups 2-3 persons Next Tuesday (optional) : A slide with your results so far

6 Statement : ”I implemented my fancy algorithm and ran it on this big input I found on the internet. It took seconds to run the program” + Apparently succeded to implement the algorithm Is the output correct? Is fast or slow? What is the theoretical expected running time?


Download ppt "Algorithm Engineering (2016, Q3, 5 ECTS)"

Similar presentations


Ads by Google