The Question of Whether P = NP Is One of the Greatest Unsolved Problems in the Theoretical Computer Science. Two Possibilities of Relationship Between P and NP

The Question of Whether P = NP Is One of the Greatest Unsolved Problems in the Theoretical Computer Science. Two Possibilities of Relationship Between P and NP

1 Polynomial Time Reducibility The question of whether P = NP is one of the greatest unsolved problems in the theoretical computer science. Two possibilities of relationship between P and NP •P = NP; • P⊂NP. Intuition of the reduction idea: If a problem A is reducible to a problem B, an algorithm for solving B can be used to construct an algorithm for A. If A is polynomially reducible to B, then a polyno- mial algorithm for B can be used to construct a polyno- mial algorithm for A. 1 Definition 1 Language A is polynomial time (map- ping) reducible to language B, written A ≤P B, if a polynomial time computable function f :Σ∗ → Σ∗ exists, where for every w, w ∈ A iff f(w) ∈ B. AB f f A B 2 Theorem 1 If A ≤P B and B ≤P C, then A ≤P C. Definition 2 A language L is called NP-complete iff 1. L ∈NP; 2. for every language L′ ∈ NP, there is a polynomial- time mapping from L′ to L. Proposition 1 Let L be an NP-complete language. Then P = NP iff L ∈P. Theorem 2 SAT ≤P 3SAT . Theorem 3 3SAT ≤p CLIQUE. Corollary 1 SAT ≤P CLIQUE. 3 2 More Computational Classes Class P of problems that can be decided in polynomial time on a deterministic Turing machine. Class NP of problems that can be decided in polynomial time on a non-deterministic Turing machine. Class CNP of NP-complete problems; a language A ∈NP is called NP-complete if ∀ B ∈NP B ≤P A. Class co-NP of problems {L} such that L ∈NP. 4 Definition 3 Two graphs G1(V1,E1) and G2(V2,E2) are called isomorphic if there is a one-to-one mapping f from V1 onto V2 such that (x,y) ∈ E1 iff (f(x),f(y)) ∈ E2. Graph Isomorphism Problem: Given two graphs G and H, is it true that they are isomorphic? This is a decision problem with a polynomial verifier. A polynomial verifier is known to check if graphs are iso- morphic. 5 Graph Non-isomorphism Problem: Given two graphs G and H, is it true that they are not isomorphic? This is a decision problem for which no polynomial veri- fier was found. The complement to this problem belongs to NP; thus, the problem is in co-NP. No polynomial verifier is known to check if two graphs are non-isomorphic. 6 3 Decision problems vs Optimization Problems Example: Clique (decision version): Given a graph G(V,E) and an integer k > 0, is there a clique of size k in G ? L = {hG(V,E),ki : G contains a clique of size k}. Clique (optimization version): Given a graph G(V,E), find a clique in G of the maximal size. Proposition 2 If A is an algorithm for the decision version of the Clique-problem, then O(log n) appli- cations of A solves the optimization version of the Clique-problem. 7 Problem 1 If A is an algorithm for the decision ver- sion of the Clique-problem, and A accepted hG(V,E),ki, how to find a clique of size k in G? Solution idea: Repeat 1. for every vertex v of G, apply A to hH,ki where H is the subgraph induced on the set containing v and its neighbors; 2. include into the clique the first v for which the application of A above yielded acceptance; Reset G to be the subgraph induced on the neighbors of v and k = k − 1. 8 Problem 2 If A is an algorithm for the decision ver- sion of the Partitioning-problem, and A accepted hS,Ci, how to find a subset T ⊆ S for which X ai = C? ai∈T Solution idea: Let S = {a1, a2,...,an}. Repeat 1. find ai ∈ S for which A accepts hS −{ai},C − aii; include ai into T . 2. reset S and C by S = S−{ai} and C = C−ai. 9 4 Vertex Coloring A k-vertex-coloring of a graph G(V,E) is a functioon f : V → [1,k], such that for any edge xy ∈ E, f(x) 6= f(y). Vertex Color (decision version): Given a graph G(V,E) and an integer k > 0, is there a vertex coloring of G which uses ≤ k colors? L = {hG(V,E),ki : G : there exists k vertex coloring.} Vertex Color (optimization version): Given a graph G(V,E), find a vertex-coloring of G which uses the smallest number of colors. Proposition 3 If A is an algorithm for the decision version of Vertex Color, then O(log n) applications of A are sufficient to determine the smallest number k for which there exists a k-vertex- coloring of G. Question: How to discover an optimal vertex-coloring? 10 Given an algorithm A for the decision version of Vertex_Color, we design a coloring algorithm Construct (G) which for every graph G outputs a k coloring, where k is such that A accepted <G,k> yes <G(V,E); k> is G complete? color G no select non−adjacent pair xy. Form graph G[x,y] by fusing x and y apply A yes is G k−colorable? Construct (G[x,y]) no Form graph H by Use k−coloring of G[x,y] adding xy to G to create k−coloring of G Construct (H) Use k−coloring of H to create k−coloring of G 11 Proposition 4 Let G be k-colorable and complete (any two vertiices are adjacent). Then, a k-coloring is ob- tained by the following rule: every vertex gets its own color. Proposition 5 Let G be k-colorable and not com- plete, and let x and y be two non-adjacent vertices in G. Form two graphs G[x,y] and H as follows: G[x,y]: remove x and y and add a new vertex [x,y] making it adjacent to all vertices in G that were ad- jacent to x or to y; H: add edge xy to G. Then there exists a k-coloring f of G iff at least one of the two options is correct: f(x)= f(y), in which case there is a k-coloring g of G[x,y] which preserves all colors and uses color f(x) for vertex [x,y]; f(x) 6= f(y), in which case there is a k-coloring h on H which preserves all colors of f on G. Theorem 4 Assume that every application of proce- dure A is executed in one time unit. Prove that under this assumption, there is a polynomial algorithm for k-vertex-coloring. 12.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 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