Ja ich möchte einen schleifenlosen Graphen. Aber ich möchte nicht sofort alle Rückwärtszweige löschen, da es sich in Wahrheit um einen Signalflussgraphen handelt. Daher müssen die gelöschten Kanten später durch andere Elemente ersetzt werden. Aber das ist hier weitestgehend unwichtig.
Tatsache ist, dass so wenig Kanten wie möglich gelöscht werden sollen.
Sieh dir mal das angehängte triviale Beispiel an. Hier kann man natürlich die Rückwärtszeige 5 und 3 löschen. Dann wären die Schleifen weg. Man kann aber auch, und so ist es am effiziensten nur die Kante 2 löschen. Dann sind sofort alle Zyklen eliminiert. Sowohl der äußere als auch der innere.
Ein Ansatz ist über die Schnittmenge der beiden Zyklen zu gehen. Also {2,3} und {1,2,4,5}. Die Schnittmenge ist dabei 2 --> Kante 2 löschen. Das unangenehme dabei ist, dass die Zeitkomplexität O(exp) ist, wächst also exponentiell. Daher bin ich auch der Suche nach einem effizienteren Algorithmus.
Lg