introduction to exponential time algorithms - séminaire ?· introduction to exponential time...

Download Introduction to Exponential Time Algorithms - séminaire ?· Introduction to Exponential Time Algorithms…

Post on 10-Sep-2018

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Exclusion

    Conclusion

    Introduction to Exponential Time Algorithmssminaire AlGco

    Serge Gaspers1

    1LIRMM Universit Montpellier 2, CNRS

    January 22, 2009

    1 / 50

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Exclusion

    Conclusion

    Outline

    1 IntroductionExponential Time AlgorithmsProblem Definitions

    2 Algorithm Design TechniquesDynamic Programming across SubsetsBranch & ReduceMemorizationTreewidthTreewidth combined with Branch & ReduceIterative CompressionInclusion-Exclusion

    3 Conclusion

    2 / 50

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Exclusion

    Conclusion

    Outline

    1 IntroductionExponential Time AlgorithmsProblem Definitions

    2 Algorithm Design TechniquesDynamic Programming across SubsetsBranch & ReduceMemorizationTreewidthTreewidth combined with Branch & ReduceIterative CompressionInclusion-Exclusion

    3 Conclusion

    3 / 50

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Exclusion

    Conclusion

    NP-hard problems

    no known polynomial time algorithm for any NP-hardproblembelief: P 6= NPETH: 3-Sat cannot be solved in subexponential time(thus many other problems cannot be solved insubexponential time either)

    4 / 50

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Exclusion

    Conclusion

    Dealing with NP-hard problems

    Approaches to attack NP-hard problemsapproximation algorithmsrandomized algorithmsfixed parameter algorithmsexact exponential time algorithmsheuristicsrestricting the inputs

    5 / 50

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Exclusion

    Conclusion

    Exponential Time Algorithms

    natural question in Algorithms:design faster (worst-case analysis) algorithms for problemsmight lead to practical algorithms

    for small instancessubroutines for

    (sub)exponential time approximation algorithmsrandomized algorithms with expected polynomial run time

    interesting combinatorics

    6 / 50

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Exclusion

    Conclusion

    Solve a NP hard problem

    exhaustive searchtrivial methodtry all possible solutions for a ground set on n elementsrunning times for problems in NP

    SUBSET PROBLEMS: O(2n) 1PERMUTATION PROBLEMS: O(n!)PARTITION PROBLEMS: O(cn log n)

    faster exact algorithmsfor some problems, it is possible to obtain provably fasteralgorithmsrunning times O(1.0892n),O(1.5086n),O(1.9977n)

    1O(f (n)) O(f (n) poly(n))7 / 50

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Exclusion

    Conclusion

    Exponential Time Algorithms in Practice

    How large are the instances one can solve in practice?

    Available time 1 s 1 min 1 hour 3 days 6 monthsnb. of operations 230 236 242 248 254

    n5 64 145 329 774 1756n10 8 12 18 27 41

    1.05n 426 510 594 681 7651.1n 218 261 304 348 3911.5n 51 61 71 82 922n 30 36 42 48 545n 12 15 18 20 23n! 12 14 15 17 18

    8 / 50

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Exclusion

    Conclusion

    Technology vs. Algorithms

    Suppose a 2n algo enables us to solve instances up to size xFaster processors

    processor speed doubles after 1824 months (according toMoores law)can solve instances up to size x + 1

    Faster algorithmdesign a 2n/2 = 1.4143n time algorithmcan solve instances up to size 2 x

    9 / 50

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Exclusion

    Conclusion

    Outline

    1 IntroductionExponential Time AlgorithmsProblem Definitions

    2 Algorithm Design TechniquesDynamic Programming across SubsetsBranch & ReduceMemorizationTreewidthTreewidth combined with Branch & ReduceIterative CompressionInclusion-Exclusion

    3 Conclusion

    10 / 50

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Exclusion

    Conclusion

    Subset Problem: MAXIMUM INDEPENDENTSET

    MAXIMUM INDEPENDENT SET (MIS)

    Input: A graph G = (V,E).Output: An independent set of G of maximum cardinality.I V is an independent set if the vertices in I are pairwisenon-adjacent.

    a b

    c d e

    f g h

    11 / 50

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Exclusion

    Conclusion

    Permutation Problem: TRAVELING SALESMAN

    TRAVELING SALESMAN PROBLEM (TSP)

    Input: a set of n cities, the distance d(i, j) between every twocities i and j.Output: A tour visiting all cities with minimum total distance.A tour is a permutation of the cities, starting and ending incity 1.

    Trivial algorithm checks all the permutations of the citiesRunning time O(n!)

    12 / 50

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Exclusion

    Conclusion

    Partition Problem: COLORING

    COLORING (COL)

    Input: A graph G = (V,E).Output: A coloring of V with the smallest number of colors.A coloring f : V {1, 2, ..., k} is a function assigning colorsto V such that 2 adjacent vertices never receive the samecolor.

    a b

    c d e

    f g h

    13 / 50

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Exclusion

    Conclusion

    Outline

    1 IntroductionExponential Time AlgorithmsProblem Definitions

    2 Algorithm Design TechniquesDynamic Programming across SubsetsBranch & ReduceMemorizationTreewidthTreewidth combined with Branch & ReduceIterative CompressionInclusion-Exclusion

    3 Conclusion

    14 / 50

  • Exponential timealgorithms

    S. Gaspers

    IntroductionExponential TimeAlgorithms

    Problem Definitions

    Algorithm DesignTechniquesDynamic Programmingacross Subsets

    Branch & Reduce

    Memorization

    Treewidth

    Treewidth combinedwith Branch & Reduce

    Iterative Compression

    Inclusion-Ex

Recommended

View more >