Abstract
■■■
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
If you allow them to specify a degree of preference, this turns into the more general min-cost bipartite matching, or the assignment problem. Although a highly useful problem, it’s a bit harder to solve—I’ll get to that later.
- 2.
In some ways, this problem is similar to the path counting in Chapter 8. The main difference, however, is that in that case we counted all possible paths (such as in Pascal’s Triangle), which would usually entail lots of overlap—otherwise the memoization would be pointless. That overlap is not permitted here.
- 3.
Actually, the proof I used in the zero-one case was just a simplified version of the proof I use here. There are proofs for Menger’s theorem that don’t rely on the idea of flow as well.
- 4.
This is, of course, pseudopolynomial, so choose your capacities wisely.
- 5.
Also available online: http://books.google.com/books?id=NvuFAglxaJkC&pg=PA299
- 6.
Note that the sum here is the in-edge lower bounds minus the out-edge lower bounds—the opposite of how we sum the flows. That’s exactly the point.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2014 Magnus Lie Hetland
About this chapter
Cite this chapter
Hetland, M.L. (2014). Matchings, Cuts, and Flows. In: Python Algorithms. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-0055-1_10
Download citation
DOI: https://doi.org/10.1007/978-1-4842-0055-1_10
Published:
Publisher Name: Apress, Berkeley, CA
Print ISBN: 978-1-4842-0056-8
Online ISBN: 978-1-4842-0055-1
eBook Packages: Professional and Applied ComputingApress Access BooksProfessional and Applied Computing (R0)