อ่าน 8 นาที
อัลกอริทึมเบอร์เลแคมป์-ราบิน
ในทฤษฎีจำนวนอัลกอริทึมการหาค่ารากของ Berlekampหรือที่เรียกว่าอัลกอริทึม Berlekamp–Rabinเป็น วิธี การเชิงความน่าจะเป็นในการหาค่ารากของพหุนามเหนือฟิลด์ ที่มีสมาชิก...
อัลกอริทึมเบอร์เลแคมป์-ราบิน

ในทฤษฎีจำนวนอัลกอริทึมการหาค่ารากของ Berlekampหรือที่เรียกว่าอัลกอริทึม Berlekamp–Rabinเป็น วิธี การเชิงความน่าจะเป็นในการหาค่ารากของพหุนามเหนือฟิลด์ ที่มีสมาชิก วิธีนี้ถูกค้นพบโดยElwyn Berlekampในปี 1970 [ 1 ]ในฐานะตัวช่วยสำหรับอัลกอริทึมการแยกตัวประกอบพหุนามเหนือฟิลด์จำกัด ต่อมาอัลกอริทึมนี้ได้รับการปรับปรุงโดยRabinสำหรับฟิลด์จำกัดใดๆ ในปี 1979 [ 2 ]วิธีนี้ได้รับการค้นพบโดยอิสระก่อน Berlekamp โดยนักวิจัยคนอื่นๆ อีกด้วย[ 3 ]
ประวัติศาสตร์
วิธีการนี้ได้รับการเสนอโดยElwyn Berlekampในงานของเขาในปี 1970 [ 1 ]เกี่ยวกับการแยกตัวประกอบพหุนามเหนือฟิลด์จำกัด งานดั้งเดิมของเขาขาดการพิสูจน์ความถูกต้องอย่างเป็นทางการ[ 2 ] และต่อมาได้รับการปรับปรุงและแก้ไขสำหรับฟิลด์จำกัดใดๆ โดย Michael Rabin [ 2 ]ในปี 1986 René Peraltaได้เสนออัลกอริทึมที่คล้ายกัน[ 4 ]สำหรับการค้นหารากที่สองใน[ 5 ] ในปี 2000 วิธีการของ Peralta ได้รับการขยายความสำหรับสมการกำลังสาม[ 6 ]
คำแถลงปัญหา
ให้เป็นจำนวนเฉพาะคี่ พิจารณาพหุนามเหนือฟิลด์ของเศษเหลือมอดูล อัลกอริทึมควรค้นหาทั้งหมดในที่ใน[ 2 ] [ 7 ]
อัลกอริทึม
การสุ่ม
ให้การหารากทั้งหมดของพหุนามนี้เทียบเท่ากับการหาการแยกตัวประกอบของพหุนามนี้ออกเป็นตัวประกอบเชิงเส้น ในการหาการแยกตัวประกอบดังกล่าว เพียงพอที่จะแบ่งพหุนามออกเป็นตัวหารที่ไม่ใช่ตัวหารศูนย์สองตัวใดๆ และแยกตัวประกอบแบบเวียนซ้ำ ในการทำเช่นนี้ ให้พิจารณาพหุนามโดยที่ เป็นสมาชิกบางตัวของถ้าเราสามารถแทนพหุนามนี้เป็นผลคูณได้ในแง่ของพหุนามเริ่มต้น หมายความว่าซึ่งให้การแยกตัวประกอบที่จำเป็นของ[ 1 ] [ 7 ]
การจำแนกประเภทของธาตุ
เนื่องจากเกณฑ์ของออยเลอร์สำหรับเอกนาม ทุกตัว จะต้องมีคุณสมบัติต่อไปนี้เพียงข้อเดียวเท่านั้น: [ 1 ]
- เอกนามจะมี ค่าเท่ากับถ้า
- เอกนามหารลงตัวถ้า เป็นเศษเหลือกำลังสองมอดูล
- เอกนามหารลงตัวก็ต่อเมื่อ เป็นพหุนามกำลังสองที่ไม่เหลือเศษมอดูล
ดังนั้น หากไม่สามารถหารลงตัวด้วยซึ่งสามารถตรวจสอบแยกต่างหากได้ ก็จะเท่ากับผลคูณของตัวหารร่วมมากที่สุดกับ[ 7 ]
วิธีการของเบอร์เลแคมป์
คุณสมบัติข้างต้นนำไปสู่อัลกอริทึมต่อไปนี้: [ 1 ]
- คำนวณค่าสัมประสิทธิ์ของ อย่างชัดเจน
- คำนวณเศษเหลือจากการหารเอาเศษด้วยกำลังสองของพหุนามปัจจุบัน แล้วนำเศษเหลือนั้นมาหารด้วยเศษเหลือ
- โดยใช้การยกกำลังโดยการยกกำลังสองและพหุนามที่คำนวณได้ในขั้นตอนก่อนหน้า ให้คำนวณเศษเหลือของการหารเอาเศษ
- ถ้าหากมีการระบุการแยกตัวประกอบที่ไม่ธรรมดาของ ไว้ด้านล่างแล้ว
- มิฉะนั้น รากทั้งหมดของจะเป็นได้ทั้งเศษเหลือหรือไม่ใช่เศษเหลือพร้อมกัน และจะต้องเลือกอย่างอื่น
ถ้าหารลงตัวด้วยพหุนามดั้งเดิมที่ ไม่เป็นเชิงเส้นบางตัว เหนือแล้วเมื่อคำนวณด้วยและจะได้การแยกตัวประกอบที่ไม่ธรรมดาของดังนั้นอัลกอริทึมนี้จึงช่วยให้สามารถหารากทั้งหมดของพหุนามใดๆ เหนือได้
รากที่สองของโมดูลัส
พิจารณาสมการที่มีองค์ประกอบและเป็นรากของสมการ การแก้สมการนี้เทียบเท่ากับการแยกตัวประกอบของพหุนามเหนือในกรณีเฉพาะนี้ การคำนวณเพียง ก็เพียงพอแล้วสำหรับพหุนามนี้ คุณสมบัติใดคุณสมบัติหนึ่งต่อไปนี้จะเป็นจริง:
- GCD เท่ากับซึ่งหมายความว่าและต่างก็เป็นค่าที่ไม่ใช่เศษเหลือแบบกำลังสอง
- GCD เท่ากับซึ่งหมายความว่าทั้งสองจำนวนเป็นเศษเหลือกำลังสอง
- GCD เท่ากับซึ่งหมายความว่ามีเพียงหนึ่งในจำนวนเหล่านี้เท่านั้นที่เป็นเศษเหลือกำลังสอง
ในกรณีที่สาม GCD จะเท่ากับ หรือซึ่งทำให้สามารถเขียนคำตอบได้เป็น[ 1 ]
ตัวอย่าง
สมมติว่าเราต้องการแก้สมการเพื่อการนี้เราต้องแยกตัวประกอบพิจารณาค่าที่เป็นไปได้บางค่าของ:
- ให้. จากนั้นดังนั้น. ทั้งสองจำนวนเป็นจำนวนที่ไม่ใช่เศษกำลังสอง ดังนั้นเราจึงต้องเลือกจำนวนอื่น
- ให้. จากนั้นดังนั้น. จากนี้จึงสรุปได้ว่า ดังนั้นและ.
จากการ ตรวจ สอบด้วยตนเองพบว่า เป็นเช่นนั้นจริง ๆและ
การพิสูจน์ความถูกต้อง
อัลกอริทึมจะค้นหาการแยกตัวประกอบของในทุกกรณี ยกเว้นกรณีที่ตัวเลขทั้งหมดเป็นเศษกำลังสองหรือไม่ใช่เศษกำลังสองพร้อมกัน ตามทฤษฎีไซโคลโทมี [ 8 ] ความน่าจะเป็นของเหตุการณ์ดังกล่าวสำหรับกรณีที่เป็นเศษกำลังสองหรือไม่ใช่เศษกำลังสองพร้อมกัน (นั่นคือ เมื่อจะล้มเหลว) อาจประมาณได้เป็น โดยที่ คือจำนวนค่าที่แตกต่างกันใน[ 1 ] ด้วยวิธีนี้ แม้แต่กรณีที่เลวร้ายที่สุดของและความน่าจะเป็นของข้อผิดพลาดอาจประมาณได้เป็นและสำหรับกรณีรากที่สองแบบโมดูลาร์ ความน่าจะเป็นของข้อผิดพลาดจะมีค่าสูงสุดเพียง
ความซับซ้อน
ให้พหุนามมีดีกรีn เราจะหาความซับซ้อนของอัลกอริทึมได้ดังนี้:
- เนื่องจากทฤษฎีบททวินาม เราจึงสามารถเปลี่ยนจากไปเป็น ได้ เมื่อเวลาผ่านไป
- การคูณพหุนามและการหาเศษเหลือจากการหารพหุนามหนึ่งด้วยพหุนามอีกพหุนามหนึ่ง สามารถทำได้ในเวลาดังนั้นการคำนวณจึงทำได้ในเวลา
- การยกกำลังเลขฐานสองใช้งานได้ใน.
- การหาผลคูณของพหุนามสองตัวโดยใช้อัลกอริทึมยุคลิดนั้นใช้ได้ผลใน.
ดังนั้นขั้นตอนทั้งหมดจึงสามารถทำได้ใน. โดยใช้การแปลงฟูริเยร์แบบเร็วและอัลกอริทึม Half-GCD [ 9 ]ความซับซ้อนของอัลกอริทึมอาจได้รับการปรับปรุงเป็น. สำหรับกรณีรากที่สองแบบโมดูลาร์ ระดับคือดังนั้นความซับซ้อนทั้งหมดของอัลกอริทึมในกรณีดังกล่าวจึงถูกจำกัดโดยต่อการวนซ้ำ[ 7 ]
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ อัลกอริทึมเบอร์เลแคมป์-ราบิน
ในทฤษฎีจำนวนอัลกอริทึมการหาค่ารากของ Berlekampหรือที่เรียกว่าอัลกอริทึม Berlekamp–Rabinเป็น วิธี การเชิงความน่าจะเป็นในการหาค่ารากของพหุนามเหนือฟิลด์ ที่มีสมาชิก...
ประวัติศาสตร์
วิธีการนี้ได้รับการเสนอโดย Elwyn Berlekamp ในงานของเขาในปี 1970 [ 1 ] เกี่ยวกับการแยกตัวประกอบพหุนามเหนือฟิลด์จำกัด งานดั้งเดิมของเขาขาดการพิสูจน์ความถูกต้องอย่างเป็นทางการ [ 2 ] และต่อมาได้รับการปรับปรุงและแก้ไขสำหรับฟิลด์จำกัดใดๆ โดย Michael Rabin [ 2 ] ใน...
คำแถลงปัญหา
ให้เป็นจำนวนเฉพาะคี่ พิจารณาพหุนาม เหนือ ฟิลด์ของเศษเหลือมอดูล อัลกอริทึมควรค้นหาทั้งหมดในที่ใน[ 2 ] [ 7 ] พี {\displaystyle p} เอฟ ( x ) = เอ 0 + เอ 1 x + ⋯ + เอ n x n {\textstyle f(x)=a_{0}+a_{1}x+\cdots +a_{n}x^{n}} เอฟ พี ≃ ซ / พี ซ {\displaystyle \mathbb...
การสุ่ม
ให้การหารากทั้งหมดของพหุนามนี้เทียบเท่ากับการหาการแยกตัวประกอบของพหุนามนี้ออกเป็นตัวประกอบเชิงเส้น ในการหาการแยกตัวประกอบดังกล่าว เพียงพอที่จะแบ่งพหุนามออกเป็นตัวหารที่ไม่ใช่ตัวหารศูนย์สองตัวใดๆ และแยกตัวประกอบแบบเวียนซ้ำ ในการทำเช่นนี้ ให้พิจารณาพหุนามโดยที่...