Algorithm 计算在没有干扰的情况下可以打开多少雷达塔的算法

Algorithm 计算在没有干扰的情况下可以打开多少雷达塔的算法,algorithm,complexity-theory,graph-theory,puzzle,Algorithm,Complexity Theory,Graph Theory,Puzzle,我想到了一个有趣的问题,想知道是否有人知道如何解决它: 地球上有许多城市。鲍勃在每个城市都建了一座雷达塔。 每个城市都应该能够播放本地音乐 不可原谅的是,所有的雷达塔都互相干扰,所以鲍勃 必须把它们都关掉 幸运的是,鲍勃发明了他在城市之间放置的盾牌(有些是 放置在地核附近,一些放置在城市边界) 对于N个城市,有N*(N-1)/2个屏蔽 遗憾的是,许多盾牌被摧毁 你得到了一对城市,它们之间没有盾牌 任务是找到在不造成任何干扰的情况下可以打开的雷达塔的最大数量 到目前为止,我已经尝试将其表示为一个图

我想到了一个有趣的问题,想知道是否有人知道如何解决它:

地球上有许多城市。鲍勃在每个城市都建了一座雷达塔。 每个城市都应该能够播放本地音乐

不可原谅的是,所有的雷达塔都互相干扰,所以鲍勃 必须把它们都关掉

幸运的是,鲍勃发明了他在城市之间放置的盾牌(有些是 放置在地核附近,一些放置在城市边界)

对于N个城市,有N*(N-1)/2个屏蔽

遗憾的是,许多盾牌被摧毁

你得到了一对城市,它们之间没有盾牌

任务是找到在不造成任何干扰的情况下可以打开的雷达塔的最大数量


到目前为止,我已经尝试将其表示为一个图(如果城市之间没有屏蔽,则城市是相连的),并找到一个使最常见颜色的数量最大化的图的着色。基本上,我选择一个开始节点,使其变为红色,然后所有周围的节点变为蓝色,然后变为红色,等等。我想知道是否有更快的方法。

如果两个雷达塔位于所提供的对中,且它们之间没有屏蔽,则无法同时打开它们。通过查找节点指示雷达塔已打开的树的最长深度,您可以通过选取具有最长深度的分支,找到可以在不受干扰的情况下打开的塔的最大数量。一旦你选择了一个节点(即打开一个塔),你就必须禁用所有其他没有防护罩的塔。

如果两个雷达塔位于所提供的对中,且它们之间没有防护罩,则不能同时打开它们。通过查找节点指示雷达塔已打开的树的最长深度,您可以通过选取具有最长深度的分支,找到可以在不受干扰的情况下打开的塔的最大数量。一旦你获得一个节点(即打开一座塔),你必须禁用所有其他没有防护罩的塔。

这不是一个关于最大独立集的问题吗?(NP完全,但指数时间算法比原始蛮力搜索更快)

这不是一个关于最大独立集的问题吗?(NP完全,但使用指数时间算法比单纯的暴力搜索更快)

我添加了我的研究成果thanksAh我添加了我的研究成果thanksAh对,所以如果我取我的图的补码,我需要找到最大团。啊,对,所以如果我取我的图的补码,我需要找到最大团。