给定G =(V,E)每条边都有这三种颜色{绿,红,蓝}中的一种。 如果他拥有所有三种颜色,我们称之为“彩色路径”。如何找到最短的彩色路径?
Input: graph G(V,E),weight function w:E->Q+ , colored edges and vertices s .
output: algorithm that finds for every vertices v, a shortest path from s
that is Colored path
我的解决方案是通过图形行走,计数每个顶点的路径具有颜色数。创建名为G1,G2的图形的3个拷贝,G3
对于每一个信息v C(V)= 2(c是从s的颜色编号,以该路径)连接V1的第二曲线(G2)到V2与边缘权重= 0。
对于每个边缘c(v)= 3从边缘权重= 0的v2(从G2)到v3(到G3)连接。
将dijkstra从s运行到t3(在G3中)。
我的解决方案是否正确?
与'古典'全对最短路径问题不同的是,可能存在顶点“u”,“v”,其中根本没有从u到v的彩色路径,即使图已连接;由于边的类别,问题似乎也不容易分解,因为彩色路径可以分解为不是彩色路径的路径。 – Codor
你能举一个更详细的建筑例子吗? – Codor
你的算法的描述是没有意义的。什么是“每边c(v)= 3”?什么是“从s到这个路径的颜色数量”? – user31264