การเพิ่มจำนวนเต็มแสดงโดยแยกตัวประกอบของพวกเขาเป็นเรื่องยากเหมือนแฟคตอริ่ง? คำขออ้างอิง


22

ฉันกำลังมองหาการอ้างอิงสำหรับผลลัพธ์ต่อไปนี้:

การเพิ่มจำนวนเต็มสองจำนวนในการแทนแบบแฟคตอริ่งนั้นยากพอ ๆ กับการแยกจำนวนเต็มสองตัวในการแทนฐานสองแบบปกติ

(ฉันค่อนข้างแน่ใจว่ามันอยู่ที่นั่นเพราะนี่คือสิ่งที่ฉันสงสัยในบางจุดและจากนั้นก็ตื่นเต้นเมื่อฉันเห็นมันในที่สุดในการพิมพ์)

"การเพิ่มจำนวนเต็มสองจำนวนในการเป็นตัวแทนเอาเรื่อง" เป็นปัญหา: รับ factorizations สำคัญของตัวเลขสองและy ที่เอาท์พุทตัวประกอบที่สำคัญของx + y ที่ โปรดทราบว่าอัลกอริทึมไร้เดียงสาสำหรับปัญหานี้ใช้การแยกตัวประกอบในการแทนค่าไบนารี่มาตรฐานเป็นรูทีนย่อยxyx+y

อัปเดต : ขอบคุณ Kaveh และ Sadeq สำหรับบทพิสูจน์ เห็นได้ชัดว่าหลักฐานเพิ่มเติม merrier แต่ฉันยังต้องการที่จะสนับสนุนความช่วยเหลือเพิ่มเติมในการหาการอ้างอิงซึ่งฉันบอกว่าฉันค่อนข้างแน่ใจอยู่ ฉันจำได้ว่าอ่านมันในกระดาษที่มีความคิดที่น่าสนใจและไม่ได้พูดถึงบ่อยๆ แต่ฉันจำไม่ได้ว่าความคิดอื่น ๆ นั้นเป็นอย่างไรหรือบทความทั่วไปเกี่ยวกับอะไร


6
ฉันคิดว่าชื่อเรื่องที่ดีกว่าคือ "การรวมจำนวนเต็มสองจำนวนที่แทนด้วยการแยกตัวประกอบของพวกมันยากพอ ๆ กับการแยกตัวประกอบ"
MS Dousti

1
เป็นคำถามที่ดี หากเราสามารถเขียนจำนวนเต็มที่กำหนดให้เป็นผลรวมของจำนวนเต็มสองตัวที่ง่ายต่อการแยกตัวประกอบแล้วสิ่งที่คุณต้องการดังต่อไปนี้ มันง่ายที่จะทำถ้าเราต้องการหมายเลขแต่ฉันไม่เห็นวิธีที่จะทำแม้จะมีหมายเลขบันทึกlog n อาจคุ้มค่าที่จะดูคลาสของตัวเลขที่ง่ายต่อการคำนึงถึง lognloglogn
Kaveh

1
บางคำถามที่เกี่ยวข้องกับ MO และ Math.SE: 1 , 2 , 3
Kaveh

คำตอบ:


15

สมมติว่าเราสามารถแก้ปัญหาได้ (เรียกว่า FactSum) ในคลาสและC ที่ซับซ้อนภายใต้log -iteration (หรือเรียกอีกอย่างว่าlog -bounded recursion) (เช่นถ้าเราสามารถคำนวณx yโดยที่เป็นฟังก์ชันเลขฐานสองเราสามารถ คำนวณx 1x log n ) และมีP (เงื่อนไขนี้สามารถทำให้อ่อนแอลงได้) เราแสดงแฟที่อยู่ในยังอยู่ในCCCloglogxyx1xlognPC

โปรดทราบว่าแต่ละหมายเลขสามารถเขียนเป็นผลรวมของอำนาจของ2 แต่ละคนง่ายต่อการแยกแยะlogn2

ตอนนี้ได้รับตัวเลขเขียนเป็นผลรวมของพลังของมันแล้วเขียนแต่ละสรุปในการเป็นตัวแทนแฟแล้วใช้อัลกอริทึมเพื่อรวมพวกเขาในการเป็นตัวแทนแฟ ผลลัพธ์จะเป็นแฟคตอริ่งของหมายเลขอินพุต

นี้แสดงให้เห็นว่าเป็นแฟออกซิเจน -iteration ของ FactSum ปัญหาของคุณ ดังนั้นแฟคตอริ่งอยู่ในP FactSum (และฉันคิดว่าPสามารถถูกแทนที่ด้วย N C 1ที่นี่)logPFactSumPNC1


10

ฉันไม่รู้การอ้างอิง แต่ฉันคิดว่าฉันมีหลักฐาน:

สมมติว่าคุณมี oracle ซึ่งป้อนตัวเลขสองตัวที่แยกตัวประกอบO

x=i=1npiαi

และ

y=i=1mqiβi,

เอาท์พุทตัวประกอบของ y ที่x+y

เมื่อมีการเข้าถึงเราสามารถแยกจำนวนNใด ๆในเวลาพหุนามโดยใช้กระบวนการเรียกซ้ำต่อไปนี้ON

ปัจจัยขั้นตอน ( )N

  1. ค้นหานายกดังกล่าวว่าN / 2 x N - 1และให้Y = N - xxN/2xN1y=Nx
  2. หากไม่ได้เป็นนายกได้รับตัวประกอบของปีโดยปัจจัยที่โทร recursive ( Y ) และผลผลิตO ( x , T o R ( Y ) )yyyO(x,factor(y))
  3. อื่นเอาท์พุท )O(x,y)

วิเคราะห์:

โดยทฤษฎีบทจำนวนที่สำคัญสำหรับขนาดใหญ่พอที่มีความอุดมสมบูรณ์ของช่วงเวลาในระหว่างN / 2และN - 1 หากNมีขนาดเล็กจนไม่มีนายกรัฐมนตรีตกในช่วงเวลานี้คุณสามารถแยกปัจจัยNได้อย่างง่ายดาย ดังนั้นขั้นตอนที่ 1 ผ่านNN/2N1NN

ในขั้นตอนที่ 2 คุณสามารถใช้AKSหรือการทดสอบพหุนามแบบเวลาอื่น ๆ

จำนวนการเรียกซ้ำเป็นเพียงเนื่องจากในแต่ละขั้นตอนNถูกตัดครึ่ง (อย่างน้อย)O(lg(N))=O(|N|)N


PS-1:สมมติว่าการคาดคะเนของ Goldbachอาจช่วยในการเร่งกระบวนการสำหรับจำนวนเต็ม (และอาจจะแปลก)

PS-2:การลดที่ใช้คือการลดค่า Cook อาจมีใครสนใจที่จะทำการพิสูจน์โดยใช้การลดคาร์ป


3
ฉันคิดว่ามันเปิดถ้าเราสามารถหานายกในช่วงที่กำหนดได้อย่างมีประสิทธิภาพดังนั้นฉันไม่เห็นว่าคุณกำลังทำ 1
Kaveh

1
xy

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

5

การตอบสนองนี้เป็นอิสระจากคำตอบของฉันก่อนหน้า เป้าหมายของมันคือการตอบข้อกังวลของ @ Kaveh ในความคิดเห็น

lognloglogn

ฉันมีความกังวลคล้ายกัน:

การลดใช้คือการลดคุก อาจมีใครสนใจที่จะทำการพิสูจน์โดยใช้การลดคาร์ป

(การลด Karp สำหรับปัญหาการตัดสินใจที่นี่โดยการลด Karp ฉันหมายถึงการลดคำสั่งคุกเดียวขออภัยสำหรับคำศัพท์ที่ไม่ได้มาตรฐาน!)


คำตอบดังต่อไปนี้จะขึ้นอยู่กับการอภิปรายที่นี่: /math/54580/factoring-some-integer-in-the-given-interval


ในคำตอบนี้ผมจะให้กำหนด polynimial เวลาลดคาร์พจากแฟไปแฟผลรวมของจำนวนเต็มสองจำนวนที่แสดงโดย factorizations มีหนึ่งที่จับได้: ในหลักสูตรของการพิสูจน์ฉันจะใช้สมมติฐานจำนวนทฤษฎีต่อไปนี้:

pnpn+1pn+1pn=O(log2pn)

Nn=|N|=O(logN)N[Nlog3N,N]log3N=O(n3)

x[Nlog3N,N]y=Nx

0ylog3N|y|=O(loglogN)=O(logn)y

(x,y)N=x+y


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