Aber dazu muss ich mein kleines Script erstmal komplett neu machen ..(und immer die gute alte Zeit )
Ich denke ich werde höchstwahrscheinlich auf "solche" Ansätze zurück kommen müssen. Die Laufzeitkomplexität macht mir bei meiner Zielgröße von 50k -200k schon sehr zu schaffen. Welchen Wert hatte ich hier mal in den Raum gestellt für die Anzahl der lokalen Fehler ich glaube 2.500.000.000. Das macht bei einer Laufzeit von O(n²) schon beachtliche 6,25 Trillionen! ... grr ...
@BlackJack: Ich glaube ich versteh jetzt deinen Gedankengang. Ich hab wohl einfach den Fehler gemacht den Worten von Cormen bild zu vertrauen und den Sinn Deiner Erweiterung nicht verstanden habe. Ich fasse das nochmal zusammen um hier keine Missverständnisse meiner seits aufkommen zu lassen. Cormen "missbraucht" Ford-Fulkerson um einfach zu zählen. Den Bipa. Graph wandelt er in ein Netzwerk dessen Kanten alle auf eins gesetzt werden. Dies tut er aus dem einzigen Grunde um die Vorraussetzungen für die "Paarung" zu erfüllen (e1,e2 elem. M disjunkt). So ist es nämlich nicht möglich zwei Kanten an einem Knoten aufzubauen, denn der Fluss ist schon auf eins beschränkt. Ford-Fulkerson versucht nun den Maximalen-Fluss zu finden und der entspricht dann auch der Anzahl an "Paarungs"kanten. Diejenigen Kanten mit dem "meisten" Fluss ... oder besser die nicht Teil des Residualgraphen sind und den Fluss "eins" haben (also überhaupt fluss) sind nun Teil der Paarung.
Jetzt kommst Du und "missbrauchst" Cormen in dem du den Zu- und Abfluss der Quelle und Senke bei "eins" lässt(das stellt die Bedingung der Paarung sicher) und suchst nun mit Ford-Fulkerson nach dem maximalem Fluss in dem Bipat. Graphen.
Und jetzt kommt Der Clou: Ich habe jetzt die Paarungen(wegen des auf eins begrenzten Flusses der Quelle und Senke) mit dem Maximalen Fluss .. dem globalen Fehler!!
Code: Alles auswählen
k1 {'b1': 0, 'b2': 0, 'b3': 1} k1,b3 = 13
k3 {'b1': 1, 'b2': 0, 'b3': 0} ==> k3,b1 = 13 ==> maximal möglicher gesammt Fehler von 31
k2 {'b1': 0, 'b2': 1, 'b3': 0} k2,b2 = 5
Jetzt kommt noch das dicke Ende, die Laufzeitkomplexität so richtig hab ich da nix gefunden nur bei Wiki. O(E*f) wobei f der maximale Fluss sein soll oder aber O(V + E²) wobei ich wieder bei meinen 6,25 Trillionen wäre. Lässt sich auch Push-Relabel hier anwenden der O(V² + E) hat wären dann nur 2,5 Milliarden (und das mein 50K Bildern)