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 splits to minimize the number of crossings. 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.
翻译:二分图在多种应用中建模两个不相交实体集合之间的关系,通常被自然地绘制为2层图。在此类绘图中,两类实体(顶点)被放置在两条平行线(层)上,其关系(边)由连接顶点的线段表示。构建2层图的方法通常试图最小化边交叉的数量。我们通过顶点拆分减少交叉数量,具体做法是将选定层上的顶点替换为两个(或更多)副本,并合理地将它们的关联边分配至这些副本。我们研究了与顶点拆分相关的若干优化问题,以最小化交叉数量。虽然我们证明了部分变体是NP完全的,但也为其他变体获得了多项式时间算法。我们在一个代表人体解剖结构与细胞类型之间关系的二分图基准集上运行了我们的算法。