Ищет похожие известные проблемы

Я пытаюсь доказать компьютерную сложность этой задачи оптимизации:
Для заданного связного графа G = (V, E) и множества S ⊊ V. Найдите связный подграф G'= (V', E '), который:

Min f(G')
Min |V'|

Подчинить:

S ⊊ V’
V’ ⊆ V

Это выглядит как обобщение задачи о минимальном остовном дереве, когда не все вершины должны быть включены в дерево. Есть ли известная проблема, которая может быть использована для доказательства сложности этой проблемы путем сокращения?

1 ответ

Решение

Ваша формулировка проблемы не говорит о том, что вы оптимизируете - сначала f(G') и в пределах этого Min|V'|, или наоборот, или и то, и другое вместе каким-то образом объединены.

если вы оптимизируете границы затрат, это проблема минимального дерева Штейнера (SMT) как есть и NP-полная. если вы оптимизируете | V '|, вы можете уменьшить SMT к нему за полиномиальное время следующим образом:

Пусть ребро (u,v) между узлами u и v будет стоить k. Замените этот край следующим путем:

(u, i_1), (i_1, i_2), ..., (i_k, v) 

так что стоимость каждого ребра на этом пути равна 1. Вы заменили ребро стоимости (u,v) на путь с k-1 промежуточными узлами на нем, и каждое ребро имеет стоимость 1.

Сделайте это для каждого ребра на графике. Это уменьшает SMT к вашей проблеме и доказывает, что вы оптимизируете | V '| является NP-полным. Ваше сокращение занимает

O(C*|V|^2) 

время, где C - верхняя граница стоимости ребер в графе.

Просто увидел проблему. Надеюсь, поможет.

Другие вопросы по тегам