Das FVS-Problem            Markovsche FVS-Algorithmen      Ergebnisse




         Auf Markovketten basierende Heuristiken...
Das FVS-Problem            Markovsche FVS-Algorithmen   Ergebnisse



Gliederung




     1   Das FVS-Problem
Das FVS-Problem               Markovsche FVS-Algorithmen   Ergebnisse



Gliederung




     1   Das FVS-Problem


     2 ...
Das FVS-Problem               Markovsche FVS-Algorithmen   Ergebnisse



Gliederung




     1   Das FVS-Problem


     2 ...
Das FVS-Problem               Markovsche FVS-Algorithmen   Ergebnisse



Gliederung




     1   Das FVS-Problem


     2 ...
Das FVS-Problem    Markovsche FVS-Algorithmen   Ergebnisse


Notation
Inverser Digraph
Das FVS-Problem                Markovsche FVS-Algorithmen   Ergebnisse


Notation
Inverser Digraph

                   G

...
Das FVS-Problem                Markovsche FVS-Algorithmen          Ergebnisse


Notation
Inverser Digraph

               ...
Das FVS-Problem       Markovsche FVS-Algorithmen   Ergebnisse


Definitionen
Feedback-Vertex-Set




     Definition
Das FVS-Problem                Markovsche FVS-Algorithmen   Ergebnisse


Definitionen
Feedback-Vertex-Set




     Definitio...
Das FVS-Problem                 Markovsche FVS-Algorithmen   Ergebnisse


Definitionen
Feedback-Vertex-Set




     Definiti...
Das FVS-Problem                 Markovsche FVS-Algorithmen   Ergebnisse


Definitionen
Feedback-Vertex-Set




     Definiti...
Das FVS-Problem                  Markovsche FVS-Algorithmen   Ergebnisse


Definitionen
Feedback-Vertex-Set




     Definit...
Das FVS-Problem                  Markovsche FVS-Algorithmen   Ergebnisse


Definitionen
Feedback-Vertex-Set




     Definit...
Das FVS-Problem   Markovsche FVS-Algorithmen   Ergebnisse


Das FVS-Problem
Überblick
Das FVS-Problem               Markovsche FVS-Algorithmen   Ergebnisse


Das FVS-Problem
Überblick


     FVS-Problem
     ...
Das FVS-Problem               Markovsche FVS-Algorithmen   Ergebnisse


Das FVS-Problem
Überblick


     FVS-Problem
     ...
Das FVS-Problem                 Markovsche FVS-Algorithmen        Ergebnisse


Das FVS-Problem
Überblick


     FVS-Proble...
Das FVS-Problem                    Markovsche FVS-Algorithmen     Ergebnisse


Das FVS-Problem
Überblick


     FVS-Proble...
Das FVS-Problem                     Markovsche FVS-Algorithmen   Ergebnisse


Anwendung: Programmverifikation nach Floyd
Be...
Das FVS-Problem                         Markovsche FVS-Algorithmen                    Ergebnisse


Anwendung: Programmveri...
Das FVS-Problem                         Markovsche FVS-Algorithmen                    Ergebnisse


Anwendung: Programmveri...
Das FVS-Problem                         Markovsche FVS-Algorithmen                      Ergebnisse


Anwendung: Programmve...
Das FVS-Problem                         Markovsche FVS-Algorithmen                    Ergebnisse


Anwendung: Programmveri...
Das FVS-Problem                         Markovsche FVS-Algorithmen                    Ergebnisse


Anwendung: Programmveri...
Das FVS-Problem                         Markovsche FVS-Algorithmen                    Ergebnisse


Anwendung: Programmveri...
Das FVS-Problem                         Markovsche FVS-Algorithmen                Ergebnisse


Anwendung: Programmverifikat...
Das FVS-Problem                         Markovsche FVS-Algorithmen                Ergebnisse


Anwendung: Programmverifikat...
Das FVS-Problem                         Markovsche FVS-Algorithmen                Ergebnisse


Anwendung: Programmverifikat...
Das FVS-Problem                         Markovsche FVS-Algorithmen                     Ergebnisse


Anwendung: Programmver...
Das FVS-Problem                         Markovsche FVS-Algorithmen                     Ergebnisse


Anwendung: Programmver...
Das FVS-Problem                         Markovsche FVS-Algorithmen                     Ergebnisse


Anwendung: Programmver...
Das FVS-Problem                  Markovsche FVS-Algorithmen   Ergebnisse


Das FVS-Problem
Heuristiken für die Knotenwahl
Das FVS-Problem                  Markovsche FVS-Algorithmen   Ergebnisse


Das FVS-Problem
Heuristiken für die Knotenwahl
...
Das FVS-Problem                  Markovsche FVS-Algorithmen         Ergebnisse


Das FVS-Problem
Heuristiken für die Knote...
Das FVS-Problem                  Markovsche FVS-Algorithmen         Ergebnisse


Das FVS-Problem
Heuristiken für die Knote...
Das FVS-Problem                  Markovsche FVS-Algorithmen         Ergebnisse


Das FVS-Problem
Heuristiken für die Knote...
Das FVS-Problem               Markovsche FVS-Algorithmen   Ergebnisse



Gliederung




     1   Das FVS-Problem


     2 ...
Das FVS-Problem   Markovsche FVS-Algorithmen   Ergebnisse


Markovketten
Definitionen
Das FVS-Problem              Markovsche FVS-Algorithmen   Ergebnisse


Markovketten
Definitionen




        • Eine Markovk...
Das FVS-Problem                  Markovsche FVS-Algorithmen                      Ergebnisse


Markovketten
Definitionen



...
Das FVS-Problem                   Markovsche FVS-Algorithmen                   Ergebnisse


Markovketten
Definitionen

    ...
Das FVS-Problem                   Markovsche FVS-Algorithmen                   Ergebnisse


Markovketten
Definitionen

    ...
Das FVS-Problem                   Markovsche FVS-Algorithmen                   Ergebnisse


Markovketten
Definitionen

    ...
Das FVS-Problem                     Markovsche FVS-Algorithmen                   Ergebnisse


Markovketten
Definitionen

  ...
Das FVS-Problem                      Markovsche FVS-Algorithmen                   Ergebnisse


Markovketten
Definitionen

 ...
Das FVS-Problem                 Markovsche FVS-Algorithmen    Ergebnisse


Markovketten
Stationäre Verteilung



     M = ...
Das FVS-Problem                 Markovsche FVS-Algorithmen    Ergebnisse


Markovketten
Stationäre Verteilung



     M = ...
Das FVS-Problem                     Markovsche FVS-Algorithmen     Ergebnisse


Markovketten
Stationäre Verteilung



    ...
Das FVS-Problem                     Markovsche FVS-Algorithmen     Ergebnisse


Markovketten
Stationäre Verteilung



    ...
Das FVS-Problem                     Markovsche FVS-Algorithmen     Ergebnisse


Markovketten
Stationäre Verteilung



    ...
Das FVS-Problem                 Markovsche FVS-Algorithmen               Ergebnisse



Speckenmeyers ursprünglicher Algori...
Das FVS-Problem                 Markovsche FVS-Algorithmen               Ergebnisse



Speckenmeyers ursprünglicher Algori...
Das FVS-Problem                 Markovsche FVS-Algorithmen               Ergebnisse



Speckenmeyers ursprünglicher Algori...
Das FVS-Problem                 Markovsche FVS-Algorithmen               Ergebnisse



Speckenmeyers ursprünglicher Algori...
Das FVS-Problem                 Markovsche FVS-Algorithmen               Ergebnisse



Speckenmeyers ursprünglicher Algori...
Das FVS-Problem                 Markovsche FVS-Algorithmen               Ergebnisse



Speckenmeyers ursprünglicher Algori...
Das FVS-Problem                 Markovsche FVS-Algorithmen               Ergebnisse



Speckenmeyers ursprünglicher Algori...
Das FVS-Problem                  Markovsche FVS-Algorithmen              Ergebnisse



Speckenmeyers ursprünglicher Algori...
Das FVS-Problem                  Markovsche FVS-Algorithmen              Ergebnisse



Speckenmeyers ursprünglicher Algori...
Das FVS-Problem                 Markovsche FVS-Algorithmen               Ergebnisse



Speckenmeyers ursprünglicher Algori...
Das FVS-Problem             Markovsche FVS-Algorithmen           Ergebnisse


Der gemittelte MFVS (MFVSMean)
Kernidee


  ...
Das FVS-Problem                Markovsche FVS-Algorithmen              Ergebnisse


Der gemittelte MFVS (MFVSMean)
Kernide...
Das FVS-Problem                Markovsche FVS-Algorithmen              Ergebnisse


Der gemittelte MFVS (MFVSMean)
Kernide...
Das FVS-Problem                     Markovsche FVS-Algorithmen         Ergebnisse


Der gemittelte MFVS (MFVSMean)
Kernide...
Das FVS-Problem                     Markovsche FVS-Algorithmen         Ergebnisse


Der gemittelte MFVS (MFVSMean)
Kernide...
Das FVS-Problem                     Markovsche FVS-Algorithmen         Ergebnisse


Der gemittelte MFVS (MFVSMean)
Kernide...
Das FVS-Problem               Markovsche FVS-Algorithmen       Ergebnisse


Der gemittelte MFVS (MFVSMean)
Tie-Break


   ...
Das FVS-Problem               Markovsche FVS-Algorithmen       Ergebnisse


Der gemittelte MFVS (MFVSMean)
Tie-Break


   ...
Das FVS-Problem                Markovsche FVS-Algorithmen      Ergebnisse


Der gemittelte MFVS (MFVSMean)
Tie-Break


   ...
Das FVS-Problem                Markovsche FVS-Algorithmen      Ergebnisse


Der gemittelte MFVS (MFVSMean)
Tie-Break


   ...
Das FVS-Problem                Markovsche FVS-Algorithmen      Ergebnisse


Der gemittelte MFVS (MFVSMean)
Tie-Break


   ...
Das FVS-Problem                Markovsche FVS-Algorithmen      Ergebnisse


Der gemittelte MFVS (MFVSMean)
Tie-Break


   ...
Das FVS-Problem                Markovsche FVS-Algorithmen          Ergebnisse


Der gemittelte MFVS (MFVSMean)
Tie-Break

...
Das FVS-Problem                Markovsche FVS-Algorithmen            Ergebnisse


Der gemittelte MFVS (MFVSMean)
Tie-Break...
Das FVS-Problem                Markovsche FVS-Algorithmen            Ergebnisse


Der gemittelte MFVS (MFVSMean)
Tie-Break...
Das FVS-Problem             Markovsche FVS-Algorithmen   Ergebnisse


Der gemittelte MFVS (MFVSMean)
Beispiel



     Beis...
Das FVS-Problem             Markovsche FVS-Algorithmen   Ergebnisse


Der gemittelte MFVS (MFVSMean)
Beispiel



     Beis...
Das FVS-Problem             Markovsche FVS-Algorithmen           Ergebnisse


Der gemittelte MFVS (MFVSMean)
Beispiel



 ...
Das FVS-Problem             Markovsche FVS-Algorithmen              Ergebnisse


Der gemittelte MFVS (MFVSMean)
Beispiel

...
Das FVS-Problem             Markovsche FVS-Algorithmen              Ergebnisse


Der gemittelte MFVS (MFVSMean)
Beispiel

...
Das FVS-Problem             Markovsche FVS-Algorithmen               Ergebnisse


Der gemittelte MFVS (MFVSMean)
Beispiel
...
Das FVS-Problem             Markovsche FVS-Algorithmen              Ergebnisse


Der gemittelte MFVS (MFVSMean)
Beispiel

...
Das FVS-Problem              Markovsche FVS-Algorithmen   Ergebnisse


MarkovSearch
Kernidee



     Bestimme kleines FVS ...
Das FVS-Problem              Markovsche FVS-Algorithmen       Ergebnisse


MarkovSearch
Kernidee



     Bestimme kleines ...
Das FVS-Problem              Markovsche FVS-Algorithmen       Ergebnisse


MarkovSearch
Kernidee



     Bestimme kleines ...
Das FVS-Problem              Markovsche FVS-Algorithmen       Ergebnisse


MarkovSearch
Kernidee



     Bestimme kleines ...
Das FVS-Problem              Markovsche FVS-Algorithmen       Ergebnisse


MarkovSearch
Kernidee



     Bestimme kleines ...
Das FVS-Problem              Markovsche FVS-Algorithmen       Ergebnisse


MarkovSearch
Kernidee



     Bestimme kleines ...
Das FVS-Problem               Markovsche FVS-Algorithmen      Ergebnisse


MarkovSearch
Kernidee



     Bestimme kleines ...
Das FVS-Problem               Markovsche FVS-Algorithmen      Ergebnisse


MarkovSearch
Kernidee



     Bestimme kleines ...
Das FVS-Problem                 Markovsche FVS-Algorithmen    Ergebnisse


MarkovSearch
Kernidee



     Bestimme kleines ...
Das FVS-Problem                Markovsche FVS-Algorithmen     Ergebnisse


MarkovSearch
Kernidee



     Bestimme kleines ...
Das FVS-Problem                Markovsche FVS-Algorithmen     Ergebnisse


MarkovSearch
Kernidee



     Bestimme kleines ...
Das FVS-Problem             Markovsche FVS-Algorithmen   Ergebnisse


MarkovSearch
Algorithmus


     MarkovSearch Algorit...
Das FVS-Problem                Markovsche FVS-Algorithmen   Ergebnisse


MarkovSearch
Algorithmus


     MarkovSearch Algo...
Das FVS-Problem                Markovsche FVS-Algorithmen   Ergebnisse


MarkovSearch
Algorithmus


     MarkovSearch Algo...
Das FVS-Problem                Markovsche FVS-Algorithmen   Ergebnisse


MarkovSearch
Algorithmus


     MarkovSearch Algo...
Das FVS-Problem                   Markovsche FVS-Algorithmen                  Ergebnisse


MarkovSearch
Algorithmus


    ...
Das FVS-Problem                   Markovsche FVS-Algorithmen                  Ergebnisse


MarkovSearch
Algorithmus


    ...
Das FVS-Problem                   Markovsche FVS-Algorithmen                  Ergebnisse


MarkovSearch
Algorithmus


    ...
Das FVS-Problem                   Markovsche FVS-Algorithmen                  Ergebnisse


MarkovSearch
Algorithmus


    ...
Das FVS-Problem                   Markovsche FVS-Algorithmen                  Ergebnisse


MarkovSearch
Algorithmus


    ...
Das FVS-Problem                   Markovsche FVS-Algorithmen                  Ergebnisse


MarkovSearch
Algorithmus


    ...
Das FVS-Problem                 Markovsche FVS-Algorithmen   Ergebnisse


MarkovSearch
Optimale Schrittweite


     Was is...
Das FVS-Problem                 Markovsche FVS-Algorithmen   Ergebnisse


MarkovSearch
Optimale Schrittweite


     Was is...
Das FVS-Problem                 Markovsche FVS-Algorithmen   Ergebnisse


MarkovSearch
Optimale Schrittweite


     Was is...
Das FVS-Problem                 Markovsche FVS-Algorithmen   Ergebnisse


MarkovSearch
Optimale Schrittweite


     Was is...
Das FVS-Problem                                   Markovsche FVS-Algorithmen                                  Ergebnisse

...
Das FVS-Problem                Markovsche FVS-Algorithmen   Ergebnisse


Markovsche FVS-Algorithmen
Implementierung und La...
Das FVS-Problem                Markovsche FVS-Algorithmen        Ergebnisse


Markovsche FVS-Algorithmen
Implementierung u...
Das FVS-Problem                  Markovsche FVS-Algorithmen       Ergebnisse


Markovsche FVS-Algorithmen
Implementierung ...
Das FVS-Problem                  Markovsche FVS-Algorithmen       Ergebnisse


Markovsche FVS-Algorithmen
Implementierung ...
Das FVS-Problem                  Markovsche FVS-Algorithmen       Ergebnisse


Markovsche FVS-Algorithmen
Implementierung ...
Das FVS-Problem                    Markovsche FVS-Algorithmen          Ergebnisse


Markovsche FVS-Algorithmen
Implementie...
Das FVS-Problem                  Markovsche FVS-Algorithmen          Ergebnisse


Markovsche FVS-Algorithmen
Implementieru...
Das FVS-Problem                  Markovsche FVS-Algorithmen            Ergebnisse


Markovsche FVS-Algorithmen
Implementie...
Das FVS-Problem                  Markovsche FVS-Algorithmen            Ergebnisse


Markovsche FVS-Algorithmen
Implementie...
Das FVS-Problem                  Markovsche FVS-Algorithmen       Ergebnisse


Markovsche FVS-Algorithmen
Implementierung ...
Das FVS-Problem                  Markovsche FVS-Algorithmen       Ergebnisse


Markovsche FVS-Algorithmen
Implementierung ...
Das FVS-Problem                  Markovsche FVS-Algorithmen       Ergebnisse


Markovsche FVS-Algorithmen
Implementierung ...
Das FVS-Problem               Markovsche FVS-Algorithmen   Ergebnisse



Gliederung




     1   Das FVS-Problem


     2 ...
Das FVS-Problem       Markovsche FVS-Algorithmen   Ergebnisse



Betrachtete Algorithmen
Das FVS-Problem                    Markovsche FVS-Algorithmen      Ergebnisse



Betrachtete Algorithmen


               ...
Das FVS-Problem                    Markovsche FVS-Algorithmen      Ergebnisse



Betrachtete Algorithmen


               ...
Das FVS-Problem                    Markovsche FVS-Algorithmen      Ergebnisse



Betrachtete Algorithmen


               ...
Das FVS-Problem                     Markovsche FVS-Algorithmen        Ergebnisse



Betrachtete Algorithmen


            ...
Das FVS-Problem                     Markovsche FVS-Algorithmen        Ergebnisse



Betrachtete Algorithmen


            ...
Das FVS-Problem                  Markovsche FVS-Algorithmen                   Ergebnisse



Deterministische Algorithmen

...
Das FVS-Problem                  Markovsche FVS-Algorithmen                  Ergebnisse



Randomisierte Algorithmem I

  ...
Das FVS-Problem                  Markovsche FVS-Algorithmen                 Ergebnisse



Randomisierte Algorithmem II

  ...
Das FVS-Problem     Markovsche FVS-Algorithmen   Ergebnisse



MFVSMean vs. GRASP vs. MarkovSearch
Das FVS-Problem           Markovsche FVS-Algorithmen   Ergebnisse



MFVSMean vs. GRASP vs. MarkovSearch

     Resende Dig...
Das FVS-Problem              Markovsche FVS-Algorithmen   Ergebnisse



MFVSMean vs. GRASP vs. MarkovSearch

     Resende ...
Das FVS-Problem                Markovsche FVS-Algorithmen   Ergebnisse



MFVSMean vs. GRASP vs. MarkovSearch

     Resend...
Das FVS-Problem                Markovsche FVS-Algorithmen   Ergebnisse



MFVSMean vs. GRASP vs. MarkovSearch

     Resend...
Das FVS-Problem                Markovsche FVS-Algorithmen                Ergebnisse



MFVSMean vs. GRASP vs. MarkovSearch...
Das FVS-Problem                Markovsche FVS-Algorithmen                Ergebnisse



MFVSMean vs. GRASP vs. MarkovSearch...
Das FVS-Problem   Markovsche FVS-Algorithmen   Ergebnisse



Zusammenfassung
Das FVS-Problem              Markovsche FVS-Algorithmen          Ergebnisse



Zusammenfassung



        • Neue Markovsch...
Das FVS-Problem              Markovsche FVS-Algorithmen          Ergebnisse



Zusammenfassung



        • Neue Markovsch...
Das FVS-Problem                       Markovsche FVS-Algorithmen           Ergebnisse



Zusammenfassung



        • Neue...
Das FVS-Problem                       Markovsche FVS-Algorithmen           Ergebnisse



Zusammenfassung



        • Neue...
Das FVS-Problem                       Markovsche FVS-Algorithmen           Ergebnisse



Zusammenfassung



        • Neue...
Das FVS-Problem                       Markovsche FVS-Algorithmen                Ergebnisse



Zusammenfassung



        •...
Das FVS-Problem                       Markovsche FVS-Algorithmen                Ergebnisse



Zusammenfassung



        •...
Das FVS-Problem   Markovsche FVS-Algorithmen   Ergebnisse




                  Vielen Dank!
Nächste SlideShare
Wird geladen in …5
×

Techtalk: Auf Markovketten basierende Heuristiken für das Feedback-Vertex-Set-Problem

733 Aufrufe

Veröffentlicht am

Ein Feedback-Vertex-Set (FVS) eines (gerichteten) Graphen G ist eine Knotenmenge F, durch deren Entfernen G azyklisch wird. Das Feedback-Vertex-Set-Problem besteht aus der Berechnung eines FVSs minimaler Kardinalität. Es modelliert Kernprobleme aus vielen praktischen Bereichen wie z.B. VLSI-Design oder Programmverifikation. Andererseits ist das Problem NP-schwer [Karp72], d.h. im Allgemeinen kann es nicht effizient gelöst werden.

Eine Möglichkeit mit diesem Dilemma umzugehen, ist sich mit einer Approximation der Optimallösung zufrieden zu geben. In diesem Vortrag werden auf Markovketten basierende Heuristiken vorgestellt, um solche Approximationen zu bestimmen. Die Pionierarbeit dazu wurde in [Speckenmeyer89] geleistet.

Im Mittelpunkt des Vortrags steht eine Verbesserung des ursprünglichen Algorithmus von Speckenmeyer, sowie eine darauf basierende lokale Suchfunktion. Diese beiden Verfahren werden mit bereits bekannten Ansätzen verglichen. Dabei lieferten diese Ansätze signifikant bessere Lösungen als das beste aus der Literatur bekannte Verfahren von Resende. Beispielsweise benötigten sie nur einen Bruchteil der Rechenzeit des Resende-Verfahreens - 733 Sekunden statt 41626 Sekunden auf einem modernen PC - zur Lösung eines Satzes von Benchmark-Graphen. Eine Schlüsselrolle hatten dabei schnelle Methoden zur Lösung dünnbesetzter linearer Gleichungssysteme.

Veröffentlicht in: Technologie, Business
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
733
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
5
Aktionen
Geteilt
0
Downloads
7
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Techtalk: Auf Markovketten basierende Heuristiken für das Feedback-Vertex-Set-Problem

  1. 1. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Auf Markovketten basierende Heuristiken für das Feedback-Vertex-Set-Problem Mile Lemaić Institut für Informatik Universität zu Köln 20.01.2010
  2. 2. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Gliederung 1 Das FVS-Problem
  3. 3. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Gliederung 1 Das FVS-Problem 2 Markovsche FVS-Algorithmen
  4. 4. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Gliederung 1 Das FVS-Problem 2 Markovsche FVS-Algorithmen 3 Ergebnisse
  5. 5. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Gliederung 1 Das FVS-Problem 2 Markovsche FVS-Algorithmen 3 Ergebnisse
  6. 6. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Notation Inverser Digraph
  7. 7. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Notation Inverser Digraph G • Sei G = (V , A) ein Digraph
  8. 8. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Notation Inverser Digraph G G −1 • Sei G = (V , A) ein Digraph • Dann bezeichnet G −1 den inversen Digraph von G
  9. 9. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Definitionen Feedback-Vertex-Set Definition
  10. 10. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Definitionen Feedback-Vertex-Set Definition Sei G = (V , A) ein Digraph.
  11. 11. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Definitionen Feedback-Vertex-Set Definition Sei G = (V , A) ein Digraph. • G heißt azyklisch, falls er keine Kreise enthält
  12. 12. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Definitionen Feedback-Vertex-Set Definition Sei G = (V , A) ein Digraph. • G heißt azyklisch, falls er keine Kreise enthält • F ⊂ V ist ein Feedback-Vertex-Set (FVS) von G ,
  13. 13. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Definitionen Feedback-Vertex-Set Definition Sei G = (V , A) ein Digraph. • G heißt azyklisch, falls er keine Kreise enthält • F ⊂ V ist ein Feedback-Vertex-Set (FVS) von G , falls G − F ayklisch ist
  14. 14. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Definitionen Feedback-Vertex-Set Definition Sei G = (V , A) ein Digraph. • G heißt azyklisch, falls er keine Kreise enthält • F ⊂ V ist ein Feedback-Vertex-Set (FVS) von G , falls G − F ayklisch ist • Ein FVS minimaler Kardinalität heißt optimal
  15. 15. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Das FVS-Problem Überblick
  16. 16. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Das FVS-Problem Überblick FVS-Problem Eingabe: Digraph G = (V , A) Ausgabe: Optimales FVS F
  17. 17. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Das FVS-Problem Überblick FVS-Problem Eingabe: Digraph G = (V , A) Ausgabe: Optimales FVS F • FVS-Problem ist NP hart [Karp, 1972]
  18. 18. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Das FVS-Problem Überblick FVS-Problem Eingabe: Digraph G = (V , A) Ausgabe: Optimales FVS F • FVS-Problem ist NP hart [Karp, 1972] • Es gibt polynomiell lösbare Klassen • completely contractible graphs [Levy/Low, 1988] • Smith-Walford reducible graphs [Wang et al, 1985] • ...
  19. 19. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Das FVS-Problem Überblick FVS-Problem Eingabe: Digraph G = (V , A) Ausgabe: Optimales FVS F • FVS-Problem ist NP hart [Karp, 1972] • Es gibt polynomiell lösbare Klassen • completely contractible graphs [Levy/Low, 1988] • Smith-Walford reducible graphs [Wang et al, 1985] • ... • Bester Approximationsalgorithmus hat Güte von O(log |V | log log |V |) [Even et al, 1998]
  20. 20. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Anwendung: Programmverifikation nach Floyd Beispiel: Ganzzahlige Division mit Rest
  21. 21. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Anwendung: Programmverifikation nach Floyd Beispiel: Ganzzahlige Division mit Rest • Stelle Programm als y := 1 Flowchart dar Eingabe: a, b q := 0 r := a Ja Nein b := 2b r > b y := 2y Ja Nein r := r-b r ≥ b q := q+y Ja Nein b := b/2 y = 1 y := y/2 Ausgabe: q, r
  22. 22. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Anwendung: Programmverifikation nach Floyd Beispiel: Ganzzahlige Division mit Rest • Stelle Programm als y := 1 Flowchart dar Eingabe: a, b q := 0 r := a • Wähle Cutpoints Ja Nein b := 2b r > b y := 2y Ja Nein r := r-b r ≥ b q := q+y Ja Nein b := b/2 y = 1 y := y/2 Ausgabe: q, r
  23. 23. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Anwendung: Programmverifikation nach Floyd Beispiel: Ganzzahlige Division mit Rest • Stelle Programm als y := 1 Flowchart dar Eingabe: a, b q := 0 r := a • Wähle Cutpoints • zerlegen Programm b := 2b Ja Nein in azyklische r > b Teilstrukturen y := 2y Ja Nein r := r-b r ≥ b q := q+y Ja Nein b := b/2 y = 1 y := y/2 Ausgabe: q, r
  24. 24. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Anwendung: Programmverifikation nach Floyd Beispiel: Ganzzahlige Division mit Rest • Stelle Programm als y := 1 Flowchart dar Eingabe: a, b q := 0 r := a • Wähle Cutpoints • zerlegen Programm b := 2b Ja Nein in azyklische r > b Teilstrukturen y := 2y • representieren Pro- Ja Nein grammspezifikationen r := r-b r ≥ b q := q+y Ja Nein b := b/2 y = 1 y := y/2 Ausgabe: q, r
  25. 25. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Anwendung: Programmverifikation nach Floyd Beispiel: Ganzzahlige Division mit Rest • Stelle Programm als y := 1 Flowchart dar Eingabe: a, b q := 0 r := a • Wähle Cutpoints • zerlegen Programm b := 2b Ja Nein in azyklische r > b Teilstrukturen y := 2y • representieren Pro- Ja Nein grammspezifikationen r := r-b r ≥ b q := q+y • Zeige Kosistenz der Spezifikationen auf Ja Nein Teilstrukturen b := b/2 y = 1 y := y/2 Ausgabe: q, r
  26. 26. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Anwendung: Programmverifikation nach Floyd Beispiel: Ganzzahlige Division mit Rest • Stelle Programm als y := 1 Flowchart dar Eingabe: a, b q := 0 r := a • Wähle Cutpoints • zerlegen Programm b := 2b Ja Nein in azyklische r > b Teilstrukturen y := 2y • representieren Pro- Ja Nein grammspezifikationen r := r-b r ≥ b q := q+y • Zeige Kosistenz der Spezifikationen auf Ja Nein Teilstrukturen b := b/2 y = 1 • Zeige Korrektheit des y := y/2 gesamten Programms Ausgabe: q, r mittels induktiver Argumente
  27. 27. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Anwendung: Programmverifikation nach Floyd Beispiel: Ganzzahlige Division mit Rest y := 1 Eingabe: a, b q := 0 Dann gilt: Falls das Programm r := a tertminiert, so arbeitet es formal korrekt. Ja Nein b := 2b r > b y := 2y Ja Nein r := r-b r ≥ b q := q+y Ja Nein b := b/2 y = 1 y := y/2 Ausgabe: q, r
  28. 28. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Anwendung: Programmverifikation nach Floyd Beispiel: Ganzzahlige Division mit Rest y := 1 Eingabe: a, b q := 0 Dann gilt: Falls das Programm r := a tertminiert, so arbeitet es formal korrekt. Ja Nein Spezifikationen: b := 2b r > b y := 2y Ja Nein r := r-b r ≥ b q := q+y Ja Nein b := b/2 y = 1 y := y/2 Ausgabe: q, r
  29. 29. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Anwendung: Programmverifikation nach Floyd Beispiel: Ganzzahlige Division mit Rest y := 1 Eingabe: a, b q := 0 Dann gilt: Falls das Programm r := a tertminiert, so arbeitet es formal korrekt. Ja Nein Spezifikationen: b := 2b ◦ a≥0∧b >0 r > b y := 2y Ja Nein r := r-b r ≥ b q := q+y Ja Nein b := b/2 y = 1 y := y/2 Ausgabe: q, r
  30. 30. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Anwendung: Programmverifikation nach Floyd Beispiel: Ganzzahlige Division mit Rest y := 1 Eingabe: a, b q := 0 Dann gilt: Falls das Programm r := a tertminiert, so arbeitet es formal korrekt. Ja Nein Spezifikationen: b := 2b ◦ a≥0∧b >0 r > b y := 2y ◦ a = bq + r ∧ q ≥ 0 ∧ 0 ≤ r < b Ja Nein r := r-b r ≥ b q := q+y Ja Nein b := b/2 y = 1 y := y/2 Ausgabe: q, r
  31. 31. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Anwendung: Programmverifikation nach Floyd Beispiel: Ganzzahlige Division mit Rest y := 1 Eingabe: a, b q := 0 Dann gilt: Falls das Programm r := a tertminiert, so arbeitet es formal korrekt. Ja Nein Spezifikationen: b := 2b ◦ a≥0∧b >0 r > b y := 2y ◦ a = bq + r ∧ q ≥ 0 ∧ 0 ≤ r < b Ja Nein ◦ ay = bq + ry r := r-b r ≥ b q := q+y Ja Nein b := b/2 y = 1 y := y/2 Ausgabe: q, r
  32. 32. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Anwendung: Programmverifikation nach Floyd Beispiel: Ganzzahlige Division mit Rest y := 1 Eingabe: a, b q := 0 Dann gilt: Falls das Programm r := a tertminiert, so arbeitet es formal korrekt. Ja Nein Spezifikationen: b := 2b ◦ a≥0∧b >0 r > b y := 2y ◦ a = bq + r ∧ q ≥ 0 ∧ 0 ≤ r < b Ja Nein ◦ ay = bq + ry r := r-b q := q+y r ≥ b ◦ ··· Ja Nein b := b/2 y = 1 y := y/2 Ausgabe: q, r
  33. 33. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Das FVS-Problem Heuristiken für die Knotenwahl
  34. 34. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Das FVS-Problem Heuristiken für die Knotenwahl Heuristiken:
  35. 35. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Das FVS-Problem Heuristiken für die Knotenwahl Heuristiken: 1 [Lee/Reddy, 1990]: Wähle Knoten mit maximalem Produkt (bzw. Summe) von Eingangs- und Ausgangsgrad
  36. 36. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Das FVS-Problem Heuristiken für die Knotenwahl Heuristiken: 1 [Lee/Reddy, 1990]: Wähle Knoten mit maximalem Produkt (bzw. Summe) von Eingangs- und Ausgangsgrad 2 [Lin/Jou, 1999]: Wähle Knoten mit maximaler Summe von Eingangs- und Ausgangsgrad sowie Anzahl von Länge-2-Wegen
  37. 37. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Das FVS-Problem Heuristiken für die Knotenwahl Heuristiken: 1 [Lee/Reddy, 1990]: Wähle Knoten mit maximalem Produkt (bzw. Summe) von Eingangs- und Ausgangsgrad 2 [Lin/Jou, 1999]: Wähle Knoten mit maximaler Summe von Eingangs- und Ausgangsgrad sowie Anzahl von Länge-2-Wegen Problem bei 1und 2 : Auswahlkriterien sind lokal, aber Kreise sind global
  38. 38. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Gliederung 1 Das FVS-Problem 2 Markovsche FVS-Algorithmen 3 Ergebnisse
  39. 39. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovketten Definitionen
  40. 40. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovketten Definitionen • Eine Markovkette
  41. 41. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovketten Definitionen • Eine Markovkette • ist ein Digraph M = (V , A) mit V = {v1 , . . . , vn }
  42. 42. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovketten Definitionen ⎛ ⎞ 1 3 0 5 0 2 5 0 ⎜0 0⎟ 4 0 1 0 7 ⎜ ⎟ 1 P = ⎜2 4⎟ 7 2 5 1 ⎜7 0 0 1 7 7⎟ ⎝0 0 0 0 1⎠ 7 2 1 0 1 0 0 0 5 3 • Eine Markovkette • ist ein Digraph M = (V , A) mit V = {v1 , . . . , vn } • versehen mit stochastischer Matrix P = (pij ), so dass pij = 0 ⇐⇒ (vi , vj ) ∈ A
  43. 43. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovketten Definitionen ⎛ ⎞ 1 3 0 5 0 2 5 0 ⎜0 0⎟ 4 0 1 0 7 ⎜ ⎟ 1 P = ⎜2 4⎟ 7 2 5 1 ⎜7 0 0 1 7 7⎟ ⎝0 0 0 0 1⎠ 7 2 1 0 1 0 0 0 5 3 • Eine Markovkette • ist ein Digraph M = (V , A) mit V = {v1 , . . . , vn } • versehen mit stochastischer Matrix P = (pij ), so dass pij = 0 ⇐⇒ (vi , vj ) ∈ A • P heißt Übergangsmatrix von M
  44. 44. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovketten Definitionen ⎛ ⎞ 1 3 0 5 0 2 5 0 ⎜0 0⎟ 4 0 1 0 7 ⎜ ⎟ 1 P = ⎜2 4⎟ 7 2 5 1 ⎜7 0 0 1 7 7⎟ ⎝0 0 0 0 1⎠ 7 2 1 0 1 0 0 0 5 3 • Eine Markovkette • ist ein Digraph M = (V , A) mit V = {v1 , . . . , vn } • versehen mit stochastischer Matrix P = (pij ), so dass pij = 0 ⇐⇒ (vi , vj ) ∈ A • P heißt Übergangsmatrix von M • Eine Markovkette heißt Random Walk,
  45. 45. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovketten Definitionen ⎛ ⎞ 1 1 0 2 0 1 2 0 ⎜0 0⎟ 1 0 1 0 3 ⎜ ⎟ 1 3 1 2 1 P = ⎜1 ⎜3 0 0 1 3 1⎟ 3⎟ ⎝0 0 0 0 1⎠ 3 1 1 0 1 0 0 0 2 1 • Eine Markovkette • ist ein Digraph M = (V , A) mit V = {v1 , . . . , vn } • versehen mit stochastischer Matrix P = (pij ), so dass pij = 0 ⇐⇒ (vi , vj ) ∈ A • P heißt Übergangsmatrix von M • Eine Markovkette heißt Random Walk, falls je zwei positive Zeilenelemente pij , pik von P gleich sind
  46. 46. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovketten Definitionen ⎛ ⎞ 1 1 0 2 0 1 2 0 ⎜0 0⎟ 1 0 1 0 3 ⎜ ⎟ 1 3 1 2 1 P = ⎜1 ⎜3 0 0 1 3 1⎟ 3⎟ ⎝0 0 0 0 1⎠ 3 1 1 0 1 0 0 0 2 1 • Eine Markovkette • ist ein Digraph M = (V , A) mit V = {v1 , . . . , vn } • versehen mit stochastischer Matrix P = (pij ), so dass pij = 0 ⇐⇒ (vi , vj ) ∈ A • P heißt Übergangsmatrix von M • Eine Markovkette heißt Random Walk, falls je zwei positive Zeilenelemente pij , pik von P gleich sind • Jeder Digraph G = (V , A) induziert eindeut. Random Walk MG
  47. 47. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovketten Stationäre Verteilung M = (V , A) Markovkette mit V = {v1 , . . . , vn } und Übergangsmatrix P
  48. 48. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovketten Stationäre Verteilung M = (V , A) Markovkette mit V = {v1 , . . . , vn } und Übergangsmatrix P Ist M stark zusammenhängend, so
  49. 49. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovketten Stationäre Verteilung M = (V , A) Markovkette mit V = {v1 , . . . , vn } und Übergangsmatrix P Ist M stark zusammenhängend, so • existiert eindeutiger Spaltenvektor π = (πi ), so dass n tπ · P = tπ und πi = 1 i =1
  50. 50. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovketten Stationäre Verteilung M = (V , A) Markovkette mit V = {v1 , . . . , vn } und Übergangsmatrix P Ist M stark zusammenhängend, so • existiert eindeutiger Spaltenvektor π = (πi ), so dass n tπ · P = tπ und πi = 1 i =1 • π heißt stationäre Verteilung von M
  51. 51. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovketten Stationäre Verteilung M = (V , A) Markovkette mit V = {v1 , . . . , vn } und Übergangsmatrix P Ist M stark zusammenhängend, so • existiert eindeutiger Spaltenvektor π = (πi ), so dass n tπ · P = tπ und πi = 1 i =1 • π heißt stationäre Verteilung von M 1 • π ist mittlere Rückkehrzeit zum Knoten vi i
  52. 52. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Speckenmeyers ursprünglicher Algorithmus (MFVS) Bestimme kleines FVS F von G = (V , A) mit V = {v1 , . . . , vn }
  53. 53. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Speckenmeyers ursprünglicher Algorithmus (MFVS) Bestimme kleines FVS F von G = (V , A) mit V = {v1 , . . . , vn } MFVS Algorithmus [Speckenmeyer, 1989]
  54. 54. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Speckenmeyers ursprünglicher Algorithmus (MFVS) Bestimme kleines FVS F von G = (V , A) mit V = {v1 , . . . , vn } MFVS Algorithmus [Speckenmeyer, 1989] • Konstruiere Random Walk MG
  55. 55. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Speckenmeyers ursprünglicher Algorithmus (MFVS) Bestimme kleines FVS F von G = (V , A) mit V = {v1 , . . . , vn } MFVS Algorithmus [Speckenmeyer, 1989] • Konstruiere Random Walk MG • Berechne stationäre Verteilung π = (πi ) von MG
  56. 56. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Speckenmeyers ursprünglicher Algorithmus (MFVS) Bestimme kleines FVS F von G = (V , A) mit V = {v1 , . . . , vn } MFVS Algorithmus [Speckenmeyer, 1989] • Konstruiere Random Walk MG • Berechne stationäre Verteilung π = (πi ) von MG 1 • Wähle Knoten vi mit kleinster mittlerer Rückkehrzeit π i
  57. 57. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Speckenmeyers ursprünglicher Algorithmus (MFVS) Bestimme kleines FVS F von G = (V , A) mit V = {v1 , . . . , vn } MFVS Algorithmus [Speckenmeyer, 1989] • Konstruiere Random Walk MG • Berechne stationäre Verteilung π = (πi ) von MG 1 • Wähle Knoten vi mit kleinster mittlerer Rückkehrzeit π i Beispiel zu MFVS
  58. 58. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Speckenmeyers ursprünglicher Algorithmus (MFVS) Bestimme kleines FVS F von G = (V , A) mit V = {v1 , . . . , vn } MFVS Algorithmus [Speckenmeyer, 1989] • Konstruiere Random Walk MG • Berechne stationäre Verteilung π = (πi ) von MG 1 • Wähle Knoten vi mit kleinster mittlerer Rückkehrzeit π i Beispiel zu MFVS • Berechne stationäre Verteilung
  59. 59. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Speckenmeyers ursprünglicher Algorithmus (MFVS) Bestimme kleines FVS F von G = (V , A) mit V = {v1 , . . . , vn } MFVS Algorithmus [Speckenmeyer, 1989] • Konstruiere Random Walk MG • Berechne stationäre Verteilung π = (πi ) von MG 1 • Wähle Knoten vi mit kleinster mittlerer Rückkehrzeit π i Beispiel zu MFVS • Berechne stationäre Verteilung • Wähle Knoten mit kleinster mittlerer Rückkehrzeit
  60. 60. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Speckenmeyers ursprünglicher Algorithmus (MFVS) Bestimme kleines FVS F von G = (V , A) mit V = {v1 , . . . , vn } MFVS Algorithmus [Speckenmeyer, 1989] • Konstruiere Random Walk MG • Berechne stationäre Verteilung π = (πi ) von MG 1 • Wähle Knoten vi mit kleinster mittlerer Rückkehrzeit π i Beispiel zu MFVS • Berechne stationäre Verteilung • Wähle Knoten mit kleinster mittlerer Rückkehrzeit
  61. 61. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Speckenmeyers ursprünglicher Algorithmus (MFVS) Bestimme kleines FVS F von G = (V , A) mit V = {v1 , . . . , vn } MFVS Algorithmus [Speckenmeyer, 1989] • Konstruiere Random Walk MG • Berechne stationäre Verteilung π = (πi ) von MG 1 • Wähle Knoten vi mit kleinster mittlerer Rückkehrzeit π i Beispiel zu MFVS • Berechne stationäre Verteilung • Wähle Knoten mit kleinster mittlerer Rückkehrzeit • Restgraph vollständig reduzierbar
  62. 62. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Kernidee Versuche suboptimale Entscheidungen von MFVS zu vermeiden
  63. 63. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Kernidee Versuche suboptimale Entscheidungen von MFVS zu vermeiden • Konzipiere alternative unabhängige Heuristik gleicher Güte
  64. 64. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Kernidee Versuche suboptimale Entscheidungen von MFVS zu vermeiden • Konzipiere alternative unabhängige Heuristik gleicher Güte • Schlagen beide Heuristiken gleichen Knoten vor, so wähle ihn
  65. 65. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Kernidee Versuche suboptimale Entscheidungen von MFVS zu vermeiden • Konzipiere alternative unabhängige Heuristik gleicher Güte • Schlagen beide Heuristiken gleichen Knoten vor, so wähle ihn • Falls nicht, dann . . .
  66. 66. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Kernidee Versuche suboptimale Entscheidungen von MFVS zu vermeiden • Konzipiere alternative unabhängige Heuristik gleicher Güte • Schlagen beide Heuristiken gleichen Knoten vor, so wähle ihn • Falls nicht, dann . . . Beobachtung: F FVS von G ⇐⇒ F FVS von G −1
  67. 67. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Kernidee Versuche suboptimale Entscheidungen von MFVS zu vermeiden • Konzipiere alternative unabhängige Heuristik gleicher Güte • Schlagen beide Heuristiken gleichen Knoten vor, so wähle ihn • Falls nicht, dann . . . Beobachtung: F FVS von G ⇐⇒ F FVS von G −1 Alternative Heuristik: Wende Heuristik von MFVS auf G −1 an
  68. 68. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Tie-Break Welchen Knoten wählen, wenn beide Heuristiken verschiedene Knoten vorschlagen?
  69. 69. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Tie-Break Welchen Knoten wählen, wenn beide Heuristiken verschiedene Knoten vorschlagen? • Berechne stationäre Verteilungen π und π der Random Walks MG und MG −1
  70. 70. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Tie-Break Welchen Knoten wählen, wenn beide Heuristiken verschiedene Knoten vorschlagen? • Berechne stationäre Verteilungen π und π der Random Walks MG und MG −1 • Definiere π = (πi ) durch πi := h(πi , πi ) mit Heuristik h : R2 → R
  71. 71. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Tie-Break Welchen Knoten wählen, wenn beide Heuristiken verschiedene Knoten vorschlagen? • Berechne stationäre Verteilungen π und π der Random Walks MG und MG −1 • Definiere π = (πi ) durch πi := h(πi , πi ) mit Heuristik h : R2 → R • Wähle Knoten vi mit kleinstem π1 ei
  72. 72. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Tie-Break Welchen Knoten wählen, wenn beide Heuristiken verschiedene Knoten vorschlagen? • Berechne stationäre Verteilungen π und π der Random Walks MG und MG −1 • Definiere π = (πi ) durch πi := h(πi , πi ) mit Heuristik h : R2 → R • Wähle Knoten vi mit kleinstem π1 ei Wahl v h:
  73. 73. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Tie-Break Welchen Knoten wählen, wenn beide Heuristiken verschiedene Knoten vorschlagen? • Berechne stationäre Verteilungen π und π der Random Walks MG und MG −1 • Definiere π = (πi ) durch πi := h(πi , πi ) mit Heuristik h : R2 → R • Wähle Knoten vi mit kleinstem π1 ei Wahl v h: • muss symmetrisch sein
  74. 74. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Tie-Break Welchen Knoten wählen, wenn beide Heuristiken verschiedene Knoten vorschlagen? • Berechne stationäre Verteilungen π und π der Random Walks MG und MG −1 • Definiere π = (πi ) durch πi := h(πi , πi ) mit Heuristik h : R2 → R • Wähle Knoten vi mit kleinstem π1 ei Wahl v h: • muss symmetrisch sein • Kandidaten: arithm. Mittel, geom. Mittel, Maximum, . . .
  75. 75. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Tie-Break Welchen Knoten wählen, wenn beide Heuristiken verschiedene Knoten vorschlagen? • Berechne stationäre Verteilungen π und π der Random Walks MG und MG −1 • Definiere π = (πi ) durch πi := h(πi , πi ) mit Heuristik h : R2 → R • Wähle Knoten vi mit kleinstem π1 ei Wahl v h: • muss symmetrisch sein • Kandidaten: arithm. Mittel, geom. Mittel, Maximum, . . . • Bestes: arithmetrisches Mittel, d.h. h(x, y ) = 1 (x + y ) 2
  76. 76. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Tie-Break Welchen Knoten wählen, wenn beide Heuristiken verschiedene Knoten vorschlagen? • Berechne stationäre Verteilungen π und π der Random Walks MG und MG −1 • Definiere π = (πi ) durch πi := h(πi , πi ) mit Heuristik h : R2 → R • Wähle Knoten vi mit kleinstem π1 ei Wahl v h: • muss symmetrisch sein • Kandidaten: arithm. Mittel, geom. Mittel, Maximum, . . . • Bestes: arithmetrisches Mittel, d.h. h(x, y ) = 1 (x + y ) 2 Resultierender Algorithmus: MFVSMean
  77. 77. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Beispiel Beispiel zu MFVSMean
  78. 78. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Beispiel Beispiel zu MFVSMean G
  79. 79. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Beispiel Beispiel zu MFVSMean G • Berechne stat. Verteilung von MG
  80. 80. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Beispiel Beispiel zu MFVSMean G • Berechne stat. Verteilung von MG G −1 • Konstruiere inversen Digraphen G −1
  81. 81. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Beispiel Beispiel zu MFVSMean G • Berechne stat. Verteilung von MG G −1 • Konstruiere inversen Digraphen G −1 • Berechne stat. Verteilung von MG −1
  82. 82. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Beispiel Beispiel zu MFVSMean G G • Berechne stat. Verteilung von MG G −1 • Konstruiere inversen Digraphen G −1 • Berechne stat. Verteilung von MG −1 • Mittele stat. Verteilungen
  83. 83. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Der gemittelte MFVS (MFVSMean) Beispiel Beispiel zu MFVSMean G • Berechne stat. Verteilung von MG G −1 • Konstruiere inversen Digraphen G −1 • Berechne stat. Verteilung von MG −1 • Mittele stat. Verteilungen • Wähle Knoten
  84. 84. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Kernidee Bestimme kleines FVS F des Digraphen G = (V , A)
  85. 85. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Kernidee Bestimme kleines FVS F des Digraphen G = (V , A) • Generiere Nachfolger-FVS F eines gegebenen FVSs F
  86. 86. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Kernidee Bestimme kleines FVS F des Digraphen G = (V , A) • Generiere Nachfolger-FVS F eines gegebenen FVSs F • Steuere Generierung durch Schrittweite d
  87. 87. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Kernidee Bestimme kleines FVS F des Digraphen G = (V , A) • Generiere Nachfolger-FVS F eines gegebenen FVSs F • Steuere Generierung durch Schrittweite d • Schrittweite von F nach F : |F F |
  88. 88. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Kernidee Bestimme kleines FVS F des Digraphen G = (V , A) • Generiere Nachfolger-FVS F eines gegebenen FVSs F • Steuere Generierung durch Schrittweite d • Schrittweite von F nach F : |F F | Konstruktion eines Nachfolger-FVSs F von F
  89. 89. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Kernidee Bestimme kleines FVS F des Digraphen G = (V , A) • Generiere Nachfolger-FVS F eines gegebenen FVSs F • Steuere Generierung durch Schrittweite d • Schrittweite von F nach F : |F F | Konstruktion eines Nachfolger-FVSs F von F • Eingabe: FVS F von Digraph G
  90. 90. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Kernidee Bestimme kleines FVS F des Digraphen G = (V , A) • Generiere Nachfolger-FVS F eines gegebenen FVSs F • Steuere Generierung durch Schrittweite d • Schrittweite von F nach F : |F F | Konstruktion eines Nachfolger-FVSs F von F • Eingabe: FVS F von Digraph G • Wähle zufällige d -elementige Menge X ⊂ F
  91. 91. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Kernidee Bestimme kleines FVS F des Digraphen G = (V , A) • Generiere Nachfolger-FVS F eines gegebenen FVSs F • Steuere Generierung durch Schrittweite d • Schrittweite von F nach F : |F F | Konstruktion eines Nachfolger-FVSs F von F • Eingabe: FVS F von Digraph G • Wähle zufällige d -elementige Menge X ⊂ F • Setze F1 := F X
  92. 92. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Kernidee Bestimme kleines FVS F des Digraphen G = (V , A) • Generiere Nachfolger-FVS F eines gegebenen FVSs F • Steuere Generierung durch Schrittweite d • Schrittweite von F nach F : |F F | Konstruktion eines Nachfolger-FVSs F von F • Eingabe: FVS F von Digraph G • Wähle zufällige d -elementige Menge X ⊂ F • Setze F1 := F X • Digraph G := G − F1 ist zyklisch
  93. 93. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Kernidee Bestimme kleines FVS F des Digraphen G = (V , A) • Generiere Nachfolger-FVS F eines gegebenen FVSs F • Steuere Generierung durch Schrittweite d • Schrittweite von F nach F : |F F | Konstruktion eines Nachfolger-FVSs F von F • Eingabe: FVS F von Digraph G • Wähle zufällige d -elementige Menge X ⊂ F • Setze F1 := F X • Digraph G := G − F1 ist zyklisch • Bestimme FVS F2 von G mittels MFVSMean
  94. 94. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Kernidee Bestimme kleines FVS F des Digraphen G = (V , A) • Generiere Nachfolger-FVS F eines gegebenen FVSs F • Steuere Generierung durch Schrittweite d • Schrittweite von F nach F : |F F | Konstruktion eines Nachfolger-FVSs F von F • Eingabe: FVS F von Digraph G • Wähle zufällige d -elementige Menge X ⊂ F • Setze F1 := F X • Digraph G := G − F1 ist zyklisch • Bestimme FVS F2 von G mittels MFVSMean • Ausgabe: F := F1 ∪ F2
  95. 95. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Algorithmus MarkovSearch Algorithmus
  96. 96. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Algorithmus MarkovSearch Algorithmus • Eingabe: Digraph G
  97. 97. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Algorithmus MarkovSearch Algorithmus • Eingabe: Digraph G • Bestimme FVS F0 von G mittels MFVSMean
  98. 98. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Algorithmus MarkovSearch Algorithmus • Eingabe: Digraph G • Bestimme FVS F0 von G mittels MFVSMean • Füge F0 zu Prioritätswarteschlange Q hinzu
  99. 99. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Algorithmus MarkovSearch Algorithmus • Eingabe: Digraph G • Bestimme FVS F0 von G mittels MFVSMean • Füge F0 zu Prioritätswarteschlange Q hinzu • Iteriere t mal: • Extrahiere FVS F kleinster Kardinalität aus Q • Generiere Nachfolger-FVSs F1 , . . . , Fk von F (Schrittweite d) • Füge F1 , . . . , Fk zu Q hinzu
  100. 100. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Algorithmus MarkovSearch Algorithmus • Eingabe: Digraph G • Bestimme FVS F0 von G mittels MFVSMean • Füge F0 zu Prioritätswarteschlange Q hinzu • Iteriere t mal: • Extrahiere FVS F kleinster Kardinalität aus Q • Generiere Nachfolger-FVSs F1 , . . . , Fk von F (Schrittweite d) • Füge F1 , . . . , Fk zu Q hinzu • Ausgabe: kleinstes generiertes FVS
  101. 101. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Algorithmus MarkovSearch Algorithmus • Eingabe: Digraph G • Bestimme FVS F0 von G mittels MFVSMean • Füge F0 zu Prioritätswarteschlange Q hinzu • Iteriere t mal: • Extrahiere FVS F kleinster Kardinalität aus Q • Generiere Nachfolger-FVSs F1 , . . . , Fk von F (Schrittweite d) • Füge F1 , . . . , Fk zu Q hinzu • Ausgabe: kleinstes generiertes FVS Parameter von MarkovSearch:
  102. 102. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Algorithmus MarkovSearch Algorithmus • Eingabe: Digraph G • Bestimme FVS F0 von G mittels MFVSMean • Füge F0 zu Prioritätswarteschlange Q hinzu • Iteriere t mal: • Extrahiere FVS F kleinster Kardinalität aus Q • Generiere Nachfolger-FVSs F1 , . . . , Fk von F (Schrittweite d) • Füge F1 , . . . , Fk zu Q hinzu • Ausgabe: kleinstes generiertes FVS Parameter von MarkovSearch: • Anzahl der Iterationen t
  103. 103. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Algorithmus MarkovSearch Algorithmus • Eingabe: Digraph G • Bestimme FVS F0 von G mittels MFVSMean • Füge F0 zu Prioritätswarteschlange Q hinzu • Iteriere t mal: • Extrahiere FVS F kleinster Kardinalität aus Q • Generiere Nachfolger-FVSs F1 , . . . , Fk von F (Schrittweite d) • Füge F1 , . . . , Fk zu Q hinzu • Ausgabe: kleinstes generiertes FVS Parameter von MarkovSearch: • Anzahl der Iterationen t • Anzahl der Nachfolger-FVSs k
  104. 104. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Algorithmus MarkovSearch Algorithmus • Eingabe: Digraph G • Bestimme FVS F0 von G mittels MFVSMean • Füge F0 zu Prioritätswarteschlange Q hinzu • Iteriere t mal: • Extrahiere FVS F kleinster Kardinalität aus Q • Generiere Nachfolger-FVSs F1 , . . . , Fk von F (Schrittweite d) • Füge F1 , . . . , Fk zu Q hinzu • Ausgabe: kleinstes generiertes FVS Parameter von MarkovSearch: • Anzahl der Iterationen t • Anzahl der Nachfolger-FVSs k • Schrittweite d
  105. 105. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Optimale Schrittweite Was ist die optimale Schrittweite d ?
  106. 106. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Optimale Schrittweite Was ist die optimale Schrittweite d ? • Eindeutiger optimaler Wert existiert
  107. 107. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Optimale Schrittweite Was ist die optimale Schrittweite d ? • Eindeutiger optimaler Wert existiert • Schwer zu quantifizieren
  108. 108. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Optimale Schrittweite Was ist die optimale Schrittweite d ? • Eindeutiger optimaler Wert existiert • Schwer zu quantifizieren • Hängt von der Eingabe-Instanz ab
  109. 109. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MarkovSearch Variierende Schrittweite 185 100 Iterationen 100 Iterationen 500 Iterationen 462 500 Iterationen 184 461 FVS-Größe FVS-Größe 183 460 182 459 181 458 180 457 0 30 60 90 120 150 0 50 100 150 200 250 Schrittweite Schrittweite FVS-Größe in Abhängigkeit von FVS-Größe in Abhängigkeit von Schrittweite d für 100 Zufallsdigraphen Schrittweite d für 100 Zufallsdigraphen (p = 0.05) mit 300 Knoten. (p = 0.2) mit 500 Knoten.
  110. 110. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovsche FVS-Algorithmen Implementierung und Laufzeit
  111. 111. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovsche FVS-Algorithmen Implementierung und Laufzeit • Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt
  112. 112. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovsche FVS-Algorithmen Implementierung und Laufzeit • Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt • Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P berechnet werden: n tπ · P = tπ mit πi = 1 i =1
  113. 113. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovsche FVS-Algorithmen Implementierung und Laufzeit • Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt • Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P berechnet werden: n tπ · P = tπ mit πi = 1 i =1 Laufzeit mit direkter Methode: O(|V |2.376 |F |)
  114. 114. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovsche FVS-Algorithmen Implementierung und Laufzeit • Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt • Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P berechnet werden: n tπ · P = tπ mit πi = 1 i =1 Laufzeit mit direkter Methode: O(|V |2.376 |F |) Iterative Methode:
  115. 115. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovsche FVS-Algorithmen Implementierung und Laufzeit • Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt • Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P berechnet werden: n tπ · P = tπ mit πi = 1 i =1 Laufzeit mit direkter Methode: O(|V |2.376 |F |) Iterative Methode: • Ist P irreduzibel und aperiodisch, so gilt: limn→∞ P n = e t π, wobei e = t 1 ··· 1
  116. 116. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovsche FVS-Algorithmen Implementierung und Laufzeit • Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt • Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P berechnet werden: n tπ · P = tπ mit πi = 1 i =1 Laufzeit mit direkter Methode: O(|V |2.376 |F |) Iterative Methode: • Ist P irreduzibel und aperiodisch, so gilt: limn→∞ P n = e t π, wobei e = t 1 · · · 1 =⇒ limn→∞ t xP n = t π, für jeden Vektor x mit t xe = 1
  117. 117. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovsche FVS-Algorithmen Implementierung und Laufzeit • Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt • Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P berechnet werden: n tπ · P = tπ mit πi = 1 i =1 Laufzeit mit direkter Methode: O(|V |2.376 |F |) Iterative Methode: • Ist P irreduzibel und aperiodisch, so gilt: limn→∞ P n = e t π, wobei e = t 1 · · · 1 =⇒ limn→∞ t xP n = t π, für jeden Vektor x mit t xe = 1 • Bekannt: Für n > − log |λ| stimmen t xP n und t π auf ersten d d Stellen überein (λ subdominanter Eigenwert von P)
  118. 118. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovsche FVS-Algorithmen Implementierung und Laufzeit • Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt • Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P berechnet werden: n tπ · P = tπ mit πi = 1 i =1 Laufzeit mit direkter Methode: O(|V |2.376 |F |) Iterative Methode: • Ist P irreduzibel und aperiodisch, so gilt: limn→∞ P n = e t π, wobei e = t 1 · · · 1 =⇒ limn→∞ t xP n = t π, für jeden Vektor x mit t xe = 1 • Bekannt: Für n > − log |λ| stimmen t xP n und t π auf ersten d d Stellen überein (λ subdominanter Eigenwert von P) Laufzeit mit iterativer Methode: O(|A||F | − ln |λ| ) d
  119. 119. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovsche FVS-Algorithmen Implementierung und Laufzeit • Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt • Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P berechnet werden: n tπ · P = tπ mit πi = 1 i =1 Laufzeit mit direkter Methode: O(|V |2.376 |F |) Iterative Methode: • Rechengenauigkeit üblicherweise beschränkt
  120. 120. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovsche FVS-Algorithmen Implementierung und Laufzeit • Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt • Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P berechnet werden: n tπ · P = tπ mit πi = 1 i =1 Laufzeit mit direkter Methode: O(|V |2.376 |F |) Iterative Methode: • Rechengenauigkeit üblicherweise beschränkt • Stellenzahl d kann als konstant angenommen werden
  121. 121. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Markovsche FVS-Algorithmen Implementierung und Laufzeit • Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt • Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P berechnet werden: n tπ · P = tπ mit πi = 1 i =1 Laufzeit mit direkter Methode: O(|V |2.376 |F |) Iterative Methode: • Rechengenauigkeit üblicherweise beschränkt • Stellenzahl d kann als konstant angenommen werden 1 Laufzeit mit iterativer Methode: O(|A||F | − ln |λ| )
  122. 122. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Gliederung 1 Das FVS-Problem 2 Markovsche FVS-Algorithmen 3 Ergebnisse
  123. 123. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Betrachtete Algorithmen
  124. 124. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Betrachtete Algorithmen MFVS: Speckenmeyers ursprünglicher Algorithmus
  125. 125. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Betrachtete Algorithmen MFVS: Speckenmeyers ursprünglicher Algorithmus MFVSMean : Gemittelte Version von MFVS
  126. 126. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Betrachtete Algorithmen MFVS: Speckenmeyers ursprünglicher Algorithmus MFVSMean : Gemittelte Version von MFVS MarkovSearch: Markovsche lokale Suchfunktion • führt 100 Iterationen aus • generiert jeweils 2 Nachfolger-FVSs
  127. 127. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Betrachtete Algorithmen MFVS: Speckenmeyers ursprünglicher Algorithmus MFVSMean : Gemittelte Version von MFVS MarkovSearch: Markovsche lokale Suchfunktion • führt 100 Iterationen aus • generiert jeweils 2 Nachfolger-FVSs Simple: Wählt Knoten v ∈ V des Graphen G = (V , A) mit maximalem Produkt d− (v ) · d+ (v ) v ∈N− (v ) v ∈N+ (v )
  128. 128. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Betrachtete Algorithmen MFVS: Speckenmeyers ursprünglicher Algorithmus MFVSMean : Gemittelte Version von MFVS MarkovSearch: Markovsche lokale Suchfunktion • führt 100 Iterationen aus • generiert jeweils 2 Nachfolger-FVSs Simple: Wählt Knoten v ∈ V des Graphen G = (V , A) mit maximalem Produkt d− (v ) · d+ (v ) v ∈N− (v ) v ∈N+ (v ) GRASP: Multistart-Algorithmus von Resende et al • generiert 2048 FVSs • wird derzeit als bester Algorithmus angesehen
  129. 129. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Deterministische Algorithmen 470 XXX MFVSMean 280 XXX MFVSMean 460 450 XXX MFVS 260 XXX MFVS 440 XXX Simple XXX Simple 240 430 220 420 410 200 400 180 390 160 380 370 140 360 120 0.05 0.10 0.15 0.20 3 5 7 9 FVS-Größe für 100 Zufallsdigraphen FVS-Größe für 100 reguläre Digraphen mit 500 Knoten in Abhängigkeit von mit 500 Knoten in Abhängigkeit vom Dichte p. Rang k.
  130. 130. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Randomisierte Algorithmem I 270 XXX MarkovSearch XXX MarkovSearch 260 300000 XXX GRASP XXX GRASP 250 250000 240 230 200000 220 150000 210 200 100000 190 50000 180 170 0 0.05 0.10 0.15 0.20 0.05 0.10 0.15 0.20 FVS-Größe für 100 Zufallsdigraphen Laufzeit in Sekunden. mit 300 Knoten in Abhängigkeit von Dichte p.
  131. 131. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Randomisierte Algorithmem II 240 XXX MarkovSearch 25000 XXX MarkovSearch 230 XXX GRASP XXX GRASP 220 20000 210 200 190 15000 180 170 10000 160 150 140 5000 130 120 0 4 6 8 10 4 6 8 10 FVS-Größe für 100 reguläre Digraphen Laufzeit in Sekunden. mit 400 Knoten in Abhängigkeit vom Rang k.
  132. 132. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MFVSMean vs. GRASP vs. MarkovSearch
  133. 133. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MFVSMean vs. GRASP vs. MarkovSearch Resende Digraphen:
  134. 134. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MFVSMean vs. GRASP vs. MarkovSearch Resende Digraphen: • 40 Digraphen
  135. 135. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MFVSMean vs. GRASP vs. MarkovSearch Resende Digraphen: • 40 Digraphen • verschiedene Größen (50 — 1000 Knoten)
  136. 136. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MFVSMean vs. GRASP vs. MarkovSearch Resende Digraphen: • 40 Digraphen • verschiedene Größen (50 — 1000 Knoten) • verschiedene Dichten
  137. 137. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MFVSMean vs. GRASP vs. MarkovSearch Resende Digraphen: • 40 Digraphen • verschiedene Größen (50 — 1000 Knoten) • verschiedene Dichten Optimum MFVSMean GRASP MarkovSearch FVS-Größe ≤ 6576 6964 6941 6749 Laufzeit (Sek.) 193 41626 733
  138. 138. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse MFVSMean vs. GRASP vs. MarkovSearch Resende Digraphen: • 40 Digraphen • verschiedene Größen (50 — 1000 Knoten) • verschiedene Dichten Optimum MFVSMean GRASP MarkovSearch FVS-Größe ≤ 6576 6964 6941 6749 Laufzeit (Sek.) 193 41626 733 Weitere Informationen: M. Lemaić, E. Speckenmeyer. Markov-Chain-Based Heuristics for the Minimum Feedback Vertex Set Problem, zaik2010-596, http://www.zaik.uni-koeln.de, 2010
  139. 139. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Zusammenfassung
  140. 140. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Zusammenfassung • Neue Markovsche Algorithmen: MFVSMean , MarkovSearch
  141. 141. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Zusammenfassung • Neue Markovsche Algorithmen: MFVSMean , MarkovSearch • erzielen gute Resultate
  142. 142. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Zusammenfassung • Neue Markovsche Algorithmen: MFVSMean , MarkovSearch • erzielen gute Resultate • MFVSMean • ist eine signifikante Verbesserung gegenüber MFVS
  143. 143. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Zusammenfassung • Neue Markovsche Algorithmen: MFVSMean , MarkovSearch • erzielen gute Resultate • MFVSMean • ist eine signifikante Verbesserung gegenüber MFVS • übertrifft bekannte deterministische Algorithmen
  144. 144. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Zusammenfassung • Neue Markovsche Algorithmen: MFVSMean , MarkovSearch • erzielen gute Resultate • MFVSMean • ist eine signifikante Verbesserung gegenüber MFVS • übertrifft bekannte deterministische Algorithmen • nur marginal schlechter als GRASP
  145. 145. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Zusammenfassung • Neue Markovsche Algorithmen: MFVSMean , MarkovSearch • erzielen gute Resultate • MFVSMean • ist eine signifikante Verbesserung gegenüber MFVS • übertrifft bekannte deterministische Algorithmen • nur marginal schlechter als GRASP • MarkovSearch • übertrifft GRASP in puncto FVS-Größe als auch Laufzeit
  146. 146. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Zusammenfassung • Neue Markovsche Algorithmen: MFVSMean , MarkovSearch • erzielen gute Resultate • MFVSMean • ist eine signifikante Verbesserung gegenüber MFVS • übertrifft bekannte deterministische Algorithmen • nur marginal schlechter als GRASP • MarkovSearch • übertrifft GRASP in puncto FVS-Größe als auch Laufzeit • derzeit bester Algorithmus für FVS-Problem • Markovketten sehr gut geeignet für FVS-Problem
  147. 147. Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse Vielen Dank!

×