You can edit almost every page by Creating an account and confirming your email.

Bipartite realization algorithm

From EverybodyWiki Bios & Wiki



The Bipartite realization algorithm is an algorithm in graph theory solving the bipartite realization problem, i.e. the question of whether there exists for two finite lists of nonnegative integers a simple bipartite graph such that its degree sequence corresponds exactly to these lists. For a positive answer, the pair of lists is called bigraphic. The algorithm constructs a special solution if one exists, or proves that one cannot find a positive answer. The construction is based on a recursive algorithm. It has never been published in a scientific paper but works similarly to the Havel-Hakimi Algorithm for the graph realization problem or the Kleitman-Wang algorithms for the digraph realization problem.

The algorithm

The algorithm is based on the following theorem.

Let (a1,,an) and (b1,,bn) be two finite lists of nonnegative integers such that a1an and let bi>0. The pair of lists (a1,,an), (b1,,bn) is bigraphic if and only if the pair of lists (a11,,abi1,abi+1,,an), (b1,,bi1,0,bi+1,,bn) is bigraphic.

If the given pair of lists is bigraphic, then the theorem will be applied at most n times on the current pair of lists. This process ends when both lists only contain zeros. In each step of the algorithm, one constructs the edges of a bipartite graph with vertices v1,,vn and w1,,wn in the two partite sets, i.e. if it is possible to reduce the lists, then we add edges {wi,v1},{wi,v2},,{wi,vbi}. When one of the current lists contains negative entries in any step of the algorithm, the theorem proves that the lists from the beginning are not bigraphic.

Proof

⇐: If the pair (a11,,abi1,abi+1,,an), (b1,,bi1,0,bi+1,,bn) is bigraphic, then there exists a labeled bipartite graph G(U,V,E) with this degree sequence. Especially vertex vi has degree zero. We connect vertex vi with vertices u1,,ubi by edges and get a bipartite graph with degree sequence (a1,,an),(b1,,bn).

⇒: We consider a bipartite graph G(U,V,E) with degree sequence (a1,,an), (b1,,bn) such that a maximum number of vertices u1,,ubi is adjacent to vertex vi. Assume one of these vertices, say uj, is not adjacent to vertex vi. Then there is a vertex uk with k>bij such that {uj,vi} is no edge and {uk,vi} is one. Since ajak there is a further vertex vl such that {uj,vl} is an edge and {uk,vl} is none. We delete in G the edges {uk,vi},{uj,vl} and add the edges {uj,vi},{uk,vl} obtaining a bipartite graph G with the same degree sequence. The number of adjacent vertices of vertex vi in u1,,ubi is larger than in G, in contradiction to our assumption. We conclude that in G vertex vi is adjacent to all vertices u1,,ubi. We delete in G all incident edges of vi and get a bipartite graph with degree sequence (a11,,abi1,abi+1,,an), (b1,,bi1,0,bi+1,,bn).

See also


This article "Bipartite realization algorithm" is from Wikipedia. The list of its authors can be seen in its historical. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.