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
分散アルゴリズム(2)
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
suikwasha
November 07, 2012
230
0
Share
分散アルゴリズム(2)
自分用メモ
P20 - P26
suikwasha
November 07, 2012
More Decks by suikwasha
See All by suikwasha
分散アルゴリズム(3)
suikwasha
0
2k
分散アルゴリズム(1)
suikwasha
0
230
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
430
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Accessibility Awareness
sabderemane
0
93
The Language of Interfaces
destraynor
162
26k
Agile that works and the tools we love
rasmusluckow
331
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
New Earth Scene 8
popppiees
2
2k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
97
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
310
Transcript
ࢄΞϧΰϦζϜ Ϧʔμʔબڍ ΞϧΰϦζϜ NAIVE
• ੩తࢄ ࢄγεςϜ ∑ ʹଐ͢Δϓϩηε Pj ͱσʔλ Ij Λ ͬͯɼ֤ϓϩηε
Pi ͕ؔΛܭࢉ͢Δʹ͍ͭͯ • ࣍ͷ݅̏ͭΛຬͨ࣌͢ɼ੩తࢄͱ͍͏ɽ 1.ࢄγεςϜͷτϙϩδʔมԽ͠ͳ͍ɽ 2.ࢄγεςϜ৴པग़དྷΔʢނো͠ͳ͍ʣ 3.ࢄγεςϜʹੵ͞Ε͍ͯΔσʔλIมԽ͠ͳ͍ɽ
• ࢄγεςϜͷॴ γεςϜͷ֦ுੑɾނোʹର͢Δੑ γεςϜશମΛ੍ޚ͢Δಛผͳϓϩηε͕ଘࡏ͠ͳ͍ ͨΊɽʢͯ͢ͷϓϩηε͕ରͰ͋Δʣ • ͯ͢ͷϓϩηε͕ରͩͱى͜Δɽ ࢿݯͷׂΓͯͳͲɽσουϩοΫʁ →ࢿݯͷׂΓͯαʔόʔ͕͍Ε༰қʹղܾͰ͖Δ
• Ϧʔμʔબڍ Λղܾ͢ΔͨΊʹಛผͳϓϩηεΛબग़͢Δɽ • ֤ϓϩηε Pi ͕ม vi Λ࣋ͭͱԾఆ͢Δɽ͋ΔΠϯ σοΫε
a ( 1 <= a <= n ) ʹରͯ͠ Pa ͷม va ͷ 1 Ͱ͋Γɼͦͷଞͷ i (i != a) ʹରͯ͠ɼ0 Ͱ͋ΔΑ͏ ʹ֤ϓϩηε vi ͷΛηοτͤΑɽ “࠷େͷࣝผࢠΛ࣋ͭϓϩηε”ΛϦʔμʔͱ͢Δͱܾ Ί͓͚ͯɼ࠷େൃݟʹؼணͰ͖Δɽ
• ࠷େൃݟ ֤ϓϩηε Pj ͕૬ҟͳΔਖ਼ͷ Ij Λσʔλͱͯ࣋͠ ͭͱ͢Δɽ͜ͷ࣌ɼ֤ϓϩηε Pi ʹ͓͍ͯɼ
ΛܭࢉͤΑɽͨͩ͠ɼ֤ Ij O(log n) ϏοτͰදݱ͞ Ε͍ͯΔͱ͢Δɽ O(log n)ͷ੍ݶΛઃ͚Δ͜ͱͰɼ੍ԼͷϝοηʔδෳࡶΛઌʹܭࢉ͠ɼ࣍ʹ੍ͷͳ͍ϝοηʔδෳࡶ ΛٻΊΔ͜ͱ͕ग़དྷΔʁ f (⌃ , I ) = max { Ij |1 j n }
• Ϧϯά ࢄγεςϜͷτϙϩδʔ͕αΠΫϧάϥϑͰ͋Δͱ ͖ɼϦϯάͱݴ͏ɽ • ୯ํϦϯά ௨৴ϦϯΫ͕ͯ͢୯ํϦϯΫͰߏ͞Ε͍ͯΔɽ • ํϦϯά ௨৴ϦϯΫ͕ͯ͢ํϦϯΫͰߏ͞Ε͍ͯΔɽ
P1 P2 P3 P4 P5 P6 P1 P2 P3 P4
P5 P6 ํϦϯά ୯ํϦϯά
• ඇಉظ୯ํϦϯά ୯ํϦϯάɼඇಉظγεςϜͰͷ࠷େൃݟɽ • ΞϧΰϦζϜ NAIVE 1. ϓϩηεىಈͨ͠ΒࣗͷΛྡʹૹ৴͢Δɽ 2. ྡͷϓϩηε͔Βड৴ͨ͠Λͦͷ··సૹ͢Δɽ
3. ৗ࣌ɼϓϩηεड৴ͨ͠ͷ࠷େΛهԱ͢Δɽ 4. શ෦ͷ͕ϦϯάΛ̍ि͢Δͱϓϩηε࠷େΛൃ ݟ͢ΔɽࣗͷΛ͏Ұड͚औΔͱఀࢭ͢Δɽ ϝοηʔδෳࡶɼ֤ Ij ͕ͦΕͧΕ n ճૹ৴͞ ΕΔ͔Βɼn^2 ʹͳΔɽ
P1 P2 P3 P4 P5 P6 (2) (4) (8) (3)
(5) (6) ࢝ಈϓϩηε ࠷େ ॳظ Ij (ద)
P1 P2 P3 P4 P5 P6 (2) (4) (8) (3)
(5) (6) ϝοηʔδΛૹ৴ ࠷ॳࣗͷ [2]
P1 P2 P3 P4 P5 P6 (2) (4) (8) (3)
(5) (6) ϝοηʔδΛૹ৴ ࣗͷʴड৴ͨ͠ [4][2]
P1 P2 P3 P4 P5 P6 (2) (4) (8) (3)
(5) (6) ϝοηʔδΛૹ৴ ࣗͷʴड৴ͨ͠ [8][4][2]
P1 P2 P3 P4 P5 P6 (2) (4) (8) (8)
(5) (6) ϝοηʔδΛૹ৴ ࣗͷʴड৴ͨ͠ [3][8][4][2] P3͔Βͷ͕ 8 Ͱ 3 ΑΓେ ͖͍ͨΊ࠷େΛߋ৽
P1 P2 P3 P4 P5 P6 (2) (4) (8) (8)
(8) (6) ϝοηʔδΛૹ৴ ࣗͷʴड৴ͨ͠ [5][3][8][4][2] P4 ͔Βͷ ͕ 8 Ͱ 5 ΑΓେ͖͍ͨΊ࠷େ Λߋ৽
P1 P2 P3 P4 P5 P6 (2) (4) (8) (8)
(8) (8) ϝοηʔδΛૹ৴ ࣗͷʴड৴ͨ͠ [6][5][3][8][4][2] P5 ͔Βͷ͕ 8 Ͱ 6 Α Γେ͖͍ͨΊ࠷େΛߋ৽
P1 P2 P3 P4 P5 P6 (8) (4) (8) (8)
(8) (8) ϝοηʔδΛૹ৴ ࣗͷʴड৴ͨ͠ [6][5][3][8] P1 ͔Βͷ͕ 8 Ͱ 4 Α Γେ͖͍ͨΊ࠷େΛߋ৽ ఀࢭ P2ड৴ͨ͠ϝοηʔδྻʹࣗͷ(4)ؚ͕·ΕΔͨΊఀࢭ͢Δ ఀࢭ ࣍ͷϓϩηεಉ༷ʹ
P1 P2 P3 P4 P5 P6 (8) (4) (8) (8)
(8) (8) ఀࢭ P3ड৴ͨ͠ϝοηʔδྻʹࣗͷ(8)ؚ͕·ΕΔͨΊఀࢭ͢Δ ఀࢭ [6][5][3] ఀࢭ
P1 P2 P3 P4 P5 P6 (8) (4) (8) (8)
(8) (8) ఀࢭ P4ड৴ͨ͠ϝοηʔδྻʹࣗͷ(3)ؚ͕·ΕΔͨΊఀࢭ͢Δ ఀࢭ [6][5] ఀࢭ ఀࢭ
P1 P2 P3 P4 P5 P6 (8) (4) (8) (8)
(8) (8) ఀࢭ P5ड৴ͨ͠ϝοηʔδྻʹࣗͷ(5)ؚ͕·ΕΔͨΊఀࢭ͢Δ ఀࢭ [6] ఀࢭ ఀࢭ ఀࢭ
P1 P2 P3 P4 P5 P6 (8) (4) (8) (8)
(8) (8) ఀࢭ P6ड৴ͨ͠ϝοηʔδྻʹࣗͷ(6)ؚ͕·ΕΔͨΊఀࢭ͢Δ ఀࢭ ఀࢭ ఀࢭ ఀࢭ ఀࢭ ͯ͢ͷϓϩηε͕࠷େ8Λൃݟ͠ఀࢭͨ͠ɽ
• ͜ͷΞϧΰϦζϜΛϕʔεͱͯ͠ϝοη ʔδΛݮগͤ͞Δɽ • ํ๏1 ड৴ͨ͠σʔλΛૹ৴͢ΔՁ͕͋Δ͔Ͳ͏͔அ͠ ແ͍ͷΛغ٫ͯ͠ϝοηʔδΛݮ͢Δɽ • ํ๏2 σʔλ͕࠷େͰ͋ΔՄೳੑ͕͞Ε͍ͯΔϓϩηεΛ
ہॴతͳϝοηʔδަͰݮΒ͍ͯ͘͠ɽ ݱࡏΒΕ͍ͯΔޮͷྑ͍ΞϧΰϦζϜ1ͱ2Λϕʔεͱ͍ͯ͠Δ