Так моя проблема заключается в следующем:остовных деревьев с минимальным количеством листьев
У меня неориентированный (полное) взвешенный граф G = (V, E), и я хотел бы, чтобы генерировать все возможные связующих деревьев с минимальным количеством листьев, т. е. с минимальным количеством вершин степени 1. Назовем этот вид деревьев MIN_LEAF.
Возможно, я хотел бы напрямую генерировать, среди всех деревьев с минимальным количеством листьев, тот, который имеет также минимальный общий вес (обратите внимание, что это не обязательно минимальное покрывающее дерево). Является ли проблема принятия решения о том, является ли дерево T MIN_LEAF для заданного графа G NP-полным?
Если это так, мне интересно, существует ли какой-то эвристический алгоритм (жадный или локальный поиск), который может хотя бы дать приблизительное решение этой проблемы.
Заранее спасибо.
спасибо. Просто хочу добавить, что версия решения для решения является NP-полной: если задано целое число k> = 2, представляющее максимальное количество листьев, разрешенных в остовном дереве, графа G и дерева решений-кандидатов T, тривиально проверить в полиномиальном времени, если T является остовным деревом для G с числом листьев, меньшим или равным k. – user7427473
@ user7427473 Абсолютно. Поскольку в исходном вопросе у вас не было такого бита, именно поэтому я упомянул ** NP ** - твердость, а не полноту. – templatetypedef