Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
分散アルゴリズム(1)
Search
suikwasha
November 07, 2012
230
0
Share
分散アルゴリズム(1)
自分用メモ
P5 to P20
suikwasha
November 07, 2012
More Decks by suikwasha
See All by suikwasha
分散アルゴリズム(3)
suikwasha
0
2k
分散アルゴリズム(2)
suikwasha
0
230
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
360
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
310
SEO for Brand Visibility & Recognition
aleyda
0
4.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Are puppies a ranking factor?
jonoalderson
1
3.2k
How to build a perfect <img>
jonoalderson
1
5.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Exploring anti-patterns in Rails
aemeredith
3
310
Paper Plane (Part 1)
katiecoart
PRO
0
6.4k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
The Curious Case for Waylosing
cassininazir
0
290
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Transcript
ࢄΞϧΰϦζϜ ̍ɼࢄγεςϜͷඞཁੑ ̎ɼࢄγεςϜ
• ࢄγεςϜͱʁ ͋Δڞ௨ͷతͷͨΊʹ௨৴ωοτϫʔ ΫͰ݁߹͞Εͨࣗతʹಈ࡞͢Δܭࢉػ ͷγεςϜɽ • ࢄγεςϜͷॴ ύϑΥʔϚϯεɾ֦ுੑɾՄ༻ੑ • ͜͜ͰɼࢄΞϧΰϦζϜΛهड़͢Δ
ͨΊͷݴޠ ALGOL Λಋೖ͢Δɽ
• ࢄγεςϜͷϞσϧ ϓϩηεͷू߹ͱ௨৴ϦϯΫͷू߹ ௨৴ϦϯΫ P3 P2 P1 ϓϩηε
• ϓϩηε ஞ࣍ΞϧΰϦζϜ͕ɼ͋Δϓϩηοαʹ ׂΓͯΒΕ࣮ͯߦ͞Ε͍ͯΔաఔɽ • ֤ϓϩηε Pi ࣝผࢠ id(Pi) Λ࣋ͭɽࣝ
ผࢠ O(log n) Ϗοτͷࣗવɽ • ֤ϓϩηε Pi ہॴ࣌ܭΛ࣋ͭɽ ཧ࣌ؒ͋Δ͍࣮࣌ؒΛදݱ͢Δɽ
• ௨৴ϦϯΫ ϓϩηεؒ௨৴Λ࣮ݱ͢Δखஈɼର ௨৴ɽ୯ํɾํ͕͋Δɽ • ୯ํϦϯΫɿҰํʹ͔͠ૹ৴Ͱ͖ͳ ͍ɽ • ํϦϯΫɿ྆ํʹϝοηʔδΛૹ ৴Ͱ͖Δɽ
• ϝοηʔδૹड৴ํ๏ͷछྨɽ ૹ৴ͱड৴ʹͦΕͧΕ̎छྨͷํ๏͕͋ Δɽ • ྫɿϓϩηε P1 ͕ϝοηʔδ M Λϓϩ
ηε P2 ʹૹ৴͠Α͏ͱͨ͠ͱ͢Δɽ M ϓϩηε P1 ϓϩηε P2 send receive ೖྗͪߦྻ
• ϒϩοΩϯά Send P2 ͕ M Λड৴ՄೳʹͳΔ·Ͱ P1 ͕ͨ͞ΕɼP2 ͕
M Λड৴ͨ࣌͠ʹऴྃ͢Δɽ • ඇϒϩοΩϯά Send ૹͬͨϝοηʔδ͕ड৴͞ΕΔ·Ͱ P1 ͕ͨ͞Εͳ ͍ɽ͜ͷ࣌ɼϝοηʔδ P2 ͷೖྗͪߦྻʹೖΔ • ̎छྨͷҧ͍ɼϒϩοΩϯά Send P1 ͕ P2 ͷ M ͷड৴ΛΔ͜ͱ͕ग़དྷΔɽ
• ϒϩοΩϯά Receive ೖྗͪߦྻʹϝοηʔδ͕ແ͍࣌ɼϝοηʔδ͕౸ ண͢Δ·Ͱͭɽʢॲཧதஅ͞ΕΔʣ • ඇϒϩοΩϯά Receive ೖྗͪߦྻʹϝοηʔδ͕ແͯ͘ɼϝοηʔδͷ ౸ணΛͨͳ͍ɽ
• ೖྗͪߦྻʹϝοηʔδ͕͋Δͱ͖ɼϝοηʔδ ΛऔΓग़ͯ͠ฦ͢ɽ
• ࠓճɼඇϒϩοΩϯά Send ͱϒϩο Ωϯά Receive Λ࠾༻ͨ͠௨৴ػߏΛར ༻͢Δɽ
• ࢄγεςϜͷྨ ಉظγεςϜɾඇಉظγεςϜ
• ಉظγεςϜͱʁ ҎԼͷ̏ͭͷ݅Λຬͨ͢ɽ ̍ɼϓϩηεͷ࣮ߦʹԼݶ͕͋Δɽ ̎ɼ௨৴ʹ͔͔Δ௨৴Ԇʹఆͷ্ݶ͕͋Δɽ ̏ɼҙͷେҬ࣌ܭͰɼͯ͢ͷϓϩηε Pi ͷہॴ࣌ ܭͷ͍͠ɽ •
ϓϩηε͕େҬ࣌ܭΛࢀরͰ͖ͯɼ௨৴Ԇ͕ ͦΕͧΕ͋ΔఆͰԡ͑͞ΒΕΔͱԾఆ͞ΕΔɽ
• ϥϯυ ಉظγεςϜͰࣄͷ୯ҐΛநԽͨ͠୯Ґɽ ֤ϓϩηεಉظ֤ͯ͠ϥϯυΛ࣮ߦ͢ΔͱΈͳͤ Δɽ P1 P2 P3 ɾɾɾ Pn
ϥϯυ1 ϥϯυ2 ϥϯυ3 ϥϯυn ߋʹଓ͘... ϝοηʔδަ ܭࢉͳͲ
• ඇಉظγεςϜ ಉظγεςϜͰͳ͍ࢄγεςϜ • શඇಉظγεςϜ ҎԼͷ̏ͭͷ݅Λຬͨ͢ɽ ̍ɼͲͷϓϩηεͷ໋ྩ༗ݶ࣌ؒʹ࣮ߦ͞ΕΔ ̎ɼ௨৴Ԇʹରͯ͠ͲͷΑ͏ͳԾઆઃ͚ͳ͍ ̏ɼہॴ࣌ܭͷࠩʹରͯ͠ͲͷΑ͏ͳԾઆઃ͚ͳ͍
• ࢄΞϧΰϦζϜͱʁ ֤ϓϩηε Pi ͕࣮ߦ͢ΔΞϧΰϦζϜ Ai ͷू߹ A ͷ͜ͱɽ •
֤ϓϩηε͕શ͘ҧ͏ΞϧΰϦζϜͷ ͰՄೳɽ • ࢄΞϧΰϦζϜɼ͔̍ͭෳͷ࢝ಈ ϓϩηεʹΑͬͯ։࢝͞ΕΔɽ ͦΕҙ֎ͷϓϩηεϝοηʔδΛड৴࣮ͯ͠ߦΛ։࢝͢Δɽ
• ࢄΞϧΰϦζϜͷෳࡶ͞ ௨৴ෳࡶɾ࣌ؒෳࡶ • ௨৴ෳࡶ ϝοηʔδෳࡶͱϏοτෳࡶͰද͢ • ࣌ؒෳࡶ ඇಉظγεςϜͱಉظγεςϜͰఆ͕ٛҟͳΔɽ
• ϝοηʔδෳࡶ ΞϧΰϦζϜ͕ऴྃ͢Δ·Ͱʹަͨ͠ϝοηʔδͷ૯ • Ϗοτෳࡶ ϓϩηεؒͰަ͞ΕΔϝοηʔδͷ૯Ϗοτ • ಉظγεςϜͷ࣌ؒෳࡶ ΞϧΰϦζϜ͕ఀࢭ͢Δ·Ͱͷϥϯυ
• ඇಉظγεςϜͷ࣌ؒෳࡶ ௨ৗɼΞϧΰϦζϜ͕ىಈ͔ͯ͠Βɼఀࢭ͢Δ·Ͱͷ࣌ ؒɽ ඇಉظγεςϜͰɼҎԼͷཧ༝ʹΑΓ࠾༻Ͱ͖ͳ͍ɽ • ඇಉظγεςϜͷϓϩηε࣮ߦ͕ҰͰͳ͍ɽ • ϓϩηεͰͷखଓ͖ݺͼग़͠ΑΓɼϝοηʔδ௨৴ ͷ΄͏͕ѹతʹ͍ɽ
• ඇಉظγεςϜͷ࣌ؒෳࡶ ΞϧΰϦζϜ͕ఀࢭ͢Δ·Ͱʹੜͨ͡ϝ οηʔδͷ࠷ʹଐ͢Δϝοηʔδ • ϝοηʔδͷ࠷ͱʁ લͷϝοηʔδड৴ͷ݁Ռɼੜ͞Ε ͨΑ͏ͳϝοηʔδྻʢʁʣ → ͭ·Γϝοηʔδͷཤྺʁ