给定一个DAG(有向无环图),与源和汇。找到具有源和源的DAG,其边的数量最少,使得:小号Ť d '小号Ť
对于所有对存在从一个路径到在当且仅当存在从一个路径到在。ü v d ü v d '
该应用的一个应用是由DAG代表一组家庭。对于这样的表示,每个源是宇宙中的一个变量,每个接收器是集合族中的一个集合,并且元素u在集合S中,当且仅当存在从表示u的顶点到表示u的顶点的路径时设置S。
这个问题众所周知吗?这个问题有多项式算法吗?
我猜解决方案一定是原始图的子图,对吗?如果是,我认为此问题可以通过显示定向斯坦纳树很难的标准归约法来捕获集合覆盖:为每个元素创建一个顶点,为每个集合创建一个顶点,如果集合S创建一个有向边(S,u)包含元素u。然后将一个新的顶点和边添加到所有设置的顶点。从新顶点到所有汇点(元素顶点)之间都有一条路径。为了保留所有这些顶点,我们必须选择覆盖所有元素的最小数量的顶点集。
—
Michael Lampis
不,总的说来,它不应该是原始图的子图。源是元素,并且仅当某些集合包含该元素时,才需要on元素。接收器是集合,您不能删除要表示的集合,因此,如果一个接收器是从所有节点都是接收器或源的朴素图开始的,则唯一可以做的就是添加顶点和移动/删除边。
—
Martin Vatshelle 2015年
这个问题似乎还没有很好地定义。对的顶点集有什么限制?您是否要求D '的顶点集与D的顶点集相同?这的源和汇d '是相同的源和汇d?有一个函数f :V D → V D '将D的顶点映射到D '的顶点,并且条件实际上是在D中存在从u到v的路径,前提是存在从到 ˚F (v )在 d '?每个人可能会导致一个稍微不同的问题。编辑问题进行澄清?
—
DW
我澄清了这个问题,实际上,我的意思是说,源和汇是相同的。我认为映射非常接近相同,将两个接收器映射到同一节点的唯一方法是,如果它们可以从相同的源集合(即表示相同的集合)到达。可以将两个源映射到同一节点的唯一方法是它们到达完全相同的接收器。因此,我认为在对D进行一些简单的预处理之后,这些问题将是等效的。
—
Martin Vatshelle 2015年
dag D实际上与问题无关,不是吗?您也可以将S和T之间的二部图作为输入。
—
EmilJeřábek,2015年