Алгоритм Прима
В качестве примера эвристического метода приведем алгоритм Прима. Для связи средств вычислительной техники в больших сетях традиционно применяется модемная техника, однако качество и надежность получаемой системы передачи данных существенно зависят от выбора каналов - выделенных или коммутируемых. Проектировщику такой распределенной системы традиционно приходится разрешать дилемму между обеспечением требуемого качества сети и ее стоимости, что связано со значительной разницей в оплате указанных каналов связи.
Пусть имеется множество территориально распределенных объектов X=xi{}, характеризуемых: географическими координатами (ai,bi); объемом информации fi, генерируемой объектом. Предполагается, что одним из объектов является "центральный" (главный) узел, выделенный в соответствии с некоторыми правилами - административными, территориальными и пр.
Пусть, кроме того, известны приведенные затраты Cпер,ij на передачу информации от объекта xi к объекту xj, зависящие от трафика fij в данном направлении и длины линий связи lij. Требуется синтезировать структуру минимальной стоимости в классе древовидных структур при ограничениях на максимальный трафик fij в каждой ветви (fij,dmax), где fij определяется как сумма информационных потоков от всех узлов, предшествующих узлу i на путях от концевых вершин к корню дерева, и потока hi, формируемого объектом xi.
Задача синтеза древовидной сети впервые рассматривалась в работе Прима, в которой предложен точный алгоритм синтеза сети минимальной стоимости, но без учета ограничений на пропускные способности линий связи и, как следствие, на суммарный поток, передаваемый по ветвям. Вместе с тем доказано, что алгоритм доставляет оптимальное решение и состоит из следующих шагов. Пусть первоначально рассматривается исходное множество несвязанных объектов (вершин) X=xi{}.
1. Выбирается произвольная вершина (подграф) xi и определяется стоимость введения ребра (i, j), связывающего xi с некоторым подграфом xj: cij.
2. Если подграфы xi и xj состоят из нескольких вершин, то выбирается ребро, доставляющее топологическое расстояние между подграфами (минимум из всех пар возможных расстояний): среди всех пар (i, j) определяется такая пара (i*, j*), для которой
ci*j* = min cij.
" (i,j)
3. Подграфы xi* и xj* объединяются в один: xij*= xi*È xj*. На этом итерация алгоритма Прима завершается, а сами итерации повторяются до тех пор, пока имеются изолированные подграфы (их количество на каждой итерации уменьшается на единицу).
Дата добавления: 2015-02-03; просмотров: 1134;