ทุกวันพบกับปัญหาที่สมบูรณ์แบบ


34

มาร์ค Dominus เก็บตัวอย่างบางส่วนของการลดลงของพหุนามเวลาจากปัญหา NP-ยากต่างๆเพื่อ“การแสดงออกปกติ” การจับคู่ Envisioning ตรวจสอบพหุนามเวลาไม่ได้เป็นก้าวกระโดดอย่างมาก

คุณแสดงให้เห็นถึงระดับ NP-Complete ถึงนักศึกษาระดับปริญญาตรีหรือเพื่อนในสาขาอื่น ๆ ที่ต้องการเข้าใจความยุ่งยากในเรื่องล่าสุดของกระดาษ Deolalikar?

คำตอบ:


24

ตัวอย่างที่ฉันชอบใช้กับเพื่อนที่ไม่ได้เป็น CS คือ:

Abraham, A. Blum, Sandholm การล้างอัลกอริทึมสำหรับตลาดแลกเปลี่ยนแลกเปลี่ยน: เปิดใช้งานการแลกเปลี่ยนไตทั่วประเทศ EC07

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

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

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


1
เยี่ยมมาก! David Manlove ทำงานอย่างกว้างขวางเกี่ยวกับปัญหาประเภทนี้ (ทั้งการแลกเปลี่ยนและการจับคู่) ระบบกำลังถูกใช้ในสหราชอาณาจักรและฮังการี dcs.gla.ac.uk/~davidm/publications.html เท่าที่ฉันรู้วิธีการเหล่านี้เอาชนะอัลกอริทึม NRMP และอัลกอริทึมการประมาณ 3/2-Eric McDermid เป็นที่รู้จักกันดีที่สุด dx.doi.org/10.1007/978-3-642-02927-1_57
András Salamon

13

ปัญหา "ทุกวัน" บางอย่างที่มีปัญหา NP-hard, สูตรที่เหมาะสม:

  • การกำหนดชั้นเรียนของมหาวิทยาลัยให้มีช่วงเวลาน้อยที่สุดเพื่อลดความขัดแย้งในการกำหนดตารางเวลา

  • กำหนดแขกรับเชิญงานแต่งงานให้นั่งเพื่อให้เพื่อนนั่งที่โต๊ะเดียวกัน แต่ศัตรูทำไม่ได้

  • วางแผนการเดินทางบนถนนเพื่อเยี่ยมชมสถานที่ท่องเที่ยวทั้งหมดในรายการเพื่อลดการขับขี่


12

เห็นได้ชัดว่าปัญหาการเดินทางของพนักงานขายสามารถเข้าถึงได้ ... อย่างน้อยตอนนี้ฉันอยู่นี่เป็นปัญหาด้าน CS ที่ได้รับความนิยมมากที่สุดในหมู่ผู้ที่ไม่ใช่ CS ฉันยังพบภาพประกอบของ Vertex Cover ต่อไปนี้ที่น่าสนใจตามที่ผู้สอนอัลกอริทึมของฉันแนะนำ:

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

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

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

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


3
การจับคู่สูงสุดนั้นเพียงพอสำหรับการประมาณสองค่าซึ่งง่ายต่อการคำนวณและอธิบาย
Warren Schudy

1
@Warren: ขอบคุณที่ชี้ให้เห็นว่าแน่นอนคุณพูดถูก!
Neeldhara

8

ฉันคิดว่าที่จอดรถคู่ขนานนั้นยากลำบาก

ในความเป็นจริงยิ่งปัญหาทั่วไปของการค้นหาเส้นทางที่สั้นที่สุดด้วยความโค้ง จำกัด ที่ใช้วัตถุรูปหลายเหลี่ยมจากตำแหน่งเริ่มต้นไปยังตำแหน่งสุดท้ายในสภาพแวดล้อมรูปหลายเหลี่ยมคือ NP-hard หลักฐานสามารถพบได้ที่นี่ - http://portal.acm.org/citation.cfm?id=298976


7

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

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

ในทั้งสองกรณีดูเหมือนว่าใช้งานง่ายว่ากลยุทธ์ที่ไร้เดียงสาอาจบังคับให้หันไปตรวจสอบชุดย่อยทั้งหมด

หากพวกเขามีภูมิหลังมากขึ้นก็เป็นการดีที่จะแก้ปัญหาโดยการวางข้อ จำกัด ตัวอย่างเช่นเริ่มต้นด้วยปัญหาการไหลสูงสุดเปลี่ยนเป็นโปรแกรมเชิงเส้นและทำให้มันเป็นโปรแกรมจำนวนเต็ม (หนึ่งในหลักสูตรที่ยอดเยี่ยมคือ MAX-CUT เนื่องจากสำหรับคนที่มีพื้นหลังเพิ่มขึ้นคุณยังสามารถนำ UGC ขึ้นมาได้ฉันสัมผัสบางสิ่งนี้ในคำตอบ MO https://mathoverflow.net/questions/33036/is-quadratic-programming -still-np-hard-if-you-have-bound-and-a-feasible-point / 33048 # 33048. ) นอกจากนี้ยังมีสิ่งที่เรียบร้อยเช่นปัญหาที่ดูเหมือนคล้ายกันซึ่งมีความซับซ้อนแตกต่างกันมาก (เส้นทางออยเลอร์ (ขอบ) เป็นเส้นตรง เวลาเส้นทางแฮมิลโตเนียน (จุดสุดยอด) คือ NP-complete)


7
ฉันชอบรุ่นย่อยของ Sum ต่อไปนี้: คุณได้รับ 10 ปอนด์เพื่อซื้อขนมจากร้านค้า คุณจะพบการรวมกันที่ถูกต้องของการซื้อเพื่อไม่ให้มีเงินเหลือ
András Salamon

6

การสร้างปริศนาอักษรไขว้นั้นสมบูรณ์แบบ NP: ได้รับชุดของคำตอบลองใส่ลงในตาราง


5

ฉันสร้างเว็บไซต์ Tagxedo, http://www.tagxedo.comซึ่งเป็นเครื่องกำเนิดคลาวด์ word ที่เหมาะกับคำ (ขนาดตามความถี่) เป็นรูปร่าง ผลลัพธ์ค่อนข้างสวย แต่ปัญหาพิสูจน์ได้ง่ายว่าเป็นปัญหา NP-hard (ปัญหาการบรรจุ)

ที่น่าสนใจปัญหา NP-hard จำนวนมากมีการประมาณ "ง่าย" ดูเหมือนว่า Tagxedo จะทำงานได้เกือบสมบูรณ์แบบในหลาย ๆ กรณี สิ่งนี้นำไปสู่การอภิปรายที่น่าสนใจเกี่ยวกับความหมายเชิงปฏิบัติของ P vs NP และหัวข้อการประมาณ


4

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


ใช่ แต่เขาพยายามลดการใช้ก๊าซให้น้อยที่สุดหรือไม่? :)
Suresh Venkat

แม้แต่การหาตารางเวลาที่เป็นไปได้ก็คือ NP-hard เพราะสนามกีฬาไม่ได้เปิดทุกวัน (รอบมิลโตเนียนกับช่วงเวลา)
Jeff

4

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

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

ปัญหานี้ (เมื่อมีการใช้ถ้อยคำใหม่อย่างเหมาะสม) คือ NPC และฉันคิดว่าบางคนสงสัยว่า Uber ตัดสินใจจับคู่ไดรเวอร์และผู้โดยสารอย่างไร


3

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


2
ฉันไม่แน่ใจว่ามีกี่คนที่พบสิ่งนี้ทุกวัน
Dave Clarke

3

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


2

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

ตัวอย่างเช่นการค้นหาการมอบหมายของบล็อกของความสูงที่แตกต่างกัน (พูด ) กับหอคอย (บล็อกซ้อนกันเป็นรูปแบบ) โดยมีเป้าหมายในการลดความสูงของหอคอยที่สูงที่สุดคือ -hard สิ่งนี้เทียบเท่ากับปัญหาของบนเครื่องขนานที่เหมือนกัน (แทนที่งาน / งานที่มีความยาวสำหรับบล็อก, เสาสำหรับเครื่องจักรและความสูงที่สูงที่สุดสำหรับเวลาที่เสร็จของเครื่องจักรที่เสร็จสิ้นล่าสุด (เรียกว่า makepan) การถามว่ามีหอคอยที่สูงที่สุดจะเป็นp j m N P p j k N PnpjmNPpjkNP- เสร็จสมบูรณ์ในสถานการณ์นี้ สังเกตว่าสิ่งนี้ไม่จำเป็นต้องเป็นบล็อกหากเราถือว่าพวกเขาไม่สามารถโค่นล้มได้ มันอาจเป็นกองกระดาษลังหรือแผ่น

หวังว่านี่จะช่วยได้!


2

ตัวอย่างที่สามารถเข้าถึงได้สุ่มเป็นการนำเสนอสั้น ๆโดย Mark Dominus (ดูบล็อกโพสต์ที่เกี่ยวข้อง ) เรียกว่า“My Favorite NP-จบปัญหา” ที่ภาพด้านล่างเป็นมุกของภาพรวมของนั้นปกแน่นอนโดย 3

ชื่อเรื่องในซีรีย์วิดีโอประกอบด้วย

  • เต้นรำดนตรี & หนังสือ
  • มือหูและเท้า
  • ตื่นขึ้นมาพร้อมกับเอลโม่ (เกี่ยวกับการนอนแต่งตัวและแปรงฟัน)
  • ผู้คนในละแวกของคุณ (เกี่ยวกับนักผจญเพลิงผู้ช่วยชีวิตและพยาบาล)

จุดประสงค์ที่ชัดเจนสำหรับแต่ละวิดีโอนั้นมีสามตอนทั้งหมดในธีมทั่วไปที่ดึงมาจากกลุ่มหัวข้อที่น่าสนใจสำหรับเด็กเล็ก

เป็ดแปลก ๆ ในซีรีส์นี้เป็นวิดีโอเกี่ยวกับ“ ดอกไม้กล้วยและ…ผม”

ดอกไม้กล้วยและ…ผม


0

โดยเฉพาะอย่างยิ่งเมื่อดูที่ปัญหาของเครื่องหลังในภายหลังปัญหา NP-complete นี้อาจเหมาะสม:

การคาดเดาจำนวนที่คุณสามารถเดาได้เพียงตัวเลขเดียวจนกว่าคุณจะเข้าใจถูกต้อง

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