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