ผลต่างระหว่างรุ่นของ "204512-53/lecture13"
G521455033 (คุย | มีส่วนร่วม) |
G521455033 (คุย | มีส่วนร่วม) |
||
แถว 4: | แถว 4: | ||
== '''NP Complete''' == | == '''NP Complete''' == | ||
+ | [[ไฟล์:Npcomg521455.jpg]] <br> | ||
'''ปัญหา''' A <math>\leqslant</math> P (Polynomail time to) ปัญหา B ถ้า มี poly-time algo ที่สำหรับทุกๆ instance x ของ A <br> | '''ปัญหา''' A <math>\leqslant</math> P (Polynomail time to) ปัญหา B ถ้า มี poly-time algo ที่สำหรับทุกๆ instance x ของ A <br> | ||
x' = T(x) , | x' | = poly (| x |) <br> | x' = T(x) , | x' | = poly (| x |) <br> | ||
แถว 25: | แถว 26: | ||
x1 = T , x2 = T ,x3 = F , x4 = T <br> | x1 = T , x2 = T ,x3 = F , x4 = T <br> | ||
Ex สมมุติมี formular <br> | Ex สมมุติมี formular <br> | ||
− | <math>( \lnot x_4 \or x_1 \or \lnot x_3 ) \and (x_1 \or x_2 \or x_3) \and ( \lnot x_3 \or \lnot x_1 \or x_4)</math> <br> | + | <math>( \lnot x_4 \or x_1 \or \lnot x_3 ) \and (x_1 \or x_2 \or x_3) \and ( \lnot x_3 \or \lnot x_1 \or x_4)</math> <br> วาดกราฟได้ดังรูป<br>[[ไฟล์:Npcomplete5214550332.jpg]] <br> |
พิสูจน์ x1= T, x2=T , x3 = F ,x4 = T ให้เป็นจริง | พิสูจน์ x1= T, x2=T , x3 = F ,x4 = T ให้เป็นจริง | ||
<br>สูจน์ให้ได้ว่า clause 1.เป็นจริง <br>2.เป็นจริง <br>3.เป็นจริง <br> | <br>สูจน์ให้ได้ว่า clause 1.เป็นจริง <br>2.เป็นจริง <br>3.เป็นจริง <br> | ||
2.ถ้า G มี independent Set ขนาด m แล้ว <math>\varnothing</math> Satisfiable | 2.ถ้า G มี independent Set ขนาด m แล้ว <math>\varnothing</math> Satisfiable |
รุ่นแก้ไขเมื่อ 06:30, 7 ตุลาคม 2553
จดบันทึกคำบรรยายโดย:
นายเสกสิทธิ์ สุวรรณ รหัสนักศึกษา 5214550332
NP Complete
ปัญหา A P (Polynomail time to) ปัญหา B ถ้า มี poly-time algo ที่สำหรับทุกๆ instance x ของ A
x' = T(x) , | x' | = poly (| x |)
และถ้า x เป็น yes instance ของ A , x' เป็น yes-instance ของ B
x เป็น no instance ของ A , เป็น no-instance ของ B
THM: 3-SAT p INDEP-SET
Proof: ให้ เป็น 3-CNF ใดๆ
และ m clause เรียกเป็น จะสร้างกราฟได้ดังนี้
- ในแต่ละ clause สร้างสามเหลี่ยมที่ประกอบไปด้วยโหนดตัวแปรที่ปรากฎใน C ได้กราฟที่มี 3 โหนด ตามรูป
สำหรับทุกตัวแปร เชื่อมทุกโหนดที่แทนตัวแปร กับทุกโหนดที่แทน
สังเกตุว่าขั้นตอนดังกล่าวสามารถทำให้เป็น polynomial time ได้และกราฟที่ได้มีขนาดเป็น poly ในขนาด
พิสูจน์
1. ถ้า Satisfiable ,G มี independent set ขนาด m นั้นคือ มี assignment ให้กับตัวแปร
ที่ทำให้ทุก clause เป็นจริงพร้อมกัน
เนื่องจาก Ci เป็นจริงจะมีตัวแบ่งอย่างน้อย 1 ตัวใน Ci เป็นจริง,เลือกโหนดใน G ที่สอดคล้องกับตัวแปรตัวนั้นใส่ Set I โดยที่ Set I ที่มีสมาชิก M ตัว
จะพิสูจน์ว่า I เป็น Independent set ใน G
assume ว่า I ไม่เป็น independent Set นั้นคือเชื่อมระหว่างบางคู่ของโหนด u,v I
เนื่องจากเชต I มีโหนดเพียงโหนดเดียวจากแต่ละสามเหลี่ยมดังนั้นไม่มีทางที่เส้นเชื่อมดังกล่าวจะเป็นเส้นเชื่อมในสามเหลี่ยมได้
ดังนั้น ต้องเป็นเส้นเชื่อมระหว่างตัวแปร Xi บางตัวกับ เนื่องจากเราเลือกตัวแปรจาก assign ที่เป็นจริง กรณีที่ป็นไปไม่ได้
นั้นคือ I เป็น Independent set ในกราฟมีขนาด m
x1 = T , x2 = T ,x3 = F , x4 = T
Ex สมมุติมี formular
วาดกราฟได้ดังรูป
พิสูจน์ x1= T, x2=T , x3 = F ,x4 = T ให้เป็นจริง
สูจน์ให้ได้ว่า clause 1.เป็นจริง
2.เป็นจริง
3.เป็นจริง
2.ถ้า G มี independent Set ขนาด m แล้ว Satisfiable