覆盖图中所有节点所需的最少摄像机数量

问题描述 投票:0回答:1

我在leetcode中遇到了一个名为“二叉树相机”的问题。

我想知道如何解决这个类似的问题:-

您必须将摄像机放置在图的节点处,以便覆盖整个图。节点上的摄像机监视其所有直接邻居节点及其自身。找到覆盖所有节点所需的最少摄像机数量。

algorithm graph dynamic-programming graph-theory graph-algorithm
1个回答
0
投票

这是set cover problem,有许多众所周知的算法。要将其建模为设置覆盖问题的一个实例,请将每个节点映射到该节点上的摄像机将覆盖的一组节点。

通常,这是一个“ NP Hard”问题,这意味着没有已知的算法总是能够提供最小的覆盖率,并且可以很好地扩展到问题的大实例。由于问题要求最小值,因此启发式算法不适合,因此您需要执行backtracking search之类的操作。

© www.soinside.com 2019 - 2024. All rights reserved.