กลับไปหน้าบทความ

อ่าน 21 นาที

ปัญหา P เทียบกับ NP

ปัญหา P เทียบกับ NP เป็น ปัญหา สำคัญ ที่ยังแก้ไม่ตก ใน วิทยาการคอมพิวเตอร์เชิงทฤษฎี โดยคร่าวๆ แล้ว ปัญหานี้คือ ทุกปัญหาที่สามารถตรวจสอบคำตอบได้อย่างรวดเร็ว...

ปัญหา P เทียบกับ NP

ปัญหาที่ยังแก้ไม่ตกในวิทยาการคอมพิวเตอร์
ถ้าสามารถตรวจสอบคำตอบของปัญหาได้ในเวลาพหุนาม ปัญหานั้นจะต้องแก้ได้ในเวลาพหุนามด้วยหรือไม่?

ปัญหา P เทียบกับ NP เป็น ปัญหาสำคัญ ที่ยังแก้ไม่ตก ในวิทยาการคอมพิวเตอร์เชิงทฤษฎีโดยคร่าวๆ แล้ว ปัญหานี้คือ ทุกปัญหาที่สามารถตรวจสอบคำตอบได้อย่างรวดเร็ว จะสามารถหาคำตอบได้อย่างรวดเร็วเช่นกันหรือไม่

ในที่นี้ "อย่างรวดเร็ว" หมายถึงมีอัลกอริทึมที่สามารถแก้ปัญหาและทำงานได้ในเวลาพหุนาม (ตรงข้ามกับเวลาเลขชี้กำลัง ) ซึ่งหมายความว่าเวลาในการเสร็จสิ้นงานมีขอบเขตบนโดยฟังก์ชันพหุนามบนขนาดของอินพุตของอัลกอริทึม กลุ่มคำถามทั่วไปที่อัลกอริทึม บางตัว สามารถตอบได้ในเวลาพหุนามคือ " P " หรือ "คลาส P" สำหรับบางคำถาม ไม่มีวิธีใดที่ทราบในการหาคำตอบอย่างรวดเร็ว แต่ถ้ามีคำตอบให้ ก็สามารถตรวจสอบได้อย่างรวดเร็ว กลุ่มคำถามที่สามารถตรวจสอบ คำตอบได้ ในเวลาพหุนามคือ " NP " ซึ่งย่อมาจาก "เวลาพหุนามแบบไม่กำหนด" [หมายเหตุ 1 ] [ 1 ]

คำตอบสำหรับคำถามที่ว่า P เทียบกับ NP จะเป็นตัวกำหนดว่าปัญหาที่สามารถตรวจสอบได้ในเวลาพหุนามนั้น สามารถแก้ไขได้ในเวลาพหุนามด้วยหรือไม่ ถ้า P   NP ซึ่งเป็นสิ่งที่เชื่อกันอย่างกว้างขวาง นั่นหมายความว่ามีปัญหาในกลุ่ม NP ที่ยากต่อการคำนวณมากกว่าการตรวจสอบ: ปัญหาเหล่านั้นไม่สามารถแก้ไขได้ในเวลาพหุนาม แต่คำตอบอาจตรวจสอบได้ในเวลาพหุนาม

ปัญหานี้ได้รับการขนานนามว่าเป็นปัญหาเปิดที่สำคัญที่สุดในวิทยาศาสตร์คอมพิวเตอร์ [ 2 ] นอกเหนือจากการเป็นปัญหาสำคัญในทฤษฎีการคำนวณแล้วการพิสูจน์ไม่ว่าจะทางใดทางหนึ่งก็จะมีนัยสำคัญอย่างลึกซึ้งต่อคณิตศาสตร์ การเข้ารหัสการวิจัยอั ลกอริทึม ปัญญาประดิษฐ์ทฤษฎีเกมการประมวลผลมัลติมีเดียปรัชญาเศรษฐศาสตร์และสาขาอื่นๆ อีกมากมาย[ 3 ]ปัญหา นี้เป็นหนึ่งในเจ็ดปัญหา Millennium Prize Problemsที่ได้รับการคัดเลือกโดยClay Mathematics Instituteซึ่งแต่ละปัญหามีรางวัล 1,000,000 ดอลลาร์สหรัฐสำหรับคำตอบที่ถูกต้องครั้งแรก

ตัวอย่าง

พิจารณาปัญหาใช่/ไม่ใช่ต่อไปนี้: กำหนด ตาราง ซูโดกุ ที่ไม่สมบูรณ์ ขนาดn2×n2{\displaystyle n^{2}\times n^{2}}มีวิธีแก้ปัญหาทางกฎหมายอย่างน้อยหนึ่งวิธีหรือไม่ ที่ทุกแถว ทุกคอลัมน์ และn×n{\displaystyle n\times n}ตารางประกอบด้วยจำนวนเต็ม 1 ถึง 3n2{\displaystyle n^{2}}การตรวจสอบคำตอบ "ใช่" ของปัญหาซูโดกุแบบทั่วไปนี้ทำได้ง่ายเมื่อมีคำตอบที่เป็นไปได้อยู่แล้ว อย่างไรก็ตาม ยังไม่เป็นที่ทราบแน่ชัดว่ามีอัลกอริทึมแบบใช้เวลาในการคำนวณแบบพหุนามที่สามารถตอบคำถาม "ใช่" หรือ "ไม่" ได้อย่างถูกต้องสำหรับทุกกรณีของปัญหานี้หรือไม่ ดังนั้น ซูโดกุแบบทั่วไปจึงอยู่ในกลุ่ม NP (ตรวจสอบได้อย่างรวดเร็ว) แต่อาจจะอยู่ในกลุ่ม P (แก้ไขได้อย่างรวดเร็ว) หรือไม่ก็ได้ (จำเป็นต้องพิจารณาซูโดกุแบบทั่วไป เนื่องจากซูโดกุที่มีขนาดคงที่ใดๆ จะมีจำนวนตารางที่เป็นไปได้จำกัดเท่านั้น ในกรณีนี้ ปัญหาจะอยู่ในกลุ่ม P เนื่องจากสามารถหาคำตอบได้โดยการค้นหาในตาราง)

ประวัติศาสตร์

การระบุปัญหา P เทียบกับ NP อย่างแม่นยำได้รับการนำเสนอในปี พ.ศ. 2514 โดยStephen Cookในบทความสำคัญของเขาเรื่อง "ความซับซ้อนของขั้นตอนการพิสูจน์ทฤษฎีบท" [ 4 ]และโดยLeonid Levin อย่างอิสระ ในปี พ.ศ. 2516 [ 5 ]

แม้ว่าปัญหา P เทียบกับ NP จะได้รับการกำหนดอย่างเป็นทางการในปี 1971 แต่ก็มีลางสังหรณ์เกี่ยวกับปัญหาพื้นฐานที่เกี่ยวข้องมาก่อนหน้านี้แล้ว ในปี 1955 นักคณิตศาสตร์John Nashได้เขียนจดหมายถึงสำนักงานความมั่นคงแห่งชาติโดยคาดการณ์ว่าเวลาที่ต้องใช้ในการถอดรหัสที่ซับซ้อนเพียงพอจะเพิ่มขึ้นแบบทวีคูณตามความยาวของกุญแจ[ 6 ]หากพิสูจน์ได้[หมายเหตุ 2 ]สิ่งนี้จะหมายถึงสิ่งที่ปัจจุบันเรียกว่า P   NP เนื่องจากกุญแจที่เสนอสามารถตรวจสอบได้ในเวลาพหุนาม ในจดหมายที่เขียนโดยKurt GödelถึงJohn von Neumann ในปี 1956 Gödel ถามว่าการพิสูจน์ทฤษฎีบท (ซึ่งปัจจุบันทราบกันว่าเป็นco-NP-complete ) สามารถแก้ไขได้ในเวลากำลังสองหรือ เชิงเส้นหรือไม่ และตั้งสมมติฐานว่าหากเป็นเช่นนั้น การค้นพบการพิสูจน์ทางคณิตศาสตร์ก็จะสามารถทำให้เป็นอัตโนมัติได้[ 7 ]

บริบท

ความสัมพันธ์ระหว่างระดับความซับซ้อน P และ NP นั้นได้รับการศึกษาในทฤษฎีความซับซ้อนของการคำนวณซึ่งเป็นส่วนหนึ่งของทฤษฎีการคำนวณที่เกี่ยวข้องกับทรัพยากรที่จำเป็นระหว่างการคำนวณเพื่อแก้ปัญหาที่กำหนด ทรัพยากรที่พบได้บ่อยที่สุดคือ เวลา (จำนวนขั้นตอนที่ใช้ในการแก้ปัญหา) และพื้นที่ (ปริมาณหน่วยความจำที่ใช้ในการแก้ปัญหา)

ในการวิเคราะห์ดังกล่าว จำเป็นต้องมีแบบจำลองของคอมพิวเตอร์ที่ต้องนำมาวิเคราะห์เวลา โดยทั่วไปแบบจำลองเหล่านี้จะถือว่าคอมพิวเตอร์เป็นแบบกำหนดได้ (เมื่อกำหนดสถานะปัจจุบันของคอมพิวเตอร์และข้อมูลป้อนเข้าแล้ว จะมีเพียงการกระทำเดียวที่เป็นไปได้ที่คอมพิวเตอร์อาจทำได้) และเป็นแบบลำดับ (มันดำเนินการทีละอย่าง)

ในทฤษฎีนี้ คลาส P ประกอบด้วยปัญหาการตัดสินใจ ทั้งหมด (ที่กำหนดไว้ด้านล่าง ) ที่สามารถแก้ไขได้บนเครื่องลำดับแบบกำหนดได้ในระยะเวลาที่เป็นพหุนามตามขนาดของอินพุต คลาสNPประกอบด้วยปัญหาการตัดสินใจทั้งหมดที่มีคำตอบเชิงบวกที่สามารถตรวจสอบได้ในเวลาพหุนามเมื่อได้รับข้อมูลที่ถูกต้อง หรือเทียบเท่ากับคำตอบที่สามารถหาได้ในเวลาพหุนามบนเครื่องที่ไม่ใช่แบบกำหนดได้[ 8 ]เห็นได้ชัดว่า P ⊆ NP อาจกล่าวได้ว่าคำถามเปิดที่ใหญ่ที่สุดในวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีเกี่ยวข้องกับความสัมพันธ์ระหว่างสองคลาสนี้

P เท่ากับ NP หรือไม่?

ตั้งแต่ปี 2001 วิลเลียม กาซาร์ชได้ทำการสำรวจความคิดเห็นของนักวิจัย 3 ครั้งเกี่ยวกับ P   NP และคำถามที่เกี่ยวข้อง[ 9 ] [ 10 ] [ 11 ]สัดส่วนของผู้ตอบแบบสอบถามที่เชื่อว่า P   NP คือ 61% ในปี 2001 [หมายเหตุ 3 ] 83% ในปี 2011 และ 88% ในปี 2018 โดยมีผู้ตอบแบบสอบถาม 100, 151 และ 124 คน ตามลำดับ[ 11 ]เมื่อจำกัดเฉพาะผู้เชี่ยวชาญ ผู้ตอบแบบสอบถามในปี 2018 จำนวน 99% เชื่อว่า P   NP [ 11 ]การสำรวจเหล่านี้ไม่ได้หมายความว่า P  =  NP; ดังที่กาซาร์ชกล่าวไว้ว่า: "สิ่งนี้ไม่ได้ทำให้เราเข้าใกล้การแก้ปัญหา P=?NP หรือรู้ว่าเมื่อใดจะได้รับการแก้ไข แต่เป็นการพยายามรายงานอย่างเป็นกลางเกี่ยวกับความคิดเห็นส่วนตัวของยุคนี้" [ 9 ]

ความสมบูรณ์ของ NP

แผนภาพออยเลอร์สำหรับ เซตของปัญหา P , NP , NP-complete และ NP-hard (ไม่รวมภาษาว่างเปล่าและส่วนเติมเต็มของมัน ซึ่งอยู่ในเซต P แต่ไม่ใช่ NP-complete)

ในการแก้ปัญหา P  =  NP นั้น แนวคิดเรื่อง NP-completeness มีประโยชน์มาก ปัญหา NP-complete คือปัญหาที่สามารถลดรูปไปเป็นปัญหา NP อื่นๆ ได้ในเวลาพหุนาม และยังสามารถตรวจสอบคำตอบได้ในเวลาพหุนาม กล่าวคือ ปัญหา NP ใดๆ ก็สามารถแปลงเป็นปัญหา NP-complete ใดๆ ก็ได้ โดยทั่วไปแล้ว ปัญหา NP-complete คือปัญหา NP ที่มีความ "ยาก" อย่างน้อยก็เท่ากับปัญหาอื่นๆ ใน NP

ปัญหา NP-hardคือปัญหาที่ยากอย่างน้อยเท่ากับปัญหา NP กล่าวคือ ปัญหา NP ทั้งหมดสามารถลดรูป (ในเวลาพหุนาม) ไปเป็นปัญหา NP-hard ได้ ปัญหา NP-hard ไม่จำเป็นต้องอยู่ในกลุ่มปัญหา NP กล่าวคือ ไม่จำเป็นต้องมีคำตอบที่ตรวจสอบได้ในเวลาพหุนาม

ตัวอย่างเช่นปัญหาความน่าพอใจของบูลีน (Boolean satisfiability problem)เป็นปัญหา NP-complete ตามทฤษฎีบท Cook–Levinดังนั้นปัญหาใดในกลุ่ม NP สามารถแปลงเป็นปัญหาความน่าพอใจของบูลีนได้โดยอัตโนมัติในเวลาพหุนาม ปัญหาความน่าพอใจของบูลีนเป็นหนึ่งในปัญหา NP-complete จำนวนมาก หากปัญหา NP-complete ใดๆ อยู่ในกลุ่ม P ก็จะสรุปได้ว่า P  =  NP อย่างไรก็ตาม ปัญหาสำคัญหลายปัญหาเป็นปัญหา NP-complete และยังไม่มีอัลกอริทึมที่รวดเร็วสำหรับปัญหาเหล่านั้น

จากคำจำกัดความเพียงอย่างเดียว ดูเหมือนว่าปัญหา NP-complete จะไม่สมเหตุสมผล อย่างไรก็ตาม ปัญหา NP-complete ที่ไม่ซับซ้อนสามารถกำหนดได้ดังนี้: เมื่อกำหนดเครื่องทัวริงMที่รับประกันว่าจะหยุดในเวลาพหุนาม มีอินพุตขนาดพหุนามที่Mจะยอมรับหรือไม่? [ 12 ]ปัญหานี้อยู่ใน NP เพราะ (เมื่อกำหนดอินพุต) การตรวจสอบว่าMยอมรับอินพุตหรือไม่โดยการจำลองM นั้นทำได้ง่าย ปัญหานี้อยู่ใน NP-complete เพราะตัวตรวจสอบสำหรับอินสแตนซ์เฉพาะของปัญหาใน NP สามารถเข้ารหัสเป็นเครื่องM ในเวลาพหุนาม ที่รับโซลูชันที่จะตรวจสอบเป็นอินพุต จากนั้นคำถามที่ว่าอินสแตนซ์นั้นเป็นอินสแตนซ์ใช่หรือไม่ใช่จะถูกกำหนดโดยว่ามีอินพุตที่ถูกต้องอยู่หรือไม่

ปัญหาธรรมชาติข้อแรกที่ได้รับการพิสูจน์ว่าเป็น NP-complete คือปัญหาความพึงพอใจของบูลีน หรือที่รู้จักกันในชื่อ SAT ดังที่กล่าวไว้ข้างต้น นี่คือทฤษฎีบท Cook–Levin การพิสูจน์ว่าความพึงพอใจเป็น NP-complete นั้นมีรายละเอียดทางเทคนิคเกี่ยวกับเครื่องจักรทัวริงที่เกี่ยวข้องกับนิยามของ NP อย่างไรก็ตาม หลังจากที่พิสูจน์ได้ว่าปัญหานี้เป็น NP-complete แล้วการพิสูจน์โดยการลดรูปได้ให้วิธีที่ง่ายกว่าในการแสดงให้เห็นว่าปัญหาอื่นๆ อีกมากมายก็เป็น NP-complete เช่นกัน รวมถึงเกมซูโดกุที่กล่าวถึงก่อนหน้านี้ ในกรณีนี้ การพิสูจน์แสดงให้เห็นว่าวิธีแก้ปัญหาซูโดกุในเวลาพหุนามสามารถใช้ในการเติมตารางละตินในเวลาพหุนาม ได้เช่นกัน [ 13 ] ซึ่งจะ นำไปสู่วิธีแก้ปัญหาการแบ่งกราฟสามส่วนออกเป็นรูปสามเหลี่ยม[ 14 ]ซึ่งสามารถนำมาใช้ในการหาคำตอบสำหรับกรณีพิเศษของ SAT ที่เรียกว่า 3-SAT [ 15 ]ซึ่งจะนำไปสู่วิธีแก้ปัญหาความพึงพอใจของบูลีนทั่วไป ดังนั้น วิธีแก้ปัญหาซูโดกุในเวลาพหุนามจึงนำไปสู่วิธีแก้ปัญหาความน่าพอใจในเวลาพหุนามโดยผ่านการแปลงเชิงกลหลายขั้นตอน ซึ่งในทางกลับกันสามารถนำไปใช้แก้ปัญหา NP อื่นๆ ในเวลาพหุนามได้ การใช้การแปลงแบบนี้ทำให้ปัญหาที่ดูเหมือนไม่เกี่ยวข้องกันจำนวนมากสามารถลดรูปไปเป็นปัญหาเดียวกันได้ และในแง่หนึ่งก็คือ "ปัญหาเดียวกัน"

ปัญหาที่ยากขึ้น

แม้ว่าจะไม่ทราบแน่ชัดว่า P  =  NP หรือไม่ แต่ปัญหาที่อยู่นอกเหนือ P นั้นเป็นที่ทราบกันดี เช่นเดียวกับที่คลาส P ถูกกำหนดในแง่ของเวลาการทำงานแบบพหุนาม คลาสEXPTIMEก็คือเซตของปัญหาการตัดสินใจทั้งหมดที่มี เวลาการทำงาน แบบเลขชี้กำลังกล่าวอีกนัยหนึ่ง ปัญหาใดๆ ใน EXPTIME สามารถแก้ไขได้โดยเครื่องจักรทัวริงแบบกำหนดได้ใน เวลา O (2p ( n ) )โดยที่p ( n ) เป็นฟังก์ชันพหุนามของnปัญหาการตัดสินใจจะสมบูรณ์ใน EXPTIMEหากอยู่ใน EXPTIME และทุกปัญหาใน EXPTIME สามารถลดรูปหลายต่อหนึ่งได้ในเวลาพหุนาม ปัญหาจำนวนหนึ่งเป็นที่ทราบกันว่าสมบูรณ์ใน EXPTIME เนื่องจากสามารถแสดงได้ว่า P   EXPTIME ปัญหาเหล่านี้จึงอยู่นอก P และดังนั้นจึงต้องใช้เวลามากกว่าพหุนาม ในความเป็นจริง ตามทฤษฎีบทลำดับชั้นของเวลา ปัญหาเหล่านี้ ไม่สามารถแก้ไขได้ในเวลาที่น้อยกว่าเลขชี้กำลังอย่างมีนัยสำคัญ ตัวอย่างเช่น การค้นหากลยุทธ์ที่สมบูรณ์แบบสำหรับ ตำแหน่ง หมากรุกบนกระดานN × N [ 16 ]และปัญหาที่คล้ายกันสำหรับเกมกระดานอื่นๆ[ 17 ]

ปัญหาในการตัดสินความจริงของข้อความในเลขคณิตของ Presburgerต้องใช้เวลามากขึ้นไปอีกFischerและRabinพิสูจน์ในปี 1974 [ 18 ]ว่าอัลกอริทึมทุกตัวที่ตัดสินความจริงของข้อความ Presburger ที่มีความยาวnมีเวลาทำงานอย่างน้อย22n{\displaystyle 2^{2^{cn}}}สำหรับค่าคงที่c บางค่า ดังนั้นจึงทราบกันดีว่าปัญหานี้ต้องการเวลาในการทำงานมากกว่าแบบเลขชี้กำลัง ยิ่งไปกว่านั้นปัญหาที่ไม่สามารถตัดสินได้เช่นปัญหาการหยุด ทำงาน ยิ่งยากกว่า ปัญหาเหล่านี้ไม่สามารถแก้ไขได้อย่างสมบูรณ์ด้วยอัลกอริทึมใดๆ ในแง่ที่ว่าสำหรับอัลกอริทึมใดๆ ก็ตาม จะมีอย่างน้อยหนึ่งอินพุตที่อัลกอริทึมนั้นจะไม่ให้คำตอบที่ถูกต้อง มันอาจจะให้คำตอบที่ผิด จบลงโดยไม่ให้คำตอบที่แน่ชัด หรือทำงานไปเรื่อยๆ โดยไม่ให้คำตอบใดๆ เลย

นอกจากนี้ยังสามารถพิจารณาคำถามอื่นๆ นอกเหนือจากปัญหาการตัดสินใจได้อีกด้วย หนึ่งในกลุ่มดังกล่าว ซึ่งประกอบด้วยปัญหาการนับ เรียกว่า#P : ในขณะที่ปัญหา NP ถามว่า "มีคำตอบหรือไม่" ปัญหา #P ที่สอดคล้องกันจะถามว่า "มีคำตอบกี่คำตอบ" เห็นได้ชัดว่าปัญหา #P ต้องยากอย่างน้อยเท่ากับปัญหา NP ที่สอดคล้องกัน เนื่องจากจำนวนคำตอบจะบอกได้ทันทีว่ามีคำตอบอย่างน้อยหนึ่งคำตอบหรือไม่ หากจำนวนมากกว่าศูนย์ น่าประหลาดใจที่ปัญหา #P บางปัญหาที่เชื่อว่ายากนั้นสอดคล้องกับปัญหา P ที่ง่าย (เช่น ปัญหาที่ใช้เวลาเชิงเส้น) [ 19 ]สำหรับปัญหาเหล่านี้ การบอกว่ามีคำตอบหรือไม่นั้นง่ายมาก แต่การบอกว่ามีกี่คำตอบนั้นยากมาก ปัญหาเหล่านี้จำนวนมากเป็น#P-completeและด้วยเหตุนี้จึงเป็นหนึ่งในปัญหาที่ยากที่สุดใน #P เนื่องจากวิธีแก้ปัญหาแบบใช้เวลาพหุนามสำหรับปัญหาใดๆ ก็ตามจะทำให้สามารถแก้ปัญหา #P อื่นๆ ทั้งหมดแบบใช้เวลาพหุนามได้เช่นกัน

ปัญหาในกลุ่ม NP ที่ไม่ทราบว่าอยู่ในกลุ่ม P หรือ NP-complete

ในปี พ.ศ. 2518 Richard E. Ladnerแสดงให้เห็นว่าหาก P   NP จะมีปัญหาใน NP ที่ไม่อยู่ใน P หรือ NP-complete [ 20 ]ปัญหาดังกล่าวเรียกว่าปัญหา NP-intermediate ปัญหาไอโซมอร์ฟิซึมของกราฟ ปัญหาลอการิทึม แบบไม่ต่อเนื่องและปัญหาการแยกตัวประกอบจำนวนเต็มเป็นตัวอย่างของปัญหาที่เชื่อว่าเป็น NP-intermediate ปัญหาเหล่านี้เป็นปัญหา NP เพียงไม่กี่ปัญหาที่ไม่ทราบว่าอยู่ใน P หรือเป็น NP-complete

ปัญหาความเหมือนกันของกราฟเป็นปัญหาการคำนวณในการพิจารณาว่ากราฟ จำกัดสองกราฟ มีความเหมือนกันหรือไม่ ปัญหาสำคัญที่ยังไม่ได้รับการแก้ไขในทฤษฎีความซับซ้อนคือปัญหาความเหมือนกันของกราฟอยู่ในระดับ P, NP-complete หรือ NP-intermediate คำตอบยังไม่เป็นที่ทราบแน่ชัด แต่เชื่อกันว่าปัญหานี้อย่างน้อยก็ไม่ใช่ NP-complete [ 21 ]หากความเหมือนกันของกราฟเป็น NP-complete ลำดับชั้นเวลาพหุนามจะยุบตัวลงสู่ระดับที่สอง[ 22 ]เนื่องจากเป็นที่เชื่อกันอย่างกว้างขวางว่าลำดับชั้นพหุนามไม่ยุบตัวลงสู่ระดับจำกัดใดๆ จึงเชื่อว่าความเหมือนกันของกราฟไม่ใช่ NP-complete อัลกอริทึมที่ดีที่สุดสำหรับปัญหานี้ ซึ่งพัฒนาโดยLászló Babaiทำงานในเวลากึ่งพหุนาม[ 23 ]

ปัญหาการแยกตัวประกอบจำนวนเต็มคือปัญหาการคำนวณในการหาตัวประกอบเฉพาะของจำนวนเต็มที่กำหนดให้ กล่าวอีกนัยหนึ่งคือปัญหาการตัดสินใจว่าอินพุตมีตัวประกอบน้อยกว่าkหรือไม่ ยังไม่มีอัลกอริทึมการแยกตัวประกอบจำนวนเต็มที่มีประสิทธิภาพเป็นที่รู้จัก และข้อเท็จจริงนี้เป็นพื้นฐานของระบบการเข้ารหัสสมัยใหม่หลายระบบ เช่น อัลกอริทึม RSAปัญหาการแยกตัวประกอบจำนวนเต็มอยู่ใน NP และco-NP (และแม้แต่ในUPและ co-UP [ 24 ] ) หากปัญหานี้เป็น NP-complete ลำดับชั้นเวลาพหุนามจะยุบตัวลงสู่ระดับแรก (เช่น NP = co-NP) อัลกอริทึม ที่มีประสิทธิภาพที่สุดที่รู้จักสำหรับการแยกตัวประกอบจำนวนเต็มคือตะแกรงฟิลด์จำนวนทั่วไปซึ่งใช้เวลาที่คาดหวัง

โอ(เอ็กซ์((64n9บันทึก(2))13(บันทึก(nบันทึก(2)))23)){\displaystyle O\left(\exp \left(\left({\tfrac {64n}{9}}\log(2)\right)^{\frac {1}{3}}\left(\log(n\log(2))\right)^{\frac {2}{3}}\right)\right)}

เพื่อแยกตัวประกอบจำนวนเต็มn บิต อัลกอริทึมควอนตัม ที่เป็นที่รู้จักดีที่สุด สำหรับปัญหานี้ คืออัลกอริทึมของชอร์ซึ่งทำงานในเวลาพหุนาม แม้ว่านี่จะไม่บ่งชี้ว่าปัญหาอยู่ในระดับความซับซ้อนใดเมื่อเทียบกับระบบที่ไม่ใช่ควอนตัมก็ตาม

การเปรียบเทียบ P กับปัญหาที่ "ง่าย"

กราฟแสดงเวลาการทำงานเทียบกับขนาดของปัญหาสำหรับปัญหากระเป๋าเป้สะพายหลังของอัลกอริทึมเฉพาะทางที่ทันสมัยที่สุด การปรับแบบกำลังสองแสดงให้เห็นว่าความซับซ้อนของอัลกอริทึมของปัญหาคือ O((log( n )) 2 ) [ 25 ]

การอภิปรายทั้งหมดข้างต้นตั้งอยู่บนสมมติฐานที่ว่า P หมายถึง "ง่าย" และ "ไม่อยู่ใน P" หมายถึง "ยาก" ซึ่งเป็นสมมติฐานที่เรียกว่าทฤษฎีบทของคอบแฮม (Cobham's thesis ) เป็นสมมติฐานที่พบได้ทั่วไปในทฤษฎีความซับซ้อน แต่ก็มีข้อควรระวังอยู่บ้าง

ประการแรก ในทางปฏิบัติอาจไม่ถูกต้อง อัลกอริทึมพหุนามเชิงทฤษฎีอาจมีปัจจัยคงที่หรือเลขชี้กำลังขนาดใหญ่มาก ทำให้ไม่สามารถนำไปใช้ได้จริง ตัวอย่างเช่น ปัญหาของการตัดสินใจว่ากราฟGมีHเป็นไมเนอร์ หรือ ไม่โดยที่Hถูกกำหนดไว้ สามารถแก้ไขได้ในเวลาทำงานO ( ) [ 26 ]โดยที่nคือจำนวนจุดยอดในGอย่างไรก็ตามสัญกรณ์ O ขนาดใหญ่ซ่อนค่าคงที่ที่ขึ้นอยู่กับH อย่าง มาก ค่าคงที่นี้มากกว่า2↑ ↑(2↑ ↑(2↑ ↑(ชม./2))){\displaystyle 2\uparrow \uparrow (2\uparrow \uparrow (2\uparrow \uparrow (h/2)))}(โดยใช้สัญลักษณ์ลูกศรขึ้นของ Knuth ) และhคือจำนวนจุดยอดในH [ 27 ]

ในทางกลับกัน แม้ว่าปัญหาจะถูกแสดงให้เห็นว่าเป็น NP-complete และแม้ว่า P   NP ก็อาจยังมีวิธีการที่มีประสิทธิภาพในการแก้ปัญหาในทางปฏิบัติได้ มีอัลกอริธึมสำหรับปัญหา NP-complete จำนวนมาก เช่นปัญหา knapsackปัญหาtraveling salesmanและปัญหา Boolean satisfiabilityที่สามารถแก้ปัญหาตัวอย่างในโลกแห่งความเป็นจริงจำนวนมากได้อย่างเหมาะสมในเวลาที่สมเหตุสมผลความซับซ้อนโดยเฉลี่ยเชิง ประจักษ์ (เวลาเทียบกับขนาดของปัญหา) ของอัลกอริธึมดังกล่าวอาจต่ำอย่างน่าประหลาดใจ ตัวอย่างเช่นอัลกอริธึม simplexในการเขียนโปรแกรมเชิงเส้นซึ่งทำงานได้ดีอย่างน่าประหลาดใจในทางปฏิบัติ แม้ว่าจะมีเวลาซับซ้อน ในกรณีที่เลวร้ายที่สุดแบบเลขชี้กำลัง แต่ก็ทำงานได้เทียบเท่ากับอัลกอริธึมเวลาพหุนามที่ดีที่สุดที่รู้จัก[ 28 ]

สุดท้ายนี้ ยังมีการคำนวณบางประเภทที่ไม่สอดคล้องกับแบบจำลองเครื่องจักรทัวริง ซึ่งเป็นแบบจำลองที่ใช้กำหนด P และ NP เช่นการคำนวณควอนตัมและอัลกอริธึมแบบสุ่ม

เหตุผลที่เชื่อว่า P ≠ NP หรือ P = NP

Cook ได้นำเสนอการทบทวนปัญหาในThe P Versus NP Problem อีกครั้ง ในหัวข้อ "P  =  NP หรือไม่?" [ 29 ]จากผลสำรวจ[ 9 ] [ 30 ]นักวิทยาศาสตร์คอมพิวเตอร์ส่วนใหญ่เชื่อว่า P   NP เหตุผลสำคัญประการหนึ่งสำหรับความเชื่อนี้คือ หลังจากศึกษาปัญหาเหล่านี้มานานหลายทศวรรษ ไม่มีใครสามารถหาอัลกอริทึมแบบพหุนามไทม์สำหรับปัญหา NP-complete ที่สำคัญมากกว่า 3,000 ปัญหา (ดูรายชื่อปัญหา NP-complete ) อัลกอริทึมเหล่านี้ถูกค้นหามานานก่อนที่แนวคิดเรื่อง NP-completeness จะถูกกำหนดขึ้นด้วยซ้ำ ( ปัญหา NP-complete 21 ข้อของ Karpซึ่งเป็นหนึ่งในปัญหาแรกๆ ที่พบ ล้วนเป็นปัญหาที่มีอยู่แล้วซึ่งเป็นที่รู้จักกันดีในขณะที่แสดงให้เห็นว่าเป็น NP-complete) ยิ่งไปกว่านั้น ผลลัพธ์ P  =  NP จะหมายถึงผลลัพธ์ที่น่าตกใจอื่นๆ อีกมากมายที่ปัจจุบันเชื่อว่าเป็นเท็จ เช่น NP  = co-NPและP = PH   

นอกจากนี้ ยังมีการโต้แย้งโดยสัญชาตญาณว่าการมีอยู่ของปัญหาที่ยากต่อการแก้ไขแต่สามารถตรวจสอบวิธีแก้ปัญหาได้ง่ายนั้นสอดคล้องกับประสบการณ์ในโลกแห่งความเป็นจริง[ 31 ]

ถ้า P = NP โลกก็จะแตกต่างไปจากที่เราเข้าใจกันโดยสิ้นเชิง จะไม่มีคุณค่าพิเศษใดๆ ใน "การก้าวกระโดดทางความคิดสร้างสรรค์" และจะไม่มีช่องว่างพื้นฐานระหว่างการแก้ปัญหาและการรับรู้ถึงวิธีการแก้ปัญหาเมื่อค้นพบแล้ว

ในทางกลับกัน นักวิจัยบางคนเชื่อว่าการเชื่อว่า P   NP เป็นการมั่นใจมากเกินไป และนักวิจัยควรสำรวจหาหลักฐานของ P  =  NP ด้วย ตัวอย่างเช่น ในปี 2545 มีการกล่าวข้อความเหล่านี้: [ 9 ]

ข้อโต้แย้งหลักที่สนับสนุนว่า P   NP คือการขาดความก้าวหน้าพื้นฐานอย่างสิ้นเชิงในด้านการค้นหาแบบครบถ้วน ในความเห็นของผม นี่เป็นข้อโต้แย้งที่อ่อนมาก พื้นที่ของอัลกอริทึมนั้นกว้างใหญ่มาก และเราเพิ่งเริ่มต้นการสำรวจเท่านั้น [...] การแก้ทฤษฎีบทสุดท้ายของแฟร์มาต์ยังแสดงให้เห็นว่าคำถามง่ายๆ อาจได้รับการแก้ไขได้ด้วยทฤษฎีที่ลึกซึ้งมากเท่านั้น

โมเช วาย. วาร์ดีมหาวิทยาลัยไรซ์

การยึดติดกับข้อสันนิษฐานไม่ใช่แนวทางที่ดีในการวางแผนการวิจัย ควรลองพิจารณาทั้งสองแนวทางของทุกปัญหาเสมอ อคติทำให้คณิตศาสตร์ชื่อดังหลายท่านไม่สามารถแก้ปัญหาที่มีชื่อเสียงซึ่งคำตอบนั้นตรงกันข้ามกับความคาดหวังของพวกเขา แม้ว่าพวกเขาจะพัฒนาวิธีการที่จำเป็นทั้งหมดแล้วก็ตาม

DLIN เทียบกับ NLIN

เมื่อแทนที่ "เวลาเชิงเส้นบนเครื่องทัวริงแบบมัลติเทป" ด้วย "เวลาพหุนาม" ในคำจำกัดความของ P และ NP จะได้คลาสDLINและNLINเป็นที่ทราบกันดีอยู่แล้ว[ 32 ]ว่า DLIN ≠ NLIN

ผลที่ตามมาของวิธีแก้ปัญหา

หนึ่งในเหตุผลที่ปัญหานี้ดึงดูดความสนใจอย่างมากคือผลที่ตามมาของคำตอบที่เป็นไปได้ ไม่ว่าคำตอบจะไปในทิศทางใดก็ล้วนแต่จะช่วยพัฒนาทฤษฎีอย่างมหาศาล และอาจมีผลกระทบอย่างมากในทางปฏิบัติด้วยเช่นกัน

พี = เอ็นพี

การพิสูจน์ว่า P  =  NP อาจส่งผลกระทบในทางปฏิบัติอย่างน่าทึ่ง หากการพิสูจน์นั้นนำไปสู่วิธีการที่มีประสิทธิภาพในการแก้ปัญหาสำคัญบางอย่างในกลุ่ม NP ผลกระทบที่อาจเกิดขึ้นนั้นมีทั้งด้านบวกและด้านลบ เนื่องจากปัญหา NP-complete ต่างๆ เป็นพื้นฐานในหลายสาขา

เป็นไปได้มากเช่นกันว่าบทพิสูจน์อาจไม่นำไปสู่ขั้นตอนวิธีที่ใช้ได้จริงสำหรับปัญหา NP-complete การกำหนดปัญหาไม่จำเป็นต้องให้พหุนามขอบเขตมีขนาดเล็กหรือแม้แต่ทราบอย่างเฉพาะเจาะจงบทพิสูจน์ที่ไม่สร้างสรรค์อาจแสดงให้เห็นว่ามีคำตอบอยู่โดยไม่ต้องระบุขั้นตอนวิธีในการหาคำตอบหรือขอบเขตที่เฉพาะเจาะจง แม้ว่าบทพิสูจน์จะสร้างสรรค์ โดยแสดงพหุนามขอบเขตอย่างชัดเจนและรายละเอียดของขั้นตอนวิธี แต่ถ้าพหุนามนั้นไม่ใช่พหุนามลำดับต่ำมาก ขั้นตอนวิธีอาจไม่มีประสิทธิภาพเพียงพอในทางปฏิบัติ ในกรณีนี้ บทพิสูจน์เบื้องต้นจะเป็นที่สนใจของนักทฤษฎีเป็นหลัก แต่ความรู้ที่ว่าสามารถหาคำตอบได้ในเวลาพหุนามจะกระตุ้นให้เกิดการวิจัยเกี่ยวกับวิธีการที่ดีกว่า (และอาจใช้ได้จริง) เพื่อให้ได้มาซึ่งคำตอบเหล่านั้นอย่างแน่นอน

วิธีแก้ปัญหาที่แสดงให้เห็นว่า P  =  NP อาจพลิกโฉมวงการการเข้ารหัสซึ่งอาศัยความยากของปัญหาบางอย่าง วิธีแก้ปัญหาที่สร้างสรรค์และมีประสิทธิภาพ[หมายเหตุ 4 ]สำหรับปัญหา NP-complete เช่น3-SATจะทำลายระบบการเข้ารหัสที่มีอยู่ส่วนใหญ่ รวมถึง:

จำเป็นต้องมีการปรับเปลี่ยนหรือแทนที่โซลูชันเหล่านี้ด้วย โซลูชัน ที่มีความปลอดภัยทางทฤษฎีสารสนเทศซึ่งไม่ถือว่า P   NP

นอกจากนี้ ยังมีประโยชน์มหาศาลที่จะตามมาจากการทำให้ปัญหาที่ปัจจุบันแก้ไม่ได้ทางคณิตศาสตร์หลายอย่างสามารถแก้ไขได้ ตัวอย่างเช่น ปัญหาหลายอย่างในการวิจัยการดำเนินงานเป็น NP-complete เช่นการเขียนโปรแกรมจำนวนเต็มบาง ประเภท และปัญหาพนักงานขายเดินทางการแก้ปัญหาเหล่านี้อย่างมีประสิทธิภาพจะมีผลกระทบอย่างมากต่อโลจิสติกส์ ปัญหาสำคัญอื่นๆ อีกมากมาย เช่น ปัญหาบางอย่างในการทำนายโครงสร้างโปรตีนก็เป็น NP-complete เช่นกัน[ 36 ]การทำให้ปัญหาเหล่านี้สามารถแก้ไขได้อย่างมีประสิทธิภาพจะช่วยพัฒนาวิทยาศาสตร์ชีวภาพและเทคโนโลยีชีวภาพได้อย่างมาก

การเปลี่ยนแปลงเหล่านี้อาจไม่มีนัยสำคัญเมื่อเทียบกับการปฏิวัติที่การแก้ปัญหา NP-complete อย่างมีประสิทธิภาพจะก่อให้เกิดในคณิตศาสตร์เอง Gödel ในความคิดแรกเริ่มของเขาเกี่ยวกับความซับซ้อนของการคำนวณ ได้กล่าวไว้ว่าวิธีการเชิงกลที่สามารถแก้ปัญหาใดๆ ก็ได้จะปฏิวัติวงการคณิตศาสตร์: [ 37 ] [ 38 ]

หากมีเครื่องจักรที่มี φ( n ) ∼ kn (หรือแม้แต่ ∼ kn 2 ) จริงๆ สิ่งนี้จะส่งผลสำคัญอย่างยิ่ง กล่าวคือ นั่นหมายความว่าถึงแม้ปัญหาการตัดสินใจ (Entscheidungsproblem) จะไม่สามารถตัดสิน ได้ แต่การทำงานทางความคิดของนักคณิตศาสตร์เกี่ยวกับคำถามใช่หรือไม่ใช่ก็สามารถถูกแทนที่ด้วยเครื่องจักรได้อย่างสมบูรณ์ เพราะเพียงแค่เลือกจำนวนธรรมชาติnให้มีค่ามากพอที่เมื่อเครื่องจักรไม่ให้ผลลัพธ์ใดๆ ก็ไม่มีประโยชน์ที่จะคิดถึงปัญหาต่อไปอีก

ในทำนองเดียวกันStephen Cook (โดยถือว่าไม่เพียงแต่มีการพิสูจน์เท่านั้น แต่ยังรวมถึงอัลกอริทึมที่มีประสิทธิภาพในทางปฏิบัติด้วย) กล่าวว่า: [ 29 ]

...  มันจะพลิกโฉมวงการคณิตศาสตร์โดยอนุญาตให้คอมพิวเตอร์ค้นหาบทพิสูจน์เชิงรูปธรรมของทฤษฎีบทใดๆ ที่มีบทพิสูจน์ความยาวที่เหมาะสมได้ เนื่องจากบทพิสูจน์เชิงรูปธรรมสามารถจดจำได้ง่ายในเวลาพหุนาม ตัวอย่างปัญหาอาจรวมถึงปัญหาที่ได้รับรางวัล CMI ทั้งหมด ด้วย

นักคณิตศาสตร์วิจัยใช้เวลาทั้งชีวิตในการพยายามพิสูจน์ทฤษฎีบท และบางการพิสูจน์ก็ใช้เวลาหลายสิบปีหรือหลายศตวรรษกว่าจะค้นพบได้หลังจากที่ปัญหาถูกตั้งขึ้น ตัวอย่างเช่นทฤษฎีบทสุดท้ายของแฟร์มาต์ใช้เวลากว่าสามศตวรรษในการพิสูจน์ วิธีการที่รับประกันว่าจะค้นพบการพิสูจน์ได้หากมีการพิสูจน์ที่มีขนาด "เหมาะสม" อยู่แล้ว จะช่วยยุติการต่อสู้ดิ้นรนนี้ได้โดยสิ้นเชิง

Donald Knuthได้กล่าวว่าเขาเชื่อว่า P  =  NP แต่ยังคงสงวนท่าทีเกี่ยวกับผลกระทบของการพิสูจน์ที่เป็นไปได้: [ 39 ]

[...] ถ้าคุณลองนึกภาพจำนวนMที่เป็นจำนวนจำกัดแต่มีขนาดใหญ่มาก—เช่น จำนวน 10↑↑↑↑3 ที่กล่าวถึงในบทความของผมเรื่อง "การรับมือกับความจำกัด"—แล้วจะมีอัลกอริทึมที่เป็นไปได้จำนวนมหาศาลที่ทำการดำเนินการบิตไวส์ การบวก หรือการเลื่อนบิตจำนวนn M ครั้งบนบิตที่กำหนดจำนวน nบิต และเป็นเรื่องยากที่จะเชื่อว่าอัลกอริทึมเหล่านั้นทั้งหมดจะล้มเหลว อย่างไรก็ตาม ประเด็นหลักของผมคือ ผมไม่เชื่อว่าความเท่าเทียมกัน P  =  NP จะมีประโยชน์แม้ว่าจะได้รับการพิสูจน์แล้วก็ตาม เพราะการพิสูจน์เช่นนั้นเกือบจะแน่นอนว่าจะไม่สามารถสร้างสรรค์ได้

แผนภาพของคลาสความซับซ้อนโดยที่ P NP การมีอยู่ของปัญหาภายใน NP แต่ภายนอกทั้ง P และ NP-complete ภายใต้สมมติฐานดังกล่าว ได้รับการยืนยันโดยทฤษฎีบทของ Ladner [ 20 ]  

P ≠ NP

การพิสูจน์ว่า P   NP จะขาดประโยชน์ในการคำนวณเชิงปฏิบัติของการพิสูจน์ว่า P  =  NP แต่จะถือเป็นความก้าวหน้าอย่างมากในทฤษฎีความซับซ้อนของการคำนวณและเป็นแนวทางสำหรับการวิจัยในอนาคต ซึ่งจะแสดงให้เห็นว่าปัญหาทั่วไปหลายอย่างไม่สามารถแก้ไขได้อย่างมีประสิทธิภาพ ดังนั้นนักวิจัยจึงสามารถมุ่งเน้นไปที่วิธีแก้ปัญหาบางส่วนหรือวิธีแก้ปัญหาอื่นๆ ได้ เนื่องจากความเชื่อที่แพร่หลายว่า P   NP การมุ่งเน้นการวิจัยส่วนใหญ่จึงเกิดขึ้นแล้ว[ 40 ]

P   NP ยังคงเปิดประเด็นเรื่องความซับซ้อนในกรณีเฉลี่ยของปัญหาที่ยากใน NP ไว้ ตัวอย่างเช่น เป็นไปได้ว่า SAT อาจต้องใช้เวลาแบบเลขชี้กำลังในกรณีที่เลวร้ายที่สุด แต่เกือบทุกกรณีที่สุ่มเลือกมานั้นสามารถแก้ไขได้อย่างมีประสิทธิภาพRussell Impagliazzoได้อธิบาย "โลก" สมมติห้าโลกที่อาจเกิดขึ้นจากวิธีแก้ปัญหาที่แตกต่างกันสำหรับคำถามเกี่ยวกับความซับซ้อนในกรณีเฉลี่ย[ 41 ]โลกเหล่านี้มีตั้งแต่ "Algorithmica" ซึ่ง P  =  NP และปัญหาเช่น SAT สามารถแก้ไขได้อย่างมีประสิทธิภาพในทุกกรณี ไปจนถึง "Cryptomania" ซึ่ง P   NP และการสร้างกรณีที่ยากของปัญหาที่อยู่นอก P นั้นง่าย โดยมีสามความเป็นไปได้ระดับกลางที่สะท้อนถึงการกระจายความยากลำบากที่แตกต่างกันของกรณีปัญหา NP-hard "โลก" ที่ P   NP แต่ปัญหาทั้งหมดใน NP สามารถแก้ไขได้ในกรณีเฉลี่ยเรียกว่า "Heuristica" ในเอกสาร การประชุมเชิงปฏิบัติการ ของมหาวิทยาลัยพรินซ์ตันในปี 2009 ได้ศึกษาถึงสถานะของโลกทั้งห้า[ 42 ]

ผลลัพธ์เกี่ยวกับความยากของการพิสูจน์

แม้ว่าปัญหา P  =  NP ยังคงเป็นปริศนาอยู่ แม้จะมีรางวัลมูลค่าหลายล้านดอลลาร์และการวิจัยอย่างทุ่มเทมากมาย แต่ความพยายามในการแก้ปัญหานี้ได้นำไปสู่เทคนิคใหม่ๆ หลายอย่าง โดยเฉพาะอย่างยิ่ง การวิจัยที่ได้ผลดีที่สุดเกี่ยวกับปัญหา P  =  NP คือการแสดงให้เห็นว่าเทคนิคการพิสูจน์ที่มีอยู่ไม่เพียงพอที่จะตอบคำถามนี้ ซึ่งชี้ให้เห็นว่าจำเป็นต้องมีแนวทางทางเทคนิคใหม่ๆ

เพื่อเป็นหลักฐานเพิ่มเติมถึงความยากของปัญหา เทคนิคการพิสูจน์ที่รู้จักเกือบทั้งหมดในทฤษฎีความซับซ้อนของการคำนวณนั้นล้วนตกอยู่ในการจัดประเภทใดประเภทหนึ่งต่อไปนี้ ซึ่งทั้งหมดไม่เพียงพอที่จะพิสูจน์ว่า P   NP:

การจำแนกประเภทคำนิยาม
การพิสูจน์เชิงสัมพัทธ์ลองนึกภาพโลกที่อัลกอริทึมทุกตัวได้รับอนุญาตให้สอบถามไปยังซับรูทีนคงที่ที่เรียกว่าออราเคิล (ซึ่งสามารถตอบคำถามชุดคงที่ได้ในเวลาคงที่ เช่น ออราเคิลที่แก้ปัญหาการเดินทางของพนักงานขายได้ใน 1 ขั้นตอน) และเวลาการทำงานของออราเคิลจะไม่ถูกนับรวมกับเวลาการทำงานของอัลกอริทึม บทพิสูจน์ส่วนใหญ่ (โดยเฉพาะบทพิสูจน์แบบคลาสสิก) ใช้ได้อย่างสม่ำเสมอในโลกที่มีออราเคิลโดยไม่คำนึงถึงสิ่งที่ออราเคิลทำ บทพิสูจน์เหล่านี้เรียกว่า การพิสูจน์ แบบสัมพัทธ์ในปี 1975 Baker, Gill และSolovayแสดงให้เห็นว่า P  =  NP เมื่อเทียบกับออราเคิลบางตัว ในขณะที่ P   NP สำหรับออราเคิลอื่นๆ[ 43 ]เนื่องจากบทพิสูจน์แบบสัมพัทธ์สามารถพิสูจน์ข้อความที่เป็นจริงสำหรับออราเคิลที่เป็นไปได้ทั้งหมดเท่านั้น เทคนิคเหล่านี้จึงไม่สามารถแก้ปัญหา P  =  NP ได้
หลักฐานจากธรรมชาติในปี พ.ศ. 2536 Alexander RazborovและSteven Rudichได้กำหนดคลาสทั่วไปของเทคนิคการพิสูจน์สำหรับขอบเขตล่างของความซับซ้อนของวงจร ซึ่งเรียกว่า การพิสูจน์ แบบธรรมชาติ[ 44 ]ในขณะนั้น ขอบเขตล่างของวงจรที่รู้จักก่อนหน้านี้ทั้งหมดเป็นการพิสูจน์แบบธรรมชาติ และความซับซ้อนของวงจรถือเป็นแนวทางที่มีแนวโน้มที่ดีมากสำหรับการแก้ปัญหา P  =  NP อย่างไรก็ตาม Razborov และ Rudich แสดงให้เห็นว่าหากฟังก์ชันทางเดียวมีอยู่ P และ NP จะไม่สามารถแยกแยะได้ด้วยวิธีการพิสูจน์แบบธรรมชาติ แม้ว่าการมีอยู่ของฟังก์ชันทางเดียวจะยังไม่ได้รับการพิสูจน์ แต่นักคณิตศาสตร์ส่วนใหญ่เชื่อว่ามีอยู่ และการพิสูจน์การมีอยู่ของฟังก์ชันเหล่านั้นจะเป็นข้อความที่แข็งแกร่งกว่า P   NP มาก ดังนั้นจึงไม่น่าเป็นไปได้ที่การพิสูจน์แบบธรรมชาติเพียงอย่างเดียวจะสามารถแก้ปัญหา P  =  NP ได้
การพิสูจน์ทางพีชคณิตหลังจากผลลัพธ์ของ Baker–Gill–Solovay เทคนิคการพิสูจน์แบบไม่สัมพัทธภาพใหม่ถูกนำมาใช้พิสูจน์ว่าIP  = PSPACE ได้สำเร็จ อย่างไรก็ตาม ในปี 2008 Scott AaronsonและAvi Wigdersonได้แสดงให้เห็นว่าเครื่องมือทางเทคนิคหลักที่ใช้ในการพิสูจน์ IP = PSPACE ซึ่งรู้จักกันในชื่อarithmetizationนั้นไม่เพียงพอที่จะแก้ปัญหา P = NP ได้ เช่นกัน [ 45 ] Arithmetization จะแปลงการดำเนินการของอัลกอริทึมเป็นสัญลักษณ์พีชคณิตและเลขคณิต พื้นฐาน จากนั้นใช้สัญลักษณ์เหล่านั้นในการวิเคราะห์การทำงาน ในการ พิสูจน์ IP = PSPACEพวกเขาแปลงกล่องดำและวงจรบูลีนให้เป็นปัญหาพีชคณิต[ 45 ]ดังที่กล่าวไว้ก่อนหน้านี้ ได้มีการพิสูจน์แล้วว่าวิธีนี้ไม่สามารถใช้แก้ปัญหา P = NP และปัญหาความซับซ้อนของเวลา อื่นๆ ได้         

อุปสรรคเหล่านี้เป็นอีกเหตุผลหนึ่งที่ทำให้ปัญหา NP-complete มีประโยชน์: หากสามารถแสดงให้เห็นอัลกอริทึมที่ใช้เวลาในการประมวลผลแบบพหุนามสำหรับปัญหา NP-complete ได้ นั่นจะเป็นการแก้ปัญหา P  =  NP ในลักษณะที่ไม่ถูกตัดออกโดยผลลัพธ์ข้างต้น

อุปสรรคเหล่านี้ทำให้ผู้เชี่ยวชาญด้านคอมพิวเตอร์บางคนเสนอว่าปัญหา P เทียบกับ NP อาจเป็นอิสระจากระบบสัจพจน์มาตรฐาน เช่นZFC (ไม่สามารถพิสูจน์หรือหักล้างได้ภายในระบบเหล่านั้น) ผลลัพธ์ที่เป็นอิสระอาจหมายความว่า P   NP และไม่สามารถพิสูจน์ได้ใน (เช่น) ZFC หรือว่า P  =  NP แต่ไม่สามารถพิสูจน์ได้ใน ZFC ว่าอัลกอริทึมเวลาพหุนามใด ๆ นั้นถูกต้อง[ 46 ]อย่างไรก็ตาม หากปัญหาไม่สามารถตัดสินได้แม้จะมีสมมติฐานที่อ่อนกว่ามากซึ่งขยายสัจพจน์ของ Peanoสำหรับเลขคณิตจำนวนเต็ม อัลกอริทึมเวลาพหุนามเกือบทั้งหมดก็มีอยู่สำหรับปัญหา NP ทั้งหมด[ 47 ]ดังนั้น สมมติ (ดังที่นักทฤษฎีความซับซ้อนส่วนใหญ่ทำ) ว่าปัญหา NP บางปัญหาไม่มีอัลกอริทึมที่มีประสิทธิภาพ การพิสูจน์ความเป็นอิสระด้วยเทคนิคเหล่านั้นจึงเป็นไปไม่ได้ นอกจากนี้ยังหมายความว่าการพิสูจน์ความเป็นอิสระจาก PA หรือ ZFC ด้วยเทคนิคปัจจุบันนั้นไม่ง่ายไปกว่าการพิสูจน์ว่าปัญหา NP ทั้งหมดมีอัลกอริทึมที่มีประสิทธิภาพ

ลักษณะเชิงตรรกะ

ปัญหา P  =  NP สามารถกล่าวใหม่ได้ว่าเป็นประโยคตรรกะบางประเภท ซึ่งเป็นผลมาจากการทำงานในด้าน ความซับซ้อน เชิงพรรณนา

พิจารณาภาษาทั้งหมดของโครงสร้างจำกัดที่มีลายเซ็น คงที่ ซึ่งรวมถึง ความสัมพันธ์ ลำดับเชิงเส้นแล้วภาษาทั้งหมดใน P ดังกล่าวสามารถแสดงได้ในตรรกะลำดับที่หนึ่งโดยการเพิ่มตัวรวมจุดคงที่น้อยที่สุดที่เหมาะสม ฟังก์ชันแบบเรียกซ้ำสามารถกำหนดได้ด้วยสิ่งนี้และความสัมพันธ์ลำดับ ตราบใดที่ลายเซ็นมีอย่างน้อยหนึ่ง述语หรือฟังก์ชันนอกเหนือจากความสัมพันธ์ลำดับที่โดดเด่น เพื่อให้ปริมาณพื้นที่ที่ใช้ในการจัดเก็บโครงสร้างจำกัดดังกล่าวเป็นพหุนามตามจำนวนองค์ประกอบในโครงสร้าง นี่คือลักษณะเฉพาะของ P อย่างแม่นยำ

ในทำนองเดียวกัน NP คือเซตของภาษาที่สามารถแสดงออกมาได้ในตรรกะลำดับที่สอง แบบมีอยู่จริง —นั่นคือ ตรรกะลำดับที่สองที่ถูกจำกัดไม่ให้มีการกำหนดปริมาณแบบสากลเหนือความสัมพันธ์ ฟังก์ชัน และเซตย่อย ภาษาในลำดับชั้นพหุนาม PH สอดคล้องกับตรรกะลำดับที่สองทั้งหมด ดังนั้น คำถามที่ว่า "P เป็นเซตย่อยที่แท้จริงของ NP หรือไม่" สามารถกำหนดใหม่ได้เป็น "ตรรกะลำดับที่สองแบบมีอยู่จริงสามารถอธิบายภาษา (ของโครงสร้างเรียงลำดับเชิงเส้นจำกัดที่มีลายเซ็นที่ไม่ธรรมดา) ที่ตรรกะลำดับแรกที่มีจุดตรึงน้อยที่สุดไม่สามารถทำได้หรือไม่" [ 48 ]คำว่า "มีอยู่จริง" สามารถละทิ้งได้จากการกำหนดลักษณะก่อนหน้านี้ เนื่องจาก P  = NP ก็ต่อเมื่อ P = PH  เท่านั้น(เนื่องจากข้อแรกจะพิสูจน์ว่า NP = co-NP ซึ่งในทางกลับกันหมายความว่า NP = PH)      

อัลกอริทึมเวลาพหุนาม

ไม่มีอัลกอริทึมใดที่รู้จักสำหรับปัญหา NP-complete ที่ทำงานในเวลาพหุนาม อย่างไรก็ตาม มีอัลกอริทึมที่รู้จักสำหรับปัญหา NP-complete ที่หาก P  =  NP อัลกอริทึมจะทำงานในเวลาพหุนามบนอินสแตนซ์ที่ยอมรับได้ (แม้ว่าจะมีค่าคงที่มหาศาล ทำให้ไม่สามารถใช้งานอัลกอริทึมได้จริง) อย่างไรก็ตาม อัลกอริทึมเหล่านี้ไม่จัดว่าเป็นเวลาพหุนาม เพราะเวลาในการทำงานบนอินสแตนซ์ที่ปฏิเสธนั้นไม่ใช่พหุนาม อัลกอริทึมต่อไปนี้ ซึ่งเป็นผลงานของLevin (โดยไม่มีการอ้างอิงใดๆ) เป็นตัวอย่างหนึ่ง อัลกอริทึมนี้ยอมรับภาษา NP-complete SUBSET-SUM ได้อย่างถูกต้อง และทำงานในเวลาพหุนามบนอินพุตที่อยู่ใน SUBSET-SUM ก็ต่อเมื่อ P  =  NP เท่านั้น:

// อัลกอริทึมที่ยอมรับภาษา SUBSET-SUM ซึ่งเป็นปัญหา NP-complete // // นี่คืออัลกอริทึมเวลาพหุนามก็ต่อเมื่อ P = NP เท่านั้น// // "เวลาพหุนาม" หมายความว่ามันจะคืนค่า "ใช่" ในเวลาพหุนามเมื่อ// คำตอบควรจะเป็น "ใช่" และจะทำงานไปเรื่อยๆ เมื่อคำตอบเป็น "ไม่ใช่" // // อินพุต: S = เซตของจำนวนเต็มจำกัด// เอาต์พุต: "ใช่" ถ้าเซตย่อยใดๆ ของ S รวมกันได้ 0 // ทำงานไปเรื่อยๆ โดยไม่มีเอาต์พุตอื่นๆ// หมายเหตุ: "หมายเลขโปรแกรม M" คือโปรแกรมที่ได้จาก// การเขียนจำนวนเต็ม M ในรูปแบบไบนารี จากนั้น// พิจารณาสตริงของบิตนั้นว่าเป็น// โปรแกรม ทุกโปรแกรมที่เป็นไปได้สามารถสร้างได้ // ด้วยวิธีนี้ แม้ว่าส่วนใหญ่จะไม่ได้ทำอะไรเลย// เนื่องจากข้อผิดพลาดทางไวยากรณ์ สำหรับ K = 1...∞ สำหรับ M = 1...K เรียกใช้โปรแกรมหมายเลข M เป็นจำนวน K ขั้นตอน โดยใช้ข้อมูลป้อนเข้า S ถ้าโปรแกรมแสดงผลออกมาเป็นรายการของจำนวนเต็มที่ไม่ซ้ำกัน และจำนวนเต็มทั้งหมดอยู่ใน S และผลรวมของจำนวนเต็มเท่ากับ 0 แล้ว แสดงผล "ใช่" และหยุด

นี่คืออัลกอริธึมที่ทำงานในเวลาพหุนาม โดยยอมรับภาษาที่เป็นปัญหา NP-complete ก็ต่อเมื่อ P  =  NP เท่านั้น "การยอมรับ" หมายความว่ามันให้คำตอบ "ใช่" ในเวลาพหุนาม แต่จะทำงานไปเรื่อยๆ ไม่มีที่สิ้นสุดเมื่อคำตอบคือ "ไม่" (เรียกอีกอย่างว่ากึ่งอัลกอริธึม )

อัลกอริทึมนี้ไม่สามารถนำไปใช้ได้จริงอย่างมาก แม้ว่า P  =  NP ก็ตาม หากโปรแกรมที่สั้นที่สุดที่สามารถแก้ปัญหา SUBSET-SUM ได้ในเวลาพหุนามมี ความยาว b บิต อั ลกอริทึมข้างต้นจะลองใช้โปรแกรมอื่นอย่างน้อย2b − 1โปรแกรมก่อน

คำจำกัดความอย่างเป็นทางการ

พี และ เอ็นพี

ปัญหาการตัดสินใจคือปัญหาที่รับสตริงwที่เป็นตัวอักษร Σ เป็นอินพุต และให้ผลลัพธ์เป็น "ใช่" หรือ "ไม่ใช่" ถ้ามีอัลกอริทึม (เช่นเครื่องจักรทัวริงหรือโปรแกรมคอมพิวเตอร์ที่มีหน่วยความจำไม่จำกัด) ที่ให้คำตอบที่ถูกต้องสำหรับสตริงอินพุตใดๆ ที่มีความยาวnในขั้นตอนไม่เกินcn kโดยที่kและcเป็นค่าคงที่ที่ไม่ขึ้นอยู่กับสตริงอินพุต เราจะกล่าวว่าปัญหานี้สามารถแก้ไขได้ในเวลาพหุนามและเราจัดให้อยู่ในกลุ่ม P ในทางคณิตศาสตร์ P คือเซตของภาษาที่สามารถตัดสินใจได้โดยเครื่องจักรทัวริงแบบกำหนดเวลาพหุนามได้ หมายความว่า

พี={แอล:แอล=แอล(เอ็ม) สำหรับเครื่องทัวริงแบบกำหนดเวลาเชิงพหุนามแบบกำหนดได้บางเครื่อง เอ็ม}{\displaystyle {\mathsf {P}}=\{L:L=L(M){\text{ สำหรับเครื่องทัวริงแบบพหุนามเชิงกำหนดบางตัว }}M\}}

ที่ไหน

แอล(เอ็ม)={Σ*:เอ็ม ยอมรับ }{\displaystyle L(M)=\{w\in \Sigma ^{*}:M{\text{ accepts }}w\}}

และเครื่องจักรทัวริงแบบกำหนดเวลาเชิงพหุนาม (deterministic polynomial-time Turing machine) คือเครื่องจักรทัวริงแบบกำหนดเวลาMที่ตรงตามเงื่อนไขสองประการ:

  1. Mหยุดทำงานเมื่อได้รับอินพุตwและ
  2. มีอยู่จริงเคเอ็น{\displaystyle k\in N}โดยที่ทีเอ็ม(n)โอ(nเค){\displaystyle T_{M}(n)\in O(n^{k})}โดยที่O ในที่นี้ หมายถึงสัญลักษณ์ O ขนาดใหญ่และ
ทีเอ็ม(n)=สูงสุด{ทีเอ็ม():Σ*,||=n}{\displaystyle T_{M}(n)=\max\{t_{M}(w):w\in \Sigma ^{*},|w|=n\}}
ทีเอ็ม()= จำนวนขั้น เอ็ม ใช้เวลาหยุดเมื่อมีการป้อนข้อมูล .{\displaystyle t_{M}(w)={\text{ จำนวนขั้นตอน }}M{\text{ ที่ใช้ในการหยุดเมื่อได้รับอินพุต }}w.}

NP สามารถนิยามได้ในทำนองเดียวกันโดยใช้เครื่องทัวริงแบบไม่กำหนด (วิธีดั้งเดิม) อย่างไรก็ตาม แนวทางสมัยใหม่ใช้แนวคิดของใบรับรองและตัวตรวจสอบในทางทฤษฎีแล้ว NP คือเซตของภาษาที่มีตัวอักษรจำกัดและตัวตรวจสอบที่ทำงานในเวลาพหุนาม ต่อไปนี้คือคำจำกัดความของ "ตัวตรวจสอบ":

ให้Lเป็นภาษาที่ใช้กับตัวอักษรจำกัด Σ

L ∈ NP ก็ต่อเมื่อมีความสัมพันธ์ทวิภาคอยู่อาร์Σ*×Σ*{\displaystyle R\subset \Sigma ^{*}\times \Sigma ^{*}}และจำนวนเต็มบวกkซึ่งเป็นไปตามเงื่อนไขสองข้อต่อไปนี้:

  1. สำหรับทุกคนxΣ*{\displaystyle x\in \Sigma ^{*}},xแอลyΣ*{\displaystyle x\in L\Leftrightarrow \exists y\in \Sigma ^{*}}โดยที่ ( x , y ) ∈ Rและ|y|โอ(|x|เค){\displaystyle |y|\in O(|x|^{k})}; และ
  2. ภาษาแอลอาร์={x#y:(x,y)อาร์}{\displaystyle L_{R}=\{x\#y:(x,y)\in R\}}เกินΣ{#}{\displaystyle \Sigma \cup \{\#\}}สามารถตัดสินได้ด้วยเครื่องจักรทัวริงเชิงกำหนดในเวลาพหุนาม

เครื่องจักรทัวริงที่ตัดสินว่าLเรียกว่าตัวตรวจสอบสำหรับLและyที่ทำให้ ( x , y ) ∈ Rเรียกว่าใบรับรองการเป็นสมาชิกของxในL

ไม่ใช่ว่าตัวตรวจสอบทั้งหมดจะต้องทำงานได้ในเวลาพหุนาม อย่างไรก็ตาม เพื่อให้Lอยู่ใน NP จะต้องมีตัวตรวจสอบอย่างน้อยหนึ่งตัวที่ทำงานได้ในเวลาพหุนาม

ตัวอย่าง

อนุญาต

ซีโอเอ็มพีโอเอสฉันทีอี={xเอ็นx=พีq สำหรับจำนวนเต็ม พี,q>1}{\displaystyle \mathrm {COMPOSITE} =\left\{x\in \mathbb {N} \mid x=pq{\text{ สำหรับจำนวนเต็ม }}p,q>1\right\}}
อาร์={(x,y)เอ็น×เอ็น1<yx และ y แบ่งแยก x}.{\displaystyle R=\left\{(x,y)\in \mathbb {N} \times \mathbb {N} \mid 1<y\leq {\sqrt {x}}{\text{ และ }}y{\text{ หาร }}x\right\}.}

การที่ค่าของxเป็นจำนวนประกอบหรือไม่นั้น เทียบเท่ากับการที่xเป็นสมาชิกของกลุ่ม COMPOSITE หรือไม่ สามารถแสดงได้ว่า COMPOSITE ∈ NP โดยการตรวจสอบว่ามันสอดคล้องกับนิยามข้างต้น (ถ้าเราถือว่าจำนวนธรรมชาติเท่ากับเลขฐานสองของมัน)

COMPOSITE บังเอิญอยู่ใน P ซึ่งเป็นข้อเท็จจริงที่แสดงให้เห็นโดยการคิดค้นการทดสอบความเป็นจำนวนเฉพาะ AKS [ 49 ]

ความสมบูรณ์ของ NP

มีหลายวิธีที่สามารถอธิบายความสมบูรณ์ของ NP ได้อย่างมีความหมายเทียบเท่ากัน

ให้Lเป็นภาษาที่ใช้กับตัวอักษรจำกัด Σ

Lเป็นปัญหา NP-complete ก็ต่อเมื่อเงื่อนไขสองข้อต่อไปนี้เป็นจริง:

  1. L ∈ NP; และ
  2. L ใดๆใน NP สามารถลดรูปเป็นL ได้ในเวลาพหุนาม (เขียนว่าแอลพีแอล{\displaystyle L'\leq _{p}L}), ที่ไหนแอลพีแอล{\displaystyle L'\leq _{p}L}ก็ต่อเมื่อเงื่อนไขสองข้อต่อไปนี้เป็นไปตามที่กำหนด:
    1. มีฟังก์ชันf  : Σ* → Σ* อยู่จริง โดยที่สำหรับทุกwใน Σ* เราจะได้ว่า:(แอลเอฟ()แอล){\displaystyle (w\in L'\ลูกศรซ้าย f(w)\in L)}; และ
    2. มีเครื่องจักรทัวริงแบบพหุนามเวลาหนึ่งที่หยุดทำงานโดยมีf ( w ) อยู่บนเทปสำหรับอินพุตw ใดๆ ก็ตาม

อีกทางเลือกหนึ่ง ถ้าL ∈ NP และมีปัญหา NP-complete อื่นที่สามารถลดรูปเป็นL ได้ในเวลาพหุนาม แล้วL ก็ จะเป็น NP-complete เช่นกัน นี่เป็นวิธีทั่วไปในการพิสูจน์ว่าปัญหาใหม่บางอย่างเป็น NP-complete

โซลูชันที่อ้างสิทธิ์

แม้ว่าปัญหา P เทียบกับ NP โดยทั่วไปจะถือว่ายังไม่ได้รับการแก้ไข[ 50 ]แต่นักวิจัยสมัครเล่นและนักวิจัยมืออาชีพบางคนได้อ้างว่ามีวิธีแก้ไขGerhard J. Woegingerได้รวบรวมรายการหลักฐานที่อ้างว่าถูกต้อง 116 รายการตั้งแต่ปี 1986 ถึง 2016 ซึ่ง 61 รายการเป็นหลักฐานของ P  =  NP, 49 รายการเป็นหลักฐานของ P   NP และ 6 รายการพิสูจน์ผลลัพธ์อื่นๆ เช่น ปัญหาไม่สามารถตัดสินได้[ 51 ]ความพยายามบางอย่างในการแก้ปัญหา P เทียบกับ NP ได้รับความสนใจจากสื่อในช่วงสั้นๆ[ 52 ]แม้ว่าความพยายามเหล่านี้จะถูกหักล้างไปแล้วก็ตาม

ภาพยนตร์เรื่องTravelling Salesmanกำกับโดย Timothy Lanzone เป็นเรื่องราวของนักคณิตศาสตร์สี่คนที่ได้รับการว่าจ้างจากรัฐบาลสหรัฐฯ ให้แก้ปัญหา P เทียบกับ NP [ 53 ]

ในตอนที่หกของซีซั่นที่เจ็ดของThe Simpsonsเรื่อง " Treehouse of Horror VI " สมการ P = NP ปรากฏให้เห็นไม่นานหลังจากที่โฮเมอร์บังเอิญเข้าไปใน "มิติที่สาม" [ 54 ] [ 55 ]  

ในตอนที่สองของซีซั่นที่ 2 ของElementaryเรื่อง"Solve for X"โฮล์มส์และวัตสันสืบสวนคดีฆาตกรรมนักคณิตศาสตร์ที่พยายามแก้ปัญหา P เทียบกับ NP [ 56 ] [ 57 ]

ในตอน " Put Your Head on My Shoulders " จากซีซั่นที่สองของซีรีส์แอนิเมชั่นFuturamaมีการอ้างอิงภาพถึงปัญหา P เทียบกับ NP ปรากฏอยู่ในฉากหลัง ในฉากที่ฟรายและเอมี่ หว่อง เพื่อนร่วมงานของเขาเข้าไปในห้องเก็บของเพื่อคุยกันเป็นการส่วนตัว บนชั้นวางด้านหลังพวกเขาข้างกล่องที่มีป้ายกำกับว่า "Emergency Beans" มีหนังสือสองเล่มที่มีขนาดเท่ากัน เล่มหนึ่งมีเครื่องหมาย "P" และอีกเล่มมีเครื่องหมาย "NP" [ 58 ] [ 59 ]

ปัญหาที่คล้ายคลึงกัน

  • ปัญหา RเทียบกับREโดยที่ R เป็นอนาล็อกของคลาส P และ RE เป็นอนาล็อกของคลาส NP คลาสเหล่านี้ไม่เท่ากัน เพราะปัญหาที่ไม่สามารถตัดสินได้แต่ตรวจสอบได้มีอยู่จริง ตัวอย่างเช่นปัญหาที่สิบของฮิลเบิร์ตซึ่งเป็น RE-complete [ 60 ]
  • ปัญหาที่คล้ายกันนี้มีอยู่ในทฤษฎีความซับซ้อนของพีชคณิต : ปัญหา VP เทียบกับ VNPเช่นเดียวกับ P เทียบกับ NP คำตอบในปัจจุบันยังไม่เป็นที่ทราบ[ 61 ] [ 60 ]
  • FPTเทียบกับW[1]เป็นปัญหาที่คล้ายคลึงกันใน ความซับซ้อน ของพารามิเตอร์

ดูเพิ่มเติม

หมายเหตุ

  1. เครื่องจักรทัวริงแบบไม่กำหนด (Nondeterministic Turing machine)สามารถเปลี่ยนสถานะไปยังสถานะที่ไม่ถูกกำหนดโดยสถานะก่อนหน้าได้ เครื่องจักรดังกล่าวสามารถแก้ปัญหา NP ได้ในเวลาพหุนามโดยการเข้าสู่สถานะคำตอบที่ถูกต้อง (โดยบังเอิญ) จากนั้นจึงตรวจสอบความถูกต้องตามแบบแผน เครื่องจักรดังกล่าวไม่สามารถนำมาใช้แก้ปัญหาในชีวิตจริงได้ แต่สามารถใช้เป็นแบบจำลองทางทฤษฎีได้
  2. แนชแสดงความสงสัยว่าข้อสันนิษฐานนี้จะได้รับการพิสูจน์หรือไม่ โดยกล่าวว่า "ธรรมชาติของข้อสันนิษฐานนี้คือ ผมไม่สามารถพิสูจน์ได้ แม้แต่กับรหัสลับแบบง่ายๆ ก็ตาม และผมก็ไม่คาดหวังว่ามันจะได้รับการพิสูจน์ด้วย"
  3. การสำรวจความคิดเห็นดำเนินการในปี 2001, 2011 และ 2018 แต่เผยแพร่ในปี 2002, 2012 และ 2019 ตามลำดับ [ 11 ]
  4. ประสิทธิภาพของโซลูชันที่จะก่อให้เกิดภัยคุกคามต่อการเข้ารหัสลับนั้นขึ้นอยู่กับรายละเอียด โซลูชันที่มีโอ(เอ็น2){\displaystyle O(N^{2})}หากมีค่าคงที่ที่เหมาะสม จะเป็นหายนะ ในทางกลับกัน วิธีแก้ปัญหาที่Ω(เอ็น4){\displaystyle \โอเมก้า (N^{4})}ในเกือบทุกกรณีจะไม่ก่อให้เกิดอันตรายในทางปฏิบัติในทันที

แหล่งที่มา

  • เรเชล โครเวลล์ (28 พฤษภาคม 2021) "คำถามที่ยังแก้ไม่ตกอันดับต้น ๆ ในคณิตศาสตร์ยังคงเป็นปริศนาอยู่ มีเพียงหนึ่งในเจ็ดปัญหา Millennium Prize Problems ที่ได้รับการตั้งชื่อเมื่อ 21 ปีก่อนเท่านั้นที่ได้รับการแก้ไขแล้ว" www.scientificamerican.comสืบค้นเมื่อ21 มิถุนายน 2021 ปัญหานี้เกี่ยวข้องกับประเด็นที่ว่า คำถามที่ตรวจสอบได้ง่าย (กลุ่มคำถามที่เรียกว่า NP) จะมีคำตอบที่หาได้ง่ายด้วยหรือ ไม่(กลุ่มคำถามที่เรียกว่า P)
  • Hosch, William L (11 สิงหาคม 2552). "ปัญหาคณิตศาสตร์ P เทียบกับ NP" . สารานุกรมบริแทนนิกา . สืบค้นเมื่อ20 มิถุนายน 2564 .
  • "ปัญหา NP" . www.claymath.org (Cook, Levin) . เก็บถาวรจากต้นฉบับเมื่อวันที่ 18 มิถุนายน 2021 . เรียกดูเมื่อวันที่ 20 มิถุนายน 2021 . สมมติว่าคุณกำลังจัดหาที่พักให้กับนักศึกษามหาวิทยาลัยจำนวนสี่ร้อยคน พื้นที่จำกัดและมีเพียงหนึ่งร้อยคนเท่านั้นที่จะได้รับที่พักในหอพัก เพื่อให้เรื่องยุ่งยากขึ้น คณบดีได้ให้รายชื่อคู่ของนักศึกษาที่ไม่เข้ากันมาให้คุณ และขอให้คุณอย่าเลือกคู่ใดจากรายชื่อนี้ในตัวเลือกสุดท้ายของคุณ นี่เป็นตัวอย่างของสิ่งที่นักวิทยาศาสตร์คอมพิวเตอร์เรียกว่าปัญหา NP...

อ่านเพิ่มเติม

  • ฟอร์ทนอว์, แอล.; กาซาร์ช, ดับเบิลยู. "ความซับซ้อนในการคำนวณ "
  • วิทยานิพนธ์เรื่อง "ความยากลำบากในการประมาณค่าระหว่าง P และ NP"ของ Aviad Rubinsteinได้รับรางวัลวิทยานิพนธ์ระดับปริญญาเอกยอดเยี่ยมประจำปี 2017จากACM
  • "P เทียบกับ NP และสวนสัตว์แห่งความซับซ้อนในการคำนวณ" 26 สิงหาคม 2014 เก็บถาวรจากต้นฉบับเมื่อ 24 พฤศจิกายน 2021 ผ่านทางYouTube
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=P_versus_NP_problem&oldid=1362606489 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ปัญหา P เทียบกับ NP

ปัญหา P เทียบกับ NP เป็น ปัญหา สำคัญ ที่ยังแก้ไม่ตก ใน วิทยาการคอมพิวเตอร์เชิงทฤษฎี โดยคร่าวๆ แล้ว ปัญหานี้คือ ทุกปัญหาที่สามารถตรวจสอบคำตอบได้อย่างรวดเร็ว...

ตัวอย่าง

พิจารณาปัญหาใช่/ไม่ใช่ต่อไปนี้: กำหนด ตาราง ซูโดกุ ที่ไม่สมบูรณ์ ขนาด n 2 × n 2 {\displaystyle n^{2}\times n^{2}} มีวิธีแก้ปัญหาทางกฎหมายอย่างน้อยหนึ่งวิธีหรือไม่ ที่ทุกแถว ทุกคอลัมน์ และ n × n {\displaystyle n\times n} ตารางประกอบด้วยจำนวนเต็ม 1 ถึง 3 n 2...

ประวัติศาสตร์

การระบุปัญหา P เทียบกับ NP อย่างแม่นยำได้รับการนำเสนอในปี พ.ศ. 2514 โดย Stephen Cook ในบทความสำคัญของเขาเรื่อง "ความซับซ้อนของขั้นตอนการพิสูจน์ทฤษฎีบท" [ 4 ] และโดย Leonid Levin อย่างอิสระ ในปี พ.ศ. 2516 [ 5 ]

บริบท

ความสัมพันธ์ระหว่าง ระดับความซับซ้อน P และ NP นั้นได้รับการศึกษาใน ทฤษฎีความซับซ้อนของการคำนวณ ซึ่งเป็นส่วนหนึ่งของ ทฤษฎีการคำนวณ ที่เกี่ยวข้องกับทรัพยากรที่จำเป็นระหว่างการคำนวณเพื่อแก้ปัญหาที่กำหนด ทรัพยากรที่พบได้บ่อยที่สุดคือ เวลา...