1 The Arthur-Merlin Story
|
|
- Rhoda Hines
- 6 years ago
- Views:
Transcription
1 Comp 260: Advanced Algorithms Tufts University, Spring 2018 Prof. Lenore Cowen Scribe: Elias Marcopoulos Lecture 1a: Bipartite Perfect Matching 1 The Arthur-Merlin Story In the land ruled by the legendary King Arthur, there existed one hundred knights and one hundred tasks for the knights to complete. King Arthur proclaimed that all knights should complete exactly one task. He soon asked each of the knights to write down a list of which of the tasks they would be willing to complete, and then hand him their preferences. King Arthur took all of the knights preferences and went back to his castle. He called for his magician, the legendary Merlin, who had access to all the elves, fairies, and other mystical creatures. Arthur ordered Merlin to find a pairing of knights to tasks such that there would be a perfect matching of the one hundred knights to the one hundred tasks, so that each knight is matched to a task they find acceptable. Definition A bipartite graph is a graph consisting of two disjoint sets of nodes X and Y, and a set of edges connecting pairs of nodes (a, b), with a X and b Y. Definition A perfect matching (or perfect marriage) on a bipartite graph G = (X, Y, E) is a subset S E of the edges such that if (a, b) S then (a, c) S for any b c and (c, b) S for any c a. Soon enough, by way of magic, Merlin obtained a solution and handed the task assignment list to Arthur. Arthur, suspicious of Merlin s abilities, wanted to check that the claimed solution from Merlin was valid. To do so, he used the following algorithm: ArthursAlgorithm(): For each knight: Check that they are only matched to one task. Check that the task they are matched to is on their list. 1
2 Definition An algorithm is polynomial-time if its running time for an input of length n is O(n c ) for some constant c. ArthursAlgorithm() takes polynomial time in the number of knights and tasks, since for each knight it takes at most O(n) time to check the tasks and that they have only one task assigned to them. If there are O(n) knights, then it takes O(n 2 ) total time. Now suppose that Merlin was not so lucky. When handed the knights preference lists, he was not able to find a perfect matching despite utilizing the powers of fairies, elves, creatures, and the clouds, since no perfect matching existed that would suit the knights. Returning to Arthur, Merlin explained his situation, but Arthur was unbelieving: Merlin, you must find a way to match these knights and tasks. If you cannot find a matching, then you shall lose your head. Merlin offered to bring in all the work that his creatures had done. Each creature worked on a different possible assignment of knights to tasks and each creature found that either a knight was assigned to a task they found unacceptable, that multiple knights were assigned to the same task, or that some knights were not assigned a task. This was way too much work for Arthur to check, though! Arthur told Merlin that if he can show proof that there exists no matching to Arthur that can be verified in polynomial-time, he would not lose his head. 1.1 The Decision Problem The decision question solved by Merlin in the story is: Given a bipartite graph with n knights and n tasks does there exist a perfect matching? We can use ArthursAlgorithm() to verify a proposed solution in polynomialtime. If a given solution is verified as valid, then the graph contains a perfect matching, answering the decision problem above. Thus we have shown that bipartite perfect matching is in NP: Definition NP is the set of problems for which Merlin can present a proof to Arthur that the solution is yes, such that Arthur can verify the proof in polynomial-time. Note that the above definition is equivalent to the definition of NP given 2
3 in Comp 170 involving using nondeterministic Turing machines to solve a problem in polynomial-time. Also note that there is an asymmetry between yes instances and no instances. Using ArthursAlgorithm(), a proposed solution that is invalid does not mean there does not exist a solution, meaning the answer to the decision problem is not necessarily no. If an algorithm van verify no instances in polynomial time, then the corresponding problem is said to be in conp. So saving Merlin s head involves proving that perfect matching is in conp. For some problems, Arthur does not need Merlin: he can solve the problem himself in polynomial-time. Definition P is the set of problems Arthur can solve in polynomialtime (i.e. can do without Merlin). Arthur, who is hesitant to pay a wizard s salary and subsidize the fairies, elves, creatures, and other expenses, asks what sort of problems he can pass off to Merlin to solve and which he can still verify the solutions to in polynomial-time. Arthur sometimes dreams of not needing Merlin at all in order to keep the kingdom s amassed gold, and thinks maybe the problems which he can verify in polynomial-time he can also solve himself in polynomial-time without magic. If Arthur s dream came true, then P = N P. On the other hand, if there exists some problem that is in NP but that Arthur cannot solve on his own in polynomial-time then P NP. The P = NP? question is a famous open problem that has remained unsolved for over 50 years. All we do know is that there is a specific set of problems, called the NP-Hard problems, that if we succeed in constructing a polynomial time algorithm for one of these problems implies Arthur can solve all NP problems by himself. Definition A problem X is NP-Hard if X P P = NP. Definition A problem X is NP-Complete if BOTH X NP and X is NP-Hard. While there is no proof that P NP, we suspect that this is true. Therefore, we suspect there exists no polynomial-time solver for the NP- Hard problems, and that Arthur needs Merlin for these problems. 3
4 1.2 Saving Merlin s Head Merlin s head will be saved if he can give Arthur a proof that no perfect matching exists. Given the above definitions, we can see why Merlin will have trouble proving to Arthur that there exists no perfect matching between tasks and knights. Showing there is a perfect matching is easily verifiable, but showing there isn t a perfect matching is not necessarily simple. Merlin, in the worst case, would need to compile all of the different possible task assignments and show for each one that it does not satisfy all of the knights preferences. Since there are O(n!) ways to rearrange tasks, this would take Arthur much longer than polynomial-time to verify. Therefore Merlin will need to be clever to come up with a more efficient method of proof. Definition Co-NP is the set of problems for which Merlin can present a proof to Arthur that the solution is no, such that Arthur can verify the proof in polynomial-time. We show that such a proof is possible by presenting a characterization of when perfect matchings are possible. This characterization, called Hall s Theorem, allows the construction of proofs that Arthur can verify. Definition For any set S of vertices in G, the neighbor set of G is all vertices adjacent to vertices in S, written N G (S). Definition A vertex is called saturated if it is matched and unsaturated otherwise. Theorem (Hall s Theorem). Let G be a bipartite graph with bipartition (X, Y ). Then G contains a matching that saturates all the vertices of X if and only if N G (S) S for all S X. Proof. One direction is obvious. Clearly if there is a set of k knights who only like k-1 tasks between them, there can be no task assignment. For the other direction, we must show that if G contains no matching that assigns tasks to all the knights then there must exist a set S of knights such that S N G (S). We prove this now by contradiction. 4
5 Suppose G is a bipartite graph such that N G (S) S for all S X, but G contains no matching saturating all the vertices in X. Let M be a maximum-cardinality matching in G, and let u X be unmatched in M. Definition An alternating path is a path of edges such that exactly every other edge is contained in M. Definition An augmenting path is an alternating path in which the first and last edges are unmatched. The matching size can be increased by one by swapping all the edges of an augmenting path from matched to unmatched and vice versa. Let S X be the set of all vertices reached by alternating paths from u. Let T = N G (S). Claim M matches T perfectly with S \ {u}. The alternating paths reach Y along edges not in M and reach u along the edges in M. In other words, every vertex of S \ {u} is reached along an edge in M from a vertex in T, so S \ {u} is all matched. But T is matched too, because if there was an unsaturated vertex in T, we would have an alternating path from u to the vertex, contradicting the maximality. When the number of knights is equal to the number of tasks, as in our story, then a matching that matches all the knights must automatically match all the tasks. Thus we get the following corollary to Hall s theorem: Corollary (Hall s Theorem: Perfect matching). Let G be a bipartite graph with bipartition (X, Y ) and X = Y. Then G contains a perfect matching if and only if N G (S) S for all S X. Because Hall s Theorem contains states only if, it implies that if no perfect matching exists for n knights and n tasks then Merlin can exhibit a set of k knights that between them only like j knights where j < k n. This set of k knights can be shown to only like j tasks in polynomial-time, and thus Arthur can verify Merlin s no. This means that Bipartite Perfect Matching P conp, and so Merlin s head is saved. It turns out, however, that Bipartite Perfect Matching is in P, which is not too hard to show. This means that to match knights to tasks, Arthur doesn t need Merlin s magic at all. We present the algorithm below: 5
6 Theorem There exists a polynomial time algorithm to find a perfect matching. Proof. By construction. We present an algorithm in this section which is based on the proof of Hall s Theorem. The Augmenting Path Algorithm Input: A bipartite graph G = (X, Y, E) with a partition of X (knights) and Y (tasks), and a matching M with k edges in G. Output: A matching M with at least one more edge than M or a proof that G violates Hall s condition [?]. The Algorithm: Let u U be any unmatched vertex in X. Grow a BFS tree from u U. Consider only unmatched edges from X to Y and only matched edges from Y to X. If an augmenting path is found, create a new matching M by swapping the matched/unmatched edges along this path and output M. If no augmenting path is found, then output S, N G (S). Since no augmenting path is found, T = S \ {u} and thus N G (S) < S. Time complexity: In each step we add one more edge. We need n edges for the final matching and therefore there are n steps. In each step a BFS tree is created. Each vertex and edge is visited once. Therefore the total time complexity is O(n(n + n 2 )) = O(n 3 ). In fact, since then new algorithms have been discovered that are more efficient. We may cover these later in the semester. So Merlin s head is saved! And not only is he saved, but he also can tell Arthur to figure out the task assignments himself next time, as doing so doesn t require any magic at all. In fact, there are quite a number of variations on the perfect matching problems. We considered only the case that we have tasks who are okay with some tasks and not with others. Imagine we gave weightings to these preferences. Imagine some tasks are better suited for certain knights, so that they have a preference for certain knights making the problem go both ways. These additions change the problem in a significant way, and have many 6
7 applications in real life such as giving puppies and pet owners a mutually acceptable arrangement. In the next section we will consider a different kind of matching for hospitals and residents. References [1] P. Hall, On representations of distinct subsets Journal of the London Math. Society, Vol 10(26-30),
Lecture 4: An FPTAS for Knapsack, and K-Center
Comp 260: Advanced Algorithms Tufts University, Spring 2016 Prof. Lenore Cowen Scribe: Eric Bailey Lecture 4: An FPTAS for Knapsack, and K-Center 1 Introduction Definition 1.0.1. The Knapsack problem (restated)
More information6.046 Recitation 11 Handout
6.046 Recitation 11 Handout May 2, 2008 1 Max Flow as a Linear Program As a reminder, a linear program is a problem that can be written as that of fulfilling an objective function and a set of constraints
More informationPolynomial-time Reductions
Polynomial-time Reductions Disclaimer: Many denitions in these slides should be taken as the intuitive meaning, as the precise meaning of some of the terms are hard to pin down without introducing the
More informationMa/CS 6b Class 3: Stable Matchings
Ma/CS 6b Class 3: Stable Matchings α p 5 p 12 p 15 q 1 q 7 q 12 By Adam Sheffer Reminder: Alternating Paths Let G = V 1 V 2, E be a bipartite graph, and let M be a matching of G. A path is alternating
More informationComputer Science & Engineering 423/823 Design and Analysis of Algorithms
Bipartite Matching Computer Science & Engineering 423/823 Design and s Lecture 07 (Chapter 26) Stephen Scott (Adapted from Vinodchandran N. Variyam) 1 / 36 Spring 2010 Bipartite Matching 2 / 36 Can use
More informationDesign and Analysis of Algorithms
Design and Analysis of Algorithms CSE 5311 Lecture 25 NP Completeness Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms 1 NP-Completeness Some
More informationMore on NP and Reductions
Indian Institute of Information Technology Design and Manufacturing, Kancheepuram Chennai 600 127, India An Autonomous Institute under MHRD, Govt of India http://www.iiitdm.ac.in COM 501 Advanced Data
More informationIntroduction to Complexity Theory
Introduction to Complexity Theory Read K & S Chapter 6. Most computational problems you will face your life are solvable (decidable). We have yet to address whether a problem is easy or hard. Complexity
More informationFriday Four Square! Today at 4:15PM, Outside Gates
P and NP Friday Four Square! Today at 4:15PM, Outside Gates Recap from Last Time Regular Languages DCFLs CFLs Efficiently Decidable Languages R Undecidable Languages Time Complexity A step of a Turing
More information1 Ordinary Load Balancing
Comp 260: Advanced Algorithms Prof. Lenore Cowen Tufts University, Spring 208 Scribe: Emily Davis Lecture 8: Scheduling Ordinary Load Balancing Suppose we have a set of jobs each with their own finite
More informationDuality of LPs and Applications
Lecture 6 Duality of LPs and Applications Last lecture we introduced duality of linear programs. We saw how to form duals, and proved both the weak and strong duality theorems. In this lecture we will
More informationCSC2556. Lecture 5. Matching - Stable Matching - Kidney Exchange [Slides : Ariel D. Procaccia]
CSC2556 Lecture 5 Matching - Stable Matching - Kidney Exchange [Slides : Ariel D. Procaccia] CSC2556 - Nisarg Shah 1 Announcements The assignment is up! It is complete, and no more questions will be added.
More information1.1 P, NP, and NP-complete
CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Introduction to NP-complete Problems Date: 11/01/2008 Lecturer: Lap Chi Lau Scribe: Jerry Jilin Le This lecture gives a general introduction
More informationComputational Complexity
p. 1/24 Computational Complexity The most sharp distinction in the theory of computation is between computable and noncomputable functions; that is, between possible and impossible. From the example of
More informationEssential facts about NP-completeness:
CMPSCI611: NP Completeness Lecture 17 Essential facts about NP-completeness: Any NP-complete problem can be solved by a simple, but exponentially slow algorithm. We don t have polynomial-time solutions
More informationClass Note #20. In today s class, the following four concepts were introduced: decision
Class Note #20 Date: 03/29/2006 [Overall Information] In today s class, the following four concepts were introduced: decision version of a problem, formal language, P and NP. We also discussed the relationship
More informationComputability Theory
CS:4330 Theory of Computation Spring 2018 Computability Theory The class NP Haniel Barbosa Readings for this lecture Chapter 7 of [Sipser 1996], 3rd edition. Section 7.3. Question Why are we unsuccessful
More informationLecture 2: Network Flows 1
Comp 260: Advanced Algorithms Tufts University, Spring 2011 Lecture by: Prof. Cowen Scribe: Saeed Majidi Lecture 2: Network Flows 1 A wide variety of problems, including the matching problems discussed
More informationCS 350 Algorithms and Complexity
1 CS 350 Algorithms and Complexity Fall 2015 Lecture 15: Limitations of Algorithmic Power Introduction to complexity theory Andrew P. Black Department of Computer Science Portland State University Lower
More informationMath 301: Matchings in Graphs
Math 301: Matchings in Graphs Mary Radcliffe 1 Definitions and Basics We begin by first recalling some basic definitions about matchings. A matching in a graph G is a set M = {e 1, e 2,..., e k } of edges
More information1 Review for Lecture 2 MaxFlow
Comp 260: Advanced Algorithms Tufts University, Spring 2009 Prof. Lenore Cowen Scribe: Wanyu Wang Lecture 13: Back to MaxFlow/Edmonds-Karp 1 Review for Lecture 2 MaxFlow A flow network showing flow and
More information1 The Knapsack Problem
Comp 260: Advanced Algorithms Prof. Lenore Cowen Tufts University, Spring 2018 Scribe: Tom Magerlein 1 Lecture 4: The Knapsack Problem 1 The Knapsack Problem Suppose we are trying to burgle someone s house.
More informationBipartite Matchings. Andreas Klappenecker
Bipartite Matchings Andreas Klappenecker Matching Number m(g) = number of edges in a maximally large matching. Why is m(g) < 4? m(g) = W iff A
More information1 Matchings in Non-Bipartite Graphs
CS 598CSC: Combinatorial Optimization Lecture date: Feb 9, 010 Instructor: Chandra Chekuri Scribe: Matthew Yancey 1 Matchings in Non-Bipartite Graphs We discuss matching in general undirected graphs. Given
More informationNP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness
Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce
More informationLectures 6, 7 and part of 8
Lectures 6, 7 and part of 8 Uriel Feige April 26, May 3, May 10, 2015 1 Linear programming duality 1.1 The diet problem revisited Recall the diet problem from Lecture 1. There are n foods, m nutrients,
More informationComputer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms
Computer Science 385 Analysis of Algorithms Siena College Spring 2011 Topic Notes: Limitations of Algorithms We conclude with a discussion of the limitations of the power of algorithms. That is, what kinds
More informationNP-Completeness. Until now we have been designing algorithms for specific problems
NP-Completeness 1 Introduction Until now we have been designing algorithms for specific problems We have seen running times O(log n), O(n), O(n log n), O(n 2 ), O(n 3 )... We have also discussed lower
More informationCS 350 Algorithms and Complexity
CS 350 Algorithms and Complexity Winter 2019 Lecture 15: Limitations of Algorithmic Power Introduction to complexity theory Andrew P. Black Department of Computer Science Portland State University Lower
More information: Computational Complexity Lecture 3 ITCS, Tsinghua Univesity, Fall October 2007
80240233: Computational Complexity Lecture 3 ITCS, Tsinghua Univesity, Fall 2007 16 October 2007 Instructor: Andrej Bogdanov Notes by: Jialin Zhang and Pinyan Lu In this lecture, we introduce the complexity
More information- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs
LP-Duality ( Approximation Algorithms by V. Vazirani, Chapter 12) - Well-characterized problems, min-max relations, approximate certificates - LP problems in the standard form, primal and dual linear programs
More informationInstructor N.Sadagopan Scribe: P.Renjith
Indian Institute of Information Technology Design and Manufacturing, Kancheepuram Chennai 600 127, India An Autonomous Institute under MHRD, Govt of India http://www.iiitdm.ac.in COM 501 Advanced Data
More information6.080 / Great Ideas in Theoretical Computer Science Spring 2008
MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.
More informationInstructor N.Sadagopan Scribe: P.Renjith. Lecture- Complexity Class- P and NP
Indian Institute of Information Technology Design and Manufacturing, Kancheepuram Chennai 600 127, India An Autonomous Institute under MHRD, Govt of India http://www.iiitdm.ac.in COM 501 Advanced Data
More informationM-saturated M={ } M-unsaturated. Perfect Matching. Matchings
Matchings A matching M of a graph G = (V, E) is a set of edges, no two of which are incident to a common vertex. M-saturated M={ } M-unsaturated Perfect Matching 1 M-alternating path M not M M not M M
More informationNP-Completeness. Algorithmique Fall semester 2011/12
NP-Completeness Algorithmique Fall semester 2011/12 1 What is an Algorithm? We haven t really answered this question in this course. Informally, an algorithm is a step-by-step procedure for computing a
More informationBipartite Matchings and Stable Marriage
Bipartite Matchings and Stable Marriage Meghana Nasre Department of Computer Science and Engineering Indian Institute of Technology, Madras Faculty Development Program SSN College of Engineering, Chennai
More informationLecture 14 - P v.s. NP 1
CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) February 27, 2018 Lecture 14 - P v.s. NP 1 In this lecture we start Unit 3 on NP-hardness and approximation
More informationLimitations of Algorithm Power
Limitations of Algorithm Power Objectives We now move into the third and final major theme for this course. 1. Tools for analyzing algorithms. 2. Design strategies for designing algorithms. 3. Identifying
More informationClassical Complexity and Fixed-Parameter Tractability of Simultaneous Consecutive Ones Submatrix & Editing Problems
Classical Complexity and Fixed-Parameter Tractability of Simultaneous Consecutive Ones Submatrix & Editing Problems Rani M. R, Mohith Jagalmohanan, R. Subashini Binary matrices having simultaneous consecutive
More informationCOMP538: Introduction to Bayesian Networks
COMP538: Introduction to Bayesian Networks Lecture 9: Optimal Structure Learning Nevin L. Zhang lzhang@cse.ust.hk Department of Computer Science and Engineering Hong Kong University of Science and Technology
More information7.5 Bipartite Matching
7. Bipartite Matching Matching Matching. Input: undirected graph G = (V, E). M E is a matching if each node appears in at most edge in M. Max matching: find a max cardinality matching. Bipartite Matching
More information10.4 The Kruskal Katona theorem
104 The Krusal Katona theorem 141 Example 1013 (Maximum weight traveling salesman problem We are given a complete directed graph with non-negative weights on edges, and we must find a maximum weight Hamiltonian
More informationAn improved approximation algorithm for the stable marriage problem with one-sided ties
Noname manuscript No. (will be inserted by the editor) An improved approximation algorithm for the stable marriage problem with one-sided ties Chien-Chung Huang Telikepalli Kavitha Received: date / Accepted:
More informationNP-complete problems. CSE 101: Design and Analysis of Algorithms Lecture 20
NP-complete problems CSE 101: Design and Analysis of Algorithms Lecture 20 CSE 101: Design and analysis of algorithms NP-complete problems Reading: Chapter 8 Homework 7 is due today, 11:59 PM Tomorrow
More informationChapter 7 Matchings and r-factors
Chapter 7 Matchings and r-factors Section 7.0 Introduction Suppose you have your own company and you have several job openings to fill. Further, suppose you have several candidates to fill these jobs and
More informationFINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)
FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) The final exam will be on Thursday, May 12, from 8:00 10:00 am, at our regular class location (CSI 2117). It will be closed-book and closed-notes, except
More informationSummer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA.
Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA NP Completeness Susmita Sur-Kolay Advanced Computing and Microelectronics Unit
More information1. REPRESENTATIVE PROBLEMS
1. REPRESENTATIVE PROBLEMS stable matching five representative problems Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley Copyright 2013 Kevin Wayne http://www.cs.princeton.edu/~wayne/kleinberg-tardos
More informationTwo Applications of Maximum Flow
Two Applications of Maximum Flow The Bipartite Matching Problem a bipartite graph as a flow network maximum flow and maximum matching alternating paths perfect matchings 2 Circulation with Demands flows
More informationAnalysis of Algorithms. Unit 5 - Intractable Problems
Analysis of Algorithms Unit 5 - Intractable Problems 1 Intractable Problems Tractable Problems vs. Intractable Problems Polynomial Problems NP Problems NP Complete and NP Hard Problems 2 In this unit we
More informationComplexity Theory Part I
Complexity Theory Part I Problem Problem Set Set 77 due due right right now now using using a late late period period The Limits of Computability EQ TM EQ TM co-re R RE L D ADD L D HALT A TM HALT A TM
More information1 Reductions and Expressiveness
15-451/651: Design & Analysis of Algorithms November 3, 2015 Lecture #17 last changed: October 30, 2015 In the past few lectures we have looked at increasingly more expressive problems solvable using efficient
More informationP vs. NP. Data Structures and Algorithms CSE AU 1
P vs. NP Data Structures and Algorithms CSE 373-18AU 1 Goals for today Define P, NP, and NP-complete Explain the P vs. NP problem -why it s the biggest open problem in CS. -And what to do when a problem
More informationCSCE423/823. Introduction. Flow Networks. Ford-Fulkerson Method. Edmonds-Karp Algorithm. Maximum Bipartite Matching 2/35 CSCE423/823.
1/35 2pt 0em Computer Science & Engineering 423/823 Design and s Lecture 07 (Chapter 26) Stephen Scott (Adapted from Vinodchandran N. Variyam) 2/35 Can use a directed graph as a flow network to model:
More informationCMPSCI 611: Advanced Algorithms
CMPSCI 611: Advanced Algorithms Lecture 12: Network Flow Part II Andrew McGregor Last Compiled: December 14, 2017 1/26 Definitions Input: Directed Graph G = (V, E) Capacities C(u, v) > 0 for (u, v) E and
More informationCombinatorial Optimisation, Problems I, Solutions Term /2015
/0/205 Combinatorial Optimisation, Problems I, Solutions Term 2 204/205 Tomasz Tkocz, t (dot) tkocz (at) warwick (dot) ac (dot) uk 3. By Problem 2, any tree which is not a single vertex has at least 2
More informationLecture 2: Just married
COMP36111: Advanced Algorithms I Lecture 2: Just married Ian Pratt-Hartmann Room KB2.38: email: ipratt@cs.man.ac.uk 2017 18 Outline Matching Flow networks Third-year projects The stable marriage problem
More informationData Structures in Java
Data Structures in Java Lecture 21: Introduction to NP-Completeness 12/9/2015 Daniel Bauer Algorithms and Problem Solving Purpose of algorithms: find solutions to problems. Data Structures provide ways
More informationFinal Examination. Adrian Georgi Josh Karen Lee Min Nikos Tina. There are 12 problems totaling 150 points. Total time is 170 minutes.
Massachusetts Institute of Technology 6.042J/18.062J, Fall 02: Mathematics for Computer Science Prof. Albert Meyer and Dr. Radhika Nagpal Final Examination Your name: Circle the name of your Tutorial Instructor:
More informationIntroduction to Graph Theory
Introduction to Graph Theory George Voutsadakis 1 1 Mathematics and Computer Science Lake Superior State University LSSU Math 351 George Voutsadakis (LSSU) Introduction to Graph Theory August 2018 1 /
More informationComplexity and NP-completeness
Lecture 17 Complexity and NP-completeness Supplemental reading in CLRS: Chapter 34 As an engineer or computer scientist, it is important not only to be able to solve problems, but also to know which problems
More informationCSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010
CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010 Computational complexity studies the amount of resources necessary to perform given computations.
More informationGreat Theoretical Ideas in Computer Science
15-251 Great Theoretical Ideas in Computer Science Lecture 28: A Computational Lens on Proofs December 6th, 2016 Evolution of proof First there was GORM GORM = Good Old Regular Mathematics Pythagoras s
More informationIntroduction to Computational Complexity
Introduction to Computational Complexity Tandy Warnow October 30, 2018 CS 173, Introduction to Computational Complexity Tandy Warnow Overview Topics: Solving problems using oracles Proving the answer to
More informationNP Completeness and Approximation Algorithms
Winter School on Optimization Techniques December 15-20, 2016 Organized by ACMU, ISI and IEEE CEDA NP Completeness and Approximation Algorithms Susmita Sur-Kolay Advanced Computing and Microelectronic
More informationLecture 3: Reductions and Completeness
CS 710: Complexity Theory 9/13/2011 Lecture 3: Reductions and Completeness Instructor: Dieter van Melkebeek Scribe: Brian Nixon Last lecture we introduced the notion of a universal Turing machine for deterministic
More informationMatchings in Graphs. Definition 3 A matching N in G is said to be stable if it does not contain a blocking pair.
Matchings in Graphs Lecturer: Scribe: Prajakta Jose Mathew Meeting: 6 11th February 2010 We will be considering finite bipartite graphs. Think of one part of the vertex partition as representing men M,
More informationLecture 5. 1 Review (Pairwise Independence and Derandomization)
6.842 Randomness and Computation September 20, 2017 Lecture 5 Lecturer: Ronitt Rubinfeld Scribe: Tom Kolokotrones 1 Review (Pairwise Independence and Derandomization) As we discussed last time, we can
More informationNotes for Lecture Notes 2
Stanford University CS254: Computational Complexity Notes 2 Luca Trevisan January 11, 2012 Notes for Lecture Notes 2 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation
More information1 Computational problems
80240233: Computational Complexity Lecture 1 ITCS, Tsinghua Univesity, Fall 2007 9 October 2007 Instructor: Andrej Bogdanov Notes by: Andrej Bogdanov The aim of computational complexity theory is to study
More informationNP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015
CS 374: Algorithms & Models of Computation, Spring 2015 NP Completeness Lecture 23 November 19, 2015 Chandra & Lenny (UIUC) CS374 1 Spring 2015 1 / 37 Part I NP-Completeness Chandra & Lenny (UIUC) CS374
More information15-855: Intensive Intro to Complexity Theory Spring Lecture 7: The Permanent, Toda s Theorem, XXX
15-855: Intensive Intro to Complexity Theory Spring 2009 Lecture 7: The Permanent, Toda s Theorem, XXX 1 #P and Permanent Recall the class of counting problems, #P, introduced last lecture. It was introduced
More informationAutomated Solution of the Riddle of Dracula and Other Puzzles
Automated Solution of the Riddle of Dracula and Other Puzzles László Aszalós IRIT, Universite Paul Sabatier, 118 route de Narbonne F-31062 Toulouse Cedex 4, France, aszalos@irit.fr Abstract. The Door of
More informationLecture 4: NP and computational intractability
Chapter 4 Lecture 4: NP and computational intractability Listen to: Find the longest path, Daniel Barret What do we do today: polynomial time reduction NP, co-np and NP complete problems some examples
More information1. REPRESENTATIVE PROBLEMS
1. REPRESENTATIVE PROBLEMS stable matching five representative problems Special thanks to Kevin Wayne for sharing the slides Copyright 2005 Pearson-Addison Wesley Last updated on 15/9/12 下午 10:33 1. REPRESENTATIVE
More informationLecture 19: Finish NP-Completeness, conp and Friends
6.045 Lecture 19: Finish NP-Completeness, conp and Friends 1 Polynomial Time Reducibility f : Σ* Σ* is a polynomial time computable function if there is a poly-time Turing machine M that on every input
More information1 Perfect Matching and Matching Polytopes
CS 598CSC: Combinatorial Optimization Lecture date: /16/009 Instructor: Chandra Chekuri Scribe: Vivek Srikumar 1 Perfect Matching and Matching Polytopes Let G = (V, E be a graph. For a set E E, let χ E
More informationPart V. Intractable Problems
Part V Intractable Problems 507 Chapter 16 N P-Completeness Up to now, we have focused on developing efficient algorithms for solving problems. The word efficient is somewhat subjective, and the degree
More informationP = k T IME(n k ) Now, do all decidable languages belong to P? Let s consider a couple of languages:
CS 6505: Computability & Algorithms Lecture Notes for Week 5, Feb 8-12 P, NP, PSPACE, and PH A deterministic TM is said to be in SP ACE (s (n)) if it uses space O (s (n)) on inputs of length n. Additionally,
More informationUNIT-VIII COMPUTABILITY THEORY
CONTEXT SENSITIVE LANGUAGE UNIT-VIII COMPUTABILITY THEORY A Context Sensitive Grammar is a 4-tuple, G = (N, Σ P, S) where: N Set of non terminal symbols Σ Set of terminal symbols S Start symbol of the
More informationPreliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}
Preliminaries Graphs G = (V, E), V : set of vertices E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) 1 2 3 5 4 V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} 1 Directed Graph (Digraph)
More informationTheory of Computer Science to Msc Students, Spring Lecture 2
Theory of Computer Science to Msc Students, Spring 2007 Lecture 2 Lecturer: Dorit Aharonov Scribe: Bar Shalem and Amitai Gilad Revised: Shahar Dobzinski, March 2007 1 BPP and NP The theory of computer
More informationMaximum flow problem
Maximum flow problem 7000 Network flows Network Directed graph G = (V, E) Source node s V, sink node t V Edge capacities: cap : E R 0 Flow: f : E R 0 satisfying 1. Flow conservation constraints e:target(e)=v
More informationLecture 24: Approximate Counting
CS 710: Complexity Theory 12/1/2011 Lecture 24: Approximate Counting Instructor: Dieter van Melkebeek Scribe: David Guild and Gautam Prakriya Last time we introduced counting problems and defined the class
More informationLecture Notes: The Halting Problem; Reductions
Lecture Notes: The Halting Problem; Reductions COMS W3261 Columbia University 20 Mar 2012 1 Review Key point. Turing machines can be encoded as strings, and other Turing machines can read those strings
More information6.045: Automata, Computability, and Complexity (GITCS) Class 15 Nancy Lynch
6.045: Automata, Computability, and Complexity (GITCS) Class 15 Nancy Lynch Today: More Complexity Theory Polynomial-time reducibility, NP-completeness, and the Satisfiability (SAT) problem Topics: Introduction
More information1 Maximum Budgeted Allocation
CS 369P: Polyhedral techniques in combinatorial optimization Instructor: Jan Vondrák Lecture date: November 4, 2010 Scribe: David Tobin 1 Maximum Budgeted Allocation Agents Items Given: n agents and m
More informationAdvanced topic: Space complexity
Advanced topic: Space complexity CSCI 3130 Formal Languages and Automata Theory Siu On CHAN Chinese University of Hong Kong Fall 2016 1/28 Review: time complexity We have looked at how long it takes to
More informationLecture 24: How to become Famous with P and NP
Lecture 4: How to become Famous with P and NP Agenda for today s class: The complexity class P The complexity class NP NP-completeness The P =? NP problem Major extra-credit problem (due: whenever) Fun
More informationprinceton univ. F 17 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming
princeton univ. F 17 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Matt Weinberg Scribe: Sanjeev Arora One of the running themes in this course is
More informationMa/CS 6b Class 3: Stable Matchings
Ma/CS 6b Class 3: Stable Matchings α p 5 p 12 p 15 q 1 q 7 q 12 β By Adam Sheffer Neighbor Sets Let G = V 1 V 2, E be a bipartite graph. For any vertex a V 1, we define the neighbor set of a as N a = u
More informationAlgorithms and Data Structures 2016 Week 5 solutions (Tues 9th - Fri 12th February)
Algorithms and Data Structures 016 Week 5 solutions (Tues 9th - Fri 1th February) 1. Draw the decision tree (under the assumption of all-distinct inputs) Quicksort for n = 3. answer: (of course you should
More informationSome Complexity Problems on Single Input Double Output Controllers
Some Complexity Problems on Single Input Double Output Controllers K. M. Hangos 1 Zs. Tuza 1,2, A. Yeo 3 1 Computer and Automation Institute, Hungarian Academy of Sciences, H-1111 Budapest, Kende u. 13
More informationCSCE 750 Final Exam Answer Key Wednesday December 7, 2005
CSCE 750 Final Exam Answer Key Wednesday December 7, 2005 Do all problems. Put your answers on blank paper or in a test booklet. There are 00 points total in the exam. You have 80 minutes. Please note
More informationK-center Hardness and Max-Coverage (Greedy)
IOE 691: Approximation Algorithms Date: 01/11/2017 Lecture Notes: -center Hardness and Max-Coverage (Greedy) Instructor: Viswanath Nagarajan Scribe: Sentao Miao 1 Overview In this lecture, we will talk
More informationRecall: Matchings. Examples. K n,m, K n, Petersen graph, Q k ; graphs without perfect matching
Recall: Matchings A matching is a set of (non-loop) edges with no shared endpoints. The vertices incident to an edge of a matching M are saturated by M, the others are unsaturated. A perfect matching of
More information(x 1 +x 2 )(x 1 x 2 )+(x 2 +x 3 )(x 2 x 3 )+(x 3 +x 1 )(x 3 x 1 ).
CMPSCI611: Verifying Polynomial Identities Lecture 13 Here is a problem that has a polynomial-time randomized solution, but so far no poly-time deterministic solution. Let F be any field and let Q(x 1,...,
More informationComplexity Theory Part II
Complexity Theory Part II Time Complexity The time complexity of a TM M is a function denoting the worst-case number of steps M takes on any input of length n. By convention, n denotes the length of the
More information