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
suikwasha
November 07, 2012
0
220
分散アルゴリズム(2)
自分用メモ
P20 - P26
suikwasha
November 07, 2012
Tweet
Share
More Decks by suikwasha
See All by suikwasha
分散アルゴリズム(3)
suikwasha
0
2k
分散アルゴリズム(1)
suikwasha
0
230
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Building Adaptive Systems
keathley
43
2.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
A Tale of Four Properties
chriscoyier
160
23k
GitHub's CSS Performance
jonrohan
1032
460k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Scaling GitHub
holman
463
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Into the Great Unknown - MozCon
thekraken
40
2k
The Invisible Side of Design
smashingmag
301
51k
A better future with KSS
kneath
239
17k
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Λϕʔεͱ͍ͯ͠Δ