Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Графы, системы дорог 
:(
    Опции темы
i...
Дата 25.10.2004, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 6.5.2003

Репутация: нет
Всего: нет



Помогите, пожалуйста, решить задачу:
"По системе двусторонних дорог определить, можно ли, закрыв какие-нибудь три дороги, добиться того, чтобы из города A нельзя было попасть в город B."
PM MAIL   Вверх
~FoX~
Дата 25.10.2004, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 2
Всего: 68



1. Если из города А выходят всего три дороги можно перекрыть их.
2. Если в город Б приходят только три дороги можно перекрыть их.
3. А остальные наверное только перебором.
Хотя я могу и ошибаться


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
3,14
Дата 25.10.2004, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: нет
Всего: 24



Похоже на правду но ещё нужно проверить :
под значимостью ребра будем понимать сумму степеней вершин, к-ые он соединяет.
находим путь из A в B и удаляем ребро с максимальной значимостью из этого пути, и так три раза, если после этого путь ещё найден - то нельзя.


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
i...
Дата 26.10.2004, 06:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 6.5.2003

Репутация: нет
Всего: нет



Цитата(3 @ 25.10.2004, 18:17)
находим путь из A в B и удаляем ребро с максимальной значимостью из этого пути, и так три раза, если после этого путь ещё найден - то нельзя.

Посоветуйте, пожалуйста, каким алгоритмом находить путь из А и В. Говорят, что можно найти алгоритмом Форда-Белмана, но я его в глаза не видел.
PM MAIL   Вверх
~FoX~
Дата 26.10.2004, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 2
Всего: 68



i...
Поищи на форуме в алгоритмах, примеров куча!


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Alex101
Дата 26.10.2004, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 891
Регистрация: 8.4.2002
Где: Москва

Репутация: 1
Всего: 10



Цитата(i @ 26.10.2004, 03:59)
Посоветуйте, пожалуйста, каким алгоритмом находить путь из А и В.

Алгоритм Дейкстры, тут про него уже говорилось очень много раз.
http://program.rin.ru/razdel/html/686.html


--------------------
С уважением, А. Фролов.
PM MAIL ICQ   Вверх
3,14
Дата 26.10.2004, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: нет
Всего: 24



Цитата(Alex101 @ 26.10.2004, 09:52)
Цитата(i @ 26.10.2004, 03:59)
Посоветуйте, пожалуйста, каким алгоритмом находить путь из А и В.

Алгоритм Дейкстры, тут про него уже говорилось очень много раз.
http://program.rin.ru/razdel/html/686.html

Собственно алгоритм Дейкстры здесь не очень нужен, потомучто он предназначен для поиска кратчайшего пути для графов с неотрицательными весами.
А нужно путь искать обычным перебором:
1) Помечаем вершину A
2) Смотрим в какую вершину можно попасть из A
3) Если вершина не помечена, то помечаем эту вершину и ищем путь из неё в B
4) Если из этой вершины в B попасть не удалось, то переходим к другой вершине, в к-ую можно попасть из A, помечаем её...


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
val
Дата 26.10.2004, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: 1
Всего: 7



Мне кажется, что это классическая задача определения связности.
Лучше всего решение задачки описанио в книженции: "Фундаментальные алгоритмы на С" Роберта Седжевика.


--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
maxim1000
Дата 26.10.2004, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



что-то ничего кроме перебора в голову не приходит, но...
его можно немного пооптимизировать:
1. находим кратчайший путь A-B
2. удаляем одно из ребер на нем
3. ищем новый кратчайший путь (без удаленного ребра)
4. удаляем одно из его ребер
5. ищем еще один кратчайший путь
6. удаляем одно из его ребер

таким образом перебирать нужно не C из n по 3, а несколько меньше
перебор получается, когда мы решаем, какое ребро пути удалить

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


--------------------
qqq
PM WWW   Вверх
~FoX~
Дата 27.10.2004, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 2
Всего: 68



maxim1000
Чета я не понял....
Ну поудаляем мы ребра и что? Нам же нужно найти три такие дороги перекрыв которые мы полностью отризаем А от Б.
Объясни плз.....


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
maxim1000
Дата 27.10.2004, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



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


--------------------
qqq
PM WWW   Вверх
podval
Дата 27.10.2004, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



А не связана ли эта задача с поиском остовного дерева?
PM WWW ICQ   Вверх
~FoX~
Дата 28.10.2004, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 2
Всего: 68



maxim1000
АААААа, понял, спасибо! :D


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Fedor
Дата 28.10.2004, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: 2
Всего: 32



3,14 То что ты описал есть не что иное, как поиск в ширину. Или волновой поиск.


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
3,14
Дата 28.10.2004, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: нет
Всего: 24



Цитата(Morpheus @ 28.10.2004, 14:18)

3,14 То что ты описал есть не что иное, как поиск в ширину. Или волновой поиск.

Кто бы спорил, но как перебор не называй он им и останется


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0527 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.