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

Graph 如何编码/探索DAG的多个线性排序,graph,genetic-algorithm,topological-sort,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)} 这里的问题是探索图的多重线性排序。因此,如何编码/解码它,使其始终导致图的可行线性顺序(拓扑顺序)?探索DAG不同线性顺序的一种可能方法是定义一个具有相同大小V的字符串(染色体),其中字符串的每个元素表示每个顶点的成本,即。,第i个顶点的代价由字符串中的第i个元素给出 可以使用自定义的横截图算法进行解码。每次可以找到多个顶点

考虑有向无环图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)}


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

探索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}