创建一个双一plannar图的 [英] Creating a dual of a plannar Graph

查看:119
本文介绍了创建一个双一plannar图的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

林看着这 PDF 作为即时通讯试图建立一个MSSP(多源最短路径),但IM缺乏知识,如何建立interdegitating树木。到现在为止,我创建卡,因为我不知道我将如何建立其双生成树因此plannar图被创建,但即时通讯。有没有具体的算法/方法或任何文件,该文件可以帮助我解决这个问题?正如我搜索,能找到什么有用的。

解决方案
  1. 如果你不已经有一个,你需要一个组合嵌入。有高效的算法,以获取一个从入射的结构,但平面图的天然来源通常具有天然嵌入。有许多方法来重新present嵌入。我用了一个排列π映射每个半边缘到下一个半边缘逆时针顺序使用相同的头部顶点。与每个(非隔离的)顶点相关联的传入的半边的圆链表

  2. 让转速是映射每个半边它的另一半,与对面的头部和尾部顶点的置换。嵌入置换为对偶图是π的组合物随后转。它映射每个半边缘的脸按顺时针顺序的下一个半边缘(或逆时针上无限的脸,因为你看它的背面)。这会,如果你尝试一些例子用手再清楚不过了。

  3. 在计算从最初的根(我用的Dijkstra,除非你的MSSP实现比我快很多,没有太多的相对改善,以通过使用一个渐近更快的算法可以了),做的最短路径深度优先搜索,其中属于该最短路径树的边缘被忽略。 (另一种方法是参观欧拉游秩序的交错树的半边缘,但这种做法仿佛它会产生额外的对数时动态树操作。)

Im looking at this pdf as im trying to build an MSSP(multiple source shortest path) but im lacking the knowledge how to built interdegitating trees. until now i created the Spanning tree therefore the plannar graph is created, but im stuck cause i have no idea how i will build its dual. Is there any specific algorithm/approach or any paper which could help me solve this? As i searched and could find nothing useful.

解决方案

  1. If you don't have one already, you need a combinatorial embedding. There are efficient algorithms to obtain one from the incidence structure, but natural sources of planar graphs typically have a natural embedding. There are many ways to represent the embedding. I used a permutation π mapping each half-edge to the next half-edge in counterclockwise order with the same head vertex. With each (non-isolated) vertex is associated a circularly linked list of incoming half-edges.

  2. Let rev be the permutation that maps each half-edge to its other half, with opposite head and tail vertices. The embedding permutation for the dual graph is the composition of π followed by rev. It maps each half-edge to the next half-edge on the face in clockwise order (or counterclockwise on the infinite face, because you're looking at its back side). This will be clearer if you try some examples by hand.

  3. After you compute shortest paths from the initial root (I used Dijkstra, and unless your MSSP implementation is much faster than mine, there isn't much relative improvement to be had by using an asymptotically faster algorithm), do a depth-first search where the edges that belong to the shortest-path tree are ignored. (Another alternative is to visit the half-edges of the interdigitating tree in Euler-tour order, but this approach seemed as though it would incur extra logarithmic-time dynamic-tree operations.)

这篇关于创建一个双一plannar图的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆