THE UNIVERSITY of EDINBURGH

DEGREE REGULATIONS & PROGRAMMES OF STUDY 2022/2023

Timetable information in the Course Catalogue may be subject to change.

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Randomized Algorithms (INFR11201)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 11 (Year 4 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryThis 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-requisitesNone
High Demand Course? Yes
Course Delivery Information
Academic year 2022/23, 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 Algorithms2:00
Learning Outcomes
On completion of this course, the student will be able to:
  1. 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.
  2. Understand randomized algorithms for selected combinatorial and graph problems.
  3. Be able to analyze expected running time and error probabilities of randomized algorithms.
  4. Understand the fundamentals of Markov chains and their algorithmic applications.
  5. 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).
KeywordsNot entered
Contacts
Course organiserDr Kousha Etessami
Tel: (0131 6)50 5197
Email: Kousha@inf.ed.ac.uk
Course secretaryMrs Helen Tweedale
Tel: (0131 6)50 3827
Email: Helen.Tweedale@ed.ac.uk
Navigation
Help & Information
Home
Introduction
Glossary
Search DPTs and Courses
Regulations
Regulations
Degree Programmes
Introduction
Browse DPTs
Courses
Introduction
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Prospectuses
Important Information