การวิเคราะห์และออกแบบขั้นตอนวิธี

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
CSC201 Analysis and Design of Algorithms P and NP Problems
Advertisements

System Requirement Collection (2)
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
Pushdown Automata : PDA
หน่วยที่ 2 Introduction to Algorithm Analysis
หน่วยที่ 5 การเวียนเกิด
หน่วยการเรียนรู้ที่ 1 กระบวนการเทคโนโลยี สารสนเทศ สไลด์ประกอบการสอน เรื่อง การจำลองความคิด เป็นข้อความ.
กระบวนการของการอธิบาย
หน่วยที่ 6 กราฟ (Graphs)
CD แผ่น ชื่อ File Program
ครั้งที่ 7 รีจิสเตอร์ (REGISTER). รีจิสเตอร์ (Register) รีจิสเตอร์เป็นวงจรความจำที่ใช้ในการเก็บค่า ทางไบนารี่ ใช้ในการเก็บค่าในระหว่างการ ประมวลผลโดยใช้ฟลิป.
Intro Excel 2010 ข้อมูลจาก... ellession1.htm.
1. รู้ถึงความต้องการของตัวเอง ก่อนก่อนเริ่มต้นออกแบบ เมื่อคุณเริ่มคิดจะออกแบบโบรชัวร์ออกมาอย่างไร ให้เริ่มต้น สอบถามลูกค้าของคุณก่อนว่าทำไม เค้าต้องการโบร์ชัวร์
งานวิชา เทคโนโลยี สารสนเทศ 4/3 เรื่อง INPUT และ OUTPUT จัดทำโดย นาย ชาญชัย ศรีน้อย เลขที่ 3 นาย ณัฐดนัย จันทมาศ เลขที่ 4 นาย อุดมศักดิ์ เกื้อนะ เลขที่
การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ ครูชาญณรงค์ ปานเลิศ โรงเรียนพระบางวิทยา ครูชาญณรงค์
คำสั่งควบคุมการทำงาน
Project Management by Gantt Chart & PERT Diagram
ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
Material requirements planning (MRP) systems
เกม คณิตคิดเร็ว.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การบริหารโครงการ Project Management
แล้วทำการเรียงลำดับข้อมูลใหม่โดยเรียงจากน้อยไปหามาก
บทที่ 7 การหาปริพันธ์ (Integration)
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
Dr.Surasak Mungsing CSE 221/ICT221 Analysis and Design of Algorithms Lecture 14: P and NP Problems Dr.Surasak Mungsing
Multistage Cluster Sampling
บทที่ 1 ความรู้ทั่วไปเกี่ยวกับคอมพิวเตอร์
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 13: การคำนวณได้และการตัดสินใจของปัญหา ที่ยากต่อการแก้ไข.
การวิเคราะห์และออกแบบขั้นตอนวิธี
Vernier เวอร์เนียร์ คือเครื่องมือที่ใช้วัดระยะ (distance) หรือ ความยาว (length) ให้ได้ค่าอย่างละเอียด เวอร์เนียร์ต่างจากไม้บรรทัดทั่วๆไป เพราะมี 2 สเกล.
กลุ่มคำและประโยค ภาษาไทย ม. ๓
บทที่ 4 การอินทิเกรต (Integration)
เซต (SET) ประวัติย่อของวิชาเซต ความหมายของเซต การเขียนแทนเซต
การวิเคราะห์ ต้นทุน ปริมาณ กำไร
บทที่ 8 การควบคุมโครงการ
คำสั่ง Create , Insert, Delete, Update
หลักการแต่ง คำประพันธ์ประเภท โคลง. หลักการแต่ง คำประพันธ์ประเภท โคลง.
บทที่ 8 การควบคุมระบบสารสนเทศทางการบัญชี : การควบคุมเฉพาะระบบงาน
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
กำหนดกรอบระยะเวลาการขึ้นทะเบียนปี2556/57 1. ข้าว
วิธีการกำหนดค่า Microsoft SharePoint ของคุณ เว็บไซต์ออนไลน์
Data storage II Introduction to Computer Science ( )
การประชุมเชิงปฏิบัติการพัฒนาศักยภาพบุคลากรทางการศึกษาด้านการสอบด้วยคอมพิวเตอร์ (Computer-based Assessment) การรู้เรื่องการอ่าน ด้านคณิตศาสตร์และด้านวิทยาศาสตร์
บทที่ 9 การทำซ้ำ (Loop).
State Table ตารางสถานะ ปรับปรุง 18 เมษายน 2562
โดย นายอนุชา ศรีเริงหล้า นักอุตุนิยมวิทยาปฏิบัติการ
SMS News Distribute Service
บทที่7 ทฤษฎีกราฟเบื้องต้น
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
Data storage II Introduction to Computer Science ( )
บรรยายครั้งที่ 8 - กราฟฟิกวิศวกรรม 1
บทที่ 7 การประมวลผลอาร์เรย์
งานนำเสนอสำหรับโครงการ นิทรรศการวิทยาศาสตร์
หน่วยการเรียนรู้ที่ 2 การกำหนดประเด็นปัญหา
ค่ารูรับแสง - F/Stop ค่ารูรับแสงที่มีค่าตัวเลขต่ำใกล้เคียง 1 มากเท่าไหร่ ค่าของรูรับแสงนั้นก็ยิ่งมีความกว้างมาก เพราะเราเปรียบเทียบค่าความสว่างที่ 1:1.
ตัวแบบมาร์คอฟ (Markov Model)
บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็นปัญหาย่อยและการสร้างลำดับขั้นตอนย่อย
กิจกรรมที่ 7 นายปรีชา ขอวางกลาง
Array: One Dimension Programming I 9.
รูปนิสิต บทคัดย่อ ผลการทดลอง วัตถุประสงค์ วิธีการที่นำเสนอ บทนำ
การเติบโตของฟังก์ชัน (Growth of Functions)
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
ทายสิอะไรเอ่ย ? กลม เขียวเปรี้ยว เฉลย ทายสิอะไรเอ่ย ? ขาว มันจืด เฉลย.
Decision: Single and Double Selection (if and if-else statement)
ระบบการส่งต่อข้อมูลอาการไม่พึงประสงค์จากการแพ้ยา
การวิเคราะห์และออกแบบขั้นตอนวิธี
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 12: เทคนิคการออกแบบขั้นตอนวิธีตอนวิธี Dynamic.
กำหนดการเชิงเส้น : การแก้ปัญหาด้วยวิธีกราฟ
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

การวิเคราะห์และออกแบบขั้นตอนวิธี CSE 221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 13: การคำนวณได้และการตัดสินใจของปัญหาที่ยากต่อการแก้ไข อาจารย์ผู้สอน: ดร. สุรศักดิ์ มังสิงห์ E-mail: mungsing@spu.ac.th URL: http://www.spu.ac.th/~mungsing Office Hour: 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

Euler Circuit Problems ลากเส้นตามรูปโดยไม่ซ้ำ มีรูปใดทำได้บ้าง และ รูปใดทำไม่ได้เลย เป็นไปไม่ได้ ถ้ามี node degree เป็นคี่มากกว่า 2 โหนด เป็นไปได้ ถ้ามี node degree เป็นคี่ = 2 โหนด (Euler path) การจบที่จุดเริ่มต้น จะเป็นไปได้ ถ้ากราฟมี node degree ทั้งหมดเป็นคู่ (Euler Circuit) 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี ความยากของปัญหา ปัญหาแบ่งเป็นกลุ่มได้แก่ กลุ่มปัญหา P กลุ่มปัญหา NP กลุ่มปัญหา NP-hard กลุ่มปัญหา NP-complete บางปัญหามีความยากที่ยังไม่มีใครในโลกออกแบบอัลกอริทึมที่ให้ผลเฉลยได้รวดเร็ว ซึ่งปัญหาเหล่านี้ว่า NP-complete problem 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

ประสิทธิภาพของอัลกอริทึม ปัญหา เวลาทำงานของอัลกอริทึม Sorting O(n log n) Closest point 2D Single source shortest path O(e + v log v) Minimum spanning tree O(e log e) Matrix multiplication O(n3) All pair shortest path O(v3) Sum of subset O(2n) Assignment O(n!) อัลกอริทึมที่มีประสิทธิภาพ หมายถึงอัลกอริทึมที่จะทำงานได้รวดเร็วและมีอัตราการเติบโตของเวลาทำงานที่ยอมรับได้ คือ O(nk) อัลกอริทึมที่ไม่มีประสิทธิภาพ หมายถึงอัลกอริทึมที่มีเวลาการทำงานโตเร็วกว่าฟังก์ชันพหุนามเช่น O(n log n) O(2n) หรือ O(n!) 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี ปัญหาง่ายหรือยาก เป็นปัญหาง่าย (Tractable problem) ก็ต่อเมื่อมีอัลกอริทึมที่มีประสิทธิภาพซึ่งใช้แก้ปัญหานี้ได้ เป็นปัญหายาก (Intractable problem) ก็ต่อเมื่อพิสูจน์ได้ว่าต้องใช้อัลกอริทึมที่ไม่มีประสิทธิภาพแน่ๆในแก้ปัญหานี้ ปัญหาในตารางประสิทธิภาพอัลกอริทึมข้างต้น ยกเว้น 2 รายการสุดท้ายเป็นปัญหาง่ายทั้งสิ้น เพราะได้พบอัลกอรทึมที่มีประสิทธิภาพซึ่งใช้แก้ปัญหาเหล่านี้แล้ว สองปัญหาสุดท้ายในตารางประสิทธิภาพอัลกอริทึมข้างต้นเป็นปัญหายากเพราะอาจมีอัลกอริทึมที่มีประสิทธิภาพซึ่งแก้ปัญหาเหล่านี้ได้ที่เรายังไม่รู้จักก็ได้ 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

มีปัญหาอะไรบ้างที่รู้ว่ายากแน่ๆ ปัญหาแจกแจงทุกกรณี เซตย่อย ซึงมีความซับซ้อนอยู่ใน O(2n) ปัญหาย้ายจานหอคอยฮานอย ซึ่งต้องทำการย้าย 2n -1 ครั้ง ปัญหายากที่สนใจกันส่วนใหญ่เป็นปัญหาที่คิดคำตอบนานๆ ไม่ใช่คิดคำตอบยาวๆ ปัญหาประเภทที่พิสูจน์ได้เลยว่าไม่มีอัลกอริทึมใดๆหาคำตอบได้ (เรียกกันว่าปัญหา non-computable) เช่น Hilbert’s Tenth Problem ซึ่งต้องการหาคำตอบของสมการ Diphantine ตัวอย่างเช่น จงหาว่ามีคำตอบจำนวนเต็มของตัวแปร x, y และ z ในสมการ 42x2y +34xz = 112 หรือไม่ ? ปัญหา Halting problem ซึ่ง Alan Turing เป็นผู้พิสูจน์ว่า เป็นปัญหาแบบคำนวณไม่ได้ในปี ค.ศ. 1937 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี ปัญหาการตัดสินใจ ปัญหาการตัดสินใจคือปัญหาท่ให้คำตอบว่า ใช่/ไม่ใช่ ได้/ไม่ได้ มี/ไม่มี จริง/ไม่จริง มีเพียงสองคำตอบ ตัวอย่างของปัญหาประเภทนี้ เช่น Satisfiability (SAT) Hamilton Circuit (HAM) Traveling Salesperson Problem (TSP) 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

ตัวอย่างปัญหา Satisfiability (SAT) 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

ตัวอย่างปัญหา Hamilton Circuit 10 1 1 2 3 5 2 13 5 6 4 11 4 3 7 8 9 กราฟที่มีวงจร Hamilton 12 กราฟที่ไม่มีวงจร Hamilton 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

Traveling Salesperson Problem (TSP) กำหนดให้ G คือกราฟ อยากทราบว่ามีวงจรในกราฟนี้ซึ่งผ่านจุดยอด (Vertex) ทุกจุดในกราฟจุดละหนึ่งครั้ง โดยความยาวรวมของวงจรนี้มีค่าไม่เกิน k หรือไม่ เป็น NP-hard Problem

Other Problems เป็น NP-hard Problem Partition Partition n positive integers s1, s2, s3, …, sn into two groups A and B such that the sum of the numbers in each group is the same. [9, 4, 6, 3, 5, 1,8] A = [9, 4, 5] and B = [6, 3, 1, 8] เป็น NP-hard Problem Subset Sum Problem Does any subset of n positive integers s1, s2, s3, …, sn have a sum exactly equal to c? [9, 4, 6, 3, 5, 1,8] and c = 18 A = [9, 4, 5]

ต้องคำตอบที่เป็นไปได้หรือคำตอบที่ดีที่สุด เป้าหมายการแก้ปัญหานั้น ต้องการจะให้ได้คำตอบที่ดีที่สุดหรือต้องการแค่คำตอบที่เป็นไปได้ ตัวอย่างปัญหา Travelling Salesperson: บุรุษไปรษณีต้องการเดินส่งจดหมายให้ครบทุกเมืองโดยให้มีระยะทางรวมสั้นที่สุด คำตอบที่ดีที่สุดในปัญหานี้คือคำตอบของระยะทางที่สั้นที่สุด จะใช้เวลาสำหรับการหาคำตอบเป็น O(n!) คำตอบที่พอใช้ได้อาจอยู่ในเทอมของ O(na) ทั้งนี้ระยะเวลาที่ใช้ในการทำคำตอบที่ดีที่สุดของแต่ละปัญหาขึ้นกับลักษณะธรมชาติของปัญหานั้นๆ 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี ปัญหาเป็นแบบ P หรือ NP ปัญหาแบ่งเป็น 2 กลุ่ม กลุ่มแรกคือปัญหาที่แก้ไขได้ในเวลา Polynomial กลุ่มที่สองคือปัญหาที่ ไม่ สามารถแก้ไขได้ในเวลา Polynomial ปัญหาในกลุ่มที่สองอาจแก้ได้ในเวลา Polynomial ถ้าใช้วิธีเดา (guess) คำตอบ โดยกำหนดระยะเวลาในการเดาคำตอบให้อยู่ในรูปของเวลา P ปัญหาที่แก้ไขได้ในเวลา Polynomial เรียกว่าปัญหาแบบ P ปัญหาที่แก้โดยใช้เวลา P ในการเดาคำตอบ เป็นปัญหาแบบ NP หรือ Non-Deterministic Polynomial 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

เครื่องคำนวณแบบ Turing เสนอโดย Alan Turing ในปี ค.ศ. 1936 เป็นแบบจำลองของเครื่องคำนวณที่มีโครงสร้างง่ายๆ แต่สามารถใช้แก้ปัญหาส่วนใหญ่ได้ มีปัญหาบางประเภทที่ไม่ว่าจะใช้เครื่องคำนวณแบบใดก็ตาม ก็ไม่สามารถจใช้หาคำตอบของปัญหาเหล่านั้นได้ เช่น ปัญหาที่ว่าจะรู้ได้อย่างไรว่าโปรแกรมที่ให้มาจะหยุดทำงาน (the Halting Problem) A Turing Machine was a specific mechanical device that could carry out some specific task in a systematic way. Each Turing Machine would work in a similar manner, using mechanisms related to the computer concepts of input, output and a program. 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

Deterministic Turing Machine (DTM) เทปที่มีความยาวไม่จำกัด แบ่งออกเป็นช่องๆ เท่าๆ กัน เพื่อไว้บรรจุข้อมูล ซึ่งอาจป็นตัวเลขหรือตัวหนังสือก็ได้ หัวสำหรับอ่านและเขียนตัวอักษรที่อยู่บนเทป หัวนี้อ่านตัวอักษรครั้งละหนึ่งตัวอักษรและสามารถเลื่อนไปมาทางซ้ายหรือขวาได้ หรือไม่เลื่อนเลย ทั้งนี้จะขึ้นกับส่วนควบคุมหรือลำดับการทำงานของเครื่องคำนวณ ส่วนควบคุม ทำหน้าที่ตัดสินใจว่า จะให้หัวอ่าน/เขียนบันทึกตัวอักษรอะไรลงไปบนเทป เมื่ออ่านตัวอีกษรหนึ่งตัวบนเทป จะเป็นผู้กำหนดว่าจะให้ไปทำขั้นตอนไหนต่อไปในลำดับการทำงนของเครื่อง . . . . หัวอ่าน/เขียน ส่วนควบคุม เทปที่มีความยาว ไม่จำกัด 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

Non- deterministic Turing Machine (NDTM) 1. เทปที่มีความยาวไม่จำกัด แบ่งออกเป็นช่องๆ เท่าๆ กัน เพื่อไว้บรรจุข้อมูล ซึ่งอาจป็นตัวเลขหรือตัวหนังสือก็ได้ 2. หัวสำหรับอ่านและเขียนตัวอักษรที่อยู่บนเทป หัวนี้อ่านตัวอักษรครั้งละหนึ่งตัวอักษรและสามารถเลื่อนไปมาทางซ้ายหรือขวาได้ หรือไม่เลื่อนเลย ทั้งนี้จะขึ้นกับส่วนควบคุมหรือลำดับการทำงานของเครื่องคำนวณ 3. ส่วนควบคุมแน่ชัดและส่วนเดา ทำหน้าที่ตัดสินใจว่า จะให้หัวอ่าน/เขียนบันทึกตัวอักษรอะไรลงไปบนเทป เมื่ออ่านตัวอีกษรหนึ่งตัวบนเทป จะเป็นผู้กำหนดว่าจะให้ไปทำขั้นตอนไหนต่อไปในลำดับการทำงนของเครื่อง 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

DTM and NDTM with k tapes 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

โปรแกรมสำหรบเครื่องคำนวณแบบ Turing กลุ่มขั้นตอนการทำงานของส่วนควบคุม แทนด้วย Q q0 คือขั้นตอนเริ่มต้น qF คือขั้นตอนสุดท้าย {qi} คือขั้นตอนระหว่าง q0 และ qF ฟังก์ชันการเปลี่ยนขั้นตอนการทำงานและเลื่อนหัวอ่าน/เขียน  แทนฟังก์ชันเมื่ออ่านตัวอักรเข้ามา ตำแหน่งหัวอ่าน/เขียน เลื่อนได้ 3 แบบ คือ L (ไปทางซ้าย) R (ไปทางขวา) และ S (ไม่เลื่อน) : (Q – {qF} x T  Q x T x {L, R, S} 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี การลดรูปของปัญหา กำหนดให้ Q1 และ Q2 เป็นปัญหาการตัดสินใจ 2 ปัญหา ถ้าเราลดรูปปัญหา Q1ไปเป็นปัญหา Q2 ก็แสดงว่าเราสามารถเปลี่ยนตัวอย่างปัญหาใดๆของ Q1 ไปเป็นตัวอย่างปัญหาของ Q2 ได้ จากนั้นใช้อัลกอริทึม Q2 หาคำตอบ ก็จะเป็นคำตอบของตัวอย่างปัญหาของ Q1 นั้น การลดรูปของปัญหาเป็นกลวิธีในการแก้ปัญหาแบบหนึ่ง สมมติว่าเราต้องการแก้ปัญหา Q1 สิ่งที่นักออกแบบอัลกอริทึมต้องคิดคือ Q1 เป็นปัญหาที่รู้สึกคล้ายๆกับปัญหาอื่นที่เราเคยรู้จักวิธีแก้ไขหรือไม่ ถ้ารู้สึกว่าคล้ายปัญหา Q2 แล้ว คิดต่อว่าจะมีวิธีตีความปัญหา Q1 ให้อยู่ในรูปแบบของปัญหา Q2 ที่เรารู้จักวิธีแก้ไขนั้นได้อย่างไร 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

กลุ่มปัญหา NP-Complete P  NP ปัญหาในกลุ่ม P เป็นปัญหาง่ายทั้งสิ้น เพราะมีอัลกอริทึมหาคำตอบได้อย่างมีประสิทธภาพ ในขณะที่ปัญหาในกลุ่ม NP นั้นยังไม่เด่นชัด ในปี ค.ศ. 1971 Cook ได้แสดงให้เห็นว่าปัญหา SAT เป็นปัญหาที่ยากที่สุดใน NP โดยการพิสูจน์ว่าทุกๆปัญหาใน NP สามารถลดรูปแบบพหุนามไปเป็น SAT ได้หมด ในปี ค.ศ. 1972 Karp ได้อาศัยกลวิธีการลดรูปเพื่อแสดงให้เห็นว่ามีปัญหาอื่นๆอีกมากมายหลากหลายรูปแบบที่มีความยากง่ายเทียบเท่ากับ SAT นั่นก็คือกลุ่มปัญหาที่เรียกว่า NP-Complete ซึ่งเป็นกลุ่มปัญหาที่ยากที่สุดใน NP หมายความว่าเป็นกลุ่มปัญหาที่มีความยากง่ายทัดเทียมกันหมด (อันเป็นที่มาของคำว่า Complete หรือ บริบูรณ์) 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี NP-Complete (ต่อ) ดังนั้นหากใครพบอัลกอริทึมที่มีประสิทธิภาพที่แก้เพียง 1 ปัญหาใน NP-Complete ก็ย่อมหมายความว่าทุกปัญหาใน NPC เป็นปัญหาง่ายทั้งสิ้น (นั่นคือพิสูจน์ได้ว่า P = NP) ในทางกลับกัน ถ้ามีใครสามารถพิสูจน์เพียง 1 ปัญหาใดใน NPC เป็นปัญหายาก ก็สรุปได้ว่าทุกปัญหาในกลุ่มนี้เป็นปัญหายากทั้งสิ้น (นั่นคือ พิสูจน์ได้ว่า P  NP หรือ P  NP) 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี สรุป If any NP-Complete can be solved in polynomial time, then all NP problems can be solved in polynomial time. P NP-Complete NP Or, if any NP-complete problem can be solved in polynomial time, then NP = P กลุ่มปัญหา NP-Hard Q เป็นปัญหา NP-Hard ถ้าทุกปัญหาใน NP สามารถลดรูปแบบพหุนามไปเป็น Q ได้ NP-Complete คือกลุ่มของปัญหาการตัดสินใจที่เป็น NP-Hard และอยู่ในกลุ่ม NP ปัญหา NP-Hard ไม่จำเป็นต้องเป็นปัญหาตัดสินใจ 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี สรุป SAT เป็น NP Problem NP problem ทั้งหลายแปลงให้เป็นปัญหา SAT ได้ในเวลา Polynomial การแก้ปัญหาที่เป็น NP สามารถทำได้ในเวลาที่เป็น Polynomial โดยใช้เครื่อง NDTM 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี 2/25/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี