Bipartite graphs model the relationships between two disjoint sets of entities in several applications and are naturally drawn as 2-layer graph drawings. In such drawings, the two sets of entities (vertices) are placed on two parallel lines (layers), and their relationships (edges) are represented by segments connecting vertices. Methods for constructing 2-layer drawings often try to minimize the number of edge crossings. We use vertex splitting to reduce the number of crossings, by replacing selected vertices on one layer by two (or more) copies and suitably distributing their incident edges among these copies. We study several optimization problems related to vertex splitting, either minimizing the number of crossings or removing all crossings with fewest splits. While we prove that some variants are \NP-complete, we obtain polynomial-time algorithms for others. We run our algorithms on a benchmark set of bipartite graphs representing the relationships between human anatomical structures and cell types.
翻译:双分图在多个应用中模拟两个不相交实体集之间的关系,自然可以绘制为二层图形。在这种绘图中,将两个实体集(顶点)放置在两条平行线(层)上,它们的关系(边)由连接顶点的线段表示。构建二层图的方法通常试图最小化交叉的边的数量。我们使用“顶点分裂”来减少交叉的数量,通过将一层上的选定顶点替换为两个(或多个)副本,并适当分配其连接边。我们研究了与顶点分裂相关的多个优化问题,不论是最小化交叉数还是用最少的分裂消除所有交叉数。虽然我们证明了一些变体是NP完全的,但我们为其他问题获得了多项式时间算法。我们在由人体解剖结构和细胞类型之间关系表示的双分图基准数据集上运行我们的算法。