ปัญหาที่ให้ความรู้สึกเป็นเลขยกกำลัง แต่เป็น P


12

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

  • การเขียนโปรแกรมเชิงเส้น (อัลกอริทึม simplex เป็นเวลาแบบเอ็กซ์โปเนนเชียลใช้เวลานานในการค้นหาวิธีแก้ปัญหาเวลาพหุนาม!)
  • โดยทั่วไปการเขียนโปรแกรม Semidefinite
  • การทดสอบเบื้องต้น
  • 2-SAT และ HORNSAT
  • การคำนวณดีเทอร์มิแนนต์ (หากฟังดูไม่ยากให้พิจารณาแบบถาวร)
  • ค้นหาการจับคู่ที่สมบูรณ์แบบ
  • ความหลากหลายของปัญหาทางทฤษฎีกลุ่มยากที่สามารถทำได้โดยใช้การจำแนกประเภทของกลุ่มง่าย จำกัด
  • ความหลากหลายของปัญหากราฟยากที่สามารถทำได้โดยใช้ลักษณะที่ต้องห้ามของผู้เยาว์ที่ซับซ้อน (ความสามารถในการฝังบนพื้นผิวโดยพลการ; ขอบเขตของความว่องไวและความกว้างแบนด์วิธ;
  • การคำนวณเลขชี้กำลังในกลุ่มที่ถูกล้อมรอบ (เช่นการคำนวณในขั้นตอน, ทำได้โดย squaring ซ้ำ)abmodklogb
  • การคำนวณอาศัยอัลกอริธึม LLL (เป็นกรณีพิเศษ: อัลกอริทึมแบบยุคลิดในกรณีทั่วไปมากขึ้น: อัลกอริทึม PSLQ หรือ HJLS)
  • ปัญหาข้อ จำกัด ที่ไม่มีข้อกำหนดเทย์เลอร์ (?) ฉันยอมรับว่าฉันไม่เข้าใจอย่างถ่องแท้ แต่ดูเหมือนว่าอาจเป็นกรณีของ 2-SAT / HORNSAT ข้างต้นและพีชคณิตเชิงเส้นใด ๆ บนฟิลด์ จำกัด ดูที่นี่สำหรับโพสต์อีกต่อไป
  • ปัญหาการคำนวณผ่านการลดลงของโฮโลแกรม

ในฐานะที่กล่าวถึงเกียรติผมจะพูดถึงกราฟ Isomorphism เพราะมันยังง่ายมาก ( ) และเทียบเท่ากับปัญหามอร์ฟิซึ่มอื่น ๆ อีกมากมาย:nlog2n

  • Digraphs / multigraphs / hypergraphs (ปัญหาที่ยากขึ้น)
  • ออโต จำกัด / CFG

เห็นได้ชัดว่ามีช่วงของความยากลำบากเหล่านี้ แต่ทุกคนออกอย่างน้อยบางคนที่มี 'เซอร์ไพรซ์' ในแง่ที่ว่าปัญหาอาจฟังดูยาก แต่กลายเป็นสิ่งที่พูดง่าย LP อาจฟังดูค่อนข้างตรงไปตรงมา แต่เอาคนมาซักพักเพื่อสร้างทางออกที่แท้จริงให้กับ การทำซ้ำ squaring หรือการแก้ 2-SAT ซ้ำเป็นสิ่งที่นักศึกษาระดับปริญญาตรีอาจคิดขึ้นมาเอง แต่ถ้าคุณได้เรียนรู้ปัญหา NP-Complete โดยที่ไม่เคยเห็น HORNSAT มันอาจฟังดูเป็นธรรมชาติสำหรับ NP-Completeeness การแก้ CFSG หรือมีวิธีพหุนามในการตรวจสอบการลดลงของเดลต้าไวย์นั้นไม่ได้หมายความว่าสำเร็จ

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


เป็นแรงบันดาลใจสำหรับคำถามนี้ (เพราะมีเพื่อนถามเช่นกัน): เรามักจะพูดถึงความสำคัญในการสอนนักเรียนเกี่ยวกับปัญหาความสมบูรณ์และความไม่แน่นอนเนื่องจากมันช่วยให้พวกเขารับรู้เมื่อปัญหาจะหนักเกินไปและพวกเขาควรหลีกเลี่ยง รายการนี้จะเป็น 'ปัญหาที่คุณอาจผิดพลาดสำหรับ NP-Complete แต่คุณสามารถทำได้จริง' ไม่ใช่ว่าฉันคาดหวังว่านักเรียนหลายคนจะเต็มไปด้วยความประทับใจที่ไม่สามารถคำนวณปัจจัย - เช่นเดียวกับที่พวกเขามีแนวโน้มที่จะไม่พบ 3SAT ในป่า - แต่พวกเขาควรตระหนักถึงปัญหาที่เทียบเท่าอื่น ๆ
Alex Meiburg

1
ฉันสงสัยว่านี่กว้างเกินไปที่จะเหมาะสมสำหรับไซต์ของเรา การขอรายการสิ่งที่ครบถ้วนสมบูรณ์นั้นไม่เหมือนคำถามที่ใช้งานได้ดีที่นี่ "ฉันอยากรู้ว่าสิ่งที่คนอื่นพบ ... " ฟังดูเหมือนคำถามที่ไม่เหมาะสมที่นี่ ดูของเราศูนย์ช่วยเหลือ
DW

1
ฉันเข้าใจว่าฉันกำลังพยายามที่จะยอมรับความเป็นส่วนตัวในคำถามนี้ แต่ฉันคิดว่าคำถามนี้เป็นสิ่งที่คนส่วนใหญ่เห็นด้วยและเรียนรู้จากการอภิปรายที่มีประสิทธิผล สำหรับคำถามที่มีน้ำเสียงสำหรับฉัน (แม้ว่าฉันจะรู้จักเว็บไซต์อื่น) ดูcstheory.stackexchange.com/questions/20930/หรือ or cstheory.stackexchange.com/questions/11119/ …?
Alex Meiburg

นอกจากนี้ยังไม่ชัดเจนว่าสิ่งที่ "รู้สึก" แทนใคร
กราฟิลส์

คำตอบ:


2

สำหรับฉันหนึ่งในอัลกอริทึมที่มีประสิทธิภาพมากที่สุดคืออัลกอริทึม Blossom V ที่ค้นหาการจับคู่ที่สมบูรณ์แบบน้ำหนักสูงสุดในกราฟทั่วไป:

https://en.m.wikipedia.org/wiki/Blossom_algorithm


1
นี่เป็นตัวอย่างที่ดี! ไม่เคยคิดเกี่ยวกับมันหรือต้องการมันฉันคิดว่าฉันอยู่ภายใต้ความประทับใจที่การจับคู่สูงสุดบนกราฟโดยพลการคือ NP-hard :)
Alex Meiburg

1

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

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

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