Bipartite graph
From Wikipedia, the free encyclopedia
In the mathematical field of graph theory, a bipartite graph is a special graph where the set of vertices can be divided into two disjoint sets U and V such that no edge has both end-points in the same set.
Contents |
[edit] Intuitive definition
The best way to think of a bipartite graph is one whose nodes can be colored red and blue such that no edge exists between like colors. For example, this cannot be done with a fully connected graph with 3 vertices (a triangle). (If the first node is colored red and the second one is colored blue, what happens to the third?)
[edit] Mathematical definition
A simple undirected graph is called bipartite if there exists a partition of the vertex set so that both V1 and V2 are independent sets. One often writes to denote a bipartite graph whose partition has the parts V1 and V2. If | V1 | = | V2 | , that is, if the number of elements in V1 is equal to the number of elements in V2, then G is called a balanced bipartite graph.
[edit] Applications
Bipartite graphs are useful for modelling matching problems. An example of bipartite graph is a job matching problem. Suppose we have a set of people P and a set of jobs J, with not all people suitable for all jobs. We can model this as a graph with P + J the set of vertices. If a person pi is suitable for a certain job ji there is an edge between pi and ji in the graph. The marriage theorem provides a characterization of bipartite graphs which allow perfect matchings.
Bipartite graphs are extensively used in modern Coding theory, especially to decode codewords received from the channel. Factor graphs and Tanner graphs are examples of this.
In computer science, a Petri net is a mathematical modelling tool used in analysis and simulations of concurrent systems. A system is modelled as a bipartite directed graph with two sets of nodes: A set of "place" nodes that contain resources, and a set of "event" nodes which generate and/or consume resources. There are additional constraints on the nodes and edges that constrain the behavior of the system. Petri nets utilize the properties of bipartite directed graphs and other properties to allow mathematical proofs of the behavior of systems while also allowing easy implementation of simulations of the system.
[edit] Examples
- Every tree is bipartite.
- Cycle graphs with an even number of vertices are bipartite.
[edit] Properties
- A graph is bipartite if and only if it does not contain an odd cycle.
- The size of minimum vertex cover is equal to the size of the maximum matching (König's theorem).
- The size of the maximum independent set plus the size of the maximum matching is equal to the number of vertices.
- For a connected bipartite graph the size of the minimum edge cover is equal to the size of the maximum independent set.
- For a connected bipartite graph the size of the minimum edge cover plus the size of the minimum vertex cover is equal to the number of vertices.
- A graph is bipartite if and only if it is two colorable, (i.e. its chromatic number is 2).
- Every bipartite graph is perfect.
[edit] See also
[edit] External links
- Weisstein, Eric W., Bipartite Graph at MathWorld.