กลับไปหน้าบทความ

อ่าน 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 ]

  1. เอกนามจะมี ค่าเท่ากับถ้า
  2. เอกนามหารลงตัวถ้า เป็นเศษเหลือกำลังสองมอดูล
  3. เอกนามหารลงตัวก็ต่อเมื่อ เป็นพหุนามกำลังสองที่ไม่เหลือเศษมอดูล

ดังนั้น หากไม่สามารถหารลงตัวด้วยซึ่งสามารถตรวจสอบแยกต่างหากได้ ก็จะเท่ากับผลคูณของตัวหารร่วมมากที่สุดกับ[ 7 ]

วิธีการของเบอร์เลแคมป์

คุณสมบัติข้างต้นนำไปสู่อัลกอริทึมต่อไปนี้: [ 1 ]

  1. คำนวณค่าสัมประสิทธิ์ของ อย่างชัดเจน
  2. คำนวณเศษเหลือจากการหารเอาเศษด้วยกำลังสองของพหุนามปัจจุบัน แล้วนำเศษเหลือนั้นมาหารด้วยเศษเหลือ
  3. โดยใช้การยกกำลังโดยการยกกำลังสองและพหุนามที่คำนวณได้ในขั้นตอนก่อนหน้า ให้คำนวณเศษเหลือของการหารเอาเศษ
  4. ถ้าหากมีการระบุการแยกตัวประกอบที่ไม่ธรรมดาของ ไว้ด้านล่างแล้ว
  5. มิฉะนั้น รากทั้งหมดของจะเป็นได้ทั้งเศษเหลือหรือไม่ใช่เศษเหลือพร้อมกัน และจะต้องเลือกอย่างอื่น

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

รากที่สองของโมดูลัส

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

  1. GCD เท่ากับซึ่งหมายความว่าและต่างก็เป็นค่าที่ไม่ใช่เศษเหลือแบบกำลังสอง
  2. GCD เท่ากับซึ่งหมายความว่าทั้งสองจำนวนเป็นเศษเหลือกำลังสอง
  3. GCD เท่ากับซึ่งหมายความว่ามีเพียงหนึ่งในจำนวนเหล่านี้เท่านั้นที่เป็นเศษเหลือกำลังสอง

ในกรณีที่สาม GCD จะเท่ากับ หรือซึ่งทำให้สามารถเขียนคำตอบได้เป็น[ 1 ]

ตัวอย่าง

สมมติว่าเราต้องการแก้สมการเพื่อการนี้เราต้องแยกตัวประกอบพิจารณาค่าที่เป็นไปได้บางค่าของ:

  1. ให้. จากนั้นดังนั้น. ทั้งสองจำนวนเป็นจำนวนที่ไม่ใช่เศษกำลังสอง ดังนั้นเราจึงต้องเลือกจำนวนอื่น
  1. ให้. จากนั้นดังนั้น. จากนี้จึงสรุปได้ว่า ดังนั้นและ.

จากการ ตรวจ สอบด้วยตนเองพบว่า เป็นเช่นนั้นจริง ๆและ

การพิสูจน์ความถูกต้อง

อัลกอริทึมจะค้นหาการแยกตัวประกอบของในทุกกรณี ยกเว้นกรณีที่ตัวเลขทั้งหมดเป็นเศษกำลังสองหรือไม่ใช่เศษกำลังสองพร้อมกัน ตามทฤษฎีไซโคลโทมี [ 8 ] ความน่าจะเป็นของเหตุการณ์ดังกล่าวสำหรับกรณีที่เป็นเศษกำลังสองหรือไม่ใช่เศษกำลังสองพร้อมกัน (นั่นคือ เมื่อจะล้มเหลว) อาจประมาณได้เป็น โดยที่ คือจำนวนค่าที่แตกต่างกันใน[ 1 ] ด้วยวิธีนี้ แม้แต่กรณีที่เลวร้ายที่สุดของและความน่าจะเป็นของข้อผิดพลาดอาจประมาณได้เป็นและสำหรับกรณีรากที่สองแบบโมดูลาร์ ความน่าจะเป็นของข้อผิดพลาดจะมีค่าสูงสุดเพียง

ความซับซ้อน

ให้พหุนามมีดีกรีn เราจะหาความซับซ้อนของอัลกอริทึมได้ดังนี้:

  1. เนื่องจากทฤษฎีบททวินาม เราจึงสามารถเปลี่ยนจากไปเป็น ได้ เมื่อเวลาผ่านไป
  2. การคูณพหุนามและการหาเศษเหลือจากการหารพหุนามหนึ่งด้วยพหุนามอีกพหุนามหนึ่ง สามารถทำได้ในเวลาดังนั้นการคำนวณจึงทำได้ในเวลา
  3. การยกกำลังเลขฐานสองใช้งานได้ใน.
  4. การหาผลคูณของพหุนามสองตัวโดยใช้อัลกอริทึมยุคลิดนั้นใช้ได้ผลใน.

ดังนั้นขั้นตอนทั้งหมดจึงสามารถทำได้ใน. โดยใช้การแปลงฟูริเยร์แบบเร็วและอัลกอริทึม Half-GCD [ 9 ]ความซับซ้อนของอัลกอริทึมอาจได้รับการปรับปรุงเป็น. สำหรับกรณีรากที่สองแบบโมดูลาร์ ระดับคือดังนั้นความซับซ้อนทั้งหมดของอัลกอริทึมในกรณีดังกล่าวจึงถูกจำกัดโดยต่อการวนซ้ำ[ 7 ]

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Berlekamp–Rabin_algorithm&oldid=1296403975 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ อัลกอริทึมเบอร์เลแคมป์-ราบิน

ในทฤษฎีจำนวนอัลกอริทึมการหาค่ารากของ 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...

การสุ่ม

ให้การหารากทั้งหมดของพหุนามนี้เทียบเท่ากับการหาการแยกตัวประกอบของพหุนามนี้ออกเป็นตัวประกอบเชิงเส้น ในการหาการแยกตัวประกอบดังกล่าว เพียงพอที่จะแบ่งพหุนามออกเป็นตัวหารที่ไม่ใช่ตัวหารศูนย์สองตัวใดๆ และแยกตัวประกอบแบบเวียนซ้ำ ในการทำเช่นนี้ ให้พิจารณาพหุนามโดยที่...