NP-completeness

1 / 28

# NP-completeness - PowerPoint PPT Presentation

NP-completeness. Polynomial time Easy Exponential time Hard !!!. Traveling Salesman Problem (TSP). Find a round-trip route that visit all cities once. Decision (yes/no) problem. Find the shortest route Optimization problem Is there a route cheaper than x ? Decision problem.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'NP-completeness' - trixie

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

NP-completeness

Polynomial time EasyExponential time Hard !!!

Traveling Salesman Problem (TSP)

Find a round-trip route that visit all cities once.

Decision (yes/no) problem

Find the shortest route Optimization problemIs there a route cheaper than x? Decision problem

Same difficulty !!!

Concrete problem

An encodingof a problem

Binary input(instance)

ComputerAlgorithm

Output(yes/no)

Complexity class NP

Polynomial-time verification

Binary input(instance)

ComputerAlgorithm(verification)

Output(yes/no)

Binary input(certificate)

P != NP (เชื่อว่าอย่างนั้น)

Decision problem คือมีหรือไม่มี Hamiltonian cycle? yes or no?

NP

P

ปัจจุบันยังพิสูจน์ไม่ได้ว่า P = NP หรือ P != NPแต่เชื่อว่าน่าจะเป็นอย่างหลัง

co-NP

An example of an NP-complete problem is the subset sum problem: given a finite set of integers, is there a non-empty subset that sums to zero? To give a proof of a "yes" instance, one must specify a non-empty subset that does sum to zero. The complementary problem is in co-NP and asks: "given a finite set of integers, does every non-empty subset have a nonzero sum?" To give a proof of a "no" instance one must specify a non-empty subset that does sum to zero, which is easily verified. This problem is not obviously seen to be in NP (from Wikipedia).

Reducibility

ใช้เปรียบเทียบความยากของปัญหา

We say L2 is at least as hard as L1or L2 ≥ L1 (in terms of hardness).

An example of problem reduction

Problem 1: มี subset sum = 5 หรือไม่ ?

Problem 2: มี subset sum = 10 หรือไม่ ?

Instance of problem 1(Algo 1)

1, 2, 3, 6, 7

x 2

Instance of problem 2(Algo 2)

2, 4,6, 12, 14

If Algo 1 says “Yes”, Algo 2 says “Yes”.If Algo 1says “No”, Algo 2 says “No”.

NP-completeness &NP-hard

If any one NP-complete problem can be solved in polynomial time, then every problem in NP has a polynomial-time solution, that is, P = NP(not likely).

ทุกๆ ปัญหาใน NP ที่ verify ได้ใน poly. timeสามารถ reduce ไปเป็น circuit satisfiabilityได้โดยเขียนโปรแกรมเพื่อ verify โดยรับ input คือinstance (x) และ certificate(y) ว่าและ output 1 (accept) หรือ 0 (reject)M คือ วงจรหรือไมโครโพรเซสเซอร์ ที่จะ executeโปรแกรมที่เราเขียนขึ้นปกติมี M ชุดเดียว แต่ใช้หลาย clock cycle(เหมือนใช้ CPU คำนวณ) ถึงจะเสร็จแต่เราจะทำเป็น combinational circuitก็เลยใช้ M หลายๆ ชุดทำให้ได้วงจรที่ไม่ต้องใช้ clock ใส่ input แล้วก็รอ output ได้เลย

ไม่ได้สอนปัญหาในโซนนี้เป็น NP-Hard แต่ไม่เป็น NP-completeเช่น halting problem

More likely

แปลงตรงๆ ไม่ได้ เทอมที่ซ้ำกันอาจจะทำให้ formula โตเกิน polynomail

NP-complete Problems

NP-Hard & NP-Complete (verify ได้ใน poly. time)

So far

Next study

ปัญหาในกลุ่ม NP-complete ยากเท่ากันหมด

เพราะมัน reduce ไปหากันได้ทุกคู่

Clique

เติม edge ให้ทุกคู่ที่1) ไม่อยู่ใน triple เดียวกัน 2) ไม่ใช่ negation ของกันและกัน

เส้นเชื่อม หมายถึง ที่ปลายสองฝั่งมีค่าเป็น 1 พร้อมกันได้

Vertex-Cover

ถ้ารูปซ้ายมี 4-clique รูปขวาจะมี 2-vertex-cover

Subset-Sum

ที่ทำสีทึบ คือ ไม่อยู่ในคำตอบ

k(vertex cover)

Constant

Ham-Cycle

ดูใน textbook

TSP

ให้ cost เส้นเชื่อมละ 1 หน่วยแล้วโยนไปถาม TSP algo

ว่ามี tour ที่ total cost ไม่เกิน |V| หรือไม่

Exercise

• Reduce 3-colorable to 4-colorable
• เพิ่ม a new vertex ที่เชื่อมไปยังทุก vertex ในกราฟเดิม
• Reduce subset sum to formula satisfiability (ขอแค่ไอเดีย)
• สร้าง circuit มา verify ปัญหา subset sum แล้วแปลง circuit เป็น boolean formula
• Show that decision problem is as hard as optimization problems
• Clique หา clique ที่ใหญ่ที่สุด (binary search+ ลบ vertex ออกทีละตัว แล้วถามว่า k-clique หรือไม่)
• Graph coloring หาจำนวนสีที่น้อยที่สุด(binary search + วิธีการระบายสี ?)
• Subset sum หาว่า subset มีตัวเลขอะไรบ้าง (ลบตัวเลขออกทีละตัว แล้วถาม yes/no)