Approximation Algorithms Part I
Part I of the approximation algorithms
How well can you pack items into the fewest possible boxes? How well can nodes be clustered so that a network may be divided into components around a few centers at a low cost? These are instances of combinatorial optimization tasks that are NP-hard. Because solving such problems efficiently is likely unachievable, goal is to provide an approximation solution that can be computed in polynomial time while still having verifiable assurances on its cost compared to the optimum. This course presupposes knowledge of a regular undergraduate Algorithms course and focuses on designing algorithms using linear programming, a popular and incredibly effective method in this field.
You will be introduced to a variety of issues at the foundations of theoretical computer science, as well as sophisticated design and analytic tools, by taking this course. When presented with a novel combinatorial optimization issue, you will be able to detect whether it is similar to one of a few known fundamental problems, and you will be able to create linear programming relaxations and utilize randomized rounding to try to solve your own problem. The material of the course, particularly the homework, is theoretical in nature, with no programming tasks. Approximation Algorithms is the first of a two-part course.
- Flexible deadlines: Reset deadlines based on your availability.
- 100% online: Start now and learn at times that suit you.
- Approx. 36 hours to complete
- Subtitles: French, Portuguese (European), Russian, English, Spanish
Rating: 4.7/5
Enroll here: coursera.org/learn/approximation-algorithms-part-1