|
|
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
Кто поможет: предложите алгорим определения цикличиеских ссылок на графе произвольного размера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2008, 07:22 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
FarusКто поможет: предложите алгорим определения цикличиеских ссылок на графе произвольного размера. Ну, скажем, такой алгоритм (типа поиска "в глубину"). Только он очень долгий :) 1. создаем массив вершин графа 2. создаем массив пройденных вершин графа 3. берем первую вершину 4. берем произвольное ребро графа, выходящее из этой вершины. 5. Если вторая вершина ребра графа содержится в массиве пройденных вершин, то мы нашли цикл. 6. В противном случае заносим вершину в пройденные, делаем ее текущей и идем на п.4 7. Если данная вершина является листом (т.е. из нее больше не выходит ребер), то возвращаемся на один уровень вверх (к предыдущей пройденной вершине) и возвращаемся к п.4 8. Если вершин больше не осталось, то мы обошли весь граф. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2008, 08:47 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
Станислав С...кий FarusКто поможет: предложите алгорим определения цикличиеских ссылок на графе произвольного размера. Ну, скажем, такой алгоритм (типа поиска "в глубину"). Только он очень долгий :) ... 5. Если вторая вершина ребра графа содержится в массиве пройденных вершин, то мы нашли цикл. ... Ну хорошо, эт вроде все будет работать. А ежели мы накладываем дом условие - граф ориентированный. И тогда понятие цикла несколько меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2008, 09:16 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
Farus Ну хорошо, эт вроде все будет работать. А ежели мы накладываем дом условие - граф ориентированный. И тогда понятие цикла несколько меняется. А в неориентированном графе две вершины и ребро уже цикл. Алгоритм как раз на ориентированных работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2008, 10:15 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
Хотя нет. В этом случае нужно начинать с каждой вершины и чистить список пройденных. Наверное есть лучший алгоритм, надо книжки читать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2008, 10:17 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
FarusКто поможет: предложите алгорим определения цикличиеских ссылок на графе произвольного размера.хотите написать свою реализацию Spanning Tree алгоритма ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2008, 11:36 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
FarusКто поможет: предложите алгорим определения цикличиеских ссылок на графе произвольного размера. Хочу тебя огорчить. Практически 100% алгорутмов теории графов уже были предложены в прошлом веке. Тебе остаётся только почитать теорию и выбрать алгоритм, который наиболее близко подходит к решению твоей задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2008, 12:04 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
mayton FarusКто поможет: предложите алгорим определения цикличиеских ссылок на графе произвольного размера. Хочу тебя огорчить. Практически 100% алгорутмов теории графов уже были предложены в прошлом веке. Тебе остаётся только почитать теорию и выбрать алгоритм, который наиболее близко подходит к решению твоей задачи. Ну я искал по гуглу. Готового не нашел. Хотя алгорим то вообщем то должен быть фундаментальным. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2008, 12:08 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
Гость_0 FarusКто поможет: предложите алгорим определения цикличиеских ссылок на графе произвольного размера.хотите написать свою реализацию Spanning Tree алгоритма ? :) Это вроде коммуникации. Нее... мне для прикладной программки. Хотя можно сделать и перебором тупым.... Только боюсь количество переборов будет возрастать в геометрической прогрессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2008, 12:28 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
FarusКто поможет: предложите алгорим определения цикличиеских ссылок на графе произвольного размера. Зависит от того, что именно Вам нужно. Найти все циклы во всех вариантах? Найти фундаментальные циклы? Определить факт наличия циклов без поиска самих циклов? Еще что-нибудь? И таки да, гугль содержит более чем достаточно информации на эту тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2008, 13:55 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
Alexsalog mayton FarusКто поможет: предложите алгорим определения цикличиеских ссылок на графе произвольного размера. Хочу тебя огорчить. Практически 100% алгорутмов теории графов уже были предложены в прошлом веке. Тебе остаётся только почитать теорию и выбрать алгоритм, который наиболее близко подходит к решению твоей задачи. Ну я искал по гуглу. Готового не нашел. Хотя алгорим то вообщем то должен быть фундаментальным. :-) Постройте по вашему графу остов. Все ребра, не вошедшие в остов - уже элементы циклов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2008, 16:38 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
очень интересно, но неоднозначно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2008, 17:50 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
softwarer FarusКто поможет: предложите алгорим определения цикличиеских ссылок на графе произвольного размера. Зависит от того, что именно Вам нужно. Найти все циклы во всех вариантах? Найти фундаментальные циклы? Определить факт наличия циклов без поиска самих циклов? Еще что-нибудь? И таки да, гугль содержит более чем достаточно информации на эту тему. Найти любые циклы, притом если граф строится итеративно - то сообщить об этом цикле и показать его в момент добавления решающего ребра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 11:33 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
Тогда есть совершенно очевидный алгоритм. Поддерживать список возможных путей между вершинами графа. То есть начать с одной вершины; далее добавили вершину - ничего не делаем, добавили ребро - достраиваем список путей, используя начинающиеся и заканчивающиеся в вершинах этого ребра. Каждый раз, когда при добавлении ребра АБ уже имеем путь БА или - внимание - несколько таких путей, вот вам, бабушка, и циклы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 11:40 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
softwarerТогда есть совершенно очевидный алгоритм. Поддерживать список возможных путей между вершинами графа. То есть начать с одной вершины; далее добавили вершину - ничего не делаем, добавили ребро - достраиваем список путей, используя начинающиеся и заканчивающиеся в вершинах этого ребра. Каждый раз, когда при добавлении ребра АБ уже имеем путь БА или - внимание - несколько таких путей, вот вам, бабушка, и циклы. Получится дикое количество комбинаций...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 11:49 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
AlexsalogПолучится дикое количество комбинаций...... Это если ребра добавляются интерактивно-то? Не очень верится, раньше оператор устанет :) А так - задача поиска всех циклов, если не ошибаюсь, np-полна, следовательно либо дикое количество комбинаций в памяти, либо перебор того же дикого количества комбинаций на ходу. Можно применять методы сокращения, скажем, железнодорожники строят граф только по узловым станциям (грубо говоря, по развилкам), сжимая вершины один вход - один выход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 11:56 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
softwarer AlexsalogПолучится дикое количество комбинаций...... Это если ребра добавляются интерактивно-то? Не очень верится, раньше оператор устанет :) А так - задача поиска всех циклов, если не ошибаюсь, np-полна, следовательно либо дикое количество комбинаций в памяти, либо перебор того же дикого количества комбинаций на ходу. Можно применять методы сокращения, скажем, железнодорожники строят граф только по узловым станциям (грубо говоря, по развилкам), сжимая вершины один вход - один выход. Насчет развилок - мысль. Про np полноту - тоже. Ок, спасибо. Хотя наверное как всегда есть вариант комбинированный - чать отдается на "память" а часть на перебор... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 12:27 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
softwarerКаждый раз, когда при добавлении ребра АБ уже имеем путь БА или - внимание - несколько таких путей, вот вам, бабушка, и циклы. При всем моем, откуда такая зашоренность отклика на вторую сторону? Переформулировать вопрос и считать его решенным. Ваще децсад. "уже имеем путь БА". И как мы узнаем что мы его, этот путь, "уже имеем"(или, уже "поимели")? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 22:16 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
Alexsalog softwarer AlexsalogПолучится дикое количество комбинаций...... Это если ребра добавляются интерактивно-то? Не очень верится, раньше оператор устанет :) А так - задача поиска всех циклов, если не ошибаюсь, np-полна, следовательно либо дикое количество комбинаций в памяти, либо перебор того же дикого количества комбинаций на ходу. Можно применять методы сокращения, скажем, железнодорожники строят граф только по узловым станциям (грубо говоря, по развилкам), сжимая вершины один вход - один выход. Насчет развилок - мысль. Про np полноту - тоже. Ок, спасибо. Хотя наверное как всегда есть вариант комбинированный - чать отдается на "память" а часть на перебор... Этот тоже. Как Добчинский раскланялся. Типа спасибо. Насчет развилок -- это мысль? Про эту банальщину тут никто и не вспоминал. Она тебе поможет как мертвому припарки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 22:19 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
реттиВаще децсад. "уже имеем путь БА". И как мы узнаем что мы его, этот путь, "уже имеем"(или, уже "поимели")? Ваш вопрос показывает, что Вы либо не читали то, на что отвечаете, либо временно/постоянно не в состоянии воспринимать прочитанное. До тех пор, пока означенные факторы не изменятся, беседа вряд ли будет осмысленной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 22:48 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
если речь только об интерактивной проверке, то проще и быстрее банально пускать волну из обеих вершин, которые соединяет новосозданное ребро ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 23:08 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
asvdfdsvесли речь только об интерактивной проверке, то проще и быстрее банально пускать волну из обеих вершин, которые соединяет новосозданное ребро из одной из этих вершин, разумеется, будет достаточно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 23:09 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
asvdfdsvесли речь только об интерактивной проверке, то проще и быстрее банально пускать волну Если речь идет о том, чтобы найти какой-нибудь цикл, то да. Но автору нужны все - и тут не соглашусь, и не быстрее, и не проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 23:13 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
softwarer asvdfdsvесли речь только об интерактивной проверке, то проще и быстрее банально пускать волну Если речь идет о том, чтобы найти какой-нибудь цикл, то да. Но автору нужны все - и тут не соглашусь, и не быстрее, и не проще. ну если все, тогда лучше конечно действительно строить маршруты но опять же - на лету, имхо т.е. если есть условие интерактивной проверки, то я бы по-любому это использовал, сужая задачу до поиска циклов, проходящих через заданную вершину (например их которой исходит новое ребро), а не ваааааще всех на графе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 23:17 |
|
||
|
Алгоритм определения циклических ссылок
|
|||
|---|---|---|---|
|
#18+
asvdfdsvну если все, тогда лучше конечно действительно строить маршруты но опять же - на лету, имхо Интуитивное "имхо" желательно бы подкреплять. Одного гигабайта оперативки - столько есть на любой современной рабочей станции - хватит, чтобы хранить матрицу связности графа примерно на 90'000 вершин. Также память нужна будет под уже найденные циклы итп - но порядок величин понятен. Сколько времени будет обсчитываться волна "из точки во все" на таком графе - довольно интересный вопрос. Заснуть, конечно, не успеешь, но вот получить ответ за комфортное для интерактивного режима время - далеко не факт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 23:52 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=143&tid=1345282]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 360ms |

| 0 / 0 |
