Postgraduate Course: Randomness and Computation (INFR11089)
|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 probabilistic methods and their application to computer science. The course introduces basic models and techniques and applies these techniques to the design of various randomized algorithms, data structures, and distributed protocols. Special emphasis will be given on applications of these ideas to other areas of computer science (e.g. networking, machine learning, etc).
- Introduction: Las Vegas and Monte Carlo algorithms
(Elementary Examples: checking identities, fingerprinting)
- Moments, Deviations and Tail Inequalities
(Balls and Bins, Coupon Collecting, stable marriage, routing)
- Randomization in Sequential Computation
(Data Structures, Graph Algorithms)
* Randomization in Parallel and Distributed Computation
(algebraic techniques, matching, sorting, independent sets)
* Randomization in Online Computation
(online model, adversary models, paging, k-server)
- The Probabilistic Method
(threshold phenomena in random graphs, Lovasz Local Lemma)
- Random Walks and Markov Chains
(hitting and cover times, Markov chain Monte Carlo)
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 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).
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2019/20, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 20,
Seminar/Tutorial Hours 5,
Summative Assessment Hours 2,
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.
If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year.
||Hours & Minutes
|Main Exam Diet S2 (April/May)||2:00|
On completion of this course, the student will be able to:
- Apply fundamental tools in discrete probability (e.g. concentration inequalities, probabilistic method, random walks).
- Know randomized algorithms and data structures for selected combinatorial and graph problems.
- Be able to analyze error probabilities and expected running time of randomized algorithms.
- Understand the fundamentals of Markov chains and their algorithmic applications.
- Apply Monte Carlo methods such as MCMC.
|Probability and Computing: Randomized Algorithms and Probabilistic Analysis, by Michael Mitzenmacher and Eli Upfal. (Required)|
Randomized Algorithms, by Rajeev Motwani and Prabhakar Raghavan. (Useful)
|Course organiser||Dr Mary Cryan
Tel: (0131 6)50 5153
|Course secretary||Miss Clara Fraser
Tel: (0131 6)51 4164