“ P = NP คืออะไร” และทำไมเป็นคำถามที่โด่งดังเช่นนี้ [ปิด]


234

คำถามว่า P = NP น่าจะเป็นที่โด่งดังที่สุดในสาขาวิทยาศาสตร์คอมพิวเตอร์ทั้งหมดหรือไม่ มันหมายความว่าอะไร? และทำไมมันจึงน่าสนใจ?

โอ้และสำหรับเครดิตเพิ่มเติมโปรดโพสต์หลักฐานความจริงหรือเท็จ :)


11
ตามที่ Scott Aaronson วางไว้อย่างดี MIT "ถ้า P = NP จากนั้นโลกจะเป็นสถานที่ที่แตกต่างอย่างลึกซึ้งกว่าที่เราคิดเอาไว้ว่าจะไม่มีค่าพิเศษใน" leaps สร้างสรรค์ "ไม่มีช่องว่างพื้นฐานระหว่างการแก้ไข ปัญหาและตระหนักถึงวิธีการแก้ปัญหาเมื่อมีการพบว่าทุกคนที่สามารถชื่นชมซิมโฟนีจะเป็นของโมซาร์ท. ทุกคนที่สามารถปฏิบัติตามอาร์กิวเมนต์ขั้นตอนโดยขั้นตอนจะเกาส์ ..." ตัดตอนมาจากen.wikipedia.org/wiki/Complexity_classes_P_and_NP
gts

2
ดูเพิ่มเติมที่คำศัพท์พื้นฐานนิยามของ P, NP, NP-Complete และ NP-Hard คืออะไร ในสาขาวิทยาศาสตร์คอมพิวเตอร์
Kaveh

คำตอบ:


365

P ย่อมาจากเวลาพหุนาม NP ย่อมาจากเวลาพหุนามที่ไม่ได้กำหนดไว้

คำนิยาม:

  • เวลาพหุนามหมายความว่าความซับซ้อนของอัลกอริทึมคือ O (n ^ k) โดยที่ n คือขนาดของข้อมูลของคุณ (เช่นจำนวนองค์ประกอบในรายการที่จะเรียงลำดับ) และ k เป็นค่าคงที่

  • ความซับซ้อนคือเวลาที่วัดในจำนวนของการดำเนินการที่จะใช้เป็นฟังก์ชันของจำนวนรายการข้อมูล

  • การดำเนินการเป็นสิ่งที่สมเหตุสมผลสำหรับการดำเนินงานพื้นฐานสำหรับงานเฉพาะ สำหรับการเรียงลำดับการดำเนินการพื้นฐานคือการเปรียบเทียบ สำหรับการคูณเมทริกซ์การดำเนินการพื้นฐานคือการคูณจำนวนสองจำนวน

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

TM มีสองประเภทที่เกี่ยวข้องกับเราที่นี่: กำหนดและไม่ได้กำหนดไว้ เครื่องคิดเลข TM มีการเปลี่ยนแปลงเพียงครั้งเดียวจากแต่ละสถานะสำหรับแต่ละสัญลักษณ์ที่กำลังอ่านเทป TM ที่ไม่ได้กำหนดค่าไว้อาจมีการเปลี่ยนแปลงหลายอย่างเช่นสามารถตรวจสอบความเป็นไปได้หลายอย่างพร้อมกัน นี่เป็นเหมือนการวางไข่หลายกระทู้ ความแตกต่างคือ TM ที่ไม่ได้กำหนดค่าไว้สามารถวางไข่ "เธรด" ได้มากเท่าที่ต้องการขณะที่บนคอมพิวเตอร์จริงจะสามารถประมวลผลเธรดได้จำนวนมากในแต่ละครั้ง (เท่ากับจำนวน CPU) ในความเป็นจริงคอมพิวเตอร์โดยทั่วไปจะกำหนด TM ด้วยเทป จำกัด ในทางตรงกันข้าม TM ที่ไม่ได้กำหนดค่าไว้นั้นไม่สามารถรับรู้ทางร่างกายได้ยกเว้นในคอมพิวเตอร์ควอนตัม

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

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

ตัวอย่างของปัญหา NP-complete คือปัญหาของการค้นหาการมอบหมายความจริงที่จะทำให้นิพจน์บูลีนที่มีตัวแปร n จริง
สำหรับช่วงเวลาในการปฏิบัติปัญหาใด ๆ ที่ต้องใช้เวลาพหุนามใน TM ที่ไม่ได้กำหนดขึ้นสามารถทำได้ในเวลาเอ็กซ์โพเนนเชียลใน TM ที่กำหนดขึ้นหรือบนคอมพิวเตอร์ทั่วไป
ตัวอย่างเช่นวิธีเดียวที่จะแก้ปัญหาการมอบหมายความจริงคือการลองใช้ความเป็นไปได้ 2 ^ n


5
ไม่เป็นความจริงที่วิธีเดียวที่จะแก้ปัญหา SAT คือการนับจำนวนคดี ดูen.wikipedia.org/wiki/…สำหรับข้อมูลเกี่ยวกับอัลกอริทึม DPLL ซึ่งจริง ๆ แล้วมีประสิทธิภาพมากในหลายกรณีทั่วไป
Doug McClean

44
ดีเร็กฉันขอไม่เห็นด้วย ฉันไม่เห็นว่าคุณอธิบาย P และ NP อย่างไรโดยไม่ใช้เครื่องจักรทัวริง ฉันเคยอยู่ในคลาสอัลกอริธึมซึ่งลองใช้ดู ถ้าฉันไม่รู้เกี่ยวกับ TM ฉันจะแพ้ไปทั้งหมด
Dima

4
มันเป็นเรื่องจริงในทางปฏิบัติว่าการแก้ปัญหา NP-complete ใช้เวลามากกว่าพหุนามในคอมพิวเตอร์จริง แต่นั่นไม่ใช่สิ่งที่มันหมายถึงมันเป็นเพียงสถานะปัจจุบันของศิลปะอันเป็นผลมาจากความจริงที่ว่า P = NP ไม่เป็นที่รู้จัก หากใครพบอัลกอริทึมแบบพหุนามเพื่อแก้ปัญหา NP-complete นั่นจะพิสูจน์ P = NP และเรารู้ว่ามันไม่ได้เกิดขึ้นเพราะมันจะอยู่ในข่าว! ในทางกลับกันหากพิสูจน์แล้วว่า P! = NP เราสามารถพูดได้อย่างมั่นใจว่าไม่มีปัญหาที่สมบูรณ์ของ NP ที่แก้ได้ในเวลาพหุนาม
Steve Jessop

21
ฉันรู้ว่ามันค่อนข้างเก่า แต่ฉันแค่อยากจะบอกว่าคำตอบคือมหากาพย์และมันเป็นครั้งแรกที่ฉันคลิก! เป็นงานที่ดี
Dimitar Dimitrov

4
การแก้ไขในย่อหน้าที่สองถึงครั้งสุดท้าย: "เราจะมั่นใจได้ว่าไม่มีทางที่จะแก้ปัญหา NP Completeในเวลาพหุนามบนคอมพิวเตอร์ทั่วไป" เนื่องจาก P เป็นเซตย่อยของ NP และพิสูจน์ P! = NP ไม่จำเป็นต้องพูด อะไรก็ตามที่เกี่ยวกับปัญหาของ NP ที่ไม่ใช่ NP-Complete มีอยู่จริงใน P.
Millie Smith

88
  1. ปัญหา yes-or-no อยู่ในP ( P olynomial time) ถ้าคำตอบสามารถคำนวณได้ในเวลา polynomial
  2. ปัญหา yes-or-no อยู่ในNP ( N เวลาที่กำหนดในP olynomial) หากคำตอบที่ใช่สามารถตรวจสอบได้ในเวลาพหุนาม

สังหรณ์ใจเราจะเห็นว่าถ้ามีปัญหาอยู่ในPแล้วมันอยู่ในNP ให้คำตอบที่เป็นไปได้สำหรับปัญหาในPเราสามารถตรวจสอบคำตอบได้โดยการคำนวณคำตอบใหม่

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

มีปัญหาสำคัญจำนวนมากที่รู้กันว่าเป็นปัญหาที่ไม่สมบูรณ์ (โดยทั่วไปหากปัญหาใด ๆ เหล่านี้ได้รับการพิสูจน์ว่าเป็นPแล้วปัญหาNP ทั้งหมด จะได้รับการพิสูจน์ว่าเป็นP ) หากP = NPปัญหาเหล่านี้ทั้งหมดจะได้รับการพิสูจน์แล้วว่ามีวิธีแก้ปัญหาที่มีประสิทธิภาพ (เวลาพหุนาม)

นักวิทยาศาสตร์ส่วนใหญ่เชื่อว่าP ! = NP อย่างไรก็ตามยังไม่มีหลักฐานที่ยังไม่ได้รับการจัดตั้งขึ้นมาทั้งP = NP หรือP ! = NP ถ้าใครยังมีหลักฐานสำหรับการคาดเดาอย่างใดอย่างหนึ่งพวกเขาจะชนะสหรัฐ $ 1 ล้านบาท


23

เพื่อให้คำตอบที่ง่ายที่สุดฉันสามารถคิด:

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

ปัญหาดังกล่าวอยู่ใน NP ถ้าเราสามารถตรวจสอบโซลูชันที่มีศักยภาพเพื่อดูว่ามันทำงานได้อย่างมีประสิทธิภาพ ตัวอย่างเช่นให้รายชื่อเมืองเพื่อให้พนักงานขายไปเยี่ยมชมตามลำดับเราสามารถเพิ่มเวลาสำหรับการเดินทางระหว่างเมืองแต่ละครั้งและดูว่ามันอยู่ภายใต้เวลาที่กำหนดหรือไม่ ปัญหาอยู่ใน P หากเราสามารถหาวิธีแก้ปัญหาได้อย่างมีประสิทธิภาพหากมี

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

ดังนั้นปัญหา P = NP สามารถแสดงด้วยวิธีนี้: หากคุณสามารถตรวจสอบวิธีแก้ปัญหาของการเรียงลำดับที่อธิบายไว้ข้างต้นได้อย่างมีประสิทธิภาพคุณสามารถหาวิธีแก้ปัญหา (หรือพิสูจน์ว่าไม่มีเลย) ได้อย่างมีประสิทธิภาพหรือไม่ คำตอบที่ชัดเจนคือ "ทำไมคุณถึงสามารถทำได้?" และนั่นก็เป็นเรื่องที่สำคัญมากในทุกวันนี้ ไม่มีใครสามารถพิสูจน์ได้ไม่ทางใดก็ทางหนึ่งและทำให้นักคณิตศาสตร์และนักวิทยาศาสตร์คอมพิวเตอร์จำนวนมากรบกวน นั่นเป็นเหตุผลที่ทุกคนที่สามารถพิสูจน์ได้ว่าการแก้ปัญหานั้นขึ้นอยู่กับเงินล้านดอลลาร์จากมูลนิธิ Claypool

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

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

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


1
ในย่อหน้าที่สองของคุณคุณมี "แบบเรียงลำดับที่ยากที่สุด" คุณควรพูดว่า NP-complete นั้นยากที่สุดเพราะมันยาก - NP
grom

1
ฉันไม่แน่ใจว่าโชคลาภจะเป็นของคุณ รัฐบาลอาจต้องการหัวของคุณ
Millie Smith

9

สรุปสั้น ๆ จากความรู้ต่ำต้อยของฉัน:

มีปัญหาในการคำนวณง่าย ๆ (เช่นการหาเส้นทางที่สั้นที่สุดระหว่างสองจุดในกราฟ) ซึ่งสามารถคำนวณได้อย่างรวดเร็ว (O (n ^ k)) โดยที่ n คือขนาดของอินพุตและ k เป็นค่าคงที่ (ใน กรณีของกราฟมันคือจำนวนของจุดยอดหรือขอบ))

ปัญหาอื่น ๆ เช่นการค้นหาเส้นทางที่ข้ามจุดยอดทุกจุดในกราฟหรือรับคีย์ส่วนตัว RSA จากพับลิกคีย์นั้นยากกว่า (O (e ^ n))

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

มันน่าสนใจเพราะไม่มีใครมีความคิดในการแก้ปัญหา บางคนบอกว่าเป็นเรื่องจริงบางคนบอกว่ามันผิด แต่ไม่มีความเห็นเป็นเอกฉันท์ อีกสิ่งที่น่าสนใจคือการแก้ปัญหาอาจเป็นอันตรายต่อการเข้ารหัสคีย์สาธารณะ / ส่วนตัว (เช่น RSA) คุณสามารถทำลายมันได้อย่างง่ายดายเช่นเดียวกับการสร้างคีย์ RSA

และมันก็เป็นปัญหาที่สร้างแรงบันดาลใจ


1
ไม่เป็นความจริงเลย - คุณสามารถแปลง NDTM เป็น DTM ได้ แต่เครื่องใหม่จะมีเวลาทำงานแบบเอกซ์โปเนนเชียลในเวลาทำงานของต้นฉบับ (คุณสามารถค้นหากราฟการเปลี่ยนสถานะของ NDTM ได้อย่างมีประสิทธิภาพก่อน
Adam Wright

6

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


5

ก่อนคำจำกัดความบางอย่าง:

  • ปัญหาเฉพาะคือ P หากคุณสามารถคำนวณวิธีการแก้ปัญหาในเวลาน้อยกว่าn^kสำหรับบางkที่nขนาดของอินพุต ตัวอย่างเช่นการเรียงลำดับสามารถทำได้โดยn log nที่น้อยกว่าn^2ดังนั้นการเรียงลำดับจึงเป็นเวลาพหุนาม

  • ปัญหาอยู่ใน NP ถ้ามีอยู่kเช่นว่ามีอยู่แก้ปัญหาของขนาดที่มากที่สุดที่คุณสามารถตรวจสอบได้ในเวลาที่มากที่สุดn^k n^kใช้กราฟ 3 สี: กำหนดกราฟ 3 สีคือรายการของคู่ (จุดสุดยอด, สี) ซึ่งมีขนาดO(n)และคุณสามารถตรวจสอบเวลาO(m)(หรือO(n^2)) ว่าเพื่อนบ้านทั้งหมดมีสีแตกต่างกันหรือไม่ ดังนั้นกราฟมี 3 สีเฉพาะเมื่อมีวิธีแก้ปัญหาที่สั้นและตรวจสอบได้ง่าย

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

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

ทำไมคำถามจึงP =? NPน่าสนใจ ในการตอบนั้นสิ่งแรกที่ต้องทำคือดูว่าปัญหา NP-complete คืออะไร พูดง่ายๆ

  • ปัญหา L คือ NP-complete ถ้า (1) L อยู่ใน P และ (2) อัลกอริทึมที่แก้ L สามารถใช้เพื่อแก้ปัญหาใด ๆ L 'ใน NP; นั่นคือให้อินสแตนซ์ของ L 'คุณสามารถสร้างอินสแตนซ์ของ L ที่มีวิธีแก้ไขถ้าและถ้าอินสแตนซ์ของ L' มีวิธีแก้ไขปัญหา การพูดอย่างเป็นทางการทุกปัญหา L 'ใน NP สามารถลดลงเป็น L

โปรดทราบว่าอินสแตนซ์ของ L ต้องเป็นแบบคำนวณเวลาพหุนามและมีขนาดพหุนามในขนาดของ L '; ด้วยวิธีนี้การแก้ปัญหา NP-complete ในเวลาพหุนามทำให้เราแก้ปัญหาพหุนามกับปัญหา NP ทั้งหมด

ต่อไปนี้เป็นตัวอย่าง: สมมติว่าเรารู้ว่ากราฟ 3 สีเป็นปัญหา NP-hard เราต้องการพิสูจน์ว่าการตัดสินใจความพึงพอใจของสูตรบูลีนนั้นเป็นปัญหาที่ยากมากเช่นกัน

สำหรับแต่ละจุดยอด v มีตัวแปรบูลีนสองตัวแปร v_h และ v_l และข้อกำหนด (v_h หรือ v_l): แต่ละคู่สามารถมีค่า {01, 10, 11} เท่านั้นซึ่งเราคิดว่าเป็นสี 1, 2 และ 3

สำหรับแต่ละขอบ (u, v) มีข้อกำหนดว่า (u_h, u_l)! = (v_h, v_l) นั่นคือ,

not ((u_h and not u_l) and (v_h and not v_l) or ...) แจกแจงการกำหนดค่าที่เท่ากันทั้งหมดและข้อตกลงที่ไม่เป็นไปตามนั้น

ANDเมื่อรวมข้อ จำกัด เหล่านี้ทั้งหมดเข้าด้วยกันจะมีสูตรบูลีนซึ่งมีขนาดพหุนาม ( O(n+m)) คุณสามารถตรวจสอบได้ว่าต้องใช้เวลาพหุนามในการคำนวณเช่นกัน: คุณกำลังทำO(1)สิ่งที่ตรงไปตรงมาต่อยอดและต่อขอบ

หากคุณสามารถแก้สูตรบูลีนที่ฉันสร้างขึ้นได้คุณสามารถแก้ปัญหาการระบายสีกราฟ: สำหรับตัวแปรแต่ละคู่ v_h และ v_l ให้สีของ v เป็นค่าที่ตรงกับค่าของตัวแปรเหล่านั้น ด้วยการสร้างสูตรเพื่อนบ้านจะไม่มีสีเท่ากัน

ดังนั้นหากกราฟ 3 สีเป็น NP-complete ดังนั้นจึงเป็นที่น่าพอใจสูตรบูลีน

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.