Между N пунктами (N≤50) заданы дороги длиной A(i,j), где i, j - номера пунктов. Дороги проложены на разной высоте и пересекаются только в общих пунктах. В начальный момент времени из заданных пунктов начинают двигаться с постоянной скоростью M роботов (M равно 2 или 3), независимо меняя направление движения только в пунктах. Роботы управляются таким образом, чтобы минимизировать время до встречи всех роботов в одном месте. Скорость i-го робота может быть равна 1 или 2. Остановка роботов запрещена.
Длины дорог задаются...
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
Если не ошибаюсь, то строишь по 3 вершинам треугольник, к двум из граней проводишь серединный перпендикуляр. На их пересечении будет равноудаленная от 3 вершин точка, а вообще все три серединных перпендикуляра будут пересекаться в одной точке.
1. Пункты соединяются каждый с каждым?
2. Место встречи может быть посередине дороги или только в пунктах?
3. Можно ли возращаться в пункты в которых уже был? Ходить по дорогам, по которым уже ходил?
4. Скорость у роботов фиксирована на всё время движения, или меняется от пункта к пункту?
Попробуй сгенерировать новый граф, на нём найти длины путей, пропорциональные как раз времени. Можно ещё использовать полный перебор, но сложность будет более чем O(n^2) это точно. задача не из простых. Не знаю прокатит ли тут это, раз уж речь идёт о графах, то нужно тыкаться в известные популярные алгоритмы на графах, эту задачу можно к ним свести я так думаю.
Member
Статус: Не в сети Регистрация: 04.02.2004 Откуда: Москва|СВАО
Jilian Я что-то не понял, граф полносвязный или нет? Что значит встретятся в одном месте? То есть для начала надо определить населенный пункт, в который все M штук могут попасть за наименьшее время?
Вообще было бы очень не плохо если бы Вы рисунок нарисовали, ну хоть какой-нибудь.
_________________ Счастье - это когда тебя понимают.
Разыскиваю (куплю) оригинальный USB-kit для Chaintech 5AGM2 (подробности в Л.С.).
Advanced member
Статус: Не в сети Регистрация: 23.10.2003 Откуда: Иркутск/Майкоп
Это возможно не во всех случаях. Если строить не оптимальный, а какой-нибудь, то понятно: берём любые маршруты к одной вершине. Потом у нас появляется возможность их удлинять за счёт добавления циклов/хождения взад-вперёд по ребру. Для каждого из маршрутов составляем список, на сколько можем его продлить. Ну и дальше всякие штуки с НОД и НОК - подбирается, сколько к какому маршруту добавить.
Но для оптимального перебор получается внушительный...
_________________ Края каждого совершенно нового крышка процессора не на 100% гладкая. Это связано с тем, что следов мастерства не избежать. (c) Али.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения