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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Auf Markovketten basierende Heuristiken für dasFeedback-Vertex-Set-Problem

Mile Lemaić

Institut für InformatikUniversität zu Köln

20.01.2010

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Gliederung

1 Das FVS-Problem

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Gliederung

1 Das FVS-Problem

2 Markovsche FVS-Algorithmen

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Gliederung

1 Das FVS-Problem

2 Markovsche FVS-Algorithmen

3 Ergebnisse

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Gliederung

1 Das FVS-Problem

2 Markovsche FVS-Algorithmen

3 Ergebnisse

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

NotationInverser Digraph

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

NotationInverser Digraph

G

• Sei G = (V ,A) ein Digraph

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

NotationInverser Digraph

G G−1

• Sei G = (V ,A) ein Digraph• Dann bezeichnet G−1 den inversen Digraph von G

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

DefinitionenFeedback-Vertex-Set

Definition

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

DefinitionenFeedback-Vertex-Set

DefinitionSei G = (V ,A) ein Digraph.

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

DefinitionenFeedback-Vertex-Set

DefinitionSei G = (V ,A) ein Digraph.

• G heißt azyklisch, falls er keine Kreise enthält

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

DefinitionenFeedback-Vertex-Set

DefinitionSei 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 ,

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

DefinitionenFeedback-Vertex-Set

DefinitionSei 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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

DefinitionenFeedback-Vertex-Set

DefinitionSei 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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Das FVS-ProblemÜberblick

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Das FVS-ProblemÜberblick

FVS-Problem

Eingabe: Digraph G = (V ,A)Ausgabe: Optimales FVS F

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

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]

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

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]• . . .

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

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 vonO(log |V | log log |V |) [Even et al, 1998]

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Anwendung: Programmverifikation nach FloydBeispiel: Ganzzahlige Division mit Rest

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Anwendung: Programmverifikation nach FloydBeispiel: Ganzzahlige Division mit Rest

Eingabe: a, b

Ausgabe: q, r

y := 1q := 0r := a

b := 2by := 2y

r := r-bq := q+y

b := b/2y := y/2

Ja

r > bNein

Ja

r ≥ bNein

Ja

y = 1Nein

• Stelle Programm alsFlowchart dar

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Anwendung: Programmverifikation nach FloydBeispiel: Ganzzahlige Division mit Rest

Eingabe: a, b

Ausgabe: q, r

y := 1q := 0r := a

b := 2by := 2y

r := r-bq := q+y

b := b/2y := y/2

Ja

r > bNein

Ja

r ≥ bNein

Ja

y = 1Nein

• Stelle Programm alsFlowchart dar

• Wähle Cutpoints

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Anwendung: Programmverifikation nach FloydBeispiel: Ganzzahlige Division mit Rest

Eingabe: a, b

Ausgabe: q, r

y := 1q := 0r := a

b := 2by := 2y

r := r-bq := q+y

b := b/2y := y/2

Ja

r > bNein

Ja

r ≥ bNein

Ja

y = 1Nein

• Stelle Programm alsFlowchart dar

• Wähle Cutpoints

• zerlegen Programmin azyklischeTeilstrukturen

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Anwendung: Programmverifikation nach FloydBeispiel: Ganzzahlige Division mit Rest

Eingabe: a, b

Ausgabe: q, r

y := 1q := 0r := a

b := 2by := 2y

r := r-bq := q+y

b := b/2y := y/2

Ja

r > bNein

Ja

r ≥ bNein

Ja

y = 1Nein

• Stelle Programm alsFlowchart dar

• Wähle Cutpoints

• zerlegen Programmin azyklischeTeilstrukturen

• representieren Pro-grammspezifikationen

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Anwendung: Programmverifikation nach FloydBeispiel: Ganzzahlige Division mit Rest

Eingabe: a, b

Ausgabe: q, r

y := 1q := 0r := a

b := 2by := 2y

r := r-bq := q+y

b := b/2y := y/2

Ja

r > bNein

Ja

r ≥ bNein

Ja

y = 1Nein

• Stelle Programm alsFlowchart dar

• Wähle Cutpoints

• zerlegen Programmin azyklischeTeilstrukturen

• representieren Pro-grammspezifikationen

• Zeige Kosistenz derSpezifikationen aufTeilstrukturen

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Anwendung: Programmverifikation nach FloydBeispiel: Ganzzahlige Division mit Rest

Eingabe: a, b

Ausgabe: q, r

y := 1q := 0r := a

b := 2by := 2y

r := r-bq := q+y

b := b/2y := y/2

Ja

r > bNein

Ja

r ≥ bNein

Ja

y = 1Nein

• Stelle Programm alsFlowchart dar

• Wähle Cutpoints

• zerlegen Programmin azyklischeTeilstrukturen

• representieren Pro-grammspezifikationen

• Zeige Kosistenz derSpezifikationen aufTeilstrukturen

• Zeige Korrektheit desgesamten Programmsmittels induktiverArgumente

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Anwendung: Programmverifikation nach FloydBeispiel: Ganzzahlige Division mit Rest

Eingabe: a, b

Ausgabe: q, r

y := 1q := 0r := a

b := 2by := 2y

r := r-bq := q+y

b := b/2y := y/2

Ja

r > bNein

Ja

r ≥ bNein

Ja

y = 1Nein

Dann gilt: Falls das Programmtertminiert, so arbeitet esformal korrekt.

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Anwendung: Programmverifikation nach FloydBeispiel: Ganzzahlige Division mit Rest

Eingabe: a, b

Ausgabe: q, r

y := 1q := 0r := a

b := 2by := 2y

r := r-bq := q+y

b := b/2y := y/2

Ja

r > bNein

Ja

r ≥ bNein

Ja

y = 1Nein

Dann gilt: Falls das Programmtertminiert, so arbeitet esformal korrekt.

Spezifikationen:

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Anwendung: Programmverifikation nach FloydBeispiel: Ganzzahlige Division mit Rest

Eingabe: a, b

Ausgabe: q, r

y := 1q := 0r := a

b := 2by := 2y

r := r-bq := q+y

b := b/2y := y/2

Ja

r > bNein

Ja

r ≥ bNein

Ja

y = 1Nein

Dann gilt: Falls das Programmtertminiert, so arbeitet esformal korrekt.

Spezifikationen:◦ a ≥ 0 ∧ b > 0

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Anwendung: Programmverifikation nach FloydBeispiel: Ganzzahlige Division mit Rest

Eingabe: a, b

Ausgabe: q, r

y := 1q := 0r := a

b := 2by := 2y

r := r-bq := q+y

b := b/2y := y/2

Ja

r > bNein

Ja

r ≥ bNein

Ja

y = 1Nein

Dann gilt: Falls das Programmtertminiert, so arbeitet esformal korrekt.

Spezifikationen:◦ a ≥ 0 ∧ b > 0

◦ a = bq + r ∧ q ≥ 0 ∧ 0 ≤ r < b

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Anwendung: Programmverifikation nach FloydBeispiel: Ganzzahlige Division mit Rest

Eingabe: a, b

Ausgabe: q, r

y := 1q := 0r := a

b := 2by := 2y

r := r-bq := q+y

b := b/2y := y/2

Ja

r > bNein

Ja

r ≥ bNein

Ja

y = 1Nein

Dann gilt: Falls das Programmtertminiert, so arbeitet esformal korrekt.

Spezifikationen:◦ a ≥ 0 ∧ b > 0

◦ a = bq + r ∧ q ≥ 0 ∧ 0 ≤ r < b

◦ ay = bq + ry

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Anwendung: Programmverifikation nach FloydBeispiel: Ganzzahlige Division mit Rest

Eingabe: a, b

Ausgabe: q, r

y := 1q := 0r := a

b := 2by := 2y

r := r-bq := q+y

b := b/2y := y/2

Ja

r > bNein

Ja

r ≥ bNein

Ja

y = 1Nein

Dann gilt: Falls das Programmtertminiert, so arbeitet esformal korrekt.

Spezifikationen:◦ a ≥ 0 ∧ b > 0

◦ a = bq + r ∧ q ≥ 0 ∧ 0 ≤ r < b

◦ ay = bq + ry

◦ · · ·

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Das FVS-ProblemHeuristiken für die Knotenwahl

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Das FVS-ProblemHeuristiken für die Knotenwahl

Heuristiken:

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Das FVS-ProblemHeuristiken für die Knotenwahl

Heuristiken:1 [Lee/Reddy, 1990]: Wähle Knoten mit maximalem Produkt

(bzw. Summe) von Eingangs- und Ausgangsgrad

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Das FVS-ProblemHeuristiken für die Knotenwahl

Heuristiken:1 [Lee/Reddy, 1990]: Wähle Knoten mit maximalem Produkt

(bzw. Summe) von Eingangs- und Ausgangsgrad2 [Lin/Jou, 1999]: Wähle Knoten mit maximaler Summe von

Eingangs- und Ausgangsgrad sowie Anzahl von Länge-2-Wegen

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Das FVS-ProblemHeuristiken für die Knotenwahl

Heuristiken:1 [Lee/Reddy, 1990]: Wähle Knoten mit maximalem Produkt

(bzw. Summe) von Eingangs- und Ausgangsgrad2 [Lin/Jou, 1999]: Wähle Knoten mit maximaler Summe von

Eingangs- und Ausgangsgrad sowie Anzahl von Länge-2-Wegen

Problem bei 1 und 2 : Auswahlkriterien sind lokal,aber Kreise sind global

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Gliederung

1 Das FVS-Problem

2 Markovsche FVS-Algorithmen

3 Ergebnisse

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovkettenDefinitionen

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovkettenDefinitionen

• Eine Markovkette

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovkettenDefinitionen

• Eine Markovkette• ist ein Digraph M = (V , A) mit V = {v1, . . . , vn}

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovkettenDefinitionen

35

25

12 7

1 7

47

1

1 P =

⎛⎜⎜⎜⎜⎝

0 35 0 2

5 00 0 1 0 027 0 0 1

747

0 0 0 0 10 1 0 0 0

⎞⎟⎟⎟⎟⎠

• 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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovkettenDefinitionen

35

25

12 7

1 7

47

1

1 P =

⎛⎜⎜⎜⎜⎝

0 35 0 2

5 00 0 1 0 027 0 0 1

747

0 0 0 0 10 1 0 0 0

⎞⎟⎟⎟⎟⎠

• 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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovkettenDefinitionen

35

25

12 7

1 7

47

1

1 P =

⎛⎜⎜⎜⎜⎝

0 35 0 2

5 00 0 1 0 027 0 0 1

747

0 0 0 0 10 1 0 0 0

⎞⎟⎟⎟⎟⎠

• 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,

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovkettenDefinitionen

12

12

11 3

1 3

13

1

1 P =

⎛⎜⎜⎜⎜⎝

0 12 0 1

2 00 0 1 0 013 0 0 1

313

0 0 0 0 10 1 0 0 0

⎞⎟⎟⎟⎟⎠

• 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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovkettenDefinitionen

12

12

11 3

1 3

13

1

1 P =

⎛⎜⎜⎜⎜⎝

0 12 0 1

2 00 0 1 0 013 0 0 1

313

0 0 0 0 10 1 0 0 0

⎞⎟⎟⎟⎟⎠

• 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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovkettenStationäre Verteilung

M = (V ,A) Markovkette mit V = {v1, . . . , vn} undÜbergangsmatrix P

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovkettenStationäre Verteilung

M = (V ,A) Markovkette mit V = {v1, . . . , vn} undÜbergangsmatrix P

Ist M stark zusammenhängend, so

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovkettenStationä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

tπ · P = tπ undn∑

i=1πi = 1

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovkettenStationä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

tπ · P = tπ undn∑

i=1πi = 1

• π heißt stationäre Verteilung von M

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovkettenStationä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

tπ · P = tπ undn∑

i=1πi = 1

• π heißt stationäre Verteilung von M• 1

πiist mittlere Rückkehrzeit zum Knoten vi

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Speckenmeyers ursprünglicher Algorithmus (MFVS)

Bestimme kleines FVS F von G = (V ,A) mit V = {v1, . . . , vn}

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

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]

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

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

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

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

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

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• Wähle Knoten vi mit kleinster mittlerer Rückkehrzeit 1

πi

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

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• Wähle Knoten vi mit kleinster mittlerer Rückkehrzeit 1

πi

Beispiel zu MFVS

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

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• Wähle Knoten vi mit kleinster mittlerer Rückkehrzeit 1

πi

Beispiel zu MFVS

• Berechne stationäre Verteilung

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

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• Wähle Knoten vi mit kleinster mittlerer Rückkehrzeit 1

πi

Beispiel zu MFVS

• Berechne stationäre Verteilung• Wähle Knoten mit

kleinster mittlerer Rückkehrzeit

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

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• Wähle Knoten vi mit kleinster mittlerer Rückkehrzeit 1

πi

Beispiel zu MFVS

• Berechne stationäre Verteilung• Wähle Knoten mit

kleinster mittlerer Rückkehrzeit

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

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• Wähle Knoten vi mit kleinster mittlerer Rückkehrzeit 1

πi

Beispiel zu MFVS

• Berechne stationäre Verteilung• Wähle Knoten mit

kleinster mittlerer Rückkehrzeit• Restgraph vollständig reduzierbar

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Der gemittelte MFVS (MFVSMean)Kernidee

Versuche suboptimale Entscheidungen von MFVS zu vermeiden

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

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

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

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

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

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 . . .

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

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

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

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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Der gemittelte MFVS (MFVSMean)Tie-Break

Welchen Knoten wählen,wenn beide Heuristiken verschiedene Knoten vorschlagen?

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

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

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

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 : R

2 → R

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

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 : R

2 → R

• Wähle Knoten vi mit kleinstem 1eπi

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

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 : R

2 → R

• Wähle Knoten vi mit kleinstem 1eπi

Wahl v h:

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

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 : R

2 → R

• Wähle Knoten vi mit kleinstem 1eπi

Wahl v h:• muss symmetrisch sein

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

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 : R

2 → R

• Wähle Knoten vi mit kleinstem 1eπi

Wahl v h:• muss symmetrisch sein• Kandidaten: arithm. Mittel, geom. Mittel, Maximum, . . .

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

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 : R

2 → R

• Wähle Knoten vi mit kleinstem 1eπi

Wahl v h:• muss symmetrisch sein• Kandidaten: arithm. Mittel, geom. Mittel, Maximum, . . .• Bestes: arithmetrisches Mittel, d.h. h(x , y) = 1

2(x + y)

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

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 : R

2 → R

• Wähle Knoten vi mit kleinstem 1eπi

Wahl v h:• muss symmetrisch sein• Kandidaten: arithm. Mittel, geom. Mittel, Maximum, . . .• Bestes: arithmetrisches Mittel, d.h. h(x , y) = 1

2(x + y)

Resultierender Algorithmus: MFVSMean

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Der gemittelte MFVS (MFVSMean)Beispiel

Beispiel zu MFVSMean

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Der gemittelte MFVS (MFVSMean)Beispiel

Beispiel zu MFVSMean

G

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Der gemittelte MFVS (MFVSMean)Beispiel

Beispiel zu MFVSMean

G

• Berechne stat. Verteilung von MG

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Der gemittelte MFVS (MFVSMean)Beispiel

Beispiel zu MFVSMean

G

G−1• Berechne stat. Verteilung von MG

• Konstruiere inversen Digraphen G−1

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Der gemittelte MFVS (MFVSMean)Beispiel

Beispiel zu MFVSMean

G

G−1• Berechne stat. Verteilung von MG

• Konstruiere inversen Digraphen G−1

• Berechne stat. Verteilung von MG−1

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Der gemittelte MFVS (MFVSMean)Beispiel

Beispiel zu MFVSMean

G G

G−1• Berechne stat. Verteilung von MG

• Konstruiere inversen Digraphen G−1

• Berechne stat. Verteilung von MG−1

• Mittele stat. Verteilungen

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Der gemittelte MFVS (MFVSMean)Beispiel

Beispiel zu MFVSMean

G

G−1• Berechne stat. Verteilung von MG

• Konstruiere inversen Digraphen G−1

• Berechne stat. Verteilung von MG−1

• Mittele stat. Verteilungen• Wähle Knoten

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchKernidee

Bestimme kleines FVS F des Digraphen G = (V ,A)

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchKernidee

Bestimme kleines FVS F des Digraphen G = (V ,A)

• Generiere Nachfolger-FVS F ′ eines gegebenen FVSs F

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchKernidee

Bestimme kleines FVS F des Digraphen G = (V ,A)

• Generiere Nachfolger-FVS F ′ eines gegebenen FVSs F• Steuere Generierung durch Schrittweite d

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchKernidee

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 ′|

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchKernidee

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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchKernidee

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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchKernidee

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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchKernidee

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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchKernidee

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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchKernidee

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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchKernidee

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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchAlgorithmus

MarkovSearch Algorithmus

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchAlgorithmus

MarkovSearch Algorithmus• Eingabe: Digraph G

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchAlgorithmus

MarkovSearch Algorithmus• Eingabe: Digraph G• Bestimme FVS F0 von G mittels MFVSMean

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchAlgorithmus

MarkovSearch Algorithmus• Eingabe: Digraph G• Bestimme FVS F0 von G mittels MFVSMean

• Füge F0 zu Prioritätswarteschlange Q hinzu

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchAlgorithmus

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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchAlgorithmus

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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchAlgorithmus

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:

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchAlgorithmus

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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchAlgorithmus

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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchAlgorithmus

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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchOptimale Schrittweite

Was ist die optimale Schrittweite d?

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchOptimale Schrittweite

Was ist die optimale Schrittweite d?

• Eindeutiger optimaler Wert existiert

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchOptimale Schrittweite

Was ist die optimale Schrittweite d?

• Eindeutiger optimaler Wert existiert• Schwer zu quantifizieren

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchOptimale Schrittweite

Was ist die optimale Schrittweite d?

• Eindeutiger optimaler Wert existiert• Schwer zu quantifizieren• Hängt von der Eingabe-Instanz ab

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MarkovSearchVariierende Schrittweite

0 30 60 90 120 150180

181

182

183

184

185

FVS-

Grö

ße

Schrittweite

100 Iterationen500 Iterationen

FVS-Größe in Abhängigkeit vonSchrittweite d für 100 Zufallsdigraphen(p = 0.05) mit 300 Knoten.

0 50 100 150 200 250457

458

459

460

461

462

FVS-

Grö

ßeSchrittweite

100 Iterationen500 Iterationen

FVS-Größe in Abhängigkeit vonSchrittweite d für 100 Zufallsdigraphen(p = 0.2) mit 500 Knoten.

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Markovsche FVS-AlgorithmenImplementierung und Laufzeit

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Markovsche FVS-AlgorithmenImplementierung und Laufzeit

• Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Markovsche FVS-AlgorithmenImplementierung und Laufzeit

• Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt• Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P

berechnet werden:tπ · P = tπ mit

n∑i=1

πi = 1

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Markovsche FVS-AlgorithmenImplementierung und Laufzeit

• Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt• Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P

berechnet werden:tπ · P = tπ mit

n∑i=1

πi = 1

Laufzeit mit direkter Methode: O(|V |2.376|F |)

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Markovsche FVS-AlgorithmenImplementierung und Laufzeit

• Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt• Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P

berechnet werden:tπ · P = tπ mit

n∑i=1

πi = 1

Laufzeit mit direkter Methode: O(|V |2.376|F |)Iterative Methode:

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Markovsche FVS-AlgorithmenImplementierung und Laufzeit

• Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt• Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P

berechnet werden:tπ · P = tπ mit

n∑i=1

πi = 1

Laufzeit mit direkter Methode: O(|V |2.376|F |)Iterative Methode:

• Ist P irreduzibel und aperiodisch, so gilt:limn→∞ Pn = e tπ, wobei e = t (

1 · · · 1)

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Markovsche FVS-AlgorithmenImplementierung und Laufzeit

• Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt• Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P

berechnet werden:tπ · P = tπ mit

n∑i=1

πi = 1

Laufzeit mit direkter Methode: O(|V |2.376|F |)Iterative Methode:

• Ist P irreduzibel und aperiodisch, so gilt:limn→∞ Pn = e tπ, wobei e = t (

1 · · · 1)

=⇒ limn→∞ txPn = tπ, für jeden Vektor x mit txe = 1

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Markovsche FVS-AlgorithmenImplementierung und Laufzeit

• Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt• Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P

berechnet werden:tπ · P = tπ mit

n∑i=1

πi = 1

Laufzeit mit direkter Methode: O(|V |2.376|F |)Iterative Methode:

• Ist P irreduzibel und aperiodisch, so gilt:limn→∞ Pn = e tπ, wobei e = t (

1 · · · 1)

=⇒ limn→∞ txPn = tπ, für jeden Vektor x mit txe = 1• Bekannt: Für n > d

− log |λ| stimmen txPn und tπ auf ersten dStellen überein (λ subdominanter Eigenwert von P)

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Markovsche FVS-AlgorithmenImplementierung und Laufzeit

• Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt• Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P

berechnet werden:tπ · P = tπ mit

n∑i=1

πi = 1

Laufzeit mit direkter Methode: O(|V |2.376|F |)Iterative Methode:

• Ist P irreduzibel und aperiodisch, so gilt:limn→∞ Pn = e tπ, wobei e = t (

1 · · · 1)

=⇒ limn→∞ txPn = tπ, für jeden Vektor x mit txe = 1• Bekannt: Für n > d

− log |λ| stimmen txPn und tπ auf ersten dStellen überein (λ subdominanter Eigenwert von P)

Laufzeit mit iterativer Methode: O(|A||F | d− ln |λ|)

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Markovsche FVS-AlgorithmenImplementierung und Laufzeit

• Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt• Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P

berechnet werden:tπ · P = tπ mit

n∑i=1

πi = 1

Laufzeit mit direkter Methode: O(|V |2.376|F |)Iterative Methode:

• Rechengenauigkeit üblicherweise beschränkt

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Markovsche FVS-AlgorithmenImplementierung und Laufzeit

• Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt• Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P

berechnet werden:tπ · P = tπ mit

n∑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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Markovsche FVS-AlgorithmenImplementierung und Laufzeit

• Jeder Knoten vom FVS F wird von Markov-Heuristik gewählt• Dazu muss Eigenvektor π = (πi ) der Übergangsmatrix P

berechnet werden:tπ · P = tπ mit

n∑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

Laufzeit mit iterativer Methode: O(|A||F | 1− ln |λ|)

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Gliederung

1 Das FVS-Problem

2 Markovsche FVS-Algorithmen

3 Ergebnisse

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Betrachtete Algorithmen

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Betrachtete Algorithmen

MFVS: Speckenmeyers ursprünglicher Algorithmus

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Betrachtete Algorithmen

MFVS: Speckenmeyers ursprünglicher AlgorithmusMFVSMean: Gemittelte Version von MFVS

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Betrachtete Algorithmen

MFVS: Speckenmeyers ursprünglicher AlgorithmusMFVSMean: Gemittelte Version von MFVS

MarkovSearch: Markovsche lokale Suchfunktion• führt 100 Iterationen aus• generiert jeweils 2 Nachfolger-FVSs

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Betrachtete Algorithmen

MFVS: Speckenmeyers ursprünglicher AlgorithmusMFVSMean: 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) mitmaximalem Produkt∑

v∈N−(v)

d−(v) · ∑v∈N+(v)

d+(v)

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Betrachtete Algorithmen

MFVS: Speckenmeyers ursprünglicher AlgorithmusMFVSMean: 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) mitmaximalem Produkt∑

v∈N−(v)

d−(v) · ∑v∈N+(v)

d+(v)

GRASP: Multistart-Algorithmus von Resende et al• generiert 2048 FVSs• wird derzeit als bester Algorithmus angesehen

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Deterministische Algorithmen

360

370

380

390

400

410

420

430

440

450

460

470

0.05 0.10 0.15 0.20

XXX MFVSMean

XXX MFVSXXX Simple

FVS-Größe für 100 Zufallsdigraphenmit 500 Knoten in Abhängigkeit vonDichte p.

120

140

160

180

200

220

240

260

280

3 5 7 9

XXX MFVSMean

XXX MFVSXXX Simple

FVS-Größe für 100 reguläre Digraphenmit 500 Knoten in Abhängigkeit vomRang k .

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Randomisierte Algorithmem I

170

180

190

200

210

220

230

240

250

260

270

0.05 0.10 0.15 0.20

XXX MarkovSearchXXX GRASP

FVS-Größe für 100 Zufallsdigraphenmit 300 Knoten in Abhängigkeit vonDichte p.

0

50000

100000

150000

200000

250000

300000

0.05 0.10 0.15 0.20

XXX MarkovSearchXXX GRASP

Laufzeit in Sekunden.

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Randomisierte Algorithmem II

120130140150160170180190200210220230240

4 6 8 10

XXX MarkovSearchXXX GRASP

FVS-Größe für 100 reguläre Digraphenmit 400 Knoten in Abhängigkeit vomRang k .

0

5000

10000

15000

20000

25000

4 6 8 10

XXX MarkovSearchXXX GRASP

Laufzeit in Sekunden.

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MFVSMean vs. GRASP vs. MarkovSearch

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MFVSMean vs. GRASP vs. MarkovSearch

Resende Digraphen:

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MFVSMean vs. GRASP vs. MarkovSearch

Resende Digraphen:

• 40 Digraphen

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MFVSMean vs. GRASP vs. MarkovSearch

Resende Digraphen:

• 40 Digraphen• verschiedene Größen (50—1000 Knoten)

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

MFVSMean vs. GRASP vs. MarkovSearch

Resende Digraphen:

• 40 Digraphen• verschiedene Größen (50—1000 Knoten)• verschiedene Dichten

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

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 MarkovSearchFVS-Größe ≤ 6576 6964 6941 6749Laufzeit (Sek.) 193 41626 733

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

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 MarkovSearchFVS-Größe ≤ 6576 6964 6941 6749Laufzeit (Sek.) 193 41626 733

Weitere Informationen: M. Lemaić, E. Speckenmeyer.Markov-Chain-Based Heuristics for the Minimum FeedbackVertex Set Problem,zaik2010-596, http://www.zaik.uni-koeln.de, 2010

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Zusammenfassung

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Zusammenfassung

• Neue Markovsche Algorithmen: MFVSMean, MarkovSearch

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Zusammenfassung

• Neue Markovsche Algorithmen: MFVSMean, MarkovSearch• erzielen gute Resultate

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Zusammenfassung

• Neue Markovsche Algorithmen: MFVSMean, MarkovSearch• erzielen gute Resultate

• MFVSMean

• ist eine signifikante Verbesserung gegenüber MFVS

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

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

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

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

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

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

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

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

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

Das FVS-Problem Markovsche FVS-Algorithmen Ergebnisse

Vielen Dank!