- Level Expert
- المدة 27 ساعات hours
- الطبع بواسطة University of California San Diego
-
Offered by
عن
In previous courses of our online specialization you've learned the basic algorithms, and now you are ready to step into the area of more complex problems and algorithms to solve them. Advanced algorithms build upon basic ones and use new ideas. We will start with networks flows which are used in more typical applications such as optimal matchings, finding disjoint paths and flight scheduling as well as more surprising ones like image segmentation in computer vision. We then proceed to linear programming with applications in optimizing budget allocation, portfolio optimization, finding the cheapest diet satisfying all requirements and many others. Next we discuss inherently hard problems for which no exact good solutions are known (and not likely to be found) and how to solve them in practice. We finish with a soft introduction to streaming algorithms that are heavily used in Big Data processing. Such algorithms are usually designed to be able to process huge datasets without being able even to store a dataset.الوحدات
Slides and Resources on Flows in Networks
2
Readings
- About University
- Slides and Resources on Flows in Networks
Flows in Networks
2
Videos
- Introduction
- Network Flows
Basic Tools
2
Videos
- Residual Networks
- Maxflow-Mincut
Maxflow Algorithms
3
Videos
- The Ford–Fulkerson Algorithm
- Slow Example
- The Edmonds–Karp Algorithm
Applications
2
Videos
- Bipartite Matching
- Image Segmentation
End of Module Quiz
1
Assignment
- Flow Algorithms
1
Readings
- Rules on the academic integrity in the course
Programming Assignment
- Programming Assignment 1
2
Readings
- Available Programming Languages
- FAQ on Programming Assignments
Slides and Resources on Linear Programming
1
Readings
- Slides and Resources on Linear Programming
Introduction
4
Videos
- Introduction
- Linear Programming
- Linear Algebra: Method of Substitution
- Linear Algebra: Gaussian Elimination
Basic Tools
3
Videos
- Convexity
- Duality
- (Optional) Duality Proofs
Algorithms
3
Videos
- Linear Programming Formulations
- The Simplex Algorithm
- (Optional) The Ellipsoid Algorithm
End of Module Quiz
1
Assignment
- Linear Programming Quiz
Programming Assignment
- Programming Assignment 2
Slides and Resources on NP-complete Problems
1
Readings
- Slides and Resources on NP-complete Problems
Search Problems
8
Videos
- Brute Force Search
- Search Problems
- Traveling Salesman Problem
- Hamiltonian Cycle Problem
- Longest Path Problem
- Integer Linear Programming Problem
- Independent Set Problem
- P and NP
Reductions
8
Videos
- Reductions
- Showing NP-completeness
- Independent Set to Vertex Cover
- 3-SAT to Independent Set
- SAT to 3-SAT
- Circuit SAT to SAT
- All of NP to Circuit SAT
- Using SAT-solvers
1
Readings
- Minisat Installation Guide
End of Module Quiz
1
Assignment
- NP-complete Problems
Programming Assignment
- Programming Assignment 3
User experience survey
Slides and Resources on Coping with NP-completeness
1
Readings
- Slides and Resources on Coping with NP-completeness
Introduction
1
Videos
- Introduction
Special Cases
3
Videos
- 2-SAT
- 2-SAT: Algorithm
- Independent Sets in Trees
Exact Algorithms
4
Videos
- 3-SAT: Backtracking
- 3-SAT: Local Search
- TSP: Dynamic Programming
- TSP: Branch and Bound
Approximation Algorithms
3
Videos
- Vertex Cover
- Metric TSP
- TSP: Local Search
End-of-Module Quiz
1
Assignment
- Coping with NP-completeness
Programming Assignment
- Programming Assignment 4
Finding Heavy Hitters in Data Streams
1
Assignment
- Quiz: Heavy Hitters
10
Videos
- Introduction
- Heavy Hitters Problem
- Reduction 1
- Reduction 2
- Basic Estimate 1
- Basic Estimate 2
- Final Algorithm 1
- Final Algorithm 2
- Proofs 1
- Proofs 2
Programming Assignment
- (Optional) Programming Assignment 5
Auto Summary
Delve into the realm of complex algorithms with "Advanced Algorithms and Complexity," an expert-level course in IT & Computer Science taught by Coursera. This comprehensive program covers network flows, linear programming, hard problem-solving, and streaming algorithms. Perfect for those who have a foundation in basic algorithms and are eager to tackle advanced topics, the course spans 27 hours with starter subscription options available. Ideal for IT professionals and enthusiasts aiming to enhance their problem-solving skills and knowledge in Big Data processing.

Neil Rhodes

Daniel M Kane
Michael Levin

Alexander S. Kulikov