Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Parallel BGL s-t Connectivity

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Parallel BGL s-t Connectivity

namespace graph { namespace distributed {
  template<typename DistributedGraph, typename ColorMap>
  inline bool
  st_connected(const DistributedGraph& g,
               typename graph_traits<DistributedGraph>::vertex_descriptor s,
               typename graph_traits<DistributedGraph>::vertex_descriptor t,
               ColorMap color)
  template<typename DistributedGraph>
  inline bool
  st_connected(const DistributedGraph& g,
               typename graph_traits<DistributedGraph>::vertex_descriptor s,
               typename graph_traits<DistributedGraph>::vertex_descriptor t)
  template<typename DistributedGraph, typename ColorMap, typename OwnerMap>
  bool
  st_connected(const DistributedGraph& g,
               typename graph_traits<DistributedGraph>::vertex_descriptor s,
               typename graph_traits<DistributedGraph>::vertex_descriptor t,
               ColorMap color, OwnerMap owner)
} }

Функция st_connected() определяет, существует ли путь от s до t в графе g. Если путь существует, функция возвращает истинное, в противном случае она возвращает ложное.

Этот алгоритм в настоящее время синхронизирован с уровнем , что означает, что все вершины на данном уровне дерева поиска будут обработаны (потенциально параллельно) до того, как будут обработаны любые вершины с последовательного уровня на дереве. Это не обязательно для правильности алгоритма, это скорее деталь реализации. Этот алгоритм может быть переписан полностью асинхронно с использованием триггеров, которые удаляют синхронизированное поведение.

Where Defined

<boost/graph/distributed/st_connected.hpp>

Parameters

IN: const DistributedGraph& g
The graph type must be a model of Distributed Graph. The graph type must also model the Incidence Graph.

IN: vertex_descriptor

IN: vertex_descriptor t

UTIL/OUT: color_map(ColorMap color)
The color map must be a Distributed Property Map with the same process group as the graph g whose colors must monotonically darken (white -> gray/green -> black). The default value is a distributed two_bit_color_map.
IN: OwnerMap owner
The owner map must map from vertices to the process that owns them as described in the GlobalDescriptor concept.
OUT: bool
The algorithm returns true if a path from s to t is found, and false otherwise.

Complexity

Этот алгоритм выполняет O(V + E) работает в супершагах d/2 + 1 BSP, где d - наименьшее расстояние от s до t. По всем супершагам будут передаваться сообщения постоянного размера O(E).

Algorithm Description

Алгоритм состоит из двух одновременных переходов по ширине от s и t соответственно. Алгоритм использует одну очередь для обоих обходов, причем обход от s обозначается записью серый на цветной карте, а обход от t обозначается записью зеленый. Метод обхода похож на поиск по ширине, за исключением того, что не называются точки события посетителя. Когда какой-либо процесс обнаруживает столкновение в двух проходах (путем попытки установить вершину gray в green или наоборот), он сигнализирует всем процессам о завершении на следующем супершаге, и все процессы возвращаются true. Если очереди на всех процессах пусты и столкновение не обнаружено, то все процессы заканчиваются и возвращаются ложно.


Copyright (C) 2009 Попечители Университета Индианы.

Авторы: Ник Эдмондс и Эндрю Ламсдейн

Статья Parallel BGL s-t Connectivity раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 17:57:42/0.0083808898925781/1