อ่าน 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 .
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ อัลกอริทึมจิงโจ้ของพอลลาร์ด
ใน ทฤษฎีจำนวนเชิงคำนวณ และ พีชคณิตเชิงคำนวณ อัลกอริทึม จิงโจ้ ของพอลลาร์ด (หรือ อัลกอริทึมแลมบ์ดาของพอลลาร์ด ดู การตั้งชื่อ ด้านล่าง) เป็น อัลกอริทึม สำหรับแก้ ปัญหา...
อัลกอริทึม
สมมติว่าเป็นกลุ่มวัฏจักรจำกัดที่มีอันดับซึ่งสร้างขึ้นโดยสมาชิกและเราต้องการหาลอการิทึมแบบไม่ต่อเนื่องของสมาชิกบนฐานกล่าวอีกนัยหนึ่งคือ เราต้องการหาที่ทำให้อัลกอริทึมแลมบ์ดาช่วยให้เราค้นหาในช่วงใดช่วงหนึ่งได้...
ความซับซ้อน
พอลลาร์ดให้ความซับซ้อนเชิงเวลาของอัลกอริทึมเป็น โดยใช้การอ้างอิงเชิงความน่าจะเป็นบนพื้นฐานของสมมติฐานที่ว่าทำงานแบบสุ่มเทียม เนื่องจากสามารถแทนด้วยบิตได้ ความซับซ้อนนี้จึงเป็นแบบเลขชี้กำลังตามขนาดของปัญหา...
การตั้งชื่อ
อัลกอริทึมนี้เป็นที่รู้จักกันดีในสองชื่อ