Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=1008678&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Tue Apr 12 10:29:36 2016
Кодировка: Windows-1251
Вопрос про графы - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
General Discussion >> Study (Archive)

Страницы: 1
Fan
member

Рег.: 03.12.2002
Сообщений: 185
Из: Ясенево
Рейтинг: 21
  Вопрос про графы
      04.04.2004 20:01
 

Есть связный ориентированный граф. Известно, что из одной вершины (назовем ее корнем) есть путь в любую другую. Нужно выделить из графа все "независимые" подграфы. (независимые - ни из одной вершины одного подграфа нет пути ни в одну вершину другого). Можно даже не все, главное, чтобы эти подграфы покрывали как можно большую часть исходного большого графа. (весь большой граф покрыть не удастся, т.к. из корня есть путь в любую вершину). Кто нибудь знает, существует ли алгоритм для этого?(прямой перебор не считается)

Приветствуются любые комменатрии и предложения.

Fan
member

Рег.: 03.12.2002
Сообщений: 185
Из: Ясенево
Рейтинг: 21
  Re: Вопрос про графы [re: Fan]
      04.04.2004 22:43
 

up

Anonymous
Незарегистрирован
(10.7.20.31)

  Re: Вопрос про графы [re: Fan]
      05.04.2004 13:10
 

Есть тривиальное (и по данному условию задачи - правильное) решение. Все вершины загоняем в "первый" "незавимый" подграф. Теперь смотрим: подграфы покрывают весь граф (т.е. условие максимальности есть) и т.к. число подграфов меньше 2, то основное требование независимости тоже выполнено.

Уточни условие, плз.

tichy
old hand

Рег.: 30.09.2003
Сообщений: 924
Рейтинг: 363
  Re: Вопрос про графы [re: Fan]
      05.04.2004 15:26
 

Если хочется найти нетривиальное решение, то может быть тебе поможет такая идея. Запишем матрицу смежности для этого графа (при этом считаем, что на диагонали стоят 1 - из вершины можно пройти в саму себя). Для каждого из векторов вида (1,0,0,...,0), (0,1,0,...,0),..., (0,0,0,...,1) проделываем следующую операцию: применяем к нему матрицу смежности (один или несколько раз) до тех пор, пока количесво ненулевых координат в нем возрастает. Получаем n векторов, по крайней мере один из которых имеет все ненулевые координаты (тот, который соответствует вершине из которой можно пройти во все другие), так вот такие векторы не рассматриваем . Теперь наша задача выбрать среди оставшихся систему попарно ортогональных векторов с максимальной суммой количества ненулевых координат в них. Это можно сделать, например, рекурсией: берем какой-нибудь вектор и из нашего набора оставляем лишь те векторы, которые ему ортогональны (т.е. имеют нули на тех местах, где выбранный вектор их не имеет) и с этим поднабором проводим ту же операцию; перебрав все допустимые наборы, находим тот из них, который имеет максимальную сумму количества ненулевых координат. Когда такой набор найден, по нему строим искомые подграфы: k-ый подграф содержит те вершины, которые имеют номера ненулевых координат в k-ом векторе найденного набора.
Надеюсь, мне удалось объяснить алгоритм достаточно внятно, если нет - извини и задавай вопросы. Может, конечно, он тебя не устроит.

Nine17
Furia Roja

Рег.: 26.06.2003
Сообщений: 25543
Рейтинг: 13161
  Re: Вопрос про графы [re: Fan]
      05.04.2004 16:10
 

Какая-то двусмысленная формулировка у задачи. То ли максимальную площадь покрытия нужно, то ли максимальное количество подграфов. Ты уж определись сначала с целью-то.



Entre flores fandanguillos y alegria nació España mi tierra de amor!
Fan
member

Рег.: 03.12.2002
Сообщений: 185
Из: Ясенево
Рейтинг: 21
  Re: Вопрос про графы [re: Nine17]
      05.04.2004 16:35
 

Скажем так, нужно выделить Р подграфов(независимых, где Р - заданно), так, чтобы площадь покрытия была максимальна



Редактировал Fan (05.04.2004 21:16)
Fan
member

Рег.: 03.12.2002
Сообщений: 185
Из: Ясенево
Рейтинг: 21
  Re: Вопрос про графы [re: tichy]
      05.04.2004 21:16
 

Спасибо. Похоже, почти то , что нужно.

tichy
old hand

Рег.: 30.09.2003
Сообщений: 924
Рейтинг: 363
  Re: Вопрос про графы [re: Fan]
      06.04.2004 15:45
 

Пожалуйста. Надеюсь, что помогло.

Fan
member

Рег.: 03.12.2002
Сообщений: 185
Из: Ясенево
Рейтинг: 21
  Re: Вопрос про графы [re: tichy]
      15.04.2004 20:18
 

Хочу вернуться опять к этому вопросу. Предложенный алгоритм, конечно, хорош, но он не всегда работает.


На этом рисунке приведен пример графа. Алгоритм, описанный тобой не найдет здесь независимых подграфов, хотя они есть. Это, например, два подграфа (3,6) и (7,8). Минус этого алгоритма в том, что он находит "абсолютно независимые подграфы". То есть, требование, чтобы ни из одной вершины одного подграфа нельзя было попасть ни в одну вершину другого, ПЕРЕВЫПОЛНЕНО Алгоритм находит подграфы, такие, что не существует вершины, такой, в которую можно попасть из обоих подграфов. В данном случае, в вершину 9 можно попасть из обоих подграфов (3,6) и (7,8), хотя они и независимы.

Если есть еще какие-нибудь предложения - буду рад их услышать. Может быть, автор предыдущего алгоритма предложит его модернизацию Или кто-нибудь другой предложит свой способ решения задачи.... Спасибо заранее

Anonymous
Незарегистрирован
(10.7.20.31)

  Re: Вопрос про графы [re: Fan]
      16.04.2004 01:30
 

1. Делаем транзитивное замыкание.
2. Забываем про ориентированность.

Опр. Множество вершин графа называется внутренне устойчивым, если ни одна из этих
вершин не связана ребром ни с одной другой.
Опр. Максимальным внутренним устойчивым множеством называется внутренне устойчивое множество максимального размера.
Опр. Числом внутренней устойчивости называется размер максимального внутренне устойчивого множества.

Теперь смотрим на твою задачу. Если мы нашли P независимых подграфов, где P равно числу внутренней устойчивости графа, и выберем из каждого подграфа по одной вершине, то эти вершины в преобразованном графе будут образовывать внутренне устойчивое множество, причем в силу того, что их P - максимальное.

Отсюда сложность алгоритма решения твоей задачи (по крайней мере при одном P) не меньше сложности нахождения максимального внутренне устойчивого множества.

Сложность нахождения максимального внутренне устойчивого множества двойственна к задаче о максимальной клике, т.е. является NP-полной.

Страницы: 1

General Discussion >> Study (Archive)

Дополнительная информация
2 зарегистрированных и 1 анонимных пользователей просматривают этот форум.

Модераторы:  Basilio, The_Nameless_One 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в