“二分图”的版本间的差异

来自集智百科 - 复杂系统|人工智能|复杂科学|复杂网络|自组织
跳到导航 跳到搜索
Jie讨论 | 贡献
第13行: 第13行:
 
节点数分别为m=5和n=3的两个集合所组成的一个完整二分图
 
节点数分别为m=5和n=3的两个集合所组成的一个完整二分图
  
In the [[mathematics|mathematical]] field of [[graph theory]], a '''bipartite graph''' (or '''bigraph''') is a [[Graph (discrete mathematics)|graph]] whose [[vertex (graph theory)|vertices]] can be divided into two [[disjoint sets|disjoint]] and [[Independent set (graph theory)|independent sets]] <math>U</math> and <math>V</math> such that every [[edge (graph theory)|edge]] connects a vertex in <math>U</math> to one in <math>V</math>. Vertex sets <math>U</math> and <math>V</math> are usually called the ''parts'' of the graph. Equivalently, a bipartite graph is a graph that does not contain any odd-length [[cycle (graph theory)|cycles]].<ref name=diestel2005graph>{{cite book|last=Diestel|first=Reinard|title=Graph Theory, Grad. Texts in Math|year=2005|publisher=Springer|isbn=978-3-642-14278-9|url=http://diestel-graph-theory.com/}}</ref><ref>{{citation
 
  
In the mathematical field of graph theory, a bipartite graph (or bigraph) is a graph whose vertices can be divided into two disjoint and independent sets <math>U</math> and <math>V</math> such that every edge connects a vertex in <math>U</math> to one in <math>V</math>. Vertex sets <math>U</math> and <math>V</math> are usually called the parts of the graph. Equivalently, a bipartite graph is a graph that does not contain any odd-length cycles.<ref>{{citation
+
 
 +
In the [[mathematics|mathematical]] field of [[graph theory]], a '''bipartite graph''' (or '''bigraph''') is a [[Graph (discrete mathematics)|graph]] whose [[vertex (graph theory)|vertices]] can be divided into two [[disjoint sets|disjoint]] and [[Independent set (graph theory)|independent sets]] <math>U</math> and <math>V</math> such that every [[edge (graph theory)|edge]] connects a vertex in <math>U</math> to one in <math>V</math>. Vertex sets <math>U</math> and <math>V</math> are usually called the ''parts'' of the graph. Equivalently, a bipartite graph is a graph that does not contain any odd-length [[cycle (graph theory)|cycles]].<ref name=diestel2005graph>{{cite book|last=Diestel|first=Reinard|title=Graph Theory, Grad. Texts in Math|year=2005|publisher=Springer|isbn=978-3-642-14278-9|url=http://diestel-graph-theory.com/}}</ref><ref>
 +
 
 +
In the mathematical field of graph theory, a bipartite graph (or bigraph) is a graph whose vertices can be divided into two disjoint and independent sets {\displaystyle U}U and {\displaystyle V}V such that every edge connects a vertex in {\displaystyle U}U to one in {\displaystyle V}V. Vertex sets {\displaystyle U}U and {\displaystyle V}V are usually called the parts of the graph. Equivalently, a bipartite graph is a graph that does not contain any odd-length cycles.[1][2]
  
 
在图论的数学领域中,二分图(或二部图)内的所有顶点可以分为两个不相交且独立的集合U和集合V,并且每个连边(无向或有向)的两个顶点分别在集合U和集合V当中。通常集合U和集合V被称为该二分图的子集。同时,二分图中不包含任何形式的奇数环,即:集合U和集合V构造的点集所形成的循环圈边数不为奇数。
 
在图论的数学领域中,二分图(或二部图)内的所有顶点可以分为两个不相交且独立的集合U和集合V,并且每个连边(无向或有向)的两个顶点分别在集合U和集合V当中。通常集合U和集合V被称为该二分图的子集。同时,二分图中不包含任何形式的奇数环,即:集合U和集合V构造的点集所形成的循环圈边数不为奇数。

2020年8月14日 (五) 10:55的版本

此词条暂由彩云小译翻译,未经人工整理和审校,带来阅读不便,请见谅。

Example of a bipartite graph without cycles

Example of a bipartite graph without cycles

没有圈的二部图的例子

A complete bipartite graph with m = 5 and n = 3

A complete bipartite graph with m = 5 and n = 3

节点数分别为m=5和n=3的两个集合所组成的一个完整二分图


In the mathematical field of graph theory, a bipartite graph (or bigraph) is a graph whose vertices can be divided into two disjoint and independent sets [math]\displaystyle{ U }[/math] and [math]\displaystyle{ V }[/math] such that every edge connects a vertex in [math]\displaystyle{ U }[/math] to one in [math]\displaystyle{ V }[/math]. Vertex sets [math]\displaystyle{ U }[/math] and [math]\displaystyle{ V }[/math] are usually called the parts of the graph. Equivalently, a bipartite graph is a graph that does not contain any odd-length cycles.[1]引用错误:没有找到与</ref>对应的<ref>标签 In contrast, such a coloring is impossible in the case of a non-bipartite graph, such as a triangle: after one node is colored blue and another green, the third vertex of the triangle is connected to vertices of both colors, preventing it from being assigned either color.

The two sets [math]\displaystyle{ U }[/math] and [math]\displaystyle{ V }[/math] may be thought of as a coloring of the graph with two colors: if one colors all nodes in [math]\displaystyle{ U }[/math] blue, and all nodes in [math]\displaystyle{ V }[/math] green, each edge has endpoints of differing colors, as is required in the graph coloring problem.[2] In contrast, such a coloring is impossible in the case of a non-bipartite graph, such as a triangle: after one node is colored blue and another green, the third vertex of the triangle is connected to vertices of both colors, preventing it from being assigned either color.

通常可以将集合U和集合V视为被着色的两类图集:如果其中一类所有顶点为蓝色,另外一类为绿色,那么每条连边的两端必须具有不同的颜色。这是二分图中必须满足的条件。相反,在非二分图(例如三角形)的情况下,这种着色要求是不可能达到的:因为一个顶点为蓝色,另一个为绿色,其三角形剩下的第三个顶点将需要同时连接这两个颜色,很明显这是不可能达到的,因为它违背了要求:二分图中所有顶点必须分为两个不相交且独立的集合U和V。


One often writes [math]\displaystyle{ G=(U,V,E) }[/math] to denote a bipartite graph whose partition has the parts [math]\displaystyle{ U }[/math] and [math]\displaystyle{ V }[/math], with [math]\displaystyle{ E }[/math] denoting the edges of the graph. If a bipartite graph is not connected, it may have more than one bipartition;[3] in this case, the [math]\displaystyle{ (U,V,E) }[/math] notation is helpful in specifying one particular bipartition that may be of importance in an application. If [math]\displaystyle{ |U|=|V| }[/math], that is, if the two subsets have equal cardinality, then [math]\displaystyle{ G }[/math] is called a balanced bipartite graph.[4] If all vertices on the same side of the bipartition have the same degree, then [math]\displaystyle{ G }[/math] is called biregular.

One often writes [math]\displaystyle{ G=(U,V,E) }[/math] to denote a bipartite graph whose partition has the parts [math]\displaystyle{ U }[/math] and [math]\displaystyle{ V }[/math], with [math]\displaystyle{ E }[/math] denoting the edges of the graph. If a bipartite graph is not connected, it may have more than one bipartition;[5] in this case, the [math]\displaystyle{ (U,V,E) }[/math] notation is helpful in specifying one particular bipartition that may be of importance in an application. If [math]\displaystyle{ |U|=|V| }[/math], that is, if the two subsets have equal cardinality, then [math]\displaystyle{ G }[/math] is called a balanced bipartite graph. If all vertices on the same side of the bipartition have the same degree, then [math]\displaystyle{ G }[/math] is called biregular.

对于二分图常用的表达方式是G=(U,V,E),其中U和V分别代表子集,E代表二分图中的连边。如果有一个二分图内部不是连通的,则它可能具有多个二分图;在这种情况下,(U,V,E)标注有助于指定一个特殊的二分图。在实际的应用当中,这无比重要。如果|U|=|V|,即这两个子集具有相同的基数,此时G被称为均衡二分图。如果在二分图中同一侧(同一个子集)所有的顶点都具有相同的度数,则G被称为双正则。


Examples

When modelling relations between two different classes of objects, bipartite graphs very often arise naturally. For instance, a graph of football players and clubs, with an edge between a player and a club if the player has played for that club, is a natural example of an affiliation network, a type of bipartite graph used in social network analysis.引用错误:没有找到与</ref>对应的<ref>标签

| year = 1994}}.</ref>

| year = 1994} . </ref >


Another example where bipartite graphs appear naturally is in the (NP-complete) railway optimization problem, in which the input is a schedule of trains and their stops, and the goal is to find a set of train stations as small as possible such that every train visits at least one of the chosen stations. This problem can be modeled as a dominating set problem in a bipartite graph that has a vertex for each train and each station and an edge for

Another example where bipartite graphs appear naturally is in the (NP-complete) railway optimization problem, in which the input is a schedule of trains and their stops, and the goal is to find a set of train stations as small as possible such that every train visits at least one of the chosen stations. This problem can be modeled as a dominating set problem in a bipartite graph that has a vertex for each train and each station and an edge for

二部图自然出现的另一个例子是在(np 完全)铁路最佳化问题,其中输入的是列车及其停靠时刻表,目标是找到一组尽可能小的火车站,使每列火车至少到达一个选定的车站。这个问题可以被建模为一个二部图中的支配集问题,这个二部图中每列车和每个车站都有一个顶点,每个车站都有一条边

each pair of a station and a train that stops at that station.[6]

each pair of a station and a train that stops at that station.

每一对车站和停在那个车站的火车。


A third example is in the academic field of numismatics. Ancient coins are made using two positive impressions of the design (the obverse and reverse). The charts numismatists produce to represent the production of coins are bipartite graphs.[7]

A third example is in the academic field of numismatics. Ancient coins are made using two positive impressions of the design (the obverse and reverse). The charts numismatists produce to represent the production of coins are bipartite graphs.

第三个例子是钱币学领域。古代硬币的制作是基于对设计的正面印象(正面与背面)。钱币收藏家制作的表示硬币产量的图表是二部图。


More abstract examples include the following:

More abstract examples include the following:

更抽象的例子包括:

  • Every planar graph whose faces all have even length is bipartite.[8] Special cases of this are grid graphs and squaregraphs, in which every inner face consists of 4 edges and every inner vertex has four or more neighbors.[9]
  • The complete bipartite graph on m and n vertices, denoted by Kn,m is the bipartite graph [math]\displaystyle{ G = (U, V, E) }[/math], where U and V are disjoint sets of size m and n, respectively, and E connects every vertex in U with all vertices in V. It follows that Km,n has mn edges.[10] Closely related to the complete bipartite graphs are the crown graphs, formed from complete bipartite graphs by removing the edges of a perfect matching.[11]
}}.</ref>

} . </ref >

  • Hypercube graphs, partial cubes, and median graphs are bipartite. In these graphs, the vertices may be labeled by bitvectors, in such a way that two vertices are adjacent if and only if the corresponding bitvectors differ in a single position. A bipartition may be formed by separating the vertices whose bitvectors have an even number of ones from the vertices with an odd number of ones. Trees and squaregraphs form examples of median graphs, and every median graph is a partial cube.[12]


Properties

Characterization

Bipartite graphs may be characterized in several different ways:

Bipartite graphs may be characterized in several different ways:

二部图可以用几种不同的方式来表示:

  • A graph is bipartite if and only if it is 2-colorable, (i.e. its chromatic number is less than or equal to 2).[4]
  • The spectrum of a graph is symmetric if and only if it's a bipartite graph.[14]
| year = 1994}}.</ref>

| year = 1994} . </ref >


Kőnig's theorem and perfect graphs

In bipartite graphs, the size of minimum vertex cover is equal to the size of the maximum matching; this is Kőnig's theorem.引用错误:没有找到与</ref>对应的<ref>标签[15][16] < ref > { citation

| last1 = Gross | first1 = Jonathan L.
| last1 = Gross | first1 = Jonathan L.

1 = Gross | first1 = Jonathan l.

| last2 = Yellen | first2 = Jay
| last2 = Yellen | first2 = Jay

2 = Yellen | first2 = Jay

| edition = 2nd
| edition = 2nd

2nd

| isbn = 9781584885054
| isbn = 9781584885054

9781584885054

| page = 568
| page = 568

568

| publisher = CRC Press
| publisher = CRC Press

| publisher = CRC Press

| series = Discrete Mathematics And Its Applications
| series = Discrete Mathematics And Its Applications

系列 = 离散数学及其应用

| title = Graph Theory and Its Applications
| title = Graph Theory and Its Applications

| title = 图论及其应用

| url = https://books.google.com/books?id=-7Q_POGh-2cC&pg=PA568
| url = https://books.google.com/books?id=-7Q_POGh-2cC&pg=PA568

Https://books.google.com/books?id=-7q_pogh-2cc&pg=pa568

| year = 2005}}.</ref> An alternative and equivalent form of this theorem is that the size of the maximum independent set plus the size of the maximum matching is equal to the number of vertices.
| year = 2005}}.</ref> An alternative and equivalent form of this theorem is that the size of the maximum independent set plus the size of the maximum matching is equal to the number of vertices.

2005}}.</ref > 这个定理的另一种等价形式是最大独立集的大小加上最大匹配的大小等于顶点的数目。

In any graph without isolated vertices the size of the minimum edge cover plus the size of a maximum matching equals the number of vertices.引用错误:没有找到与</ref>对应的<ref>标签 Combining this equality with Kőnig's theorem leads to the facts that, in bipartite graphs, the size of the minimum edge cover is equal to the size of the maximum independent set, and the size of the minimum edge cover plus the size of the minimum vertex cover is equal to the number of vertices.

| year = 2012}}.</ref> Combining this equality with Kőnig's theorem leads to the facts that, in bipartite graphs, the size of the minimum edge cover is equal to the size of the maximum independent set, and the size of the minimum edge cover plus the size of the minimum vertex cover is equal to the number of vertices.

2012}}.</ref > 将这个等式与 k nig 定理结合起来得到这样一个结论: 在二部图中,最小边覆盖的大小等于最大独立集的大小,最小边覆盖的大小加上最小顶点覆盖的大小等于顶点的数目。


Another class of related results concerns perfect graphs: every bipartite graph, the complement of every bipartite graph, the line graph of every bipartite graph, and the complement of the line graph of every bipartite graph, are all perfect. Perfection of bipartite graphs is easy to see (their chromatic number is two and their maximum clique size is also two) but perfection of the complements of bipartite graphs is less trivial, and is another restatement of Kőnig's theorem. This was one of the results that motivated the initial definition of perfect graphs.引用错误:没有找到与</ref>对应的<ref>标签 Perfection of the complements of line graphs of perfect graphs is yet another restatement of Kőnig's theorem, and perfection of the line graphs themselves is a restatement of an earlier theorem of Kőnig, that every bipartite graph has an edge coloring using a number of colors equal to its maximum degree.

|isbn= 9780387984889|url=https://books.google.com/books?id=SbZKSZ-1qrwC&pg=PA165%7Cpage=165%7Cauthor-link= Béla Bollobás }}.</ref> Perfection of the complements of line graphs of perfect graphs is yet another restatement of Kőnig's theorem, and perfection of the line graphs themselves is a restatement of an earlier theorem of Kőnig, that every bipartite graph has an edge coloring using a number of colors equal to its maximum degree.

9780387984889 | url = https://books.google.com/books?id=sbzksz-1qrwc&pg=pa165%7Cpage=165%7Cauthor-link= · 贝拉 · 博洛巴斯}。完全图的线图的补图的完美性是对 k nig 定理的又一次重申,线图本身的完美性是对 k nig 早期定理的重申,即每个二部图都有一个边着色,其颜色数等于它的最大度。


According to the strong perfect graph theorem, the perfect graphs have a forbidden graph characterization resembling that of bipartite graphs: a graph is bipartite if and only if it has no odd cycle as a subgraph, and a graph is perfect if and only if it has no odd cycle or its complement as an induced subgraph. The bipartite graphs, line graphs of bipartite graphs, and their complements form four out of the five basic classes of perfect graphs used in the proof of the strong perfect graph theorem.引用错误:没有找到与</ref>对应的<ref>标签

| year = 2006| citeseerx = 10.1.1.111.7265| arxiv = math/0212070}}.</ref>

2006 | citeseerx = 10.1.1.111.7265 | arxiv = math/0212070}} . </ref >


Degree

For a vertex, the number of adjacent vertices is called the degree of the vertex and is denoted [math]\displaystyle{ \deg(v) }[/math].

For a vertex, the number of adjacent vertices is called the degree of the vertex and is denoted [math]\displaystyle{ \deg(v) }[/math].

对于一个顶点,相邻顶点的数目称为顶点的度数,表示为 < math > deg (v) </math > 。

The degree sum formula for a bipartite graph states that

The degree sum formula for a bipartite graph states that

二部图的度和公式表明:

[math]\displaystyle{ \sum_{v \in V} \deg(v) = \sum_{u \in U} \deg(u) = |E|\, . }[/math]

[math]\displaystyle{ \sum_{v \in V} \deg(v) = \sum_{u \in U} \deg(u) = |E|\, . }[/math]

[math]\displaystyle{ \sum_{v \in V} \deg(v) = \sum_{u \in U} \deg(u) = |E|\, . }[/math]


The degree sequence of a bipartite graph is the pair of lists each containing the degrees of the two parts [math]\displaystyle{ U }[/math] and [math]\displaystyle{ V }[/math]. For example, the complete bipartite graph K3,5 has degree sequence [math]\displaystyle{ (5,5,5),(3,3,3,3,3) }[/math]. Isomorphic bipartite graphs have the same degree sequence. However, the degree sequence does not, in general, uniquely identify a bipartite graph; in some cases, non-isomorphic bipartite graphs may have the same degree sequence.

The degree sequence of a bipartite graph is the pair of lists each containing the degrees of the two parts [math]\displaystyle{ U }[/math] and [math]\displaystyle{ V }[/math]. For example, the complete bipartite graph K3,5 has degree sequence [math]\displaystyle{ (5,5,5),(3,3,3,3,3) }[/math]. Isomorphic bipartite graphs have the same degree sequence. However, the degree sequence does not, in general, uniquely identify a bipartite graph; in some cases, non-isomorphic bipartite graphs may have the same degree sequence.

二部图的度序列是一对列表,每一个列表包含两部分的度。例如,完全二分图 k < sub > 3,5 具有度序列 < math > (5,5,5) ,(3,3,3,3,3,3) </math > 。同构二部图具有相同的度序列。然而,度序列通常不能唯一地识别二部图,在某些情况下,不同构的二部图可能具有相同的度序列。


The bipartite realization problem is the problem of finding a simple bipartite graph with the degree sequence being two given lists of natural numbers. (Trailing zeros may be ignored since they are trivially realized by adding an appropriate number of isolated vertices to the digraph.)

The bipartite realization problem is the problem of finding a simple bipartite graph with the degree sequence being two given lists of natural numbers. (Trailing zeros may be ignored since they are trivially realized by adding an appropriate number of isolated vertices to the digraph.)

二部实现问题是寻找度序列为两个给定自然数列表的简单二部图的问题。(尾随零可能被忽略,因为它们通过向有向图添加适当数量的孤立顶点来实现。)


Relation to hypergraphs and directed graphs

The biadjacency matrix of a bipartite graph [math]\displaystyle{ (U,V,E) }[/math] is a (0,1) matrix of size [math]\displaystyle{ |U|\times|V| }[/math] that has a one for each pair of adjacent vertices and a zero for nonadjacent vertices.[17] Biadjacency matrices may be used to describe equivalences between bipartite graphs, hypergraphs, and directed graphs.

The biadjacency matrix of a bipartite graph [math]\displaystyle{ (U,V,E) }[/math] is a (0,1) matrix of size [math]\displaystyle{ |U|\times|V| }[/math] that has a one for each pair of adjacent vertices and a zero for nonadjacent vertices. Biadjacency matrices may be used to describe equivalences between bipartite graphs, hypergraphs, and directed graphs.

二部图的二邻接矩阵 < math > (u,v,e) </math > 是一个大小为 < math > | u | times | v | </math > 的(0,1)矩阵,每对相邻顶点有一个1,对不相邻顶点有一个0。双邻接矩阵可以用来描述二部图、超图和有向图之间的等价关系。


A hypergraph is a combinatorial structure that, like an undirected graph, has vertices and edges, but in which the edges may be arbitrary sets of vertices rather than having to have exactly two endpoints. A bipartite graph [math]\displaystyle{ (U,V,E) }[/math] may be used to model a hypergraph in which U is the set of vertices of the hypergraph, V is the set of hyperedges, and E contains an edge from a hypergraph vertex v to a hypergraph edge e exactly when v is one of the endpoints of e. Under this correspondence, the biadjacency matrices of bipartite graphs are exactly the incidence matrices of the corresponding hypergraphs. As a special case of this correspondence between bipartite graphs and hypergraphs, any multigraph (a graph in which there may be two or more edges between the same two vertices) may be interpreted as a hypergraph in which some hyperedges have equal sets of endpoints, and represented by a bipartite graph that does not have multiple adjacencies and in which the vertices on one side of the bipartition all have degree two.[18]

A hypergraph is a combinatorial structure that, like an undirected graph, has vertices and edges, but in which the edges may be arbitrary sets of vertices rather than having to have exactly two endpoints. A bipartite graph [math]\displaystyle{ (U,V,E) }[/math] may be used to model a hypergraph in which is the set of vertices of the hypergraph, is the set of hyperedges, and contains an edge from a hypergraph vertex to a hypergraph edge exactly when is one of the endpoints of . Under this correspondence, the biadjacency matrices of bipartite graphs are exactly the incidence matrices of the corresponding hypergraphs. As a special case of this correspondence between bipartite graphs and hypergraphs, any multigraph (a graph in which there may be two or more edges between the same two vertices) may be interpreted as a hypergraph in which some hyperedges have equal sets of endpoints, and represented by a bipartite graph that does not have multiple adjacencies and in which the vertices on one side of the bipartition all have degree two.

一个超图是一个组合结构,就像一个无向图,有顶点和边,但其中的边可能是任意的顶点集,而不是必须有正好两个端点。二部图 < math > (u,v,e) </math > 可以用来建模一个超图,其中超图的顶点集是超边的集合,它包含一条从超图顶点到超图边的边,而这条边恰好是超图的端点之一。在此对应关系下,二部图的二邻接矩阵正好是对应超图的关联矩阵。作为二部图和超图之间对应关系的一种特殊情形,任何多重图(在同一两个顶点之间可能有两条或更多条边的图)都可以被解释为一个超图,其中一些超边具有相等的端点集,并由一个不具有多重邻接的二部图表示,在这个超图中,二部分一边的顶点都具有二次。


A similar reinterpretation of adjacency matrices may be used to show a one-to-one correspondence between directed graphs (on a given number of labeled vertices, allowing self-loops) and balanced bipartite graphs, with the same number of vertices on both sides of the bipartition. For, the adjacency matrix of a directed graph with n vertices can be any (0,1) matrix of size [math]\displaystyle{ n\times n }[/math], which can then be reinterpreted as the adjacency matrix of a bipartite graph with n vertices on each side of its bipartition.引用错误:没有找到与</ref>对应的<ref>标签 In this construction, the bipartite graph is the bipartite double cover of the directed graph.

| year = 1958}}.</ref> In this construction, the bipartite graph is the bipartite double cover of the directed graph.

| year = 1958}。 </ref > 在这个结构中,二部图是有向图的二部双覆盖。


Algorithms

Testing bipartiteness

It is possible to test whether a graph is bipartite, and to return either a two-coloring (if it is bipartite) or an odd cycle (if it is not) in linear time, using depth-first search. The main idea is to assign to each vertex the color that differs from the color of its parent in the depth-first search forest, assigning colors in a preorder traversal of the depth-first-search forest. This will necessarily provide a two-coloring of the spanning forest consisting of the edges connecting vertices to their parents, but it may not properly color some of the non-forest edges. In a depth-first search forest, one of the two endpoints of every non-forest edge is an ancestor of the other endpoint, and when the depth first search discovers an edge of this type it should check that these two vertices have different colors. If they do not, then the path in the forest from ancestor to descendant, together with the miscolored edge, form an odd cycle, which is returned from the algorithm together with the result that the graph is not bipartite. However, if the algorithm terminates without detecting an odd cycle of this type, then every edge must be properly colored, and the algorithm returns the coloring together with the result that the graph is bipartite.引用错误:没有找到与</ref>对应的<ref>标签

| year = 2004}}.</ref>

| year = 2004} . </ref >


Alternatively, a similar procedure may be used with breadth-first search in place of depth-first search. Again, each node is given the opposite color to its parent in the search forest, in breadth-first order. If, when a vertex is colored, there exists an edge connecting it to a previously-colored vertex with the same color, then this edge together with the paths in the breadth-first search forest connecting its two endpoints to their lowest common ancestor forms an odd cycle. If the algorithm terminates without finding an odd cycle in this way, then it must have found a proper coloring, and can safely conclude that the graph is bipartite.引用错误:没有找到与</ref>对应的<ref>标签

| year = 2006}}.</ref>

| year = 2006} . </ref >


For the intersection graphs of [math]\displaystyle{ n }[/math] line segments or other simple shapes in the Euclidean plane, it is possible to test whether the graph is bipartite and return either a two-coloring or an odd cycle in time [math]\displaystyle{ O(n\log n) }[/math], even though the graph itself may have up to [math]\displaystyle{ O(n^2) }[/math] edges.引用错误:没有找到与</ref>对应的<ref>标签

| year = 2009}}.</ref>

2009} . </ref >


Odd cycle transversal

A graph with an odd cycle transversal of size 2: removing the two blue bottom vertices leaves a bipartite graph.

A graph with an odd cycle transversal of size 2: removing the two blue bottom vertices leaves a bipartite graph.

一个具有大小为2的奇圈横截的图: 去掉两个蓝色底顶点后得到一个二部图。

Odd cycle transversal is an NP-complete algorithmic problem that asks, given a graph G = (V,E) and a number k, whether there exists a set of k vertices whose removal from G would cause the resulting graph to be bipartite.引用错误:没有找到与</ref>对应的<ref>标签 The problem is fixed-parameter tractable, meaning that there is an algorithm whose running time can be bounded by a polynomial function of the size of the graph multiplied by a larger function of k.[19] The problem is fixed-parameter tractable, meaning that there is an algorithm whose running time can be bounded by a polynomial function of the size of the graph multiplied by a larger function of k.[19] The name odd cycle transversal comes from the fact that a graph is bipartite if and only if it has no odd cycles. Hence, to delete vertices from a graph in order to obtain a bipartite graph, one needs to "hit all odd cycle", or find a so-called odd cycle transversal set. In the illustration, every odd cycle in the graph contains the blue (the bottommost) vertices, so removing those vertices kills all odd cycles and leaves a bipartite graph.

| year = 2004| citeseerx = 10.1.1.112.6357}}.</ref> The name odd cycle transversal comes from the fact that a graph is bipartite if and only if it has no odd cycles.  Hence, to delete vertices from a graph in order to obtain a bipartite graph, one needs to "hit all odd cycle", or find a so-called odd cycle transversal set.  In the illustration, every odd cycle in the graph contains the blue (the bottommost) vertices, so removing those vertices kills all odd cycles and leaves a bipartite graph.

10.1.1.112.6357}.名称奇圈横截来自于这样一个事实: 一个图是二部图当且仅当它没有奇圈。因此,要从图中删除顶点以得到二部图,就需要“遍历所有奇圈” ,或者找到一个所谓的奇圈横截集。在图中,图中的每个奇数圈都包含蓝色(最底部的)顶点,因此去掉这些顶点会杀死所有奇数圈并留下一个二部图。


The edge bipartization problem is the algorithmic problem of deleting as few edges as possible to make a graph bipartite and is also an important problem in graph modification algorithmics. This problem is also fixed-parameter tractable, and can be solved in time O(2k m2),引用错误:没有找到与</ref>对应的<ref>标签 where k is the number of edges to delete and m is the number of edges in the input graph.

| year = 2006}}</ref> where k is the number of edges to delete and m is the number of edges in the input graph.

| year = 2006} </ref > 其中 k 是要删除的边数,m 是输入图中的边数。


Matching

A matching in a graph is a subset of its edges, no two of which share an endpoint. Polynomial time algorithms are known for many algorithmic problems on matchings, including maximum matching (finding a matching that uses as many edges as possible), maximum weight matching, and stable marriage.引用错误:没有找到与</ref>对应的<ref>标签 In many cases, matching problems are simpler to solve on bipartite graphs than on non-bipartite graphs,[20] and many matching algorithms such as the Hopcroft–Karp algorithm for maximum cardinality matching[21] work correctly only on bipartite inputs.

| year = 1993}}.</ref> In many cases, matching problems are simpler to solve on bipartite graphs than on non-bipartite graphs, and many matching algorithms such as the Hopcroft–Karp algorithm for maximum cardinality matching work correctly only on bipartite inputs.

1993}}.在许多情况下,二部图上的匹配问题比非二部图上的匹配问题更容易解决,而且许多匹配算法,如最大基数匹配的霍普克罗夫特-卡普算法,只能在二部图输入上正确工作。


As a simple example, suppose that a set [math]\displaystyle{ P }[/math] of people are all seeking jobs from among a set of [math]\displaystyle{ J }[/math] jobs, with not all people suitable for all jobs. This situation can be modeled as a bipartite graph [math]\displaystyle{ (P,J,E) }[/math] where an edge connects each job-seeker with each suitable job.[22] A perfect matching describes a way of simultaneously satisfying all job-seekers and filling all jobs; Hall's marriage theorem provides a characterization of the bipartite graphs which allow perfect matchings. The National Resident Matching Program applies graph matching methods to solve this problem for U.S. medical student job-seekers and hospital residency jobs.引用错误:没有找到与</ref>对应的<ref>标签

}}.</ref>

} . </ref >


The Dulmage–Mendelsohn decomposition is a structural decomposition of bipartite graphs that is useful in finding maximum matchings.[23]

The Dulmage–Mendelsohn decomposition is a structural decomposition of bipartite graphs that is useful in finding maximum matchings.

Dulmage-Mendelsohn 分解是二部图的一种结构分解,它有助于找到最大匹配。


Additional applications

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. A Tanner graph is a bipartite graph in which the vertices on one side of the bipartition represent digits of a codeword, and the vertices on the other side represent combinations of digits that are expected to sum to zero in a codeword without errors.引用错误:没有找到与</ref>对应的<ref>标签 A factor graph is a closely related belief network used for probabilistic decoding of LDPC and turbo codes.[24]

| year = 2005}}.</ref> A factor graph is a closely related belief network used for probabilistic decoding of LDPC and turbo codes.

2005}}.因子图是一种密切相关的置信网络,用于 LDPC 码和 turbo 码的概率译码。


In computer science, a Petri net is a mathematical modeling tool used in analysis and simulations of concurrent systems. A system is modeled 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.引用错误:没有找到与</ref>对应的<ref>标签

| year = 2007}}.</ref>

| year = 2007} . </ref >


In projective geometry, Levi graphs are a form of bipartite graph used to model the incidences between points and lines in a configuration. Corresponding to the geometric property of points and lines that every two lines meet in at most one point and every two points be connected with a single line, Levi graphs necessarily do not contain any cycles of length four, so their girth must be six or more.引用错误:没有找到与</ref>对应的<ref>标签

| year = 2009}}.</ref>

2009} . </ref >


See also

  • Bipartite dimension, the minimum number of complete bipartite graphs whose union is the given graph
  • Convex bipartite graph, a bipartite graph whose vertices can be ordered so that the vertex neighborhoods are contiguous
  • Multipartite graph, a generalization of bipartite graphs to more than two subsets of vertices
  • Parity graph, a generalization of bipartite graphs in which every two induced paths between the same two points have the same parity
  • Quasi-bipartite graph, a type of Steiner tree problem instance in which the terminals form an independent set, allowing approximation algorithms that generalize those for bipartite graphs
  • Split graph, a graph in which the vertices can be partitioned into two subsets, one of which is independent and the other of which is a clique


References

  1. Diestel, Reinard (2005). Graph Theory, Grad. Texts in Math. Springer. ISBN 978-3-642-14278-9. http://diestel-graph-theory.com/. 
  2. 2.0 2.1 2.2 , 2012 {{citation}}: Missing or empty |title= (help).
  3. , 2008 {{citation}}: Missing or empty |title= (help).
  4. 4.0 4.1 Asratian, Denley & Häggkvist (1998), p. 7.
  5. , 2008 {{citation}}: Missing or empty |title= (help).
  6. Niedermeier, Rolf (2006). Invitation to Fixed Parameter Algorithms (Oxford Lecture Series in Mathematics and Its Applications). Oxford. pp. 20–21. ISBN 978-0-19-856607-6. 
  7. Bracey, Robert (2012). "On the Graphical Interpreation of Herod's Coinage in Judaea and Rome in Coins". pp. 65–84.
  8. Soifer, Alexander (2008), The Mathematical Coloring Book, Springer-Verlag, pp. 136–137, ISBN 978-0-387-74640-1. This result has sometimes been called the "two color theorem"; Soifer credits it to a famous 1879 paper of Alfred Kempe containing a false proof of the four color theorem.
  9. Bandelt, H.-J.; Chepoi, V.; Eppstein, D. (2010), "Combinatorics and geometry of finite and infinite squaregraphs", SIAM Journal on Discrete Mathematics, 24 (4): 1399–1440, arXiv:0905.4537, doi:10.1137/090760301.
  10. Asratian, Denley & Häggkvist (1998), p. 11.
  11. Archdeacon, d; Debowsky, m.; Dinitz, J.; Gavlas, h. (2004), "完全二分图的循环系统减去一个因子", Discrete Mathematics 2012年3月24日, 284 284 (1–3 第一季,第三集): 37–43, doi:10.1016/j.disc. 2003.11.021 {{citation}}: Check |doi= value (help); Unknown parameter |日志= ignored (help); Unknown parameter |页数= ignored (help); line feed character in |issue= at position 4 (help); line feed character in |journal= at position 21 (help); line feed character in |volume= at position 4 (help).
  12. Ovchinnikov, Sergei (2011), Graphs and Cubes, Universitext, Springer. See especially Chapter 5, "Partial Cubes", pp. 127–181.
  13. Asratian, Denley & Häggkvist (1998), Theorem 2.1.3, p. 8. Asratian et al. attribute this characterization to a 1916 paper by Dénes Kőnig. For infinite graphs, this result requires the axiom of choice.
  14. Biggs, Norman (1994), [https://books.google.com/books?id=6TasRmIFOxQC&pg=PA53 Https://books.google.com/books?id=6tasrmifoxqc&pg=pa53 代数图论], Cambridge Mathematical Library (2nd 2nd ed.), Cambridge University Press 剑桥大学出版社, p. 53 53, ISBN [[Special:BookSources/9780521458979 9780521458979|9780521458979 9780521458979]] {{citation}}: Check |isbn= value: length (help); Check |url= value (help); line feed character in |edition= at position 4 (help); line feed character in |isbn= at position 14 (help); line feed character in |page= at position 3 (help); line feed character in |publisher= at position 27 (help); line feed character in |url= at position 55 (help).
  15. , pp. 116–119 {{citation}}: Missing or empty |title= (help).
  16. {{citation 116-119} .
  17. Asratian, Denley & Häggkvist (1998), p. 17.
  18. 模板:SpringerEOM
  19. 19.0 19.1 , 1978 {{citation}}: Missing or empty |title= (help) 引用错误:无效<ref>标签;name属性“reed2004finding”使用不同内容定义了多次
  20. Ahuja, Magnanti & Orlin (1993), p. 463: "Nonbipartite matching problems are more difficult to solve because they do not reduce to standard network flow problems."
  21. Hopcroft, John E.; Karp, Richard M. (1973), "An n5/2 algorithm for maximum matchings in bipartite graphs", SIAM Journal on Computing, 2 (4): 225–231, doi:10.1137/0202019.
  22. Ahuja, Magnanti & Orlin (1993), Application 12.1 Bipartite Personnel Assignment, pp. 463–464.
  23. Dulmage & Mendelsohn (1958).
  24. Moon (2005), p. 686.


External links

Category:Graph families

类别: 图族

Category:Parity (mathematics)

分类: 奇偶校验(数学)


This page was moved from wikipedia:en:Bipartite graph. Its edit history can be viewed at 二分图/edithistory