@ru_python

Страница 2675 из 9768
A
13.04.2017
13:48:11
ещё такое дело, на связанном взвешенном графе можно создать minimal spanning tree, то есть соединить все узлы рёбрами с минимальными весами, каждый узел будет иметь хотя бы одно ребро. из-за отсутсвия циклов получается дерево. допустим мне нужна подобная структура, но каждый узел хочу соединить хотя бы двумя рёбрами с остальным графом. появятся циклы и это уже не будет называтся деревом. в какую сторону копать?

Nikolay
13.04.2017
13:53:40
а в чем проблема? алгоритмы базовые-то все равно сработают

кроме того, необязательно будут циклы, если ребра направленные

Google
Nikolay
13.04.2017
13:54:09
какие там стандартные алгоритмы, Прим/Крускал?

shadowjack
13.04.2017
13:55:23
В общем докажи существование и единственность сначала.

A
13.04.2017
13:55:24
Nikolay
13.04.2017
13:55:30
рёбра ненаправленые.
тогда тем более Прим/Крускал

A
13.04.2017
13:56:11
тогда тем более Прим/Крускал
ну по приму я уже создал MST, нужно покумекать, как его обобщить.

shadowjack
13.04.2017
13:56:25
Nikolay
13.04.2017
13:56:31
обобщить на что?

shadowjack
13.04.2017
13:56:53
на N>1

Nikolay
13.04.2017
13:56:55
ты вроде никаких изменений не назвал, которые его сломают :)

или я плохо понял

shadowjack
13.04.2017
13:58:10
Кстати из поределения MST проистекает что добавить в него ребер без того, чтобы образовались циклы, нельзя.

Google
shadowjack
13.04.2017
13:58:50
Максимальное дерево

Vasiliy
13.04.2017
13:59:02
>допустим мне нужна подобная структура, но каждый узел хочу соединить хотя бы двумя рёбрами с остальным графом.

подобная эта какая?

структура, в которой каждая вершина имеет минимум два ребра, с минимальным общим весом?

не факт, что такая существует

shadowjack
13.04.2017
14:00:42
я думаю, это из определения любого дерева так)
существуют такие деревья, в которые можно добавить ребра, и они останутся деревьями.

shadowjack
13.04.2017
14:01:29
Пустое дерево например

A
13.04.2017
14:01:29
забыл уточнить, подобность в том, что помимо минимального ребра, добавить второе, следующее по "минимальности" веса ребро (и соответсвующий узел) ребро.

Vasiliy
13.04.2017
14:02:11
все равно непонятно, что нужно

Пустое дерево например
ну добавь ребро в пустое дерево

Nikolay
13.04.2017
14:02:32
Пустое дерево например
если пустое дерево - это одна нода корня, то добавление ребра, ведущего в ту же ноду, добавляет в дерево цикл

shadowjack
13.04.2017
14:02:48
Почему в ту же ноду?

Nikolay
13.04.2017
14:02:51
если ноды корня нет - то это не дерево вообще

Почему в ту же ноду?
потому что если больше одной ноды - это уже не пустое дерево

shadowjack
13.04.2017
14:03:07
Ладно, дерево из одного корня.

Nikolay
13.04.2017
14:03:16
Google
Vasiliy
13.04.2017
14:03:27
Ладно, дерево из одного корня.
тогда по определению графа

shadowjack
13.04.2017
14:03:55
Блин, вы не понимаете? Есть граф, есть дерево на нем.

Nikolay
13.04.2017
14:04:28
Блин, вы не понимаете? Есть граф, есть дерево на нем.
мы понимаем :) сейчас мы тебе просто пытаемся доказать, что добавление ребра в дерево ВСЕГДА создает цикл

Vasiliy
13.04.2017
14:04:33
дерево и есть граф

Nikolay
13.04.2017
14:04:34
неважно, остовное оно или какое еще

Artem
13.04.2017
14:04:51
чувак говорит про подграф

типа, можно в графе сделать подграф-дерево

A
13.04.2017
14:05:11
ребят, у меня знаний по теории графом почти нет. проблемму можно в принципе охарактеризовать примерно так: соедините все острова (каждый хотя бы двумя мостами) так, чтобы длина всех мостом была минимальна и все острова были соединены.

Artem
13.04.2017
14:05:24
и если в нем не все вершины, то в него можно добавлять еще вершины с ребрами до них

Маришка
13.04.2017
14:05:59
Nikolay
13.04.2017
14:06:02
Только если все вершины графа уже в дереве.
есть структура - дерево. Добавление ребра в дерево всегда создает цикл. Есть там при этом рядом где-то граф или нет - неважно

Vasiliy
13.04.2017
14:06:12
"существуют такие деревья, в которые можно добавить ребра, и они останутся деревьями."

Nikolay
13.04.2017
14:06:14
Нет
почему?

Vasiliy
13.04.2017
14:06:20
вот твое утверждение, оно неверное

Nikolay
13.04.2017
14:06:24
а хотя да, согласен

не она

это именно MST

Google
Vasiliy
13.04.2017
14:06:53
А можно я добавлю вершину и к ней добавлю ребро?
тогда ты не просто добавишь ребро

A
13.04.2017
14:06:56
задача коммивояжера, нет?
в комивояжоре нужно хотя бы один раз пройти, тут же два раза, и просто узлы соединить.

Nikolay
13.04.2017
14:06:57
А можно я добавлю вершину и к ней добавлю ребро?
можно, но это будет уже не "добавление ребра"

Vasiliy
13.04.2017
14:06:58
а добавишь вершину и ребро

shadowjack
13.04.2017
14:07:16
А где было про "только"

A
13.04.2017
14:08:20
тут даже пройти не надо, задача не на путь, а на дерево минимальное
если бы было бы дерево, это решалось простым MST, то соединений должно быть хотя бы два.

Nikolay
13.04.2017
14:08:22
ну идет из одной ноды в другую больше одного ребра с разным весом, например, и чо

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

Admin
ERROR: S client not available

shadowjack
13.04.2017
14:08:57
Короче топикстартеру: представь у тебя не направленный граф с вершинами A,B,C и ребрами AB, BC, CD. Тогда построить на нем твою структуру (минимум два ребра для каждною вершину) без циклов нельзя.

Vasiliy
13.04.2017
14:09:37
shadowjack
13.04.2017
14:09:58
Nikolay
13.04.2017
14:10:10
лол
ты ебана ребячишь нас?

Nikolay
13.04.2017
14:11:00
топикстартер не прочь циклов.
то есть в твоей структуре могут быть ребра, которых не было в начальном графе?

Google
A
13.04.2017
14:11:03
и насколько я могу судить дерево и есть граф, но не каждый граф дерево.

shadowjack
13.04.2017
14:12:01
Да, но я боюсь это не то что Vasiliy имел в виду.

Nikolay
13.04.2017
14:12:35
я подозреваю, что он именно это и имел в виду

просто немного не поняли друг друга

Vasiliy
13.04.2017
14:12:45
Да, но я боюсь это не то что Vasiliy имел в виду.
Определение: дерево - связный граф без циклов

Всё

Никакого ещё одного графа побольше там нет

Nikolay
13.04.2017
14:13:13
Определение: дерево - связный граф без циклов
немного хитрее с направленными

A
13.04.2017
14:13:50
то есть в твоей структуре могут быть ребра, которых не было в начальном графе?
ну как бы есть просто задача, соединить все острова мостами, если допустить условие "соединить всё хотя бы одним мостом" то решение тривиальное - MST, я подумал, а что если условие поменять на "каждый остров соединить хотя бы двумя мостами" - как же это можно решать?

Nikolay
13.04.2017
14:13:52
топикстартер не прочь циклов.
короче, если у тебя нельзя в результат добавлять дополнительные ребра, то структура, которую ты хочешь получить, запросто может и не существовать, как написали выше

Vasiliy
13.04.2017
14:14:00
немного хитрее с направленными
Ну это строго говоря ориентированное дерево

Граф может быть деревом, но не ориентированным деревом

Nikolay
13.04.2017
14:14:22
Ну это строго говоря ориентированное дерево
это я к тому, что в графе может не быть циклов и все равно он не будет деревом при этом

Artem
13.04.2017
14:14:48
там где даги

там напряги

shadowjack
13.04.2017
14:15:44
Давайте я переформулирую задачу топикстартера. Есть ненаправленный граф G (V, E) со тепенью вершин не менее 2. Построить граф G1 (V, E1) такой что E1 подмножество E, стемень всех вершин равна 2 и сумма весов ребер E1 минимальна.

Artem
13.04.2017
14:16:16
https://e-maxx.ru/algo/mst_kruskal

Artem
13.04.2017
14:17:21
а, хотя бы двумя мостами

Страница 2675 из 9768