annotate docs/modules/txt/PathsTraversal.txt @ 0:4816e4a8ae95 draft default tip

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 09:23:18 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1 NAME
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2 PathsTraversal
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
3
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
4 SYNOPSIS
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
5 use Graph::PathsTraversal;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
6
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
7 use Graph::PathsTraversal qw(:all);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
8
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
9 DESCRIPTION
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
10 PathsTraversal class provides the following methods:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
11
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
12 new, Copy, GetConnectedComponentsVertices, GetPaths, GetVertices,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
13 GetVerticesDepth, GetVerticesNeighborhoods,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
14 GetVerticesNeighborhoodsWithSuccessors, GetVerticesPredecessors,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
15 GetVerticesRoots, PerformAllPathsSearch,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
16 PerformAllPathsSearchWithLength, PerformAllPathsSearchWithLengthUpto,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
17 PerformBreadthFirstSearch, PerformBreadthFirstSearchWithLimit,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
18 PerformDepthFirstSearch, PerformDepthFirstSearchWithLimit,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
19 PerformNeighborhoodVerticesSearch,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
20 PerformNeighborhoodVerticesSearchWithRadiusUpto,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
21 PerformNeighborhoodVerticesSearchWithSuccessors,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
22 PerformNeighborhoodVerticesSearchWithSuccessorsAndRadiusUpto,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
23 PerformPathsSearch, PerformPathsSearchBetween,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
24 PerformPathsSearchWithLength, PerformPathsSearchWithLengthUpto,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
25 StringifyPaths, StringifyPathsTraversal, StringifyVerticesDepth,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
26 StringifyVerticesNeighborhoods,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
27 StringifyVerticesNeighborhoodsWithSuccessors,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
28 StringifyVerticesPredecessors, StringifyVerticesRoots,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
29 StringifyVerticesSuccessors
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
30
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
31 METHODS
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
32 new
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
33 $PathsTraversal = new Graph::PathsTraversal($Graph);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
34
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
35 Using specified *Graph*, new method creates a new PathsTraversal
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
36 object and returns newly created PathsTraversal object.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
37
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
38 Copy
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
39 $PathsTraversal = $PathsTraversal->Copy();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
40
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
41 Copies *PathsTraversal* and its associated data using
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
42 Storable::dclone and returns a new PathsTraversal object.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
43
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
44 GetConnectedComponentsVertices
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
45 @Components = $PathsTraversal->GetConnectedComponentsVertices();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
46 $NumOfComponents = $PathsTraversal->GetConnectedComponentsVertices();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
47
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
48 Returns an array of Components containing references to arrays of
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
49 vertex IDs corresponding to connected components of graph after a
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
50 search. In scalar context, the number of connected components is
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
51 returned.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
52
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
53 Connected Components is sorted in descending order of number of
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
54 vertices in each connected component.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
55
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
56 GetPaths
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
57 @Paths = $PathsTraversal->GetPaths();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
58 $NumOfPaths = $PathsTraversal->GetPaths();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
59
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
60 Returns an array of Paths containing references to arrays of vertex
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
61 IDs corresponding to to paths traversed in a graph after a search.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
62 In scalar context, number of paths is returned.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
63
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
64 Paths array is sorted in ascending order of path lengths.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
65
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
66 GetVertices
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
67 @Vertices = $PathsTraversal->GetVertices();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
68 $NumOfVertices = $PathsTraversal->GetVertices();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
69
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
70 Returns an array containing an ordered list of vertex IDs traversed
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
71 during a search. In scalar context, the number of vertices is
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
72 returned.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
73
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
74 GetVerticesDepth
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
75 %VerticesDepth = $PathsTraversal->GetVerticesDepth();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
76
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
77 Returns a hash *VerticesDepth* containing vertex ID and depth from
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
78 root vertex as a key and value pair for all vertices traversed
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
79 during a search.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
80
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
81 GetVerticesNeighborhoods
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
82 @VerticesNeighborhoods =
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
83 $PathsTraversal->GetVerticesNeighborhoods();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
84 $NumOfVerticesNeighborhoods =
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
85 $PathsTraversal->GetVerticesNeighborhoods();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
86
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
87 Returns an array *VerticesNeighborhoods* containing references to
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
88 arrays corresponding to vertices collected at various neighborhood
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
89 radii around a specified vertex during a vertex neighborhood search.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
90 In scalar context, the number of neighborhoods is returned.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
91
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
92 GetVerticesNeighborhoodsWithSuccessors
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
93 @VerticesNeighborhoodsWithSucceessors =
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
94 $PathsTraversal->GetVerticesNeighborhoodsWithSuccessors();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
95 $NumOfVerticesNeighborhoodsWithSucceessors =
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
96 $PathsTraversal->GetVerticesNeighborhoodsWithSuccessors();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
97
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
98 Returns an array *VerticesNeighborhoodsWithSucceessors* containing
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
99 references to arrays with first value corresponding to vertex IDs
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
100 corresponding to a vertex at a specific neighborhood radius level
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
101 and second value a reference to an arraty containing its successors.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
102
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
103 GetVerticesPredecessors
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
104 %VerticesPredecessors = $PathsTraversal->GetVerticesPredecessors();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
105
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
106 Returns a hash *VerticesPredecessors* containing vertex ID and
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
107 predecessor vertex ID as key and value pair for all vertices
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
108 traversed during a search.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
109
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
110 GetVerticesRoots
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
111 %VerticesRoots = $PathsTraversal->GetVerticesRoots();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
112
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
113 Returns a hash *VerticesPredecessors* containing vertex ID and root
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
114 vertex ID as a key and value pair for all vertices traversed during
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
115 a search.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
116
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
117 PerformAllPathsSearch
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
118 $PathsTraversal->PerformAllPathsSearch($StartVertexID, [$AllowCycles]);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
119
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
120 Searches all paths starting from a *StartVertexID* with sharing of
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
121 edges in paths traversed and returns *PathsTraversal*.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
122
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
123 By default, cycles are included in paths. A path containing a cycle
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
124 is terminated at a vertex completing the cycle.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
125
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
126 PerformAllPathsSearchWithLength
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
127 $PathsTraversal->PerformAllPathsSearchWithLength($StartVertexID,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
128 $Length, [$AllowCycles]);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
129
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
130 Searches all paths starting from *StartVertexID* of specific
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
131 *Length* with sharing of edges in paths traversed and returns
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
132 *PathsTraversal*.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
133
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
134 By default, cycles are included in paths. A path containing a cycle
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
135 is terminated at a vertex completing the cycle.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
136
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
137 PerformAllPathsSearchWithLengthUpto
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
138 $PathsTraversal->PerformAllPathsSearchWithLengthUpto($StartVertexID,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
139 $Length, [$AllowCycles]);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
140
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
141 Searches all paths starting from *StartVertexID* of length upto a
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
142 *Length* with sharing of edges in paths traversed and returns
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
143 *PathsTraversal*.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
144
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
145 By default, cycles are included in paths. A path containing a cycle
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
146 is terminated at a vertex completing the cycle.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
147
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
148 PerformBreadthFirstSearch
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
149 $PathsTraversal->PerformBreadthFirstSearch();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
150
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
151 Performs Breadth First Search (BFS) and returns *PathsTraversal*.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
152
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
153 PerformBreadthFirstSearchWithLimit
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
154 $PathsTraversal->PerformBreadthFirstSearchWithLimit($DepthLimit,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
155 [$RootVertexID]);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
156
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
157 Performs BFS with depth up to *DepthLimit* starting at
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
158 *RootVertexID* and returns *PathsTraversal*. By default, root vertex
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
159 ID corresponds to an arbitrary vertex.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
160
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
161 PerformDepthFirstSearch
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
162 $Return = $PathsTraversal->PerformDepthFirstSearch();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
163
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
164 Performs Depth First Search (DFS) and returns *PathsTraversal*.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
165
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
166 PerformDepthFirstSearchWithLimit
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
167 $PathsTraversal->PerformDepthFirstSearchWithLimit($DepthLimit,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
168 [$RootVertexID]);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
169
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
170 Performs DFS with depth up to *DepthLimit* starting at
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
171 *RootVertexID* and returns *PathsTraversal*. By default, root vertex
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
172 ID corresponds to an arbitrary vertex.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
173
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
174 PerformNeighborhoodVerticesSearch
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
175 $PathsTraversal->PerformNeighborhoodVerticesSearch($StartVertexID);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
176
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
177 Searches vertices around *StartVertexID* at all neighborhood radii
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
178 and returns *PathsTraversal* object.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
179
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
180 PerformNeighborhoodVerticesSearchWithRadiusUpto
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
181 $PathsTraversal->PerformNeighborhoodVerticesSearchWithRadiusUpto(
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
182 $StartVertexID, $Radius);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
183
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
184 Searches vertices around *StartVertexID* with neighborhood radius up
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
185 to *Radius* and returns *PathsTraversal* object.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
186
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
187 PerformNeighborhoodVerticesSearchWithSuccessors
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
188 $PathsTraversal->PerformNeighborhoodVerticesSearchWithSuccessors(
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
189 $StartVertexID);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
190
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
191 Searches vertices around *StartVertexID* at all neighborhood radii
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
192 along with identification of successor vertices for each vertex
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
193 found during the traversal and returns *PathsTraversal*.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
194
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
195 PerformNeighborhoodVerticesSearchWithSuccessorsAndRadiusUpto
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
196 $PathsTraversal->
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
197 PerformNeighborhoodVerticesSearchWithSuccessorsAndRadiusUpto(
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
198 $StartVertexID, $Radius);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
199
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
200 Searches vertices around *StartVertexID* with neighborhood radius
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
201 upto *Radius* along with identification of successor vertices for
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
202 each vertex found during the traversal and returns *PathsTraversal*.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
203
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
204 PerformPathsSearch
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
205 $PathsTraversal->PerformPathsSearch($StartVertexID, [$AllowCycles]);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
206
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
207 Searches paths starting from *StartVertexID* with no sharing of
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
208 edges in paths traversed and returns *PathsTraversal*.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
209
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
210 By default, cycles are included in paths. A path containing a cycle
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
211 is terminated at a vertex completing the cycle.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
212
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
213 PerformPathsSearchBetween
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
214 $PathsTraversal->PerformPathsSearchBetween($StartVertexID, $EndVertexID);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
215
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
216 Searches paths between *StartVertexID* and *EndVertexID* and returns
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
217 *PathsTraversal*
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
218
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
219 PerformPathsSearchWithLength
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
220 $PathsTraversal->PerformPathsSearchWithLength($StartVertexID, $Length,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
221 [$AllowCycles]);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
222
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
223 Searches paths starting from *StartVertexID* with length *Length*
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
224 with no sharing of edges in paths traversed and returns
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
225 *PathsTraversal*.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
226
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
227 By default, cycles are included in paths. A path containing a cycle
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
228 is terminated at a vertex completing the cycle.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
229
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
230 PerformPathsSearchWithLengthUpto
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
231 $PathsTraversal->PerformPathsSearchWithLengthUpto($StartVertexID, $Length,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
232 [$AllowCycles]);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
233
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
234 Searches paths starting from *StartVertexID* with length upto
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
235 *Length* with no sharing of edges in paths traversed and returns
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
236 *PathsTraversal*.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
237
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
238 By default, cycles are included in paths. A path containing a cycle
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
239 is terminated at a vertex completing the cycle.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
240
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
241 StringifyPaths
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
242 $String = $PathsTraversal->StringifyPaths();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
243
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
244 Returns a string containing information about traversed paths in
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
245 *PathsTraversal* object
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
246
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
247 StringifyPathsTraversal
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
248 $String = $PathsTraversal->StringifyPathsTraversal();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
249
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
250 Returns a string containing information about *PathsTraversal*
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
251 object.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
252
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
253 StringifyVerticesDepth
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
254 $String = $PathsTraversal->StringifyVerticesDepth();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
255
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
256 Returns a string containing information about depth of vertices
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
257 found during search by *PathsTraversal* object.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
258
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
259 StringifyVerticesNeighborhoods
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
260 $String = $PathsTraversal->StringifyVerticesNeighborhoods();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
261
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
262 Returns a string containing information about neighborhoods of
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
263 vertices found during search by *PathsTraversal* object.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
264
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
265 StringifyVerticesNeighborhoodsWithSuccessors
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
266 $String = $PathsTraversal->StringifyVerticesNeighborhoodsWithSuccessors();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
267
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
268 Returns a string containing information about neighborhoods of
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
269 vertices along with their successors found during search by
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
270 *PathsTraversal* object.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
271
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
272 StringifyVerticesPredecessors
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
273 $String = $PathsTraversal->StringifyVerticesPredecessors();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
274
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
275 Returns a string containing information about predecessors of
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
276 vertices found during search by *PathsTraversal* object.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
277
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
278 StringifyVerticesRoots
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
279 $String = $PathsTraversal->StringifyVerticesRoots();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
280
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
281 Returns a string containing information about roots of vertices
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
282 found during search by *PathsTraversal* object.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
283
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
284 StringifyVerticesSuccessors
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
285 $String = $PathsTraversal->StringifyVerticesSuccessors();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
286
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
287 Returns a string containing information about successors of vertices
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
288 found during search by *PathsTraversal* object.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
289
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
290 AUTHOR
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
291 Manish Sud <msud@san.rr.com>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
292
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
293 SEE ALSO
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
294 Graph.pm, Path.pm
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
295
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
296 COPYRIGHT
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
297 Copyright (C) 2015 Manish Sud. All rights reserved.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
298
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
299 This file is part of MayaChemTools.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
300
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
301 MayaChemTools is free software; you can redistribute it and/or modify it
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
302 under the terms of the GNU Lesser General Public License as published by
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
303 the Free Software Foundation; either version 3 of the License, or (at
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
304 your option) any later version.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
305