Undergraduate Course: Randomized Algorithms (INFR11201)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 11 (Year 4 Undergraduate)
||Availability||Available to all students
|Summary||This course is about randomness as a resource in algorithms and computation. The course introduces basic mathematical models and techniques and applies them to the design and analysis of various randomized algorithms. We will also cover a variety of applications of probabilistic ideas and randomization in several areas of computer science.
1) Introduction, review of discrete probability, and elementary examples including randomized algorithms for checking identities, matrix multiplication verification, minimum cut in graphs.
2) Discrete Random Variables, Moments, Deviations and Tail Inequalities; applications, including the coupon collector problem.
3) Chernoff bounds and applications: random sampling and estimation of discrete distributions. The birthday paradox and applications.
4) The Probabilistic Method: random graphs and threshold phenomena. Max-cut approximation. Lovasz Local Lemma and application to boolean satisfiability.
5) Random Walks and Markov Chains: hitting and cover times; stationary distributions, random walks on undirected graphs.
6) The Monte Carlo Method; applications including sampling and approximate counting, the markov chain monte carlo method, the Metropolis algorithm.
7) Coupling of Markov Chains, mixing time, and applications, including card shuffling and sampling of graph colourings and independent sets.
Entry Requirements (not applicable to Visiting Students)
|| It is RECOMMENDED that students have passed
Algorithms and Data Structures (INFR10052)
||Other requirements|| This course is open to all Informatics students including those on joint degrees.
For external students where this course is not listed in your DPT, please seek permission from the course organizer.
This is a theoretical and mathematically oriented course.
Some mathematical maturity is required, and concretely some basic background in the following, at least at the same level as the required pre-honours undergraduate
courses for Informatics students in these topics (INFR08031, MATH08057).:
- Linear Algebra
- Discrete Mathematics
Secondly, some background in algorithms is required, roughly at the level of Informatics 2- Introduction to Algorithms and Data Structures (INFR08026), and preferably at the level of the 3rd year course, Algorithms and Data Structures (INFR10052). Some exposure to computational complexity theory (NP - completeness, etc.) would be desirable but is not required.
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2022/23, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Exam = 80% of final course mark.
Coursework = 20% of final course mark.
You should expect to spend approximately 30 hours on the coursework for this course.
||Hours & Minutes
|Main Exam Diet S1 (December)||Randomized Algorithms||2:00|
On completion of this course, the student will be able to:
- Understand and apply fundamental tools in discrete probability (e.g. expectation, concentration inequalities, the probabilistic method, random walks) toward the design and analysis of randomized algorithms.
- Understand randomized algorithms for selected combinatorial and graph problems.
- Be able to analyze expected running time and error probabilities of randomized algorithms.
- Understand the fundamentals of Markov chains and their algorithmic applications.
- Apply Monte Carlo methods such as MCMC to some discrete algorithmic problems.
|Probability and Computing: Randomized Algorithms and Probabilistic Analysis, by Michael Mitzenmacher and Eli Upfal. (Required)|
Randomized Algorithms, by Rajeev Motwani and Prabhakar Raghavan. (Useful)
|Graduate Attributes and Skills
||This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your DPT, please seek special permission from the course organiser.
A mathematical course with no programming.
Basic knowledge of (1) discrete probability and (2) algorithms is required. In particular, the students should have a good understanding of the following concepts:
(1) probability spaces and events, conditional probability and independence, random variables, expectations and moments, conditional expectation.
(2) asymptotic notation, basic sorting algorithms (Quick-sort, Merge-sort), basic graph algorithms (BFS, DFS, Dijkstra).
|Course organiser||Dr Kousha Etessami
Tel: (0131 6)50 5197
|Course secretary||Mrs Helen Tweedale
Tel: (0131 6)50 3827