|
|
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Представьте граф. Вы представили вершины и рёбра. Пусть у нас нет петель, нет кратности. Если вы захватили одну вершину, то вы захватываете все вершины соединённые рёбрами с этой вершиной. Дальше захват не распространяется. Вход: массив вершин f e:1,2,3,4,5,..,100; массив связей f e: (1,2),(1,3),(4,92),(99,100) Выход: минимальное число вершин для захвата графа и эти вершины Предложите ваш вариант решения данной задачи, но не методом полного перебора. Я приведу пример: вход: 1..7 (1,2) (1,3) (1,4) (1,5) (2,3) (2,4) (3,7) (3,6) выход: 2 вершины 1 и 3 Решение данной задачи не требуется мне для какой-нибудь работы или тп. Просто я кроме полого перебора не нашёл вариантов самостоятельно, не гуглил. Программные код не нужен. Достаточно голого алгоритма ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2014, 09:03 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
SashaMercury, Гуглить "минимальное доминирующее множество". Можно еще слово "алгоритм" к запросу добавить. Точные решения "без полного перебора" пока науке не известны. Скорее всего, есть алгоритмы с эвристиками, позволяющие в "хороших" случаях заранее отсекать ветви перебора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2014, 09:36 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
авторТочные решения "без полного перебора" пока науке не известны. ссылаясь на что вы утверждаете это ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2014, 09:39 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
maxkarSashaMercury, Гуглить "минимальное доминирующее множество". Погуглил - там требуется неинцидентность вершин, а автору это не требуется. Легко представить пример, где "минимальный захват" графа будет другой чем МДМ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2014, 10:32 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
F#, Вы с максимальным независимым множеством не путаете? Вот там как раз требуется неинцидентность. Минимальное доминирующее и максимальное независимое обычно вместе рассматриваются, они очень похожи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2014, 06:32 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
SashaMercuryссылаясь на что вы утверждаете это ? Это NP-полная (NP-complete) задача. Например, в wiki написано. В учебниках я вроде бы встречал доказательство этого. Дальше уже академические знания о классах сложности (в том числе о том, что такое NP-полные задачи). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2014, 06:41 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
maxkarВы с максимальным независимым множеством не путаете? Судя по статье в википедии я нашел что-то не то :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2014, 14:58 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
Не понимаю, зачем нужен голый алгоритм. Если это не учебная задача. Или для собственного развития. Тогда стоит почитать учебники по теории графов, весьма интересная область математики. Необходимость полного перебора в практических задачах можно решить при помощи хранения избыточной информации. Если это действительно необходимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2014, 11:50 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
SashaMercury, По-моему, поиск в глубину от изначально захваченных вершин на глубину не более 1, с перичислением всех обойдённых вершин, и последующее объединение даст тебе решение. Будет не N*P, но n*P, где n --число изначально захваченных вершин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2014, 12:48 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
теория графов тут воще не причем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2014, 15:19 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
Addx, для собственного развития ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 02:05 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
MasterZiv, спасибо. А разве мне не потребуется в этом случае перебрать все возможные комбинации вершин ? Или я неправильно вас понял. Покажите как это будет выглядеть на том примере что я написал, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 02:07 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
SashaMercuryMasterZiv, спасибо. А разве мне не потребуется в этом случае перебрать все возможные комбинации вершин ? Или я неправильно вас понял. Покажите как это будет выглядеть на том примере что я написал, пожалуйста. Скорее я неправильно понял задачу. я написал как понять какие вершины будут захвачены при заданных начальных. А у тебя наоборот -- надо найти, какие вершины должны быть начальными, чтобы захватить всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 18:33 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
SashaMercuryвход: 1..7 (1,2) (1,3) (1,4) (1,5) (2,3) (2,4) (3,7) (3,6) сортируем вершины по числу дуг 1 - 4 дуги 2 - 2 дуги 3 - 2 дуги Берем 1, помечаем 2 3 4 5 Остается только 3 Ответ 1 3 алгоритм - перебор с возвратом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 09:25 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
_мод, Я сомневаюсь, что вас алгоритм верный. Приведите пожалуйста обоснование. Извините, если я ошибаюсь и критикую ваше решение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2014, 16:06 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
SashaMercury_мод, Я сомневаюсь, что вас алгоритм верный. Приведите пожалуйста обоснование. Извините, если я ошибаюсь и критикую ваше решение Да нет, наоборот, это рюх. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 00:30 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
Что|кто такое|й"рюх" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 06:00 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
SashaMercuryИзвините, если я ошибаюсь и критикую ваше решение Перебор с возвратом всегда дает точное решение, но может выродится в полный перебор, если неудачно выбрать первый шаг. Поэтому важно применить какую-нибудь эвристику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 09:34 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
Понимаю что нужно применять логику какую-то. Вот и спрашиваю какую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 09:54 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
SashaMercuryЧто|кто такое|й"рюх" ? Когда прорюхали. Правильная мысль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 20:38 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
где обоснование что данный перебор не выродится в полный перебор с возвратом ? дайте пожалуйста обоснование метода. Мне кажется что это ближе к транспортной задаче. Может быть можно к ней привести или рассмотреть как частный случай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 01:50 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
_модSashaMercuryвход: 1..7 (1,2) (1,3) (1,4) (1,5) (2,3) (2,4) (3,7) (3,6) сортируем вершины по числу дуг 1 - 4 дуги 2 - 2 дуги 3 - 2 дуги Берем 1, помечаем 2 3 4 5 Остается только 3 Ответ 1 3 алгоритм - перебор с возвратом Стало интересно просто. Я не совсем понял как этот алгоритм работает (предполагаю, что кроме полного перебора ещё и сбои может давать, если правильно понял принцип). Итак, представим граф в виде креста из 5 точек (4 + 1 точка в середине). А теперь соединим его с другим таким же, что бы центр каждого креста стал одной из вершин другого. Представили себе получившуюся конструкцию из 8 точек? Код: plaintext 1. 2. 3. 4. 5. 6. Как по предложенному алгоритму стоит захватить такой граф? Правильный ответ разумеется за 2 хода, захватив точки 3 и 6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 15:58 |
|
||
|
Захват графа
|
|||
|---|---|---|---|
|
#18+
Програмёр Код: plaintext 1. 2. 3. 4. 5. 6. Как по предложенному алгоритму стоит захватить такой граф? Правильный ответ разумеется за 2 хода, захватив точки 3 и 6 Вершины 3 и 6 имеют по 4 дуги, осталные по 1 , т.е. варианта 2: 3 и 6 или 6 и 3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 16:04 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38556517&tid=1341462]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 479ms |

| 0 / 0 |
