Undergraduate Course: Randomized Algorithms (INFR11201)
Course Outline
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 |
SCQF Credits | 10 |
ECTS Credits | 5 |
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. |
Course description |
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)
Pre-requisites |
It is RECOMMENDED that students have passed
Algorithms and Data Structures (INFR10052)
|
Co-requisites | |
Prohibited Combinations | |
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
- Probability
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
Pre-requisites | None |
High Demand Course? |
Yes |
Course Delivery Information
|
Academic year 2023/24, Available to all students (SV1)
|
Quota: None |
Course Start |
Semester 1 |
Timetable |
Timetable |
Learning and Teaching activities (Further Info) |
Total Hours:
100
(
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
98 )
|
Assessment (Further Info) |
Written Exam
80 %,
Coursework
20 %,
Practical Exam
0 %
|
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. |
Feedback |
Not entered |
Exam Information |
Exam Diet |
Paper Name |
Hours & Minutes |
|
Main Exam Diet S1 (December) | Randomized Algorithms (INFR11201) | 2:00 | |
Learning Outcomes
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.
|
Reading List
Probability and Computing: Randomized Algorithms and Probabilistic Analysis, by Michael Mitzenmacher and Eli Upfal. (Required)
Randomized Algorithms, by Rajeev Motwani and Prabhakar Raghavan. (Useful) |
Additional Information
Graduate Attributes and Skills |
Not entered |
Special Arrangements |
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). |
Keywords | Not entered |
Contacts
Course organiser | Dr Raul Garcia-Patron Sanchez
Tel: (0131 6)50 2692
Email: |
Course secretary | Mrs Helen Tweedale
Tel: (0131 6)50 3827
Email: |
|
|