AlgLab: An Open Laboratory for Experiments On Algorithms

AlgLab Home About Labs Related Contribute

Visit the Labs

The labs are ordered by chapter, as described in A Guide to Experimental Algorithmics.

Book Chapters AlgLab Resources
1: Introduction: Overview and history. 1.1 Why do experiments? 1.2 Key Concepts; 1.3 What's in the Book? Selected Readings in Experimental Algorithmics
2: A Plan of Attack: A survey of experimental goals, and strategies for designing experiments to meet those goals. 2.1 Experimental Goals; 2.2 Experimental Design Basics. GraphColorLab: Java programs implementing algorithms for the Graph Coloring Problem. Projects on experimental design.
3: What to Measure: Comparing different ways to measure performance. 3.1 Time Performance; 3.2 Solution Quality. MarkovLab. C C implementations of approximation algorithms for One-dimensional Bin Packing. Projects illustrating different ways to measure solution quality for NP-hard problems.

BinPackLab. C implementations of the Markov Chain Monte Carlo Algorithm for Random Text Generation; projects on measuring operation counts, instructions, and runtimes.

4. Tuning Algorithms, Tuning Code: How to make it run faster. 4.1: Reducing Instruction Counts; 4.2 Tuning to Reduce Instruction Costs; 4.3 The Tuning Process. ExactBinPackLab. Java versions of an exact algorithm for bin packing. Projects for algorithm tuning.

EssentialSubgraphLab C and Java codes for an algorithm to find the Essential Subgraph of a graph G. Projects for algorithm and code tuning.

5. The Toolbox: Tools and cookbook codes for algorithmic experiments. 5.1 The Test Program; 5.2 Generating Random Inputs. Tools and Resources
6. Creating Analysis-Friendly Data: How to get more better data from your experiment. 6.1 Variance Reduction Techniques; 6.2 Simulation Shortcuts Self-organizing Sequential Search C codes for self-organizing sequential search, algorithms. Projects applying variance reduction techniques and simulation shortcuts.
7. Data Analysis:Survey of basic techniques. 7.1 Univariate Data; 7.2 Bivariate Data: Correlation and Comparison; 7.3 Understanding Y as a Function of X. GraphicsLab. R source code for the graphs in A Guide to Experimental Algorithmics
Contributions Click the link to learn how to contribute a lab or other resources to the Open Laboratory.