SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
 23   


                         
minimum‐spanning‐tree Problem 
          2009/06/08 
           id:tksmd
•                   (id:tksmd) 
     –                                                        
     –  i    (isenshi.com)                             
     –  Seasar FoundaCon                  
     –                                         


•  Related Works 
     –  Choistudy (hHp://www.choistudy.jp/) 
     –  Tuigwaa/escafeWeb (hHp://www.escafe.org/) 
     –  Cubby (hHp://cubby.seasar.org/) 
     –       on MySpace (hHp://www.myspace.com/u10asia90) 
•               
     –              (                    ) 
     –                                             
     –                                                 
          •                                    
          •                           


                                                 
                    (Minimum Spanning Tree Problem)  
•          (Spanning Tree) 
     – 
                               
•                      (Minimum Spanning Tree) 
     – 
                                                       
     –                                                                       
                               8
                 7
                      b
                    c
            d
               4
                                                9
                                        2
          a
        11
        i
                4
        14
         e
                          7
           6
               8
                                                10
                      h
       1
           g
    2
      f


                      w(T) =          ∑ w(u,v) =37
                                    (u,v )∈T
•                                                                    


                          8
                 7
                 b
                    c
         d
          4
                                             9
                                   2
     a
        11
        i
                4
     14
         e
                     7
           6
          8
                                             10
                 h
       1
           g
    2
   f


                 w(T) =          ∑ w(u,v) =37
                               (u,v )∈T
•                                                                   

                           5
               7
                 b
                   c
         d
          3
                                            9
                                    6
     a
        11
         i
              4
     14
         e
                     12
           13
          8
                                            10
                 h
        1
        g
     2
   f



                 w(T) =           ∑ w(u,v) =37
                                (u,v )∈T
•  STP (Spanning Tree Protocol) 
  –  LAN                   (=      )
                      
  –               

  – 
                                        
•              G = (V, E) (u,v) ∈ E
•              w(T) =     ∑ w(u,v) (T ⊂ E)
                        (u,v )∈T

•              A⊆T  €




     €
•                  
     – 
               
     – 
           
     –                 
GENERIC - MST(G,w)
1 A←∅
2 while A ≠ MST
3 do find safe edge (u,v) for A
4     A ← A ∪ {(u,v)}
5 return A
T = {(a,b),(b,c),(c,d),(c, f ),(c,i),(d,e),( f ,g),(g,h)}
                      8
                  7
             b
                 c
                 d
      4
                                                      9
        A = {(c,i),( f ,g),(g,h)}
                            2
a
         11
        i
             4
                 14
         e
                 7
        6
     8
                                                       10
             h
                 g
                 f
                      1
              2
       €
                      8
              7
                A = {(c,i),(c, f ),( f ,g),(g,h)}
            b
                  c
                 d
     4
                                                   9
                           2
a
        11
         i
             4
             14
            e
                 7
        6
     8
                                                   10
                            €
            h
        1
        g
    2
           f
•          

               
     A                




                           
                               
•                                               
      –           23.1            
      –  A                           G                               (S,V-S)        
      –  (S,V-S)                                                          (u,v) 
                                            
                                                        A = {(c,i),( f ,g),(g,h)}
                                8
                 7
                       b
                 c
            d
                4
                                             9
                                     2
           a
        11
        i
             4
        14
         e
     S 
                                  €
                           7
        6
                8
                                             10
V-S 
                  h
                 g
            f
                                1
                 2
•                                            (        ) 
     –   23.2 
     –  GA = (V,A)                                                           C = (VC,EC)  
     –  C  GA                               (u,v)
        (u,v)  A                              
                                                           A = {(c,i),( f ,g),(g,h)}
                             8
                  7
                    b
                 c
                  d
             4
                                                   9
                                  2
        a
        11
        i
             4
              14
         e
                                       €
                        7
        6
             8
                                                   10
                    h
       1
        g
    2
            f
•          
     – 
                   
     – 

               
•                          
     –                         
     –                 


•                          
     –         
     –             
     –     
•                  
     –                                             
     –                                            
     MST − KRUSKAL(G,w)
     1A←∅
     2 for each v ∈ V[G]
     3 do MAKE - SET(v)
     4 sort E with weight w ascending order
     5 for each (u,v) ∈ E (with sorting order)
     6 do if FIND - SET(u) ≠ FIND - SET(v)
     7 then A ← A ∪ {(u,v)}
     8         UNION(u,v)
     9 return A
8
              7
           b
              c
                 d
     4
                                                            1.    
                                                     9
                          2
a
        11
        i
             4
         14
         e
                7
        6
     8
                                              10
           h
        1
    g
        2
       f




                     8
                  7
            b
                 c
             d
      4
                                                 9
        2.        
                           2
a
        11
        i
             4
             14
        e
                7
        6
     8
                                              10
            h
       1
        g
    2
       f
8
          7
           b
              c
         d
     4
                                      9
        3.                 
                          2
                                                  
a
        11
        i
                14
        e
                 
                                4
                7
        6
     8
                                    10
           h
        1
    g
    2
   f



                     8
          7
           b
              c
         d
     4
                                      9
                          2
                                                              4.                  
a
        11
        i
         4
     14
        e
                                                                     
                7
        6
     8
                                    10
           h
        1
    g
    2
   f
•                
     – 
                                             


•                     
     –                           (disjoint‐set forest) 
                          
          •  m       MAKE‐SET  n       MAKE‐SET/UNION/FIND‐
             SET            O(mα(n))
•               
     –                O(V)
     –             O(E lg E)
     –               
          •  O((V+E)α(V)) (|E|>=|V|-1)
          •  = O(Eα(V)) (α(|V|)=O(lg V)=O(lg E))
          •  = O(E lg E) (|E|<|V|2)
          •  = O(E lg V)
•                     
     – 
                                              
     MST − PRIM(G,w,r)
      1 for each u ∈ V [G]
      2 do key[u] ← ∞
      3    π [u] ← NIL
      4 key[r] = 0                       A = {(v, π (v)) : v ∈ V − {r}}
      5 Q ← V[G]
      6 while Q ≠ ∅
      7 do u ← EXTRACT - MIN(Q)
      8   for each v ∈ Adj[u]
                              €
      9    do if v ∈ Q and w(u,v) < key[v]
     10      then π [v] ← u
     11              key[v] ← w(u,v)
8
              7
           b
              c
                 d
     4
                                                            1.         
                                                     9
                          2
a
        11
        i
             4
         14
         e
                7
        6
     8
                                              10
           h
        1
    g
        2
       f




                     8
                  7
            b
                 c
             d
      4
                                                 9
        2.    
                           2
a
        11
        i
             4
             14
        e
                7
        6
     8
                                              10
            h
       1
        g
    2
       f
8
          7
           b
              c
         d
     4
                                      9
        3.                         
                          2
                                             
a
        11
        i
         4
     14
        e
                7
        6
     8
                                    10
           h
        1
    g
    2
   f



                     8
          7
           b
              c
         d
     4
                                      9
                          2
                                                              4.              
a
        11
        i
         4
     14
        e
                                                                     
                7
        6
     8
                                    10
           h
        1
    g
    2
   f
•               
     –                                
     –                                    


•                    
     –                   
          •  BUILD‐MIN‐HEAP O(n)
          •  EXTRACT‐MIN O(lg n)
          •  DECREASE‐KEY O(lg n)
•             
     –         O(V)
     –     EXTRACT‐MIN        O(V lg V)
     –                O(E lg V)
     –        O(V lg V + E lg V)
•                                 
     –         O(V)
     –     EXTRACT‐MIN       O(V lg V)
     –                O(E)
     –        O(V lg V + E)
8
                7
           b
                    c
             d
     4
                                                   9
                               2
                                   1.                        
a
        11
        i
                             14
        e
                     
                                      4
                7
         6
     8
                                                 10
           h
        1
          g
    2
          f



                          8
      ab
                                  cdei
                                                                    2.                    
                                                                         MST‐PRIM 
           8
                              4



                          fgh
•                     
     –                               
     –  O(E lg V)



•  Reverse‐DeleCon   
     –                      
     – 
                                 
     –  O(E lg E (lg lg E)3)
•                              
     –                                             
     –                     
          •                        MST     
          •  O(E lg V)
     –              
          •                                    MST     
          •  O(E lg V)
          •                                                
          O(E+V lg V)

Mais conteúdo relacionado

Mais de Takashi Someda (7)

How we spread out our service globally by utilizing AWS and open source soft...
How we spread out our service globally by utilizing  AWS and open source soft...How we spread out our service globally by utilizing  AWS and open source soft...
How we spread out our service globally by utilizing AWS and open source soft...
 
Basic architecuture and operation concept of Backlog and Cacoo
Basic architecuture and operation concept of Backlog and CacooBasic architecuture and operation concept of Backlog and Cacoo
Basic architecuture and operation concept of Backlog and Cacoo
 
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
 
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
 
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
 
JAWS-UG Kyoto #02 LT
JAWS-UG Kyoto #02 LTJAWS-UG Kyoto #02 LT
JAWS-UG Kyoto #02 LT
 
AWS ではじめる Programmable Cloud
AWS ではじめる Programmable CloudAWS ではじめる Programmable Cloud
AWS ではじめる Programmable Cloud
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Algo 23 MSTP

  • 1.  23      minimum‐spanning‐tree Problem  2009/06/08  id:tksmd
  • 2. •   (id:tksmd)  –    –  i (isenshi.com)    –  Seasar FoundaCon    –    •  Related Works  –  Choistudy (hHp://www.choistudy.jp/)  –  Tuigwaa/escafeWeb (hHp://www.escafe.org/)  –  Cubby (hHp://cubby.seasar.org/)  –   on MySpace (hHp://www.myspace.com/u10asia90) 
  • 3. •    –   ( )  –    –    •    •       (Minimum Spanning Tree Problem)  
  • 4. •   (Spanning Tree)  –   
  • 5. •   (Minimum Spanning Tree)  –    –    8 7 b c d 4 9 2 a 11 i 4 14 e 7 6 8 10 h 1 g 2 f w(T) = ∑ w(u,v) =37 (u,v )∈T
  • 6. •    8 7 b c d 4 9 2 a 11 i 4 14 e 7 6 8 10 h 1 g 2 f w(T) = ∑ w(u,v) =37 (u,v )∈T
  • 7. •    5 7 b c d 3 9 6 a 11 i 4 14 e 12 13 8 10 h 1 g 2 f w(T) = ∑ w(u,v) =37 (u,v )∈T
  • 8. •  STP (Spanning Tree Protocol)  –  LAN (= )   –    –   
  • 9. •    G = (V, E) (u,v) ∈ E •    w(T) = ∑ w(u,v) (T ⊂ E) (u,v )∈T •    A⊆T € €
  • 10. •    –    –    –   
  • 11. GENERIC - MST(G,w) 1 A←∅ 2 while A ≠ MST 3 do find safe edge (u,v) for A 4 A ← A ∪ {(u,v)} 5 return A
  • 12. T = {(a,b),(b,c),(c,d),(c, f ),(c,i),(d,e),( f ,g),(g,h)} 8 7 b c d 4 9 A = {(c,i),( f ,g),(g,h)} 2 a 11 i 4 14 e 7 6 8 10 h g f 1 2 € 8 7 A = {(c,i),(c, f ),( f ,g),(g,h)} b c d 4 9 2 a 11 i 4 14 e 7 6 8 10 € h 1 g 2 f
  • 13. •      A     
  • 14. •    –   23.1    –  A  G  (S,V-S)    –  (S,V-S)  (u,v)    A = {(c,i),( f ,g),(g,h)} 8 7 b c d 4 9 2 a 11 i 4 14 e S € 7 6 8 10 V-S h g f 1 2
  • 15. •   ( )  –   23.2  –  GA = (V,A)  C = (VC,EC)   –  C  GA  (u,v) (u,v)  A    A = {(c,i),( f ,g),(g,h)} 8 7 b c d 4 9 2 a 11 i 4 14 e € 7 6 8 10 h 1 g 2 f
  • 16. •    –    –   
  • 17. •    –    –    •    –    –    –   
  • 18. •    –    –    MST − KRUSKAL(G,w) 1A←∅ 2 for each v ∈ V[G] 3 do MAKE - SET(v) 4 sort E with weight w ascending order 5 for each (u,v) ∈ E (with sorting order) 6 do if FIND - SET(u) ≠ FIND - SET(v) 7 then A ← A ∪ {(u,v)} 8 UNION(u,v) 9 return A
  • 19. 8 7 b c d 4 1.  9 2 a 11 i 4 14 e 7 6 8 10 h 1 g 2 f 8 7 b c d 4 9 2.  2 a 11 i 4 14 e 7 6 8 10 h 1 g 2 f
  • 20. 8 7 b c d 4 9 3.    2        a 11 i 14 e      4 7 6 8 10 h 1 g 2 f 8 7 b c d 4 9 2 4.    a 11 i 4 14 e      7 6 8 10 h 1 g 2 f
  • 21. •    –    •    –   (disjoint‐set forest)    •  m   MAKE‐SET  n   MAKE‐SET/UNION/FIND‐ SET  O(mα(n))
  • 22. •    –  O(V) –  O(E lg E) –     •  O((V+E)α(V)) (|E|>=|V|-1) •  = O(Eα(V)) (α(|V|)=O(lg V)=O(lg E)) •  = O(E lg E) (|E|<|V|2) •  = O(E lg V)
  • 23. •    –    MST − PRIM(G,w,r) 1 for each u ∈ V [G] 2 do key[u] ← ∞ 3 π [u] ← NIL 4 key[r] = 0 A = {(v, π (v)) : v ∈ V − {r}} 5 Q ← V[G] 6 while Q ≠ ∅ 7 do u ← EXTRACT - MIN(Q) 8 for each v ∈ Adj[u] € 9 do if v ∈ Q and w(u,v) < key[v] 10 then π [v] ← u 11 key[v] ← w(u,v)
  • 24. 8 7 b c d 4 1.    9 2 a 11 i 4 14 e 7 6 8 10 h 1 g 2 f 8 7 b c d 4 9 2.  2 a 11 i 4 14 e 7 6 8 10 h 1 g 2 f
  • 25. 8 7 b c d 4 9 3.    2      a 11 i 4 14 e 7 6 8 10 h 1 g 2 f 8 7 b c d 4 9 2 4.    a 11 i 4 14 e      7 6 8 10 h 1 g 2 f
  • 26. •    –    –    •    –    •  BUILD‐MIN‐HEAP O(n) •  EXTRACT‐MIN O(lg n) •  DECREASE‐KEY O(lg n)
  • 27. •    –  O(V) –   EXTRACT‐MIN  O(V lg V) –  O(E lg V) –  O(V lg V + E lg V)
  • 28. •    –  O(V) –   EXTRACT‐MIN  O(V lg V) –  O(E) –  O(V lg V + E)
  • 29. 8 7 b c d 4 9 2 1.    a 11 i 14 e   4 7 6 8 10 h 1 g 2 f 8 ab cdei 2.         MST‐PRIM  8 4 fgh
  • 30. •    –    –  O(E lg V) •  Reverse‐DeleCon    –    –    –  O(E lg E (lg lg E)3)
  • 31. •    –    –    •   MST    •  O(E lg V) –    •   MST    •  O(E lg V) •    O(E+V lg V)

Notas do Editor

  1. 逆に全ての辺が異なる重みをもつ場合には唯一に定まる<number>
  2. 逆に全ての辺が異なる重みをもつ場合には唯一に定まる<number>
  3. 逆に全ての辺が異なる重みをもつ場合には唯一に定まる<number>
  4. BPDU<number>
  5. 逆に全ての辺が異なる重みをもつ場合には唯一に定まる<number>
  6. 逆に全ての辺が異なる重みをもつ場合には唯一に定まる<number>
  7. 逆に全ての辺が異なる重みをもつ場合には唯一に定まる<number>
  8. 逆に全ての辺が異なる重みをもつ場合には唯一に定まる<number>
  9. 逆に全ての辺が異なる重みをもつ場合には唯一に定まる<number>