]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/graph_parallel/doc/page_rank.rst
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / graph_parallel / doc / page_rank.rst
CommitLineData
7c673cae
FG
1.. Copyright (C) 2004-2008 The Trustees of Indiana University.
2 Use, modification and distribution is subject to the Boost Software
3 License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4 http://www.boost.org/LICENSE_1_0.txt)
5
6===============
7|Logo| PageRank
8===============
9
10::
11
12 namespace graph {
13 template<typename Graph, typename RankMap, typename Done>
14 inline void
15 page_rank(const Graph& g, RankMap rank_map, Done done,
16 typename property_traits<RankMap>::value_type damping = 0.85);
17
18 template<typename Graph, typename RankMap>
19 inline void
20 page_rank(const Graph& g, RankMap rank_map);
21 }
22
23The ``page_rank`` algorithm computes the ranking of vertices in a
24graph, based on the connectivity of a directed graph [PBMW98]_. The
25idea of PageRank is based on a random model of a Web surfer, who
26starts a random web page and then either follows a link from that web
27page (choosing from the links randomly) or jumps to a completely
28different web page (not necessarily linked from the current
29page). The PageRank of each page is the probability of the random web
30surfer visiting that page.
31
32.. contents::
33
34Where Defined
35~~~~~~~~~~~~~
36<``boost/graph/distributed/page_rank.hpp``>
37
38also accessible from
39
40<``boost/graph/page_rank.hpp``>
41
42Parameters
43~~~~~~~~~~
44
45IN: ``Graph& g``
46 The graph type must be a model of `Distributed Vertex List Graph`_ and
47 `Distributed Edge List Graph`_. The graph must be directed.
48
49OUT: ``RankMap rank``
50 Stores the rank of each vertex. The type ``RankMap`` must model the
51 `Read/Write Property Map`_ concept and must be a `distributed
52 property map`_. Its key type must be the vertex descriptor of the
53 graph type and its value type must be a floating-point or rational
54 type.
55
56IN: ``Done done``
57 A function object that determines when the PageRank algorithm
58 should complete. It will be passed two parameters, the rank map and
59 a reference to the graph, and should return ``true`` when the
60 algorithm should terminate.
61
62 **Default**: ``graph::n_iterations(20)``
63
64IN: ``typename property_traits<RankMap>::value_type damping``
65 The damping factor is the probability that the Web surfer will
66 select an outgoing link from the current page instead of jumping to
67 a random page.
68
69 **Default**: 0.85
70
71Complexity
72~~~~~~~~~~
73Each iteration of PageRank requires *O((V + E)/p)* time on *p*
74processors and performs *O(V)* communication. The number of
75iterations is dependent on the input to the algorithm.
76
77Bibliography
78------------
79
80.. [PBMW98] Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry
81 Winograd. The PageRank Citation Ranking: Bringing Order to the
82 Web. Technical report, Stanford Digital Library Technologies Project,
83 November 1998.
84
85-----------------------------------------------------------------------------
86
87Copyright (C) 2005 The Trustees of Indiana University.
88
89Authors: Douglas Gregor and Andrew Lumsdaine
90
91.. |Logo| image:: pbgl-logo.png
92 :align: middle
93 :alt: Parallel BGL
94 :target: http://www.osl.iu.edu/research/pbgl
95
96.. _Distributed Vertex List Graph: DistributedVertexListGraph.html
97.. _Distributed Edge List Graph: DistributedEdgeListGraph.html
98.. _Distributed property map: distributed_property_map.html
99.. _Readable Property Map: http://www.boost.org/libs/property_map/ReadablePropertyMap.html
100.. _Read/Write Property Map: http://www.boost.org/libs/property_map/ReadWritePropertyMap.html
101