อะไรคือข้อได้เปรียบของการออกแบบอัลกอริธึมแบบกระจายที่กำหนดขึ้นได้?


10

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

  • Paxos เป็นตัวกำหนดในแง่ที่ทำให้สมมติฐานมันทำงานได้เสมอ

  • ใน constrast การลงมติแบบสุ่มทำงานร่วมกับความน่าจะเป็นที่กำหนด

อะไรคือข้อได้เปรียบของการออกแบบและใช้อัลกอริธึมที่กำหนดขึ้นได้?

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


Paxos / wikipedia, ตระกูลโปรโตคอล
vzn

1
คุณจะเจาะจงเจาะจงกับความคิดเห็นของคุณได้ไหม
danyhow

1
เป็นเรื่องที่ดีที่จะต้องทราบว่าการสุ่มโดยทั่วไปจะใช้สำหรับคุณสมบัติการมีชีวิตอยู่ไม่ใช่คุณสมบัติความปลอดภัย คุณสมบัติด้านความปลอดภัยจะมีอยู่เสมออย่างไรก็ตามมีโอกาสที่อัลกอริทึมจะไม่ยุติ (ซึ่งมักจะลดลงเมื่อเวลาผ่านไป)
Kaveh

คำตอบ:


10

ฉันจะตอบคำถามนี้จากมุมมองของอัลกอริธึมกราฟแบบกระจาย ( อัลกอริทึมแบบกระจายที่แก้ปัญหากราฟที่เกี่ยวข้องกับโครงสร้างของเครือข่ายการสื่อสาร)

นี่คือเหตุผลบางอย่างที่ไม่ชัดเจนสำหรับการออกแบบอัลกอริทึมแบบกระจายที่กำหนดขึ้นในการตั้งค่านี้:

  • ซับรูทีนในขั้นตอนวิธีการสุ่ม บนหน้า 12–13 ของสไลด์เหล่านี้ Elkin แสดงเทคนิคการออกแบบอัลกอริธึมที่คุณสามารถใช้อัลกอริทึมแบบกระจายที่กำหนดอย่างรวดเร็วเป็นรูทีนย่อยเพื่อสร้างอัลกอริทึมแบบกระจายแบบสุ่มที่รวดเร็ว ที่น่าสนใจมันเป็นไปไม่ได้ที่จะใช้อัลกอริทึมแบบสุ่มทั่วไปเป็นรูทีนย่อยในบริบทเดียวกัน (ความน่าจะเป็นข้อผิดพลาดจะสูงเกินไป)

  • ยอมรับความผิด มีการแปลเชิงกลที่อนุญาตให้คุณแปลงอัลกอริทึมแบบกระจายที่กำหนดขึ้นอย่างรวดเร็วไปเป็นอัลกอริธึมแบบกระจายที่เสถียรในตัวเองได้อย่างรวดเร็ว(ดูส่วนที่ 2.4 ของแบบสำรวจนี้ ) การแปลงที่คล้ายกันไม่เป็นที่รู้จักสำหรับอัลกอริทึมแบบสุ่ม (และฉันคิดว่ามันไม่น่าจะมีอยู่ในกรณีทั่วไป)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.