University of Oxford Logo University of OxfordDepartment of Computer Science - Home

Randomised Algorithms:  2008-2009

Information

Lecturer

Class Tutor

Degrees

Schedule C1Honour School of Computer Science

Part CHonour School of Mathematics and Computer Science

Schedule CMSc in Computer Science

MSc by Research

MSc in Mathematics and Foundations of Computer Science

Term

Overview

Many computationally 'difficult' problems in computer science can be solved efficiently using randomised algorithms. Such algorithms typically guarantee a correct answer or result only with high probability, which is however often adequate in practice. This course covers some of the main paradigms in analysis of randomised algorithms, enabling one to design, and reason about, such algorithms in a rigorous and precise way.

Required background: basic grounding in (i) probability theory [at the level of Section 2.2 of the course text], (ii) discrete mathematics and combinatorics, (iii) algorithms and/or complexity, (iv) calculus of one and several variables, (v) linear algebra. Diligent students lacking some of the required background but willing to acquaint themselves with the necessary material are encouraged to contact the lecturer to discuss their situation prior to registering for this course.

Learning outcomes

At the end of the course students are expected to:

The information on this course is subject to possible minor updates.

Synopsis

The material will be mostly drawn from the required text 'Design and Analysis of Randomized Algorithms', by Hromkovic. It is expected that the following will be covered:

 

  1. Fundamentals (including models and classification of randomised algorithms, overview of main paradigms)
  2. Foiling an Adversary (e.g. randomised online algorithms)
  3. Fingerprinting (e.g. substring problem, matrix multiplication, equivalence of two polynomials)
  4. Amplification and Random Sampling
  5. Abundance of Witnesses (e.g. primality testing, generation of random primes)
  6. Optimisation and Random Rounding (e.g. linear programming, MAX-SAT)

Syllabus

The material will be mostly drawn from the required text 'Design and Analysis of Randomized Algorithms', by Hromkovic. It is expected that the following will be covered:

 

  1. Fundamentals (including models and classification of randomised algorithms, overview of main paradigms)
  2. Foiling an Adversary (e.g. randomised online algorithms)
  3. Fingerprinting (e.g. substring problem, matrix multiplication, equivalence of two polynomials)
  4. Amplification and Random Sampling
  5. Abundance of Witnesses (e.g. primality testing, generation of random primes)
  6. Optimisation and Random Rounding (e.g. linear programming, MAX-SAT)

Reading list

Required text: Design and Analysis of Randomized Algorithms, by Juraj Hromkovic, Springer.

Recommended text: Randomized Algorithms, by Rajeev Motwani and Prabhakar Raghavan, Cambridge University Press.