Восстановление графиков из степени распределения

12

Учитывая распределение степеней, как быстро мы можем построить график, который следует заданному распределению степеней? Ссылка или эскиз алгоритма были бы хорошими. Алгоритм должен сообщать «нет», если граф не может быть построен, и любой один пример, если можно построить несколько графов.

singhsumit
источник
Добро пожаловать! Как дается «распределение степеней»? Как стохастическое распределение, как список степеней, ...?
Рафаэль
1
Смотрите упражнение 2.6 здесь . Приведен алгоритм создания графа из заданной последовательности степеней.
Utdiscant
2
Чтобы прояснить комментарий Рафаэля, когда я читаю распределение степеней , я думаю о вероятностном распределении по степеням. Как отмечает Utdiscant, последовательность степеней, вероятно, то, что вы хотите. Если вы имеете в виду вероятностный смысл, вы, вероятно, ищете какой-то рандомизированный алгоритм построения, который пытается «приблизить» распределение. Однако для меня не имеет смысла «сообщать« нет »» в этой настройке, потому что я думаю, что большинство графиков будет чем-то вроде выброса?
Лукас Кук
И если вы действительно хотите сгенерировать график с заданным распределением степеней, то эта статья, похоже, имеет смысл. Кажется, алгоритм, описанный в моем предыдущем комментарии, на самом деле является алгоритмом Гавела-Хакими в ответе У Инь.
Utdiscant

Ответы:

9

Если вы имеете в виду, как построить такой простой граф (без собственных циклов и параллельных ребер), возможно, вам нужна теорема Гавела-Хакими. Вы можете сами погуглить, и страница википедии Степень (теория графов) также полезна.

У Инь
источник
Благодарю. да, вики-страница полезна в этом случае ..
singhsumit
11

nd1,...,dn

KnnviKndivividi=0vij1jdi

N=d1+...+dnHHM

MMH1indivi1,...,vidiuiG

O(Nω)ω2.373O(n2ω)

Артем Казнатчеев
источник
Из вашего (довольно ясного) объяснения не совсем понятно, почему умножение матриц входит в уравнение.
Рафаэль
2
O(|V||E|)O(N2.5)H