Score:2

ตะแกรงกำลังสอง: มีกฎง่ายๆ ในการตัดสินใจว่าจะกรองตัวเลขจำนวนเท่าใด?

ธง et

ใน อัลกอริทึมตะแกรงกำลังสองอันดับแรก เราตัดสินใจเลือก B แล้วมองหาปัจจัยเฉพาะที่ราบรื่น B ​​โดยการกรองโดยใช้พหุนามกำลังสอง

ฉันสามารถหาสูตรสองสามสูตรที่ช่วยให้ตัดสินใจเลือก B ได้

ในการแยกตัวประกอบของจำนวน N เราสามารถใช้สิ่งต่อไปนี้:

$L = e^{\sqrt {\ln(N)ln(ln(N))}}$

$B = L^{\frac {1}{\sqrt 2}}$

นี่เป็นค่าประมาณคร่าว ๆ ของตัวเลขที่ราบรื่นที่เราควรมองหา

อย่างไรก็ตาม ฉันไม่พบสูตรหรือกฎง่ายๆ เพื่อหาจำนวนตัวเลขที่จะกรองโดยใช้พหุนามกำลังสอง

หากไม่ชัดเจนว่าฉันกำลังพูดถึงอะไร ให้ฉันอธิบายโดยใช้ บทความวิกิพีเดียเกี่ยวกับคำพูดคำจา.

ในส่วนของ Data Collection ของ "Example of Basic Sieve" มีข้อความดังต่อไปนี้:

เริ่มกระบวนการกรองสำหรับแต่ละไพรม์ในพื้นฐาน โดยเลือก กรอง 0 ⤠X < 100 แรกของ Y(X)

ที่นี่พวกเขาเลือกที่จะสร้างรายการตะแกรง 100 Y(X) มีกฎหรือสูตรง่ายๆ ในการมาถึงหมายเลขนี้หรือไม่ (100 ในกรณีนี้)

Score:3
ธง ng

ใน Quadratic Sieve บริสุทธิ์ เราจำเป็นต้องค้นหาความสัมพันธ์เพิ่มเติมอีกเล็กน้อย (เทียบเท่า, ราบรื่น) มากกว่าจำนวนเฉพาะในฐานตัวประกอบ ในนี้ เรานับจำนวนเฉพาะขนาดเล็ก $p_i$ ที่ทำให้ $N$ โมดูโลสารตกค้างกำลังสอง $p_i$ไม่ใช่พลังของพวกเขา การนับนี้ยังเป็นจำนวนของคอลัมน์ในเมทริกซ์ของความสัมพันธ์ (กระจัดกระจาย) โดยที่ความสัมพันธ์คือเส้น ซึ่งทำหน้าที่เป็นอินพุตให้กับเฟสพีชคณิตเชิงเส้น โดยทั่วไปแล้ว 5 บรรทัดมากกว่าคอลัมน์ก็เพียงพอแล้ว แต่ละความสัมพันธ์พิเศษเพิ่มเติมจะลดความน่าจะเป็นของความล้มเหลวลงสองเท่า

สิ่งนี้ให้เกณฑ์การทำงานเพื่อหยุดการกรองและเริ่มพีชคณิตเชิงเส้น แต่ไม่ได้บอกโดยตรงว่าเราจะต้องกรองจำนวนเต็มจำนวนเท่าใด กฎง่ายๆ สำหรับสิ่งนั้นและพารามิเตอร์อื่นๆ ขึ้นอยู่กับหลายสิ่งหลายอย่าง รวมถึง

  • วิกฤตถ้าเรากรองหนึ่ง (QS) หรือพหุนามหลาย (MPQS/SIQS) ด้วยคำพูดคำจา บ่อยครั้งเกินไปที่พหุนามจะเติบโตจนมีค่าสูงเกินไป ดังนั้นความราบรื่นจึงกลายเป็นสิ่งที่หายาก จากนั้น การขยายตะแกรงหรือใช้ซ้ำเพื่อตะแกรงให้ไกลขึ้นในโพลิโนเมียลเดียวกันจะไม่ช่วยอะไรมากนัก
  • กลยุทธ์ w.r.t. ค่าพหุนามที่เราไม่แน่ใจ (หรือมีความมั่นใจสูง) โดยการสรุปบันทึกของปัจจัยที่พบโดยการกรองว่ามีความราบรื่นเพียงพอสำหรับวัตถุประสงค์ของเรา เราสามารถ
    • เพิกเฉยต่อพวกเขาแม้คิดว่าพวกเขายังคงสามารถเป็นได้ $B$-เรียบ.
    • ลองใช้ตัวประกอบเฉพาะขนาดเล็กไปจนถึงการกรองจำนวนเฉพาะสูงสุด $B$และพลังของพวกเขาแม้ว่าจะเกินก็ตาม $B$ (หรืออีกนัยหนึ่ง เราจำกัดไว้ที่ $B$- ค่าเรียบของพหุนามที่ผ่านขั้นตอนการกรอง) เป็นเรื่องง่ายและเป็นเรื่องปกติสำหรับพื้นฐาน (MP/SI)QS
    • ลองใช้ปัจจัยเล็ก ๆ ไปจนถึงขีดจำกัดที่สูงขึ้น $B'$ (กล่าวอีกนัยหนึ่งคือเราคัดแยกอำนาจเฉพาะและสำคัญไปที่ $B<B'$, และจำกัดให้ $B'$-สมูทที่ผ่านขั้นตอนการร่อน)
    • นอกจากนี้ ให้ปัจจัยสำคัญขนาดใหญ่หนึ่งปัจจัย (PMPQS) มีขีดจำกัดที่สูงขึ้น โดยหวังว่าการชนกันของจำนวนเฉพาะขนาดใหญ่เหล่านี้จะทำให้ความสัมพันธ์ที่ใช้ไม่ได้สองความสัมพันธ์สร้างความสัมพันธ์ใหม่ที่ใช้งานได้ (นั่นคือไม่มีจำนวนเฉพาะขนาดใหญ่ เพื่อให้พอดีกับจำนวนคอลัมน์ที่จำกัดใน เมทริกซ์)
    • นอกจากนี้ยังอนุญาตให้มีปัจจัยสำคัญขนาดใหญ่สองตัว (PPMPQS)
  • เกณฑ์การกรอง (สำหรับผลรวมของล็อกของช่วงเวลาที่สะสมในรายการตะแกรง) ซึ่งเป็นการประนีประนอมระหว่างการปฏิเสธ $B$- ราบรื่นและใช้เวลามากเกินไปในการพยายามพิจารณาผู้สมัครที่ไม่ให้ความสัมพันธ์ที่ใช้งานได้

คำแนะนำเพื่อให้ QS ทำงาน:

  • ขั้นแรกให้ทำบางสิ่งที่พอประมาณ $N$ ไม่มีอาร์เรย์ตะแกรง!
    • ใช้ฐานตัวประกอบของ $p_i$ การทำ $N$ สารตกค้างกำลังสอง ถึงขีดจำกัดบางอย่าง $B$. ปลอดภัยกว่าที่จะทำผิดด้านใหญ่ของที่เหมาะสมก่อน $B$.
    • หา $B$- เรียบระหว่างค่าของพหุนาม $t^2-N$ กับ $t\gtrsim\left\lceil\sqrt N\,\right\rceil$ โดยวิธีพื้นฐานที่สุด (เช่น การแบ่งการทดลอง)หาส่วนที่เรียบกว่าจำนวนไพรม์เล็กน้อย
    • ให้พีชคณิตเชิงเส้นทำงานเพื่อแยกตัวประกอบ $N$.
  • เพิ่มประสิทธิภาพแผนกทดลองส่วนใหญ่ (หรือทั้งหมด) ของ $t^2-N$ โดยการทดสอบนั้น $t\bmod(p_i^k)$ ตกอยู่ในชุดของค่าที่คำนวณไว้ล่วงหน้าสองค่า
  • ในขั้นตอนนั้น คอขวดควรหาทางราบเรียบโดยพยายามแยกตัวประกอบจำนวนมาก $t^2-N$ ใช้แผนกทดลอง (ที่ปรับให้เหมาะสม) โดยที่ส่วนใหญ่ไม่ได้เป็นเช่นนั้น $B$-เรียบ. แนะนำ sieve array ซึ่งมีวัตถุประสงค์เพื่อ (อย่างมาก) ลดจำนวนผู้สมัครที่ราบรื่น โดยเสียค่าใช้จ่ายในการปฏิเสธเพียงไม่กี่คนอย่างผิดๆ สิ่งนี้ทำให้สามารถเพิ่มขึ้นได้ $N$ (จึงเป็นการเพิ่มสิ่งที่ดีที่สุด $B$).
  • แนะนำการเพิ่มประสิทธิภาพเพิ่มเติมทีละรายการ:
    • มี $-1$ ในฐานปัจจัยนั้นก็มีการร่อนด้วย $N-t^2$ สำหรับ $t\lesssim\left\floor\sqrt N\,\right\rfloor$
    • การปรับปรุง "ตัวคูณ" อย่างง่าย ซึ่งปัจจัยต่างๆ $ม\,N$ สำหรับจำนวนเต็มขนาดเล็กที่เลือกไว้ $m$เพื่อให้ฐานตัวประกอบดีขึ้น (มีจำนวนเฉพาะค่อนข้างน้อย)
    • การใช้พหุนามหลายตัว ซึ่งช่วยให้สามารถกรองและแยกตัวประกอบของผู้สมัครที่มีขนาดเล็กกว่ามากได้ ดังนั้นจึงมีความเป็นไปได้มากกว่า $B$- เรียบ
    • คอขวดอาจยังคงพยายามแยกตัวประกอบของแผ่นเรียบที่ผ่านการทดสอบตะแกรง (ขึ้นอยู่กับเกณฑ์ในการร่อนและขนาดของฐานปัจจัย) การประหยัดบางอย่างทำได้โดยการใช้การแบ่งการทดลอง (ที่ปรับให้เหมาะสมที่สุด) โดยไพรม์ขนาดเล็กเท่านั้น จากนั้นจึงใช้สิ่งที่ดีกว่า บางทีอาจเป็นโพลลาร์ดโรโฮที่มีการทดสอบลำดับแรกเมื่อไม่ได้ผลลัพธ์อย่างรวดเร็ว การทดสอบดังกล่าวจะจำเป็นสำหรับการปรับปรุงที่สำคัญขนาดใหญ่
    • หนึ่งการปรับปรุงสำคัญขนาดใหญ่สองรายการ (PMPQS และ PPMPQS)
  • ปรับให้เหมาะสมไม่ว่าคอขวดคืออะไร และปรับพารามิเตอร์ต่างๆ มากมาย ในที่สุด คอขวดควรจะถูกกรอง การใช้งานที่ปรับให้เหมาะสมนั้นใช้ความพยายามอย่างมาก โดยมีเทคนิคและโค้ดเฉพาะตามขนาดของไพรม์ที่ร่อน และการโต้ตอบกับแคชของ CPU
et flag
`ปัญหาคอขวดยังคงพยายามแยกตัวประกอบของวัสดุเรียบที่ผ่านการทดสอบตะแกรง' - ฉันไม่แน่ใจว่าฉันเข้าใจสิ่งนี้หรือไม่ - การทดสอบตะแกรง คุณหมายถึงสิ่งที่ร่อนลงเหลือ 1 ใช่ไหม ถ้าเป็นเช่นนั้น ปัจจัยกำลังสำคัญสามารถพบได้เป็นส่วนหนึ่งของการกรองด้วยตัวมันเอง ทำไมต้องแยกตัวประกอบอีก.
et flag
`ในขั้นนั้น คอขวดควรหาทางราบเรียบโดยการพยายามแยกตัวประกอบของ t2âN จำนวนมากโดยใช้การหารทดลอง' - คุณไม่จำเป็นต้องทำการหารทดลองสำหรับแต่ละหมายเลขในรายการสำหรับแต่ละจำนวนเฉพาะ คุณสามารถหาตำแหน่งของตัวเลขเหล่านั้นในรายการซึ่งจะหารด้วยรากที่ได้จากแชงค์ส-ทอนเนลลีคุณแบ่งเฉพาะตัวเลขเหล่านั้นและไม่สนใจตัวเลขอื่นๆ ทั้งหมด
fgrieu avatar
ng flag
โดย "sieve test" ฉันหมายถึงการรวมบันทึก (ปรับขนาด อาจเป็นลบ) ของ $p_i$ ที่ตำแหน่งที่เหมาะสมในอาร์เรย์ RAM ที่จัดทำดัชนีโดย $t$ ภายในออฟเซ็ต และเมื่อถึงเกณฑ์ที่เลือกรายการนั้น ซึ่งระบุตำแหน่ง $t$ เหล่านั้นได้อย่างมีประสิทธิภาพด้วยค่าที่ราบรื่นโดยเฉพาะที่ $t^2-N$ แต่ _not_ ให้การแยกตัวประกอบ ที่ดีที่สุดคือให้ ${p_i}^k$ ที่ข้ามเกณฑ์การแยกตัวประกอบที่เหลือของ $t^2-N$ ที่เลือกโดยการทดสอบตะแกรงจำเป็นต้องหาความสัมพันธ์
et flag
โอเค ตอนนี้ฉันกำลังศึกษารูปวานิลลาของ Quadratic Sieve ด้วยคำตอบของคุณเกี่ยวกับจำนวนที่จะกรองฉันคิดว่าฉันใกล้จะถึงจุดสิ้นสุดแล้ว ฉันจะดำเนินการเพิ่มประสิทธิภาพหลังจากนี้ ขอบคุณมากสำหรับคำตอบอย่างละเอียดของคุณ
fgrieu avatar
ng flag
@ user93353: ฉันได้ปรับปรุงส่วน "คำแนะนำ" ใหม่เพื่อรวมการเพิ่มประสิทธิภาพที่คุณอธิบาย ซึ่งก่อนหน้านี้ขาดหายไป แท้จริงแล้ว เราสามารถแยกตัวประกอบทั้งหมดของ $t^2-N$ ได้ด้วยวิธีนี้โดยเฉพาะ โดยเสียค่าใช้จ่ายในการกรองที่แม่นยำเพียงพอและเลือกมากเกินไปเล็กน้อย โร (หรือวิธีการอื่น) ของ Pollard เพื่อแยกตัวประกอบของตัวเลือกที่ราบรื่นให้เสร็จสิ้นนั้นมาช้าในเกมการปรับให้เหมาะสมเท่านั้น จากหน่วยความจำ มันจำเป็นใน PPMPQS

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา