У меня есть домашнее задание, от которого я некоторое время ломал голову, и я буду благодарен за любые подсказки. Речь идет о выборе известной проблемы, NP-полнота которой доказана, и построении перехода от этой проблемы к следующей проблеме, которую я назову DGD (диагностика направленного графа).
проблема
Экземпляр DGD состоит из вершин , направленных ребер и целого положительного числа . Есть три типа вершин: вершины, только входящих ребра , вершины только с уходящими краями и вершинами с входящим и исходящими ребрами . Пусть , кроме того .V = I . ∪ вывода . ∪ B E k I O B D = O × I
Теперь проблема в том, можем ли мы покрыть все узлы не более чем элементами , т.е.D
где означает, что существует направленный путь от до .a b
Я думаю, что проблема Доминирующего множества - это та, от которой я должен уменьшить, потому что это также касается покрытия подмножества узлов другим подмножеством. Я попытался создать экземпляр DGD, сначала создав два узла для каждого элемента доминирующего набора, скопировав все ребра, а затем установив экземпляра DGD равным таковому экземпляра DS.
Предположим, что простой экземпляр DS с узлами , и и ребрами и . Это экземпляр типа yes с ; доминирующий набор в этом случае состоит только из узла . Сокращение с только что описанным методом приведет к созданию экземпляра DGD с двумя путями и ; чтобы покрыть все узлы, достаточно одной пары . Это сработало бы отлично, если бы не тот факт, что доминирующий набор экземпляра DS, конечно, не может быть определен за полиномиальное время, что здесь является обязательным требованием.
Я обнаружил, что существует много красивых способов преобразования ребер и вершин при сокращении, но моя проблема как-то выразить DGD's в терминах DS . Доминирующий Сет казался подходящей проблемой для уменьшения, но из-за этого я думаю, что, возможно, мне следует попытаться уменьшить проблему, у которой нет такого ?