พิจารณางานอัลกอริทึมต่อไปนี้:
อินพุต: จำนวนเต็มบวกพร้อมกับการแยกตัวประกอบเฉพาะของการ
ค้นหา: จำนวนเต็มบวกที่ลดขึ้นอยู่กับข้อ จำกัด ที่x , y , z x y + y z + x z x y z = n
ความซับซ้อนของปัญหานี้คืออะไร? มีอัลกอริธึมเวลาพหุนามหรือไม่? มันเป็น NP-hard หรือไม่?
ปัญหานี้ถามโดยทั่วไปว่า: จากของแข็งที่เป็นรูปสี่เหลี่ยมผืนผ้าทั้งหมดที่มีปริมาตรเป็นและมิติใดเป็นจำนวนเต็มทั้งหมดอันใดที่มีพื้นที่ผิวน้อยที่สุด
ปัญหานี้เกิดขึ้นจาก Dan Meyer ภายใต้ชื่อThe Problem Problem ที่อาจารย์คณิตศาสตร์ 1,000 คนไม่สามารถแก้ไขได้ จนถึงขณะนี้ไม่มีครูคณิตศาสตร์ที่เขาทำงานด้วยได้พบอัลกอริทึมที่เหมาะสมสำหรับปัญหานี้ ในบริบทของเขานิยามของ "สมเหตุสมผล" นั้นไม่ชัดเจนนัก แต่ในฐานะนักวิทยาศาสตร์คอมพิวเตอร์เราสามารถถามคำถามที่แม่นยำยิ่งขึ้นเกี่ยวกับความซับซ้อนของปัญหานี้
วิธีที่ชัดเจนคือการแจกแจงความเป็นไปได้ทั้งหมดสำหรับแต่ต้องใช้เวลาชี้แจง ผู้แสดงความคิดเห็นที่บล็อกของ Dan Meyer ได้เสนออัลกอริธึมที่มีประสิทธิภาพมากมายซึ่งน่าเสียดายที่ทุกอย่างไม่ถูกต้อง Martin Strauss แนะนำว่าปัญหานี้ดูเหมือนจะชวนให้นึกถึง3 พาร์ติชันแต่ฉันไม่เห็นการลดลง
ให้ฉันล้างความเข้าใจผิดบางอย่างที่ฉันเห็นในข้อคิดเห็น / คำตอบด้วย:
คุณไม่สามารถลดจาก 3 พาร์ติชันได้โดยเพียงแค่แทนที่แต่ละหมายเลขด้วยกำลังของมันเนื่องจากฟังก์ชันวัตถุประสงค์ของปัญหาทั้งสองนั้นแตกต่างกัน การลดที่ชัดเจนนั้นไม่ได้ผล2 q
มันไม่เป็นความจริงว่าการแก้ปัญหาที่ดีที่สุดที่เกี่ยวข้องกับการเลือกหนึ่งของจะเป็นตัวหารที่ใกล้ที่สุดของจะ{n} ฉันเห็นคนหลายคนที่สมมติว่าเป็นกรณีนี้ แต่ที่จริงแล้วมันไม่ถูกต้อง สิ่งนี้ได้รับการพิสูจน์แล้วในการโพสต์บล็อก Dan Meyer ตัวอย่างเช่นพิจารณา ; และ 4 หาร 68 ดังนั้นคุณอาจคิดว่าอย่างน้อยหนึ่งในควรเป็น 4; อย่างไรก็ตามนั่นไม่ถูกต้อง ทางออกที่ดีที่สุดคือ , , Zตัวอย่างอีกตัวอย่างคือ ,แต่ทางออกที่ดีที่สุดคือn 3 √ n=683 √x,y,zx=2y=2z=17n=2223 √x=37 , , 2 ( อาจเป็นความจริงที่ว่าสำหรับทั้งหมดทางออกที่ดีที่สุดเกี่ยวข้องกับการทำอย่างน้อยหนึ่งในเท่ากับตัวหารที่เล็กที่สุดของใหญ่กว่าหรือตัวหารที่ใหญ่ที่สุดของเล็กกว่า กว่า - ฉันไม่มีตัวอย่างตอบโต้ตอนนี้ - แต่ถ้าคุณคิดว่าข้อความนี้เป็นจริงมันต้องได้รับการพิสูจน์คุณไม่สามารถสรุปได้เลยว่ามันเป็นเรื่องจริง)z = 2x , y , z n 3 √ 3 √
"ทำให้มีขนาดเท่ากัน" ไม่ปรากฏว่าจำเป็นต้องให้คำตอบที่เหมาะสมในทุกกรณี ดูโพสต์บล็อกของ Dan Meyer สำหรับตัวอย่าง หรืออย่างน้อยสำหรับการตีความที่สมเหตุสมผลของวลี "ทำให้พวกเขามีขนาดเท่ากัน" มีตัวอย่างที่แสดงให้เห็นว่ากลยุทธ์นี้ไม่เหมาะสมจริง หากคุณต้องการลองใช้กลยุทธ์ของการเรียงลำดับนั้นตรวจสอบให้แน่ใจว่าคุณระบุการอ้างสิทธิ์อย่างถูกต้องแล้วแสดงหลักฐานทางคณิตศาสตร์อย่างระมัดระวัง
เวลาทำงานของไม่ใช่พหุนาม สำหรับปัญหานี้จะอยู่ใน P, เวลาทำงานจะต้องเป็นพหุนามในความยาวของการป้อนข้อมูล ความยาวของการป้อนข้อมูลเป็นสิ่งที่ต้องการไม่nอัลกอริธึมแรงเดรัจฉานที่เห็นได้ชัดสามารถถูกเรียกใช้ในเวลาหรือแต่เป็นเลขชี้กำลังในและนับเป็นอัลกอริธึมแบบเวลาเอ็กซ์โพเนนเชียล ดังนั้นจึงไม่เป็นประโยชน์lg n n O ( n 3 ) O ( n 2 ) lg n