我正在为以下问题寻找合适的关键字/术语,因为我在Google上找不到任何关于此主题的内容:
我有一个图表,其中每个边和每个节点都分配给某个类/颜色或任何你称之为的颜色。现在我想找到一个开始和一个目标节点之间的路径,在路径上有一些约束。例如,我希望路径上的“蓝色”节点尽可能少,或者最大。 2个“红色”边缘,或这些东西的组合。当然还有通常的边缘成本,除了固定路径约束外,还必须最小化。
如何调用此类问题,或者我需要搜索什么?
祝你好运 标记
答案 0 :(得分:0)
我认为不存在这样一般问题的名称。但是,我很确定你可以通过简单的Dijkstra搜索重新建模你的图形并解决这个问题:
试图避免某些(类型)顶点:假设你有一个要避免的顶点,并且它有k个邻居。将其替换为K_k(即具有k个顶点的clique),并将每个邻居连接到k个新顶点中的一个。然后将所有clique-edge的权重设置为大的。现在,通过原始顶点的每条路径都必须通过集团并“支付费用”,即如果可能的话,将避免这样做
试图避免某些边缘:相应地提高边缘重量
然后,运行一个简单的Dijkstra搜索。如果您有多个要避免的类,您甚至可以设置权重以确定避免每个类的优先级。
希望有所帮助, 卢卡斯