是否有一种算法可以获得由其路径中的颜色集定义的最小有向图?

问题描述

给定许多无序颜色集,每个颜色集都有一个定义的开始和结束节点,我想要一个生成有向图的算法,其中

  • 每个集合定义一条通过图形的路径,包括集合中的所有颜色,从集合开始节点开始,到其结束节点结束

  • 图中从起始节点到结束节点的所有路径都必须匹配其中一个集合

一个集合的例子可能是

start: 1
end: 2
must include: red,green,blue

输出图的路径节点可以是任何顺序,只要它从集合的起始节点开始并在结束节点结束。该图不必连接,因此从技术上讲,一个有效的解决方案是将所有路径分开的图(如示例 3),但这通常不是最佳解决方案。

我希望图形具有尽可能少的彩色节点。边的数量无关紧要。

示例: 图像顶部的每一行都是一个集合,起始节点是左边的黑色节点,结束节点是右边的节点。底部的图是我希望算法输出输出图。

在这个例子中,两条路径共享一种颜色来制作最小图

路径分裂并重新连接以获得最小图的情况

无法共享颜色的情况,因为它会创建一组未定义的路径(例如 1 -> red -> 2)

如果算法也能处理有成本的节点,那就太好了。每种颜色都有一个成本,最小的图就是成本总和最小的图。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)