Baserer seg på restkapasiteten og finner forøkende stier, så lenge det er mulig. Når det ikke lenger er mulig er flyten maksimal. Dette er det algoritmen kommer frem til.
Ford Fulkerson er en generell metode som kan implementere forskjellige subrutiner:
F.eks om vi bruker BFS får vi algoritmen som heter Edmonds-Karp.
Normal implementasjon:
- Finn forøkende sti først
- Finn så flaskehalsen i stien(lavest restkapasitet)
- Oppdaterer flyt langs stien med denne verdien.
Alternativ implementasjon, fletter inn BFS: (denne versjonen står ikke i læreboka)
- Finn flaskehalser underveis
- Hold styr på hvor mye flyt vi får frem til hver node
- Traverser bare noder vi ikke har nådd frem til ennå(BFS egenskap)
Maksimal flyt
Input: Et flytnett
Output: En flyt
Operasjon | Antall | Kjøretid | Totalt |
---|---|---|---|
Finn forøkende sti | $O(Ef)$ |
Algoritme | Info | Best case | Worst case |
---|---|---|---|
Ford-Fulkerson | TODO | ||
Edmonds-Karp | Ford-Fulkerson med BFS |