Теорема 2. Задача
является NP-трудной в сильном смысле.Теорема 3. Задача
является NP-трудной в сильном смысле.Доказательство. Сформулируем соответствующую задачу распознавания. В обслуживающую систему, состоящую из двух приборов А и В, в момент времени d=0 поступает частично упорядоченное множество требований
N{1,2...., л}.. Каждая компонента связности графа редукции отношения -, заданного на N, является цепью. Длительность выполнения каждой операции равна единице. Требуется определить, существует ли расписание S°, при котором
для заданного значения у.Построим псевдополнномиальное сведение задачи о 3-разбиении к сформулированной задаче распознавания.
Положим:
, гдеНа множестве N заладим отношение -, полагай / - Iтогда и только тогда, когда . Очевидно, каждая компонента связности графа редукции этого отношения представляет собой цепь.
Пусть процесс обслуживания каждого требования состоит в выполнении единственной операции. Для требований из множества N1положим L1= (В) при
. Для каждого , положимДля требования из множества
- линейно –упорядоченное и число его элементов равно , то при любом расписаний с общим временем обслуживания требований, равным у, требования множества N3n+1 должны обслуживаться непрерывно одно за другим начиная с момента времени d= 0. На рис. 2 представлен фрагмент расписания обслуживания требований множества при котором общее время обслуживания требований равно у. Это расписание является периодическим с периодомРис(1.2)
Таким образом, обслуживание требований множества
при любом расписании с общим временем обслуживания требований, равным у, может быть осуществлено только в тех единичных интервалах, которые определяются последовательностьюПокажем, что расписание S0можно построить тогда и только тогда, когда имеет решение задача о 3-раэбиении. Пусть существует разбиение множества № на n0 трехэлементных подмножеств
таких, что при j=1,0. Тогда, обслуживая множество требований интервале , в соответствии с отношением получаем расписание с общим временем обслуживания требований, равным у.Пусть существует расписание S°, при котором
.Так как суммарная длительность обслуживания всех требований прибором А (прибором В) равна у, то при расписании Sкак прибор А, так и прибор В в интервале [0; у] не простаивает. По условию обслуживание каждого требования для которогоУчитывая, что в построенном при доказательстве теоремы 3 примере процесс обслуживания каждого требования
состоит из единственной операции, можно сделать вывод о том, что и задача является NP-трудной в сильном смысле.2. Алгоритм
Этап 1. Построить бесконтурный граф
в результате выполнения следующего шага не более чем q - 1 раз. Первоначально положитьПусть после выполнения
шагов получен смешанный граф , у которого l вершин отмечено и существует неотмеченная вершина i, в которую не заходит ни одна дуга, исходящая из неотмеченной вершины. (Если такой вершины нет, то в графе (Q,U) содержится контур. Конец.)Шаг 1 + 1. Отметить вершину i и в случае, если в графе G(1) есть ребра, инцидентные этой вершине, то заменить их исходящими из нее дугами. Полученный в результате граф обозначить G(J+1) = (Q,U(l+1), V(l+1)). Если V(l+1) =
, то бесконтурный граф построен: . В противном случае выполнить этот шаг, заменив l на l + 1.Этап 2. В соответствии с алгоритмом 3.1 построить которое допустимо относительно ориентированного графа
и смешанного графа G. Конец.Нетрудно убедиться в корректности описанного алгоритма, что и завершает доказательство теоремы .
Очевидно, трудоемкость этапа 1 алгоритма не превосходит
и, следовательно, общая трудоемкость построения активного расписания, допустимого относительно смешанного графа G, не превосходитЕсли для каждого графа G(1) в алгоритме рассматривать все возможные варианты выбора вершины i, то получим все множество P(G) = {G1 G2, ..., G} бесконтурных графов, порождаемых смешанным графом G. Следовательно, все множество допустимых относительно G активных расписаний можно построить за
элементарных действий.Пример 1. В условиях примера 3.1 (см. рис. 1) воспользуемся алгоритмом 2 для построения допустимого относительно С = (Q, V, V) расписания.
На этапе 1 алгоритма строим бесконтурный ориентированный граф из множества P{G). Положим G0= G и выберем на шаг 1 вершину 1, в которую не заходит ни одна дуга. Отметим вершину 1 и заменим дугами инцидентные ей ребра. Получим смешанный граф
На шаге 2 аналогичные преобразования проделаем для вершины 3, на шаге 3 — для вершины 4, на шаге 4 - для вершины 2, на шаге 5 - для вершины 9. Полученный в результате граф
представлен на рис1 в виде сетевого графика.Рис (2.1)
На этапе 2 воспользуемся алгоритмом 1 для построения активного расписания, допустимого относительно ориентированного графа
. Сначала сформируем списки потомков и списки предшественников каждой вершины , затем распределим вершины графа по рангам наконец, по формуле 1 вычислим значения для всех вершин последовательно в порядке неубывания рангов вершин. Полученные значения указаны около соответствующих вершин сетевого графика.