Max Flow using Ford Fulkerson
Find a path from the source to sink run the maximum flow you can through that path create residual flow in the opposite direction repeat until there are no more paths from source to sink