Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Нахождение путей в грАфе, содержащих заданное ребро

463
28 февраля 2003 года
waterman
178 / / 17.01.2003
Задан граф. Надо найти все замкнутые пути в этом графе, проходящие через заданное ребро этого графа.

Нужен исходник модуля или хотя бы dcu под пасквиль. Буду благодарен.
453
06 марта 2003 года
amonra
60 / / 20.08.2000
Цитата:
Originally posted by waterman
Задан граф. Надо найти все замкнутые пути в этом графе, проходящие через заданное ребро этого графа.

Нужен исходник модуля или хотя бы dcu под пасквиль. Буду благодарен.


вообще то это NP полная задача и решаеться она полным перебором

ну для 30 вершин можешь попробывать метод ветвей и границ

а если не секрет почему возникла такая задача может можно найти другой метод решения

463
07 марта 2003 года
waterman
178 / / 17.01.2003
Цитата:
Originally posted by amonra

а если не секрет почему возникла такая задача может можно найти другой метод решения



Задан чертеж вала (грубо говоря, набор мноугольников; линии сходятся необязательно под прямым углом, фаска - под 45 градусов, например). У каждой линии известны координаты ее крайних точек. Надо сориентировать все поверхности вала относительно его оси симметрии, то есть задать направление (+ или -) проекции внешней нормали к каждой поверхности на эту ось.

Поскольку чертеж может быть сколь угодно сложным, предлагается следующий алгоритм. Допустим, надо сориентировать выделенную поверхность (см. рис.). Прога обходит все ребра графа, заданного чертежом, выбирая все возможные гамильтоновы циклы, содержащие это ребро (выделенную поверхность). Цикл определяет многоугольник. Так вот, относительно каждого такого многоугольника определить внешнюю нормаль, а следовательно, и ее проекцию на ось, очень просто. Проблема в том, что в данном примере выделенная поверхность имеет как бы два направления сразу. Потому что она содержится в части вала меньшего диаметра и в другой части - большего диаметра. И относительно этих двух многоугольников она, соответственно, ориентирована в противоположных направлениях. Такой извратный алгоритм, описанный в предыдущей мессаге, нужен именно для определения таких циклов, содержащих "двунаправленные" поверхности, находящиеся на слиянии частей вала разных диаметров. Как из двух ориентаций выбрать правильную - решенная задача. Но на ее вход надо подать два цикла, в которых поверхность ориентирована двояко.

463
20 марта 2003 года
waterman
178 / / 17.01.2003
Уже все в порядке. Сорри за беспокойство.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог