Approximation Algorithms

Slides:



Advertisements
Similar presentations
Algorithm Design Methods Spring 2007 CSE, POSTECH.
Advertisements

Approximation Algorithms
Wavelength Assignment in Optical Network Design Team 6: Lisa Zhang (Mentor) Brendan Farrell, Yi Huang, Mark Iwen, Ting Wang, Jintong Zheng Progress Report.
CPE702 Complexity Classes Pruet Boonma Department of Computer Engineering Chiang Mai University Based on Material by Jenny Walter.
S. J. Shyu Chap. 1 Introduction 1 The Design and Analysis of Algorithms Chapter 1 Introduction S. J. Shyu.
PCPs and Inapproximability Introduction. My T. Thai 2 Why Approximation Algorithms  Problems that we cannot find an optimal solution.
CS333 Algorithms
Introduction to Approximation Algorithms Lecture 12: Mar 1.
Overlapping Coalition Formation: Charting the Tractability Frontier Y. Zick, G. Chalkiadakis and E. Elkind (submitted to AAMAS 2012)
The Brick Wall: NP-Completeness Christopher King Joshua Greenspan.
Math443/543 Mathematical Modeling and Optimization
CS333/ Topic 11 CS333 - Introduction CS333 - Introduction General information Goals.
The Theory of NP-Completeness
Polynomial time approximation scheme Lecture 17: Mar 13.
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Lecture 23. Greedy Algorithms
CSCE350 Algorithms and Data Structure
Bold Stroke January 13, 2003 Advanced Algorithms CS 539/441 OR In Search Of Efficient General Solutions Joe Hoffert
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Scott Perryman Jordan Williams.  NP-completeness is a class of unsolved decision problems in Computer Science.  A decision problem is a YES or NO answer.
Stochastic Algorithms Some of the fastest known algorithms for certain tasks rely on chance Stochastic/Randomized Algorithms Two common variations – Monte.
FACULTY OF ENGINEERING & INFORMATION TECHNOLOGIES P, NP, and Complexity Six fundamental facts One rule of thumb Three fundamental notions One fundamental.
MIT and James Orlin1 NP-completeness in 2005.
Algorithms  Al-Khwarizmi, arab mathematician, 8 th century  Wrote a book: al-kitab… from which the word Algebra comes  Oldest algorithm: Euclidian algorithm.
What is Computer Science About? Part 2: Algorithms.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 28, 2014.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
For Wednesday No reading No homework There will be homework for Friday, as well the program being due – plan ahead.
Cliff Shaffer Computer Science Computational Complexity.
The Traveling Salesman Problem Over Seventy Years of Research, and a Million in Cash Presented by Vladimir Coxall.
Topic 25 Dynamic Programming "Thus, I thought dynamic programming was a good name. It was something not even a Congressman could object to. So I used it.
Design and Analysis of Algorithms - Chapter 101 Our old list of problems b Sorting b Searching b Shortest paths in a graph b Minimum spanning tree b Primality.
Design and Analysis of Algorithms (09 Credits / 5 hours per week) Sixth Semester: Computer Science & Engineering M.B.Chandak
Optimal Superblock Scheduling Using Enumeration Ghassan Shobaki, CS Dept. Kent Wilken, ECE Dept. University of California, Davis
Computability NP complete problems. Space complexity. Homework: [Post proposal]. Find PSPACE- Complete problems. Work on presentations.
CSCE350 Algorithms and Data Structure Lecture 21 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Approximation Algorithms
2016/3/13Page 1 Semester Review COMP3040 Dept. Computer Science and Technology United International College.
A greedy algorithm is an algorithm that follows the problem solving heuristic of making the locally optimal choice at each stage with the hope of finding.
Genetic Algorithms An Evolutionary Approach to Problem Solving.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
Design and Analysis of Algorithms (09 Credits / 5 hours per week)
Introduction to Approximation Algorithms
Data Driven Resource Allocation for Distributed Learning
Towards Scalable Traffic Management in Cloud Data Centers
Hard Problems Some problems are hard to solve.
Algorithm Design Methods
Lecture 5 Dynamic Programming
Introduction to Algorithms
Lecture 5 Dynamic Programming
Design and Analysis of Computer Algorithm (CS575-01)
Topic 25 Dynamic Programming
Design and Analysis of Algorithms (07 Credits / 4 hours per week)
Dissertation for the degree of Philosophiae Doctor (PhD)
Approximation Algorithms
Analysis and design of algorithm
Heuristics Definition – a heuristic is an inexact algorithm that is based on intuitive and plausible arguments which are “likely” to lead to reasonable.
The Subset Sum Game Revisited
Objective of This Course
Unit-4: Dynamic Programming
Polynomial time approximation scheme
Algorithm Design Methods
Algorithm Design Methods
Alan Kuhnle*, Victoria G. Crawford, and My T. Thai
What is Computer Science About? Part 2: Algorithms
INTRODUCTION TO ALOGORITHM DESIGN STRATEGIES
Approximation Algorithms
Department of Computer Science & Engineering
Algorithm Design Methods
Presentation transcript:

Approximation Algorithms Colton Hines and Nolan Kramer

Approximation Algorithms Used to find approximate solutions to optimization problems Optimization - finding the best solution from a set of solutions Motivation- Some optimization problems are too hard to solve, but approximate local solutions are still useful

Overview of Complexity Theory P problems have polytime solutions NP problems have solutions that can be verified in polytime. NP-hard problems are NP problems that that any NP problem can be reduced to in polytime. Different implications if P = NP

Approximation Algorithm Application to Complexity Theory If P != NP, NP-hard problems are unlikely to have polytime solutions. Approximately optimal solutions can be significantly better than the average solution. Can guarantee runtime- sacrifices small degree of accuracy for huge increase in speed.

How it Relates to Theoretical CS How do you design approximation algorithms? Greedy algorithms Local search Dynamic programming Inapproximable problems APX Complexity Class

Examples of Approximable Problems Knapsack problem Pathfinding

Maze time!!! Have half the table do the maze as fast as possible Have the other half do it with as few turns as possible Time your maze solving skills and count the number of turns you make

Our results Our solution: 141 turns Roughly 2 minutes Computer solution: 263 turns Roughly 3 seconds Computer is almost 54x faster! However, it is almost 2x as inaccurate. R(x,y) = 1.934

Your results To calculate performance guarantee: R(x,y) = max(OPT/APPROX, APPROX/OPT) We will use the classes worst and best number of corners to calculate the p- approximation guarantee.

Current results Modern algorithm design techniques: Greedy algorithms (first-fit) Local searching (searching locally is faster than globally) Enumeration & dynamic programming (breaking a larger problem into smaller pieces) Convex minimization (local minimum as a global minimum) Metric embedding (assigning values to path groups in order to pick fastest path)

Applications Computational biology Financial engineering Transportation planning Bin packing problem Inventory management Bin packing problem as well Virtual machines VM packing problem

Further Research Open problems in the design of approximation algorithms: Improved approximation for metric traveling salesman problem Constant approximation for metric asymmetric traveling salesman problem Polytime algorithm for bin packing problem with only constant extra bins Primal-dual algorithm for survivable network design

Questions?

Sources https://en.wikipedia.org/wiki/Approximation_algorithm http://www.scottaaronson.com/blog/?p=122 http://www.designofapproxalgs.com/book.pdf http://theory.stanford.edu/~amitp/GameProgramming/Heuristics.html http://web.mit.edu/ehliu/Public/Spring2011/6.856/paper/main.pdf http://math.mit.edu/~goemans/PAPERS/book-ch4.pdf