如何编码/探索DAG的多个线性排序

时间:2018-04-28 17:34:56

标签: graph genetic-algorithm topological-sort

考虑有向无环图 G(V,E),其中 V = {1,2,3,4,5,6,7} E = {(1,2),(1,3),(1,4),(2,5),(3,5),(4,6),(5,7),(6,7) }

enter image description here

这里的问题是探索图的多个线性排序。因此,如何编码/解码它总是导致图形的可行线性排序(拓扑顺序)?

1 个答案:

答案 0 :(得分:0)

探索DAG的不同线性顺序的一种可能方法是定义具有相同大小 V 的字符串(染色体),其中字符串的每个元素表示每个顶点的成本,即,第 i 个顶点的成本由字符串中第 i 个元素给出。

可以将自定义横向图算法用于解码。每次发现的所有顶点都超过顶点时,该算法应根据字符串提供的成本以升序访问。

对于上面给出的DAG和成本字符串{0.6,0.8,0.5,0.1,0.5,0,3,0.9},获得的线性顺序为{1、4、6、3、2、5、7 }。