考虑图中的DAG(或多个DAG),存在节点的子集,在每个子集中,我希望尽可能多地连接节点而不在DAG中创建循环。
考虑一下这个例子,
这里我想加入尽可能多的红色节点而不在图中创建任何循环。解决方案很简单,因为所有这些都可以连接,见下图。
另一个例子,
在这里,我想加入尽可能多的红色节点,并尽可能多地加入绿色节点。在此示例中,绿色节点I和F应该连接,绿色节点K和N.如果绿色节点按照提到的方式连接,则所有红色节点也可以连接。
所以我所追求的是一种通用算法,对于给定的DAG和DAG中的一组(或多组)节点,尽可能多地加入节点而不在图中创建周期。