อัลกอริธึมแบบเอ็กซ์โปเนนเชียลเวลาที่แน่นอนสำหรับ 0-1 โปรแกรมที่มีข้อมูลที่ไม่เป็นลบ


9

มีอัลกอริทึมที่รู้จักกันดีสำหรับปัญหาต่อไปนี้ที่เอาชนะอัลกอริทึมไร้เดียงสาหรือไม่?

อินพุต: เมทริกซ์ A และเวกเตอร์ b,cที่ทุกรายการของ A,b,c เป็นจำนวนเต็มไม่ใช่ค่าลบ

ผลลัพธ์: ทางออกที่ดีที่สุด x ถึง max{cTx:Axb,x{0,1}n}.

คำถามนี้เป็นรุ่นที่กลั่นจากคำถามก่อนหน้าของฉันแน่นอนขั้นตอนวิธีการชี้แจงครั้งเดียวสำหรับ 0-1 การเขียนโปรแกรม

คำตอบ:


5

ถ้าจำนวนของที่ไม่ใช่ศูนย์สัมประสิทธิ์ในเป็นเส้นตรงในn , มีขั้นตอนวิธีที่แก้ปัญหานี้ในเวลาน้อยกว่า2 ^ nเวลาAn2n

นี่คือวิธีการทำงาน เราใช้การเชื่อมต่อมาตรฐานระหว่างปัญหาการปรับให้เหมาะสมและปัญหาการตัดสินใจที่เกี่ยวข้อง เพื่อทดสอบว่ามีอยู่แก้ปัญหาที่และเราจะเป็นปัญหาการตัดสินใจ: เราจะติดข้อ จำกัดกับเมทริกซ์และการทดสอบ ไม่ว่าจะมีอยู่ใด ๆดังกล่าวว่าและ- โดยเฉพาะอย่างยิ่งเราจะสร้างเมทริกซ์ใหม่โดยการและเพิ่มแถวพิเศษที่มีและเราจะสร้างโดยการxAxbcTxαcTxαAxAxbcTxαAAcTbbและที่อยู่ติดกันแถวพิเศษกับ-เราได้รับปัญหาการตัดสินใจ: มีเช่นนั้นหรือไม่? คำตอบของปัญหาการตัดสินใจนี้บอกเราว่ามีวิธีแก้ไขปัญหาการหาค่าเหมาะที่สุดดั้งเดิมของค่าหรือสูงกว่า ยิ่งกว่านั้นดังที่อธิบายไว้ในคำตอบของคำถามก่อนหน้านี้ปัญหาการตัดสินใจนี้สามารถแก้ไขได้ในเวลาน้อยกว่าหากจำนวนสัมประสิทธิ์ที่ไม่เป็นศูนย์ในเป็นเส้นตรงใน (และถ้าจำนวนไม่ใช่ - สัมประสิทธิ์เป็นศูนย์ในคือเส้นตรงใน ) ตอนนี้เราสามารถใช้การค้นหาแบบไบนารีบนαx{0,1}nAxbα2nAnAnαในการแก้ปัญหาการเพิ่มประสิทธิภาพของคุณในเวลาน้อยกว่าเวลา2n

ฉันขอขอบคุณ Austinicutanan และ Stefan Schneider ที่ช่วยแก้ปัญหาคำตอบนี้ในเวอร์ชันก่อนหน้านี้


คุณสามารถให้คำตอบที่แข็งแกร่งกว่า: เช่น "มีเวลาอัลกอริทึม" หรือ "อัลกอริทึมเร็วกว่าจะหักล้าง ... "? O(2n/2)O(2n)
Austin Buchanan

@AustinBuchanan ถ้าจำนวนมิติของก็พอขนาดเล็กมีขั้นตอนวิธีการตามที่ระบุไว้ในคำตอบของฉันไปที่คำถามอื่นนั่นเป็นสิ่งที่ดีที่สุดที่ฉันรู้ว่าต้องทำอย่างไร ฉันไม่รู้จะทำยังไงดีกว่านั้น บางทีคนอื่นจะสามารถให้คำตอบที่แข็งแกร่งกว่า! bO(2n/2)
DW

O(2n/2)ถือเวลาเมื่อใดก็ตามที่มีข้อ จำกัด จำนวน ? O(1)
Austin Buchanan

4

หากเราพิจารณาปัญหาการย่อขนาดจากนั้นการลดลงต่อไปนี้แสดงให้เห็นว่าอัลกอริทึมทำงานในเวลาสำหรับจะหักล้าง SETH การปฏิรูปพิสูจน์ผลลัพธ์เดียวกันสำหรับปัญหาที่ตั้งใจไว้ (เวอร์ชันขยายใหญ่สุด)miny{cTy:Ayb,y{0,1}n}O(2δn/2)δ<1

รับอินสแตนซ์ของ CNF-SAT ที่มีตัวแปร , กำหนด 0-1 IP ด้วยสองตัวแปรสำหรับแต่ละตัวแปรในอินสแตนซ์ SAT ตามปกติประโยคจะแสดงเป็น1 จากนั้นทุกตัวแปรในกรณี SAT, เพิ่มข้อ จำกัด1 โดยมีวัตถุประสงค์เพื่อลด_j) วัตถุประสงค์ของ IP จะเป็นถ้าอินสแตนซ์ SAT นั้นน่าพอใจΦ=i=1mCi{xj}j=1nyj,y¯jxj(x1x¯2x3)y1+y¯2+y31xjyj+y¯j1j=1n(yj+y¯j)n

ขอบคุณ Stefan Schneider สำหรับการแก้ไข

อัปเดต: ในเมื่อมีปัญหาอย่างหนักเท่ากับ CNF-Satผู้เขียนคาดเดาว่า SET COVER ไม่สามารถแก้ไขได้ในเวลา ,โดยที่อ้างถึงจำนวนชุด หากเป็นจริงสิ่งนี้จะแสดงว่าปัญหาของฉันไม่สามารถแก้ไขได้ในเวลาเช่นกันO(2δn)δ<1nO(2δn)

อัปเดต 2 เท่าที่ฉันสามารถบอกได้โดยสมมติว่า SETH ปัญหาของฉันจะไม่สามารถแก้ไขได้ในเวลาเนื่องจากมันแสดงให้เห็นว่า Hitting Set (ที่มีชุดขนาด ) ไม่สามารถแก้ไขได้ แก้ไขได้ในเวลาเดลต้า)O(2δn)nO(2δn)


3
เนื่องจากคุณเพิ่มจำนวนตัวแปรเป็นสองเท่าฉันคิดว่านี่เป็นเพียงการแสดงว่าอัลกอริทึมสำหรับปัญหานี้กับรันไทม์จะขัดแย้งกับ SETH O(2δn/2)
Stefan Schneider

รอสักครู่ ... ผู้แต่งจาก On Problems as Hard as CNF-SAT ระบุว่า "สำหรับทุก ๆ , อัลกอริทึมสำหรับการกดปุ่ม Setจะเป็นการละเมิด SETH" มันใช้ไม่ได้เหรอ ϵ<1O(2ϵn)
Austin Buchanan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.