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完全问题,但为其他变体获得了多项式时间算法。我们在代表人类解剖结构及细胞类型间关系的基准二分图数据集上运行了算法。