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

อ่าน 5 นาที

อัลกอริทึมจิงโจ้ของพอลลาร์ด

ใน ทฤษฎีจำนวนเชิงคำนวณ และ พีชคณิตเชิงคำนวณ อัลกอริทึม จิงโจ้ ของพอลลาร์ด (หรือ อัลกอริทึมแลมบ์ดาของพอลลาร์ด ดู การตั้งชื่อ ด้านล่าง) เป็น อัลกอริทึม สำหรับแก้ ปัญหา...

อัลกอริทึมจิงโจ้ของพอลลาร์ด

ในทฤษฎีจำนวนเชิงคำนวณและพีชคณิตเชิงคำนวณ อัลกอริทึมจิงโจ้ของพอลลาร์ด (หรืออัลกอริทึมแลมบ์ดาของพอลลาร์ดดูการตั้งชื่อด้านล่าง) เป็นอัลกอริทึมสำหรับแก้ ปัญหา ลอการิทึมแบบไม่ต่อเนื่องอัลกอริทึมนี้ได้รับการแนะนำในปี 1978 โดยนักทฤษฎีจำนวนจอห์น เอ็ม. พอลลาร์ด ในบทความเดียวกันกับ อัลกอริทึมโรของพอลลาร์ดที่รู้จักกันดีกว่าสำหรับการแก้ปัญหาเดียวกัน[ 1 ] [ 2 ]แม้ว่าพอลลาร์ดจะอธิบายการประยุกต์ใช้อัลกอริทึมของเขากับปัญหาลอการิทึมแบบไม่ต่อเนื่องในกลุ่มการคูณของหน่วยโมดูลัสจำนวนเฉพาะp แต่ในความเป็นจริงแล้วมันเป็นอัลกอริทึมลอการิทึมแบบไม่ต่อเนื่องทั่วไป—มันจะทำงานได้ใน กลุ่มวัฏจักรจำกัดใดๆ

อัลกอริทึม

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

1. เลือกเซตของจำนวนเต็มบวกที่มีค่าเฉลี่ยโดยประมาณและกำหนดแผนที่สุ่มเทียม

2. เลือกจำนวนเต็มหนึ่งจำนวนแล้วคำนวณลำดับของสมาชิกในกลุ่มตาม:

3. คำนวณ

โปรดสังเกตว่า:

4. เริ่มคำนวณลำดับที่สองขององค์ประกอบกลุ่มตาม:

และลำดับจำนวนเต็มที่สอดคล้องกันดังนี้:

.

โปรดสังเกตว่า:

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

ก) สำหรับบางค่าถ้าลำดับและ"ชนกัน" ในลักษณะนี้ เราจะได้ว่า:
และแล้วเราก็เสร็จสิ้นภารกิจแล้ว
ข) หากเกิดกรณีนี้ แสดงว่าอัลกอริทึมไม่สามารถค้นหาได้สามารถลองใหม่ในครั้งต่อไปได้โดยการเปลี่ยนตัวเลือกของและ/ หรือ

ความซับซ้อน

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

การตั้งชื่อ

อัลกอริทึมนี้เป็นที่รู้จักกันดีในสองชื่อ

อย่างแรกคือ "อัลกอริทึมจิงโจ้ของพอลลาร์ด" ชื่อนี้อ้างอิงถึงการเปรียบเทียบที่ใช้ในบทความที่นำเสนออัลกอริทึม โดยอธิบายอัลกอริทึมในแง่ของการใช้จิงโจ้ที่เชื่อง เพื่อดักจับจิงโจ้ป่า พอลลาร์ดได้อธิบาย [ 3 ]ว่าการเปรียบเทียบนี้ได้รับแรงบันดาลใจจากบทความที่ "น่าสนใจ" ซึ่งตีพิมพ์ในScientific American ฉบับเดียวกัน ซึ่งเป็นการอธิบายระบบการเข้ารหัสคีย์สาธารณะRSAบทความ[ 4 ]อธิบายถึงการทดลองที่ "ต้นทุนพลังงานในการเคลื่อนที่ของจิงโจ้ ซึ่งวัดในแง่ของการบริโภคออกซิเจนที่ความเร็วต่างๆ ถูกกำหนดโดยการวางจิงโจ้บนลู่วิ่ง "

อย่างที่สองคือ "อัลกอริทึมแลมบ์ดาของพอลลาร์ด" คล้ายกับชื่อของอัลกอริทึมลอการิทึมแบบไม่ต่อเนื่องอีกตัวหนึ่งของพอลลาร์ด คือ อัลกอริทึมโรของ พอลลาร์ ด ชื่อนี้หมายถึงความคล้ายคลึงกันระหว่างการแสดงภาพของอัลกอริทึมกับอักษรกรีกแลมบ์ดา ( ) เส้นขีดที่สั้นกว่าของอักษรแลมบ์ดาตรงกับลำดับเนื่องจากเริ่มต้นจากตำแหน่ง b ทางด้านขวาของ x ในทำนองเดียวกัน เส้นขีดที่ยาวกว่าตรงกับลำดับซึ่ง "ชนกับ" ลำดับแรก (เช่นเดียวกับเส้นขีดของแลมบ์ดาที่ตัดกัน) แล้วจึงตามมาในภายหลัง

พอลลาร์ดแสดงความชอบชื่อ "อัลกอริทึมจิงโจ้" [ 5 ]เนื่องจากวิธีนี้ช่วยหลีกเลี่ยงความสับสนกับอัลกอริทึมโรบางเวอร์ชันคู่ขนานของเขา ซึ่งเรียกอีกอย่างว่า "อัลกอริทึมแลมบ์ดา"

ดูเพิ่มเติม

อ่านเพิ่มเติม

  • Montenegro, Ravi [ที่ Wikidata] ; Tetali, Prasad V. (2010-11-07) [2009-05-31]. ใช้เวลานานแค่ไหนในการจับจิงโจ้ป่า? (PDF) . รายงานการประชุมวิชาการประจำปีครั้งที่ 41 ของ ACM ว่าด้วยทฤษฎีการคำนวณ (STOC 2009). หน้า  553–560 . arXiv : 0812.0789 . doi : 10.1145/1536414.1536490 . S2CID  12797847 . เก็บถาวร(PDF)จากต้นฉบับเมื่อ 2023-08-20 . เรียกดูเมื่อ2023-08-20 .
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Pollard%27s_kangaroo_algorithm&oldid=1328220913 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ อัลกอริทึมจิงโจ้ของพอลลาร์ด

ใน ทฤษฎีจำนวนเชิงคำนวณ และ พีชคณิตเชิงคำนวณ อัลกอริทึม จิงโจ้ ของพอลลาร์ด (หรือ อัลกอริทึมแลมบ์ดาของพอลลาร์ด ดู การตั้งชื่อ ด้านล่าง) เป็น อัลกอริทึม สำหรับแก้ ปัญหา...

อัลกอริทึม

สมมติว่าเป็นกลุ่มวัฏจักรจำกัดที่มีอันดับซึ่งสร้างขึ้นโดยสมาชิกและเราต้องการหาลอการิทึมแบบไม่ต่อเนื่องของสมาชิกบนฐานกล่าวอีกนัยหนึ่งคือ เราต้องการหาที่ทำให้อัลกอริทึมแลมบ์ดาช่วยให้เราค้นหาในช่วงใดช่วงหนึ่งได้...

ความซับซ้อน

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

การตั้งชื่อ

อัลกอริทึมนี้เป็นที่รู้จักกันดีในสองชื่อ