Presentation is loading. Please wait.

Presentation is loading. Please wait.

Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution.

Similar presentations

Presentation on theme: "Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution."— Presentation transcript:

1 Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution quality

2 Computational Complexity Problem: Avoid getting trapped in local minima Global optimum

3 Approximation Algorithms Idea: Some intractable problems can be efficiently approximated within close to optimal! Fast: Simple heuristics (e.g., greed) Provably-good approximations Slower: Branch-and-bound approaches Integer Linear Programming relaxation

4 Approximation Algorithms Wishful: Simulated annealing Genetic algorithms

5 Minimum Vertex Cover Minumum vertex cover problem: Given a graph, find a minimum set of vertices such that each edge is incident to at least one vertex of these vertices. Example: Applications: bioinformtics, communications, civil engineering, electrical engineering, etc. One of Karps original NP-complete problems Input graphHeuristic solutionOptimal solution

6 Minimum Vertex Cover Examples

7 Approximate Vertex Cover Theorem: The minimum vertex cover problem is NP- complete (even in planar graphs of max degree 3). Theorem: The minimum vertex cover problem can be solved exactly within exponential time n O(1) 2 O(n). Theorem: The minimum vertex cover problem can not be approximated within 1.36*OPT unless P=NP. Theorem: The minimum vertex cover problem can be approximated (in linear time) within 2*OPT. Idea: pick an edge, add its endpoints, and repeat.

8 Approximate Vertex Cover Algorithm: Linear time 2*OPT approximation for the minimum vertex cover problem: –Pick random edge (x,y) –Add {x,y} to the heuristic solution –Eliminate x and y from graph –Repeat until graph is empty Idea: one of {x,y} must be in any optimal solution. Heuristic solution is no worse than 2*OPT. x y Best approximation bound known for VC!

9 Maximum Cut Maximum cut problem: Given a graph, find a partition of the vertices maximizing the # of crossing edges. Example: Applications: VLSI circuit design, statistical physics, communication networks. One of Karps original NP-complete problems. AB C D E AB C D E Input graphHeuristic solutionOptimal solution AB C D E cut size = 2cut size = 4cut size = 5

10 Maximum Cut Theorem [Karp, 1972]: The minimum vertex cover problem is NP-complete. Theorem: The maximum cut problem can be solved in polynomial time for planar graphs. Theorem: The maximum cut problem can not be approximated within 17/16*OPT unless P=NP. Theorem: The maximum cut problem can be approximated in polynomial time within 2*OPT. Theorem: The maximum cut problem can be approximated in polynomial time within 1.14*OPT. =1.0625*OPT

11 Maximum Cut Algorithm: 2*OPT approximation for maximum cut: Start with an arbitrary node partition –If moving an arbitrary node across the partition will improve the cut, then do so –Repeat until no further improvement is possible Idea: final cut must contain at least half of all edges. Heuristic solution is no worse than 2*OPT. AB C D E Input graphHeuristic solutionOptimal solution cut size = 2cut size = 3 AB C D E AB C D E cut size = 5

12 Approximate Traveling Salesperson Analysis: Traveling salesperson problem: given a pointset, find shortest tour that visits every point exactly once. 2*OPT metric TSP heuristic: –Compute MST –T = Traverse MST –S = shortcut tour –Output S triangle inequality! TSP minus an edge is a spanning tree S < T= MST < OPT TSP2*2* 2*2* T covers minimum spanning tree twice

13 Non-Approximability NP transformations typically do not preserve the approximability of the problem! Some NP-complete problems can be approximated arbitrarily close to optimal in polynomial time. Theorem: Geometric TSP can be approximated in polynomial time within (1+ )*OPT for any >0. Other NP-complete problems can not be approximated within any constant in polynomial time (unless P=NP). Theorem: General TSP can not be approximated efficiently within K*OPT for any K>0 (unless P=NP).

14 Graph Isomorphism Definition: two graphs G 1 =(V 1,E 1 ) and G 2 =(V 2,E 2 ) are isomorphic iff bijection ƒ:V 1 V 2 such that v i,v j V 1 (v i,v j ) E 1 (ƒ(v i ),ƒ(v j )) E 2 Isomorphism edge-preserving vertex permutation Problem: are two given graphs isomorphic? Note: Graph isomorphism NP, but not known to be in P

15 Graph Isomorphism

16 Zero-Knowledge Proofs Idea: proving graph isomorphism without disclosing it! Premise: Everyone knows G 1 and G 2 but not must remain secret! Create random G G 1 Note: is () Broadcast G Verifier asks for or Broadcast or Verifier checks GG 1 or GG 2 Repeat k times Probability of cheating: 2 -k G1G1 G2G2 G Approximating a proof!

17 Zero-Knowledge Proofs Idea: prove graph 3-colorable without disclosing how! Premise: Everyone knows G 1 but not its 3-coloring χ which must remain secret! Create random G 2 G 1 Note: 3-coloring χ' (G 2 ) is ( χ (G 1 )) Broadcast G 2 Verifier asks for or χ' Broadcast or χ' Verifier checks G 1G 2 or χ' (G 2 ) Repeat k times Probability of cheating: 2 -k G1G1 G2G2 χ χ χ' Interactive proof!

18 Zero-Knowledge Caveats Requires a good random number generator Should not use the same graph twice Graphs must be large and complex enough χ Applications: Identification friend-or-foe (IFF) Cryptography Business transactions

19 Zero-Knowledge Proofs Idea: prove that a Boolean formula P is satisfiable without disclosing a satisfying assignment! Premise: Everyone knows P but not its secret satisfying assignment V ! Convert P into a graph 3-colorability instance G = ƒ (P) Publically broadcast ƒ and G Use zero-knowledge protocol to show that G is 3-colorable P is satisfiable iff G is 3-colorable P is satisfiable with probability 1-2 -k P = (x+y+z)(x'+y'+z)(x'+y+z') ƒ G = Interactive proof!

20 Interactive Proof Systems Prover has unbounded power and may be malicious Verifier is honest and has limited power Completeness: If a statement is true, an honest verifier will be convinced (with high prob) by an honest prover. Soundness: If a statement is false, even an omnipotent malicious prover can not convince an honest verifier that the statement is true (except with a very low probability). The induced complexity class depends on the verifiers abilities and computational resources: Theorem: For a deterministic P-time verifier, class is NP. Def: For a probabilistic P-time verifier, induced class is IP. Theorem [Shamir, 1992]: IP = PSPACE

21 1.2-SAT 2.2-Way automata 3.3-colorability 4.3-SAT 5.Abstract complexity 6.Acceptance 7.Ada Lovelace 8.Algebraic numbers 9.Algorithms 10.Algorithms as strings 11.Alice in Wonderland 12.Alphabets 13.Alternation 14.Ambiguity 15.Ambiguous grammars 16.Analog computing 17.Anisohedral tilings 18.Aperiodic tilings 19.Approximate min cut 20.Approximate TSP Concepts, Techniques, Idea & Proofs 21.Approximate vertex cover 22.Approximations 23.Artificial intelligence 24.Asimovs laws of robotics 25.Asymptotics 26.Automatic theorem proving 27.Autonomous vehicles 28.Axiom of choice 29.Axiomatic method 30.Axiomatic system 31.Babbages analytical engine 32.Babbages difference engine 33.Bin packing 34.Binary vs. unary 35.Bletchley Park 36.Bloom axioms 37.Boolean algebra 38.Boolean functions 39.Bridges of Konigsberg 40.Brute fore 41.Busy beaver problem 42.C programs 43.Canonical order 44.Cantor dust 45.Cantor set 46.Cantors paradox 47.CAPCHA 48.Cardinality arguments 49.Cartesian coordinates 50.Cellular automata 51.Chaos 52.Chatterbots 53.Chess-playing programs 54.Chinese room 55.Chomsky hierarchy 56.Chomsky normal form 57.Chomskyan linguistics 58.Christofides heuristic 59.Church-Turing thesis 60.Clay Mathematics Institute

22 61.Clique problem 62.Cloaking devices 63.Closure properties 64.Cogito ergo sum 65.Colorings 66.Commutativity 67.Complementation 68.Completeness 69.Complexity classes 70.Complexity gaps 71.Complexity Zoo 72.Compositions 73.Compound pendulums 74.Compressibility 75.Computable functions 76.Computable numbers 77.Computation and physics 78.Computation models 79.Computational complexity Concepts, Techniques, Ideas & Proofs 80.Computational universality 81.Computer viruses 82.Concatenation 83.Co-NP 84.Consciousness and sentience 85.Consistency of axioms 86.Constructions 87.Context free grammars 88.Context free languages 89.Context sensitive grammars 90.Context sensitive languages 91.Continuity 92.Continuum hypothesis 93.Contradiction 94.Contrapositive 95.Cooks theorem 96.Countability 97.Counter automata 98.Counter example 99.Cross- product 100.Crossing sequences 101.Cross-product construction 102.Cryptography 103.DARPA Grand Challenge 104.DARPA Math Challenges 105.De Morgans law 106.Decidability 107.Deciders vs. recognizers 108.Decimal number system 109.Decision vs. optimization 110.Dedekind cut 111.Denseness of hierarchies 112.Derivations 113.Descriptive complexity 114.Diagonalization 115.Digital circuits 116.Diophantine equations 117.Disorder 118.DNA computing 119.Domains and ranges

23 120.Dovetailing 121.DSPACE 122.DTIME 123.EDVAC 124.Elegance in proof 125.Encodings 126.Enigma cipher 127.Entropy 128.Enumeration 129.Epsilon transitions 130.Equivalence relation 131.Euclids Elements 132.Euclids axioms 133.Euclidean geometry 134.Eulers formula 135.Eulers identity 136.Eulerian tour 137.Existence proofs 138.Exoskeletons 139.Exponential growth Concepts, Techniques, Ideas & Proofs 140.Exponentiation 141.EXPSPACE 142.EXPSPACE 143.EXPSPACE complete 144.EXPTIME 145.EXPTIME complete 146.Extended Chomsky hierarchy 147.Fermats last theorem 148.Fibonacci numbers 149.Final states 150.Finite automata 151.Finite automata minimization 152.Fixed-point theorem 153.Formal languages 154.Formalizations 155.Four color problem 156.Fractal art 157.Fractals 158.Functional programming 159.Fundamental thm of Algebra 160.Fundamental thm of Arith. 161.Gadget-based proofs 162.Game of life 163.Game theory 164.Game trees 165.Gap theorems 166.Garey & Johnson 167.General grammars 168.Generalized colorability 169.Generalized finite automata 170.Generalized numbers 171.Generalized venn diagrams 172.Generative grammars 173.Genetic algorithms 174.Geometric / picture proofs 175.Godel numbering 176.Godels theorem 177.Goldbachs conjecture 178.Golden ratio 179.Grammar equivalence

24 180.Grammars 181.Grammars as computers 182.Graph cliques 183.Graph colorability 184.Graph isomorphism 185.Graph theory 186.Graphs 187.Graphs as relations 188.Gravitational systems 189.Greibach normal form 190.Grey goo 191.Guess-and-verify 192.Halting problem 193.Hamiltonian cycle 194.Hardness 195.Heuristics 196.Hierarchy theorems 197.Hilberts 23 problems 198.Hilberts program 199.Hilberts tenth problem Concepts, Techniques, Ideas & Proofs 200.Historical perspectives 201.Household robots 202.Hung state 203.Hydraulic computers 204.Hyper computation 205.Hyperbolic geometry 206.Hypernumbers 207.Identities 208.Immermans Theorem 209.Incompleteness 210.Incompressibility 211.Independence of axioms 212.Independent set problem 213.Induction & its drawbacks 214.Infinite hotels & applications 215.Infinite loops 216.Infinity hierarchy 217.Information theory 218.Inherent ambiguity 219.Initial state 220.Intelligence and mind 221.Interactive proofs 222.Intractability 223.Irrational numbers 224.JFLAP 225.Karps paper 226.Kissing number 227.Kleene closure 228.Knapsack problem 229.Lambda calculus 230.Language equivalence 231.Law of accelerating returns 232.Law of the excluded middle 233.Lego computers 234.Lexicographic order 235.Linear-bounded automata 236.Local minima 237.LOGSPACE 238.Low-deg graph colorability 239.Machine enhancements

25 240.Machine equivalence 241.Mandelbrot set 242.Manhattan project 243.Many-one reduction 244.Matiyasevichs theorem 245.Mechanical calculator 246.Mechanical computers 247.Memes 248.Mental poker 249.Meta-mathematics 250.Millennium Prize 251.Minimal grammars 252.Minimum cut 253.Modeling 254.Multiple heads 255.Multiple tapes 256.Mu-recursive functions 257.MAD policy 258.Nanotechnology 259.Natural languages Concepts, Techniques, Ideas & Proofs 260.Navier-Stokes equations 261.Neural networks 262.Newtonian mechanics 263.NLOGSPACE 264.Non-approximability 265.Non-closures 266.Non-determinism 267.Non-Euclidean geometry 268.Non-existence proofs 269.NP 270.NP completeness 271.NP-hard 272.NSPACE 273.NTIME 274.Occams razor 275.Octonions 276.One-to-one correspondence 277.Open problems 278.Oracles 279.P completeness 280.P vs. NP 281.Parallel postulate 282.Parallel simulation 283.Dovetailing simulation 284.Parallelism 285.Parity 286.Parsing 287.Partition problem 288.Paths in graphs 289.Peano arithmetic 290.Penrose tilings 291.Physics analogies 292.Pi formulas 293.Pigeon-hole principle 294.Pilotless planes 295.Pinwheel tilings 296.Planar graph colorability 297.Planarity testing 298.Polyas How to Solve It 299.Polyhedral dissections

26 300.Polynomial hierarchy 301.Polynomial-time 302.P-time reductions 303.Positional # system 304.Power sets 305.Powerset construction 306.Predicate calculus 307.Predicate logic 308.Prime numbers 309.Principia Mathematica 310.Probabilistic TMs 311.Proof theory 312.Propositional logic 313.PSPACE 314.PSPACE completeness 315.Public-key cryptography 316.Pumping theorems 317.Pushdown automata 318.Puzzle solvers 319.Pythagorean theorem Concepts, Techniques, Ideas & Proofs 320.Quantifiers 321.Quantum computing 322.Quantum mechanics 323.Quaternions 324.Queue automata 325.Quine 326.Ramanujan identities 327.Ramsey theory 328.Randomness 329.Rational numbers 330.Real numbers 331.Reality surpassing Sci-Fi 332.Recognition and enumeration 333.Recursion theorem 334.Recursive function theory 335.Recursive functions 336.Reducibilities 337.Reductions 338.Regular expressions 339.Regular languages 340.Rejection 341.Relations 342.Relativity theory 343.Relativization 344.Resource-bounded comput. 345.Respect for the definitions 346.Reusability of space 347.Reversal 348.Reverse Turing test 349.Rices Theorem 350.Riemann hypothesis 351.Riemanns zeta function 352.Robots in fiction 353.Robustness of P and NP 354.Russells paradox 355.Satisfiability 356.Savitchs theorem 357.Schmitt-Conway biprism 358.Scientific method 359.Sedenions

27 360.Self compilation 361.Self reproduction 362.Set cover problem 363.Set difference 364.Set identities 365.Set theory 366.Shannon limit 367.Sieve of Eratosthenes 368.Simulated annealing 369.Simulation 370.Skepticism 371.Soundness 372.Space filling polyhedra 373.Space hierarchy 374.Spanning trees 375.Speedup theorems 376.Sphere packing 377.Spherical geometry 378.Standard model 379.State minimization Concepts, Techniques, Ideas & Proofs 380.Steiner tree 381.Stirlings formula 382.Stored progam 383.String theory 384.Strings 385.Strong AI hypothesis 386.Superposition 387.Super-states 388.Surcomplex numbers 389.Surreal numbers 390.Symbolic logic 391.Symmetric closure 392.Symmetric venn diagrams 393.Technological singularity 394.Theory-reality chasms 395.Thermodynamics 396.Time hierarchy 397.Time/space tradeoff 398.Tinker Toy computers 399.Tractability 400.Tradeoffs 401.Transcendental numbers 402.Transfinite arithmetic 403.Transformations 404.Transition function 405.Transitive closure 406.Transitivity 407.Traveling salesperson 408.Triangle inequality 409.Turbulance 410.Turing complete 411.Turing degrees 412.Turing jump 413.Turing machines 414.Turing recognizable 415.Turing reduction 416.Turing test 417.Two-way automata 418.Type errors 419.Uncomputability

28 420.Uncomputable functions 421.Uncomputable numbers 422.Uncountability 423.Undecidability 424.Universal Turing machine 425.Venn diagrams 426.Vertex cover 427.Von Neumann architecture 428.Von Neumann bottleneck 429.Wang tiles & cubes 430.Zero-knowledge protocols. Concepts, Techniques, Ideas & Proofs Make everything as simple as possible, but not simpler. - Albert Einstein ( )

Download ppt "Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution."

Similar presentations

Ads by Google