Это проблема покрытия множества , для которой существует много известных алгоритмов. Чтобы смоделировать это как пример проблемы набора покрытия, сопоставьте каждый узел с набором узлов, которые будет покрывать камера в этом узле. Первоначальная проблема выбора наименьшего количества узлов эквивалентна выбору наименьшего количества этих наборов.
В общем, это проблема «NP Hard», то есть не существует известного алгоритма, который всегда дает минимумпокрытие, а также хорошо масштабируется для крупных случаев проблемы. Поскольку проблема требует минимума, эвристический алгоритм не подходит, поэтому вам нужно выполнить что-то вроде обратного поиска .