powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Задача на графы
9 сообщений из 9, страница 1 из 1
Задача на графы
    #37351410
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вводные.
Есть граф из N < 100 вершин. С вершиной v0 связаны ребром* все остальные вершины. Большинство вершин связано ребрами как минимум с двумя вершинами. В среднем каждая вершина связана ребрами с большинством других вершин. У каждой вершины есть флаг, принимающий значение 1 или 0.

Задача.
Разделить граф на минимальное число пересекающихся субграфов (подграфов?), в каждом из которых все вершины будут связаны ребрами со всеми вершинами. Все субграфы должны содержать вершину v0. В каждом субграфе не должно быть более K<20 вершин с флагом 1 и не более J<20 вершин с флагом 0.

* Здесь и далее под связью ребром подразумевается прямая связь двух вершин. Связь двух вершин через третью (транзитивная?) недостаточна.

Есть у кого-нибудь мысли, как это решить?

Заранее благодарен.

P. S. Это не ВУЗовская задача. Прикладная.
...
Рейтинг: 0 / 0
Задача на графы
    #37351428
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пометки насчет числа вершин сделал, чтобы было понятно, на какой размер данных должен быть ориентирован алгоритм. Пытаться применять его же на граф из миллиона вершин мне не потребуется.
...
Рейтинг: 0 / 0
Задача на графы
    #37351520
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nym,

Первое соображение: если выделить любую клику из графа за вычетом v0, то добавление к ней v0 даст клику с на единицу большим числом вершин. То есть, можно выкинуть из рассмотрения v0 и уменьшить на единицу лимит по соответствующему флагу.

Второе соображение: взять за основу алгоритм Брона-Кербоша .

Третье соображение - вернее, вопрос: нужно строго минимальное количество клик или достаточно близкого к минимальному?
...
Рейтинг: 0 / 0
Задача на графы
    #37351532
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AbstractionТретье соображение - вернее, вопрос: нужно строго минимальное количество клик или достаточно близкого к минимальному?Достаточно близкого. Если еще будет прикинуто, какова вероятность найти более оптимальное решение и на сколько оно будет оптимальнее - будет вообще круто. :)

Еще забыл заметить: время работы алгоритма может быть вплоть до нескольких суток - это редкая операция. Главное, чтобы не месяцы-года-века.
...
Рейтинг: 0 / 0
Задача на графы
    #37351545
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AbstractionПервое соображение: если выделить любую клику из графа за вычетом v0, то добавление к ней v0 даст клику с на единицу большим числом вершин. То есть, можно выкинуть из рассмотрения v0 и уменьшить на единицу лимит по соответствующему флагу. Хорошее соображение. И спасибо за "клику" - не знал, как это называется, теперь хотя бы искать можно.
...
Рейтинг: 0 / 0
Задача на графы
    #37351582
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nym,

С таким временем, N и на современных процессорах, я бы не мудрствуя лукаво развалил задачу надвое: сначала найти Броном-Кербошем все подходящие по условию клики, а потом решать задачу выбора минимального покрытия множества подмножествами (традиционно решается "жадными" алгоритмами). Памяти должно хватить.
...
Рейтинг: 0 / 0
Задача на графы
    #37351591
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abstraction,

а можете ссылку на жадный алгоритм кинуть?
...
Рейтинг: 0 / 0
Задача на графы
    #37351693
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nym,

Ну, вот какая-то презентация, вроде даже толковая.
Задача о покрытии множества в Вики (русскоязычный вариант есть, но он несколько беднее).
...
Рейтинг: 0 / 0
Задача на графы
    #37351756
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abstraction,

теперь информации достаточно.

Спасибо вам, бОльшую часть задачи вы за меня решили. Осталось только выделить время и реализовать.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Задача на графы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]