The Evolution of a Hard Graph Theory Problem – Secure Sets Ron Dutton Computer Science University of Central Florida 1.

Slides:



Advertisements
Similar presentations
NP-Hard Nattee Niparnan.
Advertisements

Lecture 23. Subset Sum is NPC
 2004 SDU Lecture17-P,NP, NPC.  2004 SDU 2 1.Decision problem and language decision problem decision problem and language 2.P and NP Definitions of.
1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
NP-Completeness: Reductions
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
The Theory of NP-Completeness
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Complexity ©D Moshkovitz 1 Approximation Algorithms Is Close Enough Good Enough?
Having Proofs for Incorrectness
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Complexity 11-1 Complexity Andrei Bulatov NP-Completeness.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
Computational problems, algorithms, runtime, hardness
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Definition of complexity class NP –Nondeterministic computation –Problems.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
The Theory of NP-Completeness
NP-Complete Problems Problems in Computer Science are classified into
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
NP-complete and NP-hard problems
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
Analysis of Algorithms CS 477/677
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
Toward NP-Completeness: Introduction Almost all the algorithms we studies so far were bounded by some polynomial in the size of the input, so we call them.
Clique Cover Cook’s Theorem 3SAT and Independent Set
Ref: Pfleeger96, Ch.31 NP-Complete Problems Reference: Pfleeger, Charles P., Security in Computing, 2nd Edition, Prentice Hall, 1996.
1 The Theory of NP-Completeness 2 NP P NPC NP: Non-deterministic Polynomial P: Polynomial NPC: Non-deterministic Polynomial Complete P=NP? X = P.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
MCS312: NP-completeness and Approximation Algorithms
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
MCS 312: NP Completeness and Approximation algorithms Instructor Neelima Gupta
Lecture 22 More NPC problems
NP-complete Problems SAT 3SAT Independent Set Hamiltonian Cycle
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
CS 461 – Nov. 30 Section 7.5 How to show a problem is NP-complete –Show it’s in NP. –Show that it corresponds to another problem already known to be NP-complete.
LIMITATIONS OF ALGORITHM POWER
CPS Computational problems, algorithms, runtime, hardness (a ridiculously brief introduction to theoretical computer science) Vincent Conitzer.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
NP-completeness NP-complete problems. Homework Vertex Cover Instance. A graph G and an integer k. Question. Is there a vertex cover of cardinality k?
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NPC.
CSC 413/513: Intro to Algorithms
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
COMPLEXITY. Satisfiability(SAT) problem Conjunctive normal form(CNF): Let S be a Boolean expression in CNF. That is, S is the product(and) of several.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
1 1. Which of these sequences correspond to Hamilton cycles in the graph? (a) (b) (c) (d) (e)
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
COMPLEXITY. Satisfiability(SAT) problem Conjunctive normal form(CNF): Let S be a Boolean expression in CNF. That is, S is the product(and) of several.
1 The Theory of NP-Completeness 2 Review: Finding lower bound by problem transformation Problem X reduces to problem Y (X  Y ) iff X can be solved by.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
P & NP.
Probabilistic Algorithms
NP-Completeness Yin Tat Lee
Computability and Complexity
ICS 353: Design and Analysis of Algorithms
NP-Complete Problems.
NP-Completeness Yin Tat Lee
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
Presentation transcript:

The Evolution of a Hard Graph Theory Problem – Secure Sets Ron Dutton Computer Science University of Central Florida 1

Many real world problems involve a collection of entities (e.g., individuals, businesses, or countries) that compete for each others resources. A group of these entities can reach mutual agreements, or pacts, to defend themselves against a common adversary. Often, we can model such problems as a graph to more easily study properties and algorithms related to these problems. 2

Throughout, assume G = (V, E) is a connected graph. For a set S  V, a vertex in N[S]–S  V–S can "attack" any one of it's neighbors in S, while a vertex in S can "defend" itself or any one of its neighbors in S. N[S]–S is sometimes called the "boundary" of S. 3

There are several ways we can define these sets. We will discuss two. Secure Sets and Defensive Alliances. 4

Defensive Alliances A set S  V is a defensive alliance when every vertex in S has, with itself, as many neighbors in the set as outside the set – Every vertex in the alliance can be "protected." Formally, Definition: S  V is a defensive alliance when |N[x]  S| ≥ |N[x]–S|, for every x  S. 5

Defensive alliances have been used to model a variety of real world applications and requires only that each individual vertex in a set S be defendable. The defensive alliance number, da(G), satisfies  (  (G)+1)/2  ≤ da(G) ≤  n/2 . 6

Secure Sets Any and all vertices in S can be attacked simultaneously. An attack on S is an assignment for each vertex in N[S]–S to attack exactly one of its neighbors in S. For a given attack, a defense by S is an assignment for each vertex in S to defend either itself or a neighbor in S. 7

For a given attack and defense, a single vertex v  S is defended if the number of defenders assigned to v is at least that of the number of attackers assigned to v. An attack is defendable if there is a defense in which all vertices of S are simultaneously defended. 8

Informally, a group (set) is secure when it can successfully defend itself against any possible take-over or attack. Definition: S  V is secure when all possible attacks by N[S]–S are defendable. 9

S = V is always secure. So, there is always a smallest secure set. The security number of G, s(G), is the number of vertices in a smallest secure set in G. 10

Every secure set is a defensive alliance. Therefore, da(G) ≤ s(G). But, not all defensive alliances are secure. There are graphs for which s(G) =  (n+1)/2  >  n/2  (one of the classes of Kneser Graphs)  (n+1)/2  has been conjectured to be an upper bound for s(G). 11

A graph theoretic characterization of secure sets: Theorem. S  V is secure if and only if |N[X]  S| ≥ |N[X]–S| for all X  S. 12

Determining whether a graph G has a defensive alliance with no more than k vertices has been shown to be NP–Complete. The similar problem for secure sets remains open and may not even be in the set NP. 13

To see what that means: The set NP is the set of Decision Problems whose Yes instances can – with a little help – be verified to be Yes instances in polynomial time. "Little Help"? Actually, a lot of help!! 14

Example: Clique Given a graph G and an integer k. Does G have a clique with at least k vertices? If the answer is Yes, then there is a set of k vertices that induce a complete subgraph. Suppose someone (??) GAVE you that set. Then we could verify it's correctness very easily (O(n 2 ) time at most). 15

That proves Clique is in NP. Similarly, Defensive Alliance can be shown to be in NP. But, how about SecureSet? 16

Suppose you have a YES instance of SecureSet and someone gave you the correct set of vertices. How can you, in polynomial time, check that they really are a Secure Set? We don't know!! The characterization theorem suggests that we must check all subsets of S. There are 2 k subsets that must be checked, and k can itself be O(n). 17

That does not mean SecureSet is NOT in NP. We may just not know what "help" is needed. But, it's pretty good evidence. So, what now? 18

SecureSet Problem Given: A graph G = (V, E) and an integer k. Question: Does G have a secure set S  V with |S| ≤ k? 19

IsSecure Given: A graph G = (V, E) and a set S  V. Question: Is S a secure set? {That is,  X  S is |N[X]  S| ≥ |N[X]–S|?} This problem doesn't seem to be in NP either!!! 20

IsNotSecure (Co–IsSecure) Given: A graph G = (V, E) and a set S  V. Question: Does there exist W  S such that |N[W]  S| < |N[W]–S|? 21

Theorem. IsNotSecure is in the set NP. Given a Yes instance and a set W  S that makes it a Yes instance, we can verify W is not a secure subset in polynomial time. That's enough, and proves the claim. 22

We now show IsNotSecure is NP–Complete We need to show IsNotSecure is as "hard" as some (any) known NP–Complete problem. That is, for some problem X in NP–Complete, design a polynomial time "conversion" algorithm that transforms any instance of X into an instance of IsNotSecure, which "preserves" Yes/No answers. 23

A known NP–Complete problem: Domination Given: A graph G = (V, E) and an integer k. Question: Is there a set D  V such that |D| ≤ k and N[D] = V? 24

Theorem. IsNotSecure is NP–Complete. Proof: Let G' = (V', E') and an integer k' be an arbitrary instance of Domination. We may assume 1 ≤ k' < n = |V'|, otherwise the conclusion is immediate. 25

Our task: Provide a way to convert an arbitrary instance I of Domination into an instance, p(I), of IsNotSecure in such a way that (1) I is a Yes instance (in Domination) if and only if p(I) is a Yes instance (in IsNotSecure), and (2) Do it in polynomial time. 26

1) Vertices: V = V'  X  Y, where – (i) X is an introduced set of n 2 vertices partitioned into sets A, B, and C so that |A| = n 2 –n–k'–1, B = {b 1, b 2, …, b n }, and |C| = k'+1, and – (ii) Y is an introduced set of n 2 vertices partitioned into n sets Y 1, Y 2, …, Y n where Y i = {y i,1, y i,2, …, y i,n }, for 1 ≤ i ≤ n. 27

2) Edges: E is defined by – (i) V' induces G', X induces a complete subgraph, and – (ii) for each vertex v t  V', v t is also adjacent to a) all vertices in A, b) b t  B, and c) for 1 ≤ i ≤ n, y i,j  V i, when v j  N G' [v t ] 3) Finally, let S = X  V'. 28

Vertices in A and C are unlabeled and there are no edges between vertices of Y. For any W  S, |N[W] – S| ≤ |V – S| = n 2 and, for every x  X, |N[x]  S| ≥ n 2. Therefore, if there exists a set W  S for which |N[W]  S| < |N[W]–S|, W cannot contain any vertex in X. Hence, candidate sets W must be subsets of V'. 29

When W  V', the number of vertices in the closed neighborhood of W in V – S is exactly |N[W]–S| = n|N[W]  V'| ≤ n 2, Equality holds if and only if W dominates G'. 30

Two cases to consider for the set W  V'. Case 1: W dominates V'. Then, |N[W]  S| = |A|+|V'|+|W| = n 2 –n–k'– 1+n+|W| = n 2 –k'–1+|W|. From the previous comments, |N[W]–S| = n 2. Therefore, |N[W]  S| < |N[W]–S| if and only if n 2 –k'–1+|W| < n 2, or |W| ≤ k'. 31

Case 2: W dominates n–t < n vertices of V'. Then, |N[W]  S| = |A|+n–t+|W| = n 2 –k'–1–t+|W|. Again, since |N[W]–S| = n(n–t) = n 2 –nt, |N[W]  S| < |N[W]–S| if and only if (n–1)t < k'+1–|W|. Since t ≥ 1 and |W| ≥ 1, we must have k' ≥ n, contradicting the assumption that k' < n. Thus, in this case, N[W]  S| ≥ |N[W]–S|. 32

Therefore, W  V' is a dominating set of G' and |W| ≤ k' if and only if, in the constructed graph G, |N[W]  S| < |N[W]–S|. Thus, IsNotSecure is NP–Complete. 33

It follows that IsSecure (the complement problem of IsNotSecure) is in Co–NP Complete. Therefore, if P ≠ NP, to verify a "yes" instance of SecureSet would seem to require an oracle to first determine the set S, and then a nondeterministic algorithm to verify that S is secure. 34

On the other hand, a quite different result holds when P = NP. Theorem. If P = NP, there is a deterministic polynomial algorithm for SecureSet. 35

Proof: When P = NP, then IsNotSecure and IsSecure are both in P. Thus, there would be a deterministic polynomial verifier for SecureSet and, hence, SecureSet would be in NP. But, if P = NP, and SecureSet is in NP, then SecureSet is in P. 36

4. References/Bibliography [1] Robert C. Brigham, Ronald D. Dutton, and Stephen T. Hedetniemi, Security in graphs, Discrete Applied Mathematics, 155 (2007), no. 13, pp [2] R. D. Dutton, R. Lee, and R. C. Brigham, Bounds on a graph's security number, Discrete Applied Mathematics 156 (2008), no. 5, pp [3] Ronald D. Dutton, On a graph's security number, Discrete Mathematics, 309 (2009), pp [4] Ronald Dutton, Secure set algorithms and complexity, Congressus Numerantium 180 (2006), pp [5 ] Rosa I. Enciso and Ronald D. Dutton, Parameterized complexity of secure sets, Congressus Numerantium 189 (2008), pp [6] M. Garey and D. Johnson, Computers and Intractability: the Theory of NP-Complete, (1979) W H. Freeman and Co. NY. [7] Yiu Yu Ho and Ronald Dutton, Rooted secure sets of trees, AKCE, J. Graphs Combin, 6, No. 3 (2009), pp [8] K. Kozawa, Y. Otachi, and K. Yamazaki, Security number of grid-like graphs, Discrete Applied Mathematics, 157 (2009), pp [9] P. Kristiansen, S. M. Hedetniemi, and, S. T. Hedetniemi, Alliances in graphs, J. Combin. Math. Combin. Comput. 48 (2004), pp [10] Khurram H. Shafique and R. D. Dutton, On satisfactory partitioning of graphs, Congressus Numerantium 154 (2002), pp