อัลกอริทึมที่มีประสิทธิภาพที่สุดสำหรับการหารคืออะไร


12

abababO(mlogmloglogm)mmax{a,b}Ω(mlogmloglogm)ขอบเขตล่างของปัญหานี้หรือไม่

ขอขอบคุณและขอแสดงความนับถือและขออภัยถ้านี่เป็นคำถามที่ไร้เดียงสา


AFAIK ไม่มีการรู้จักขอบเขตล่างที่ไม่น่ารำคาญ ฉันเชื่อว่าการคูณและการหารเป็นที่รู้กันว่ามีความซับซ้อนเท่ากัน (แม้ว่ามันอาจจะขึ้นอยู่กับ log log factor?) ด้วยวิธีของ Newton และเนื่องจากไม่มีเส้นขอบล่างที่ไม่เชิงเส้นเป็นที่รู้จักในการคูณดังนั้นฉันจึงคิดว่า คุณกำลังระบุจะเป็นผลลัพธ์ที่สำคัญ
Steven Stadnicki

(ที่จริงแล้วการดูตอนนี้ฉันคิดว่าปัจจัยบันทึกการทำงานหายไปเพราะในขณะที่คุณกำลังทำการคูณจำนวนไม่แน่นอนพวกเขาไม่ได้มีความยาวเท่ากันดังนั้นปัจจัยแบบซุปเปอร์สามารถดูดซับได้ในลักษณะเดียวกัน เช่นยังคงเป็นเส้นตรงในแม้ว่ามันจะมีปัจจัยเชิงเส้นตรงจำนวนไม่แน่นอน)k=1lgnn2kn
สตีเวน Stadnicki

คำตอบ:


4

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

เหตุผลที่การแบ่งลดลงอย่างแม่นยำในความซับซ้อนในการคูณ - อย่างที่ฉันเข้าใจ - นั่นคือวิธีการของนิวตันจะทำลำดับการคูณของขนาดที่เพิ่มขึ้นที่แตกต่างกัน นี่หมายความว่าหากมีอัลกอริทึมสำหรับการคูณด้วยความซับซ้อนความซับซ้อนของอัลกอริทึมการหารโดยใช้อัลกอริทึมการคูณนี้เป็นขั้นตอนกลางจะอยู่ตามแนวของ - และสำหรับทุกชั้นเรียนซับซ้อนภายใต้การสนทนานี้เป็นเพียง(n))Θ(f(n))Θ(k=0lgnf(n2k))Θ(f(n))


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

2
@DW เห็นด้วยและนั่นคือจุดที่ยอดเยี่ยม; แต่ฉันไม่ได้พยายามที่จะลดขอบเขต แต่ประเด็นก็คือว่าขอบเขตล่างใด ๆ ในการหารหมายถึงขอบเขตล่างที่สอดคล้องกันในการคูณและเนื่องจากไม่มีขอบเขตดังกล่าวเป็นที่รู้จักนอกเหนือจากขอบเขตเชิงเส้นเล็กน้อยจากนั้นได้เส้นขอบล่างที่หารได้ดีกว่าเส้นตรง (ซึ่งเป็นส่วนหนึ่งของสิ่งที่ OP ขอ) ไม่น่าเป็นไปได้
Steven Stadnicki

@DW ฉันไม่ต้องตกใจเลยที่จะเรียนรู้ขอบเขตบนเชิงเส้นของการหารและในขณะที่คุณบอกว่าจะไม่บอกเป็นนัยเกี่ยวกับขอบเขตบนในการคูณ แต่ไม่มีผลลัพธ์เฉพาะใน AFAIK ทิศทางนั้น
Steven Stadnicki

-2

ฉันคิดว่ามีแฮ็ก Vedic แบบบางตัวที่ลงท้ายด้วย 3,7 เป็นต้นหรือหาร 2 ^ n ฐาน ...

แต่โดยทั่วไปการพูดอัลกอริทึมการแบ่งที่เร็วที่สุดดูเหมือนจะเป็นบรรทัดฐาน

สิ่งที่ดีที่สุดที่ฉันรู้โดยไม่ได้มองคืออัลกอริทึม D ของวิธีการแบบกึ่งตัวเลขของ Knuth ... ไม่เคยตรวจสอบความถูกต้องของมัน มันทำงานในมากกว่าหรือน้อยกว่า O (mn-n ^ 2) โดยที่ m และ n คือเงินปันผลและตัวหาร ... โดยไม่ต้องคำนึงถึงความซับซ้อนของการคูณ ...

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

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