การอ้างอิงสำหรับอัลกอริทึมการแฟ็กตอริ่งที่ดีที่สุดของ Levin หรือไม่


13

ใน " คำแนะนำแก่นักศึกษาระดับเริ่มต้น " ของ Manuel Blum :

LEONID LEVIN เชื่อในขณะที่ฉันทำอย่างนั้นคำตอบของ P = NP คืออะไร? ปัญหามันจะไม่เหมือนสิ่งที่คุณคิดว่ามันควรจะเป็น และเขาได้ยกตัวอย่างที่ยอดเยี่ยม สำหรับหนึ่งเขาได้ให้อัลกอริธึมจากปัจจัยที่เหมาะสมที่สุดและมีค่าคงที่แบบทวีคูณ เขาพิสูจน์ว่าหากอัลกอริธึมของเขาเป็นเลขยกกำลังดังนั้นทุกอัลกอริธึมสำหรับ FACTORING นั้นเป็นเลขชี้กำลัง ถ้าอัลกอริธึมสำหรับแฟคตอริ่งคือโพลี - ไทม์อัลกอริธึมของเขาคือโพลี - เวลา แต่เราไม่สามารถบอกเวลาในการทำงานของอัลกอริทึมของเขาได้เพราะในแง่ดีมันถึงเวลาแล้วที่ไม่สามารถวิเคราะห์ได้

หน้าสิ่งพิมพ์ของ Levin ส่งคืน 404 DBLP ไม่แสดงสิ่งใดที่เกี่ยวข้องกับการขายแฟ็กเตอริงและการค้นหา "leonid levin factoring" ใน Google Scholar ไม่พบสิ่งที่ฉันสนใจ AFAIK ตะแกรงทั่วไปเป็นอัลกอริทึมที่เร็วที่สุดที่รู้จักสำหรับแฟ Manuel Blum กำลังพูดถึงอะไร ทุกคนสามารถเชื่อมโยงฉันกับกระดาษได้หรือไม่?

คำตอบ:


11

มานูเอลบลัมกำลังพูดถึงการใช้อัลกอริธึมการค้นหาทั่วโลกของเลวินกับปัญหาการแยกตัวประกอบ ความคิดของวิธีการค้นหาของเลวินสากลเป็นอย่างเท่าเทียมกันที่ใช้บังคับกับปัญหาใด ๆ ในNPNP

นี่คือคำพูดจากบันทึกการบรรยายที่ได้รับจาก Blum เกี่ยวกับความปลอดภัยและ CRYPTOGRAPHY:

ALGORITHM Leonid LEVIN จำนวนการแยกที่เหมาะสมที่สุด (ปัจจัย) ให้ SPLIT แสดงถึงอัลกอริธึมที่คำนวณ INPUT: จำนวนเต็มบวก (เช่นไม่ใช่ไพร์ม) จำนวนเต็ม n เอาท์พุท: ปัจจัยที่ไม่ใช่ของ n

ทฤษฎีบท: มีอัลกอริทึมการแยกตัวเลข "ดีที่สุด" ซึ่งเราเรียกว่า OPTIMAL-SPLIT อัลกอริทึมนี้เหมาะสมในแง่ที่ว่า: สำหรับทุก ๆ การแบ่งจำนวนอัลกอริธึม SPLIT จะมีค่าคงที่ (ค่อนข้างใหญ่ แต่คงที่) C เช่นนั้นสำหรับทุกจำนวนเต็มบวกคอมโพสิตอินพุต n "เวลาทำงาน" ของ OPTIMAL-SPLIT มากที่สุด C คูณเวลาทำงานของ SPLIT ในอินพุต n

นี่คืออัลกอริทึมการแยกตัวประกอบที่ดีที่สุดของ Levin :

ALGORITHM OPTIMAL-SPLIT: BEGIN แจกแจงอัลกอริธึมทั้งหมดตามลำดับขนาดโดยใช้พจนานุกรมในแต่ละขนาด เรียกใช้อัลกอริธึมทั้งหมดเพื่อให้ในเวลาใดก็ได้ t อัลกอริธึม ith จะได้รับ [1 / (2 ^ i)] เพียงเสี้ยวเวลาเพื่อดำเนินการ ไม่ว่าอัลกอริทึมจะหยุดทำงานด้วยจำนวนเต็มเอาต์พุต m ในช่วง 1 <m <n ให้ตรวจสอบว่า m แบ่ง n หรือไม่ (เช่นถ้า n mod m = 0) ถ้าเป็นเช่นนั้นส่งคืน m END


ใครสามารถอธิบายได้ว่าทำไมเศษส่วนต้องเป็น 1 / (2 ^ i) แต่ไม่ใช่สิ่งที่ง่ายกว่าเช่น 1 / i
netvope

1
@netvope: ผลรวมไม่สิ้นสุดของ 1 / i diverges คุณอาจทำได้ด้วย 1 / i ^ 2 แต่ 1/2 ^ i นั้นง่ายกว่ามาก
พลวง

3

ฉันไม่แน่ใจว่านี่คือสิ่งที่ Blum กำลังพูดถึง แต่มันง่ายที่จะสร้างอัลกอริธึมที่ดีที่สุดจนถึงปัจจัยคงที่สำหรับทั้งหมด นี่คือภาพร่างสำหรับแฟคตอริ่งโดยเฉพาะNPcoNP

รับตัวเลขที่เราต้องการแยกตัวประกอบ N

ยังไม่มีความสำคัญ? ถ้าเอาท์พุท 'PRIME' เป็นอย่างอื่น:

สำหรับi=1...

สำหรับP=1...i

รันโปรแกรม P สำหรับขั้นตอน i ด้วยอินพุต N

ถ้า P ส่งเอาต์พุตจำนวนเต็มสองจำนวน (L, M) และและและดังนั้นเอาต์พุตM 1 N = L M ( L , M )L1M1N=LM(L,M)


4
คุณไม่สามารถใช้การทดสอบแบบดั้งเดิมที่รู้จักกันเนื่องจากไม่รู้จักว่าเร็วกว่าแฟคตอริ่งที่เหมาะสมที่สุด นอกจากนี้ฉันไม่เข้าใจจุดหนึ่ง เพื่อพิสูจน์ว่านี่เป็นสิ่งที่ดีที่สุดสำหรับการพิจารณาปัจจัยคงที่ฉันคิดว่าเราต้องพิสูจน์ว่าการคูณในขั้นตอนสุดท้ายไม่ใช่คำศัพท์หลักในความซับซ้อนของเวลา ถ้าฉันจำได้อย่างถูกต้องอัลกอริทึมการคูณที่รู้จักได้เร็วที่สุดในการตั้งค่าซีมโทติคจะขึ้นอยู่กับ FFT และใช้เวลา O (n log n log log n) เวลาสำหรับจำนวนเต็ม n-bit เป็นไปได้หรือไม่ที่จะพิสูจน์ว่าแฟคเตอริ่งที่เหมาะสมต้องใช้เวลาอย่างน้อยที่สุด
Tsuyoshi Ito

@ สุโยชิ: ฉันคิดว่าคุณพูดถูกว่าอัลกอริทึมนี้จะไม่เหมาะสมถ้าการทดสอบการคูณ / การรู้จักแบบดั้งเดิมนั้นยากกว่าแฟคตอริ่ง อย่างไรก็ตามถ้าคุณอ่านคำพูดของ Blum ข้างต้นเขากล่าวว่าอัลกอริทึมของ Levin นั้นเป็นพหุนามหากว่าคำตอบที่ดีที่สุดคืออะไรซึ่งเป็นปัญหาของปัญหานี้ อีกสองสิ่ง: (1) คุณจะหลีกเลี่ยงการใช้การทดสอบแบบดั้งเดิมที่รู้จักในอัลกอริทึมนี้ได้อย่างไร (2) ฉันคิดว่าอัลกอริทึมนี้ไม่ได้ถูกจัดทำขึ้นอย่างถูกต้องเนื่องจากเวลาทำงานไม่ได้รับการแบ่งพาร์ติชันอย่างเหมาะสมระหว่างโปรแกรมต่าง ๆ เห็นคำตอบของ Al-Turkistany สำหรับสูตรที่ถูกต้อง
Peter Shor

@Peter: คำพูดของ Blum กล่าวว่า“ เขา [Levin] ได้ให้อัลกอรีทฮอลล์ที่เป็นปัจจัยที่เหมาะสมที่สุดจนถึงค่าคงที่ทวีคูณ” แต่เมื่อพิจารณาว่าเราไม่รู้ด้วยซ้ำว่าการรับแฟ็กเตอริ่งนั้นใช้เวลามากกว่าเชิงเส้นหรือไม่คำสั่งนั้นยากที่จะเชื่อตามที่เป็น
Tsuyoshi Ito

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