Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Network Flow: Bipartite graph Bipartite definition from the dictionary: involving or made by two separate parties. Suppose we want to match army officers with available
Network Flow: Bipartite graph Bipartite definition from the dictionary: involving or made by two separate parties. Suppose we want to match army officers with available assignments on different bases in different states. There are five officers available and five available assignments. We ask each officer to list the assignments acceptable to them. There is an edge between an officer node and an assignment node if that assignment is acceptable to the officer. A bipartite graph is a graph with two sides T (for top) and B (for bottom) such that all edges go between nodes in T to nodes in B. A matching is a set of edges with no endpoints in common. Ideally, we would want a perfect matching: a matching that connects every point in T with a point in B. Suppose there is no perfect matching, then we would want a maximum matching: a matching with the maximum possible number of edges. We can solve this as follows: (a) Set up a fake start node s connected to all vertices in T. Connect all vertices in B to a fake sink node T. Orient all edges top-to-bottom and give each edge a capacity of 1. (b) Find a max flow from s to t (or minimum cut). (c) Output the edges between T and B that were not cut when determining your minimum cut as the desired matching. This process finds a legal matching because edges from T to B have capacity 1. For a bipartite graph, max flow=min cut is Knig's theorem and Hall's marriage theorem. Now that you understand the process, answer the question is on the next page. Network Flow: Bipartite graph Bipartite definition from the dictionary: involving or made by two separate parties. Suppose we want to match army officers with available assignments on different bases in different states. There are five officers available and five available assignments. We ask each officer to list the assignments acceptable to them. There is an edge between an officer node and an assignment node if that assignment is acceptable to the officer. A bipartite graph is a graph with two sides T (for top) and B (for bottom) such that all edges go between nodes in T to nodes in B. A matching is a set of edges with no endpoints in common. Ideally, we would want a perfect matching: a matching that connects every point in T with a point in B. Suppose there is no perfect matching, then we would want a maximum matching: a matching with the maximum possible number of edges. We can solve this as follows: (a) Set up a fake start node s connected to all vertices in T. Connect all vertices in B to a fake sink node T. Orient all edges top-to-bottom and give each edge a capacity of 1. (b) Find a max flow from s to t (or minimum cut). (c) Output the edges between T and B that were not cut when determining your minimum cut as the desired matching. This process finds a legal matching because edges from T to B have capacity 1. For a bipartite graph, max flow=min cut is Knig's theorem and Hall's marriage theorem. Now that you understand the process, answer the question is on the next page
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started