Added alternating paths algorithm for bipartite matching