- •Последнее изменение: суббота 31 Январь 2004, 11:52
- •Последнее изменение: среда 4 Февраль 2004, 15:1
- •Последнее изменение: суббота 31 Январь 2004, 12:20
- •Последнее изменение: вторник 30 Ноябрь 2004, 11:20
- •Последнее изменение: суббота 31 Январь 2004, 12:19
- •Последнее изменение: суббота 31 Январь 2004, 13:08
Последнее изменение: суббота 31 Январь 2004, 12:20
ЗАДАЧА 2. ПЛАНИРОВАНИЕ СЕТИ ДОРОГ
Рассмотренная ранее постановка задачи о прокладке коммуникаций может не включать требования о том, что коммуникации могут разветвляться только на территории связываемых объектов. Зачастую реальность не накладывает этих ограничений, например, при строительстве дорог, которые могут менять направление, иметь повороты, развилки и перекрестки любого вида. Данная задача известна как ''задача Штейнера на графах''.
Необходимые уточнения Вообще говоря, известно два типа такого рода задач. • Евклидова задача Штейнера состоит в соединении множества точек на плоскости так, чтобы сумма длин отрезков была минимальна. • Линейная задача Штейнера вместо евклидова расстояния между точками оперирует линейным расстоянием: d(X, Y) = |x1-x2| + |y1 - y2|. При этих условиях если через каждую точку из множества Р провести вертикальные и горизонтальные линии, то решение задачи Штейнера можно получить, рассматривая в качестве возможных точек Штейнера точки пересечения полученной сетки линий.
Линейные задачи Штейнера имеют применение при монтаже печатных схем электронных устройств и в логистике практически не используются, в отличие от евклидовых задач, которые и будут разобраны ниже.
Дополнительные размышления Сразу же зададимся вопросом: а может ли расположение развилок вне связываемых объектов уменьшить длину кратчайшей системы дорог? Для случая, когда четыре города расположены в углах квадрата, допустим со стороной равной 1 км, кратчайшая система дорог с разветвлением только в городах имеет длину 3, тогда как интуитивное расположение перекрестка в центре квадрата дает результирующую длину примерно 2,8.
Итак, улучшение результата возможно. Однако можно ли утверждать что 2 корня из 2 – это уже минимум? Вряд ли, по крайней мере никаких оснований для этого нет. Но зато уже видно, что в такой постановке проблема поиска кратчайшей системы дорог, связывающей все имеющиеся объекты, существенно усложняется.
АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ ШТЕЙНЕРА
Основная идея Такой алгоритм в общем случае не существует. Евклидова задача Штейнера является нерешенной с вычислительной точки зрения, поскольку существующие точные алгоритмы находят решение за разумное время только при очень небольшом количестве вершин (порядка 10).
Анализ сложности Возрастание сложности связано с потерей дискретности, поскольку расположение перекрестков уже не совпадает с самими объектами, и строго говоря, на площади в 1 кв. м. существует бесконечное количество возможных мест расположения развилок. Очевидно, что в общем случае теория графов уже не может дать достоверного результата при решении этой задачи. Мало того, в настоящее время неизвестно точных и эффективных алгоритмов, решающих эту задачу в том случае, если города заданы произвольной сетью. Точное и эффективное решение существует, если рассматриваются относительно простые сети.
Частный случай: три города Если целью является система дорог, связывающая три города, то мы в чистом виде имеем старинную задачу, которую независимо поставили Торичелли и Ферма: в треугольника ABC найти точку P, такую что сумма расстояний от P до вершин A, B и C минимальна.
Наиболее простое решение предложил Наполеон Бонапарт в бытность свою кадетом артиллерийского училища. Этот способ налагает единственное ограничение: наибольший угол треугольника должен быть меньше 120 град.
Дальнейшее описание решения задачи включает в себя значительное количество иллюстраций, поэтому размещено отдельно в виде файла для скачиванияl.
Частный случай: четыре города Если целью является система дорог, связывающая четыре города, то для ее решения используем результат, полученный при рассмотрении задачи Торичелли-Ферма. Вводимые при прокладке пути минимальной длины точки (развилки) в литературе называются точками Штейнера
Известно много свойств точек Штейнера, важнейшими из которых являются следующие:
Отсюда следует решение для рассматриваемого случая. Введем две точки Штейнера, каждая из них будет иметь степень d=3, а инцидентные ей ребра располагаться под углом 120 град друг к другу. Расположение точек зависит от свойств фигуры, образуемой четырьмя объектами. |