NP-Complete Graph Problems

NP-Complete Graph Problems

NP-Complete Graph Problems James Rhodes Introduction An independent set of a graph is a set of vertices no two of which are adjacent A clique is a complete subgraph CLIQUE = { (G,k) | G is an undirected graph with a k-clique } (G,k) ∈ CLIQUE implies that (G,k-1) ∈ CLIQUE, for k ≥ 1 A vertex cover is a set of vertices S such that each edge of a graph is incident to at least one vertex in S A set is independent if and only if it is a clique in the graph’s complement, so the two concepts are complementary If u and v are neighbors in G they are not neighbors in the complement of G A set is independent if and only if its complement is a vertex cover, so the sum of the size of the largest independent set and the size of a minimum vertex cover is equal to the number of vertices in the graph Relationship Relationship Relationship Relationship Applications The clique problem arises in the following real-world setting. Consider a social network, where the graph's vertices represent people, and the graph's edges represent mutual acquaintance. Then a clique represents a subset of people who all know each other, and algorithms for finding cliques can be used to discover these groups of mutual friends. Along with its applications in social networks, the clique problem also has many applications in bioinformatics and computational chemistry Decision Problems Does a graph G have an independent set >= k Does a graph G have a clique >= k Does a graph G have a vertex cover <= k A set of vertices S of G is maximal if it is not a proper subset of another set of vertices of G that meets the desired requirements A set of vertices S of G is minimal if there does not exist a vertex v such that the set of vertices S \ {v} of G meets the desired requirements Approximation Algorithm Most versions of the clique problem are hard. The problem of finding the maximum clique is both fixed-parameter intractable and hard to approximate. And, listing all maximal cliques may require exponential time as there exist graphs with exponentially many maximal cliques. To find a maximum clique, one can systematically inspect all subsets, but this sort of brute-force search is too time-consuming to be practical for networks comprising more than a few dozen vertices. Although no polynomial time algorithm is known for this problem, more efficient algorithms than the brute-force search are known. For instance, the Bron–Kerbosch algorithm can be used to list all maximal cliques in worst-case optimal time, and it is also possible to list them in polynomial time per clique. After many improvements to these results it is now known that, for every real number ε > 0, there can be no polynomial time algorithm that approximates the maximum clique to within a factor better than O(n1−ε), unless P = NP. Feige describes a polynomial time algorithm that finds a clique of size Ω((log n/log log n)2) in any graph that has clique number Ω(n/log k n) for any constant k. By using this algorithm when the clique number of a given input graph is between n/log n and n/log 3 n, switching to a different algorithm of Boppana & Halldórsson for graphs with higher clique numbers, and choosing a two-vertex clique if both algorithms fail to find anything, Feige provides an approximation algorithm that finds a clique with a number of vertices within a factor of O(n(log log n) 2 /log 3 n) of the maximum. Although the approximation ratio of this algorithm is weak, it is the best known to date. The results on hardness of approximation suggest that there can be no approximation algorithm with an approximation ratio significantly less than linear. Approximation Algorithm Algorithm: Independent Set Require: a graph G = (V, E) W ← V S ← ∅ while W <> ∅ do Find a vertex v ∈ W with minimum degree in G[W] W ← W \ NG[v] S ← S ∪ {v} end while return S Approximation Algorithm Algorithm: Vertex Cover Require: a graph G = (V, E) C←∅ while E <> ∅ pick any {u, v} ∈ E C ← C ∪ {u, v} delete all edges incident to either u or v return C Approximation Algorithm Algorithm: Vertex Cover Require: a graph G = (V, E) W ← V S ← ∅ while W <> ∅ do Find a vertex v ∈ W with minimum degree in G[W] W ← W \ NG[v] S ← S ∪ {v} end while return V \ S Approximation Algorithm Algorithm: Clique Require: the complement of a graph G = (V, E) W ← V S ← ∅ while W <> ∅ do Find a vertex v ∈ W with minimum degree in G[W] W ← W \ NG[v] S ← S ∪ {v} end while return S NP-Completeness Theorem: CLIQUE is NP-Complete (1) CLIQUE ∈ NP – a given solution can be verified in O(n2) time (2) INDEPENDENT SET ≤p CLIQUE – take the complement of the graph G of the independent set instance Note: There is a lot of literature that shows CLIQUE ≤p INDEPENDENT SET. There are instances of CLIQUE ≤p INDEPENDENT, however, not every instance. References Wikipedia, Wikimedia Foundation, 2018, www.wikipedia.org, accessed 23 Mar 2019. https://en.wikipedia.org/wiki/Clique_problem https://www.di.ens.fr/~mmari/content/papers/rapport.pdf http://theory.stanford.edu/~trevisan/cs154-12/np-reductions.pdf Questions Thank You.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    17 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us