|
|
แถว 81: |
แถว 81: |
| | | |
| |} | | |} |
− |
| |
− |
| |
− | <br>
| |
− | '''Ex.''' <br>
| |
− | <math>(x_1 \or \lnot x_2 \or \ x_3 ) \and (\lnot x_1 \or \lnot \ x_3 \or x_4) \and (\ x_3 \or \ x_2 \or \lnot x_4)</math> <br>
| |
− | [[ไฟล์:11.png]]
| |
− |
| |
− | จะกล่าวว่าปัญหา A สามารถตรวจคำตอบได้อย่างมีประสิทธิภาพ (Efficiently certifiable)
| |
− | ถ้ามี Algorithm V ที่ทำงานใน Polynomial time
| |
− | * ที่ทุกๆ Yes - instance x ของ A มี Certificate C ที่
| |
− | |C| = poly (|X|) และ V (x,c) = 1
| |
− | * ที่ทุกๆ No - instance x ของ A สำหรับทุกๆ Certificate C ที่
| |
− | V(x,c) = 0
| |
− |
| |
− |
| |
− | [[ไฟล์:22.png]]
| |
− |
| |
− | ''' Decision Problems (ปัญหาที่ตอบ yes/no) '''
| |
− |
| |
− |
| |
− | '''P (Polynomial)'''
| |
− |
| |
− | ปัญหา A จะอยู่ในกลุ่ม P
| |
− |
| |
− | ถ้ามี Algorithm ที่ทำงานใน Polynomial time ที่แก้ ปัญหา A
| |
− |
| |
− |
| |
− | '''NP (Nondeterministic Polynomial)'''
| |
− | ปัญหา A จะอยู่ในกลุ่ม NP
| |
− |
| |
− | ถ้า A สามารถตรวจคำตอบได้อย่างมีประสิทธิภาพ
| |
− |
| |
− |
| |
− | '''ตัวอย่าง SAT อยู่ใน NP'''
| |
− | Algorithm V ที่รับ CNF <math>\varnothing</math>
| |
− |
| |
− | และ assignment เป็น certificate จะสามารถตรวจคำตอบของปัญหาได้โดย
| |
− |
| |
− | ถ้า <math>\varnothing</math> ทำให้เป็นจริงได้ จะมี assignment ที่ทำให้ V ตอบ Yes
| |
− |
| |
− | แต่ ถ้า <math>\varnothing</math> ไม่สามารถทำให้เป็นจริงได้ ไม่ว่าจะใช้ assignment ได้ V จะตอบ No เสมอ
| |
− |
| |
− |
| |
− | '''ปัญหา Composite'''
| |
− | ให้จำนวนเต็ม N , N เป็นจำนวนประกอบหรือไม่
| |
− |
| |
− | พิสูจน์ว่า Composite เป็น NP
| |
− |
| |
− | (ต้องมี 2 อย่าง คือ Certificate , Verificate)
| |
− |
| |
− | *ให้ตัวประกอบ 2 ตัว x,y ของ N เป็น Certificate
| |
− |
| |
− | *Algorithm V ที่ตรวจคำตอบ คำนวน x,y และ ตรวจว่าเท่ากับ N หรือไม่
| |
− |
| |
− |
| |
− | '''นิยาม''' ปัญหา A เป็น NP - hard ก็ต่อเมื่อ
| |
− |
| |
− | สำหรับทุกๆ ปัญหา B ที่เป็น NP
| |
− |
| |
− | B <math>\leqslant</math> P A
| |
− |
| |
− |
| |
− | '''นิยาม''' ปัญหา A เป็น NP - Complete ก็ต่อเมื่อ
| |
− | 1 A ต้องเป็น NP
| |
− | 2 A เป็น NP-hard
| |
− |
| |
− |
| |
− | [[ไฟล์:33.png]]
| |
− |
| |
− |
| |
− |
| |
− | '''Cook - Lavin'''
| |
− | SAT เป็น NP-Complete
| |
− | *ถ้า A <math>\leqslant</math>p B และ B <math>\leqslant</math>p C แล้ว A <math>\leqslant</math>p C ด้วย
| |
− |
| |
− | *ถ้า A เป็น NP-Complete และ A <math>\leqslant</math>p B ได้ B เป็น NP-Hard
| |
− |
| |
− | จะพิสูจน์ ปัญหา A เป็น NP-Complete (มี 2 ขั้น)
| |
− | 1 พิสูจน์ว่า A เป็น NP
| |
− | 2 หาปัญหา NP-Complete B , แล้วพิสูจน์ B <math>\leqslant</math>p A
| |
− |
| |
− | [[ไฟล์:44.png]]
| |
รุ่นแก้ไขเมื่อ 05:01, 8 ตุลาคม 2553
จดบันทึกคำบรรยายโดย:
นายเสกสิทธิ์ สุวรรณ รหัสนักศึกษา 5214550332
นางสาวสลิตตา นกขุนทอง รหัสนักศึกษา 5214550308
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
SUBSET SUM
ในเซต A = {x1,x2,x3,..,xn} จำนวนเต็ม
มี subset B \subseteq A ที่
ต้องการพิสูจน์ว่า
thm: 3-SAT
subset-sum
Ex.
จะได้ว่า
|
|
C
|
x1
|
1 0 0 0 0
|
1
|
x1
|
1 0 0 0 0
|
0
|
x2
|
0 1 0 0 0
|
0
|
x2
|
0 1 0 0 0
|
1
|
x3
|
0 0 1 0 0
|
1
|
x3
|
0 0 1 0 0
|
0
|
|
1 1 1 0 0
|
4
|