diff mayachemtools/docs/modules/man3/PathsTraversal.3 @ 0:73ae111cf86f draft

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 11:55:01 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mayachemtools/docs/modules/man3/PathsTraversal.3	Wed Jan 20 11:55:01 2016 -0500
@@ -0,0 +1,480 @@
+.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
+.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.el \{\
+.    de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PATHSTRAVERSAL 1"
+.TH PATHSTRAVERSAL 1 "2015-03-29" "perl v5.14.2" "MayaChemTools"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+PathsTraversal
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+use Graph::PathsTraversal;
+.PP
+use Graph::PathsTraversal qw(:all);
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBPathsTraversal\fR class provides the following methods:
+.PP
+new, Copy, GetConnectedComponentsVertices, GetPaths, GetVertices,
+GetVerticesDepth, GetVerticesNeighborhoods,
+GetVerticesNeighborhoodsWithSuccessors, GetVerticesPredecessors, GetVerticesRoots,
+PerformAllPathsSearch, PerformAllPathsSearchWithLength,
+PerformAllPathsSearchWithLengthUpto, PerformBreadthFirstSearch,
+PerformBreadthFirstSearchWithLimit, PerformDepthFirstSearch,
+PerformDepthFirstSearchWithLimit, PerformNeighborhoodVerticesSearch,
+PerformNeighborhoodVerticesSearchWithRadiusUpto,
+PerformNeighborhoodVerticesSearchWithSuccessors,
+PerformNeighborhoodVerticesSearchWithSuccessorsAndRadiusUpto, PerformPathsSearch,
+PerformPathsSearchBetween, PerformPathsSearchWithLength,
+PerformPathsSearchWithLengthUpto, StringifyPaths, StringifyPathsTraversal,
+StringifyVerticesDepth, StringifyVerticesNeighborhoods,
+StringifyVerticesNeighborhoodsWithSuccessors, StringifyVerticesPredecessors,
+StringifyVerticesRoots, StringifyVerticesSuccessors
+.SS "\s-1METHODS\s0"
+.IX Subsection "METHODS"
+.IP "\fBnew\fR" 4
+.IX Item "new"
+.Vb 1
+\&    $PathsTraversal = new Graph::PathsTraversal($Graph);
+.Ve
+.Sp
+Using specified \fIGraph\fR, \fBnew\fR method creates a new \fBPathsTraversal\fR object and returns
+newly created \fBPathsTraversal\fR object.
+.IP "\fBCopy\fR" 4
+.IX Item "Copy"
+.Vb 1
+\&    $PathsTraversal = $PathsTraversal\->Copy();
+.Ve
+.Sp
+Copies \fIPathsTraversal\fR and its associated data using \fBStorable::dclone\fR and returns a new
+\&\fBPathsTraversal\fR object.
+.IP "\fBGetConnectedComponentsVertices\fR" 4
+.IX Item "GetConnectedComponentsVertices"
+.Vb 2
+\&    @Components = $PathsTraversal\->GetConnectedComponentsVertices();
+\&    $NumOfComponents = $PathsTraversal\->GetConnectedComponentsVertices();
+.Ve
+.Sp
+Returns an array of \fBComponents\fR containing references to arrays of vertex IDs corresponding
+to connected components of graph after a search. In scalar context, the number of connected
+components is returned.
+.Sp
+Connected \fBComponents\fR is sorted in descending order of number of vertices in each
+connected component.
+.IP "\fBGetPaths\fR" 4
+.IX Item "GetPaths"
+.Vb 2
+\&    @Paths = $PathsTraversal\->GetPaths();
+\&    $NumOfPaths = $PathsTraversal\->GetPaths();
+.Ve
+.Sp
+Returns an array of \fBPaths\fR containing references to arrays of vertex IDs corresponding to
+to paths traversed in a graph after a search. In scalar context, number of paths is returned.
+.Sp
+\&\fBPaths\fR array is sorted in ascending order of path lengths.
+.IP "\fBGetVertices\fR" 4
+.IX Item "GetVertices"
+.Vb 2
+\&    @Vertices = $PathsTraversal\->GetVertices();
+\&    $NumOfVertices = $PathsTraversal\->GetVertices();
+.Ve
+.Sp
+Returns an array containing an ordered list of vertex IDs traversed during a search. In
+scalar context, the number of vertices is returned.
+.IP "\fBGetVerticesDepth\fR" 4
+.IX Item "GetVerticesDepth"
+.Vb 1
+\&    %VerticesDepth = $PathsTraversal\->GetVerticesDepth();
+.Ve
+.Sp
+Returns a hash \fIVerticesDepth\fR containing vertex \s-1ID\s0 and depth from root vertex as a key and
+value pair for all vertices traversed during a search.
+.IP "\fBGetVerticesNeighborhoods\fR" 4
+.IX Item "GetVerticesNeighborhoods"
+.Vb 4
+\&    @VerticesNeighborhoods =
+\&       $PathsTraversal\->GetVerticesNeighborhoods();
+\&    $NumOfVerticesNeighborhoods =
+\&      $PathsTraversal\->GetVerticesNeighborhoods();
+.Ve
+.Sp
+Returns an array \fIVerticesNeighborhoods\fR containing references to arrays corresponding
+to vertices collected at various neighborhood radii around a specified vertex during a vertex
+neighborhood search. In scalar context, the number of neighborhoods is returned.
+.IP "\fBGetVerticesNeighborhoodsWithSuccessors\fR" 4
+.IX Item "GetVerticesNeighborhoodsWithSuccessors"
+.Vb 4
+\&    @VerticesNeighborhoodsWithSucceessors =
+\&       $PathsTraversal\->GetVerticesNeighborhoodsWithSuccessors();
+\&    $NumOfVerticesNeighborhoodsWithSucceessors =
+\&      $PathsTraversal\->GetVerticesNeighborhoodsWithSuccessors();
+.Ve
+.Sp
+Returns an array \fIVerticesNeighborhoodsWithSucceessors\fR containing references to arrays
+with first value corresponding to vertex IDs corresponding to a vertex at a specific neighborhood
+radius level and second value a reference to an arraty containing its successors.
+.IP "\fBGetVerticesPredecessors\fR" 4
+.IX Item "GetVerticesPredecessors"
+.Vb 1
+\&    %VerticesPredecessors = $PathsTraversal\->GetVerticesPredecessors();
+.Ve
+.Sp
+Returns a hash \fIVerticesPredecessors\fR containing vertex \s-1ID\s0 and predecessor vertex \s-1ID\s0 as key
+and value pair for all vertices traversed during a search.
+.IP "\fBGetVerticesRoots\fR" 4
+.IX Item "GetVerticesRoots"
+.Vb 1
+\&    %VerticesRoots = $PathsTraversal\->GetVerticesRoots();
+.Ve
+.Sp
+Returns a hash \fIVerticesPredecessors\fR containing vertex \s-1ID\s0 and root vertex \s-1ID\s0 as a key
+and value pair for all vertices traversed during a search.
+.IP "\fBPerformAllPathsSearch\fR" 4
+.IX Item "PerformAllPathsSearch"
+.Vb 1
+\&    $PathsTraversal\->PerformAllPathsSearch($StartVertexID, [$AllowCycles]);
+.Ve
+.Sp
+Searches all paths starting from a \fIStartVertexID\fR with sharing of edges in paths traversed and
+returns \fIPathsTraversal\fR.
+.Sp
+By default, cycles are included in paths. A path containing a cycle is terminated at a vertex
+completing the cycle.
+.IP "\fBPerformAllPathsSearchWithLength\fR" 4
+.IX Item "PerformAllPathsSearchWithLength"
+.Vb 2
+\&    $PathsTraversal\->PerformAllPathsSearchWithLength($StartVertexID,
+\&                     $Length, [$AllowCycles]);
+.Ve
+.Sp
+Searches all paths starting from \fIStartVertexID\fR of specific \fILength\fR with sharing of
+edges in paths traversed and returns \fIPathsTraversal\fR.
+.Sp
+By default, cycles are included in paths. A path containing a cycle is terminated at a vertex
+completing the cycle.
+.IP "\fBPerformAllPathsSearchWithLengthUpto\fR" 4
+.IX Item "PerformAllPathsSearchWithLengthUpto"
+.Vb 2
+\&    $PathsTraversal\->PerformAllPathsSearchWithLengthUpto($StartVertexID,
+\&                     $Length, [$AllowCycles]);
+.Ve
+.Sp
+Searches all paths starting from \fIStartVertexID\fR of length upto a \fILength\fR with sharing of
+edges in paths traversed and returns \fIPathsTraversal\fR.
+.Sp
+By default, cycles are included in paths. A path containing a cycle is terminated at a vertex
+completing the cycle.
+.IP "\fBPerformBreadthFirstSearch\fR" 4
+.IX Item "PerformBreadthFirstSearch"
+.Vb 1
+\&    $PathsTraversal\->PerformBreadthFirstSearch();
+.Ve
+.Sp
+Performs Breadth First Search (\s-1BFS\s0) and returns \fIPathsTraversal\fR.
+.IP "\fBPerformBreadthFirstSearchWithLimit\fR" 4
+.IX Item "PerformBreadthFirstSearchWithLimit"
+.Vb 2
+\&    $PathsTraversal\->PerformBreadthFirstSearchWithLimit($DepthLimit,
+\&                     [$RootVertexID]);
+.Ve
+.Sp
+Performs \s-1BFS\s0 with depth up to \fIDepthLimit\fR starting at \fIRootVertexID\fR and returns
+\&\fIPathsTraversal\fR. By default, root vertex \s-1ID\s0 corresponds to an arbitrary vertex.
+.IP "\fBPerformDepthFirstSearch\fR" 4
+.IX Item "PerformDepthFirstSearch"
+.Vb 1
+\&    $Return = $PathsTraversal\->PerformDepthFirstSearch();
+.Ve
+.Sp
+Performs Depth First Search (\s-1DFS\s0) and returns \fIPathsTraversal\fR.
+.IP "\fBPerformDepthFirstSearchWithLimit\fR" 4
+.IX Item "PerformDepthFirstSearchWithLimit"
+.Vb 2
+\&    $PathsTraversal\->PerformDepthFirstSearchWithLimit($DepthLimit,
+\&                     [$RootVertexID]);
+.Ve
+.Sp
+Performs \s-1DFS\s0 with depth up to \fIDepthLimit\fR starting at \fIRootVertexID\fR and returns
+\&\fIPathsTraversal\fR. By default, root vertex \s-1ID\s0 corresponds to an arbitrary vertex.
+.IP "\fBPerformNeighborhoodVerticesSearch\fR" 4
+.IX Item "PerformNeighborhoodVerticesSearch"
+.Vb 1
+\&    $PathsTraversal\->PerformNeighborhoodVerticesSearch($StartVertexID);
+.Ve
+.Sp
+Searches vertices around \fIStartVertexID\fR at all neighborhood radii and returns
+\&\fIPathsTraversal\fR object.
+.IP "\fBPerformNeighborhoodVerticesSearchWithRadiusUpto\fR" 4
+.IX Item "PerformNeighborhoodVerticesSearchWithRadiusUpto"
+.Vb 2
+\&    $PathsTraversal\->PerformNeighborhoodVerticesSearchWithRadiusUpto(
+\&                     $StartVertexID, $Radius);
+.Ve
+.Sp
+Searches vertices around \fIStartVertexID\fR with neighborhood radius up to \fIRadius\fR and returns
+\&\fIPathsTraversal\fR object.
+.IP "\fBPerformNeighborhoodVerticesSearchWithSuccessors\fR" 4
+.IX Item "PerformNeighborhoodVerticesSearchWithSuccessors"
+.Vb 2
+\&    $PathsTraversal\->PerformNeighborhoodVerticesSearchWithSuccessors(
+\&                     $StartVertexID);
+.Ve
+.Sp
+Searches vertices around \fIStartVertexID\fR at all neighborhood radii along with identification of
+successor vertices for each vertex found during the traversal and returns \fIPathsTraversal\fR.
+.IP "\fBPerformNeighborhoodVerticesSearchWithSuccessorsAndRadiusUpto\fR" 4
+.IX Item "PerformNeighborhoodVerticesSearchWithSuccessorsAndRadiusUpto"
+.Vb 3
+\&    $PathsTraversal\->
+\&                PerformNeighborhoodVerticesSearchWithSuccessorsAndRadiusUpto(
+\&                     $StartVertexID, $Radius);
+.Ve
+.Sp
+Searches vertices around \fIStartVertexID\fR with neighborhood radius upto \fIRadius\fR along with
+identification of successor vertices for each vertex found during the traversal and returns
+\&\fIPathsTraversal\fR.
+.IP "\fBPerformPathsSearch\fR" 4
+.IX Item "PerformPathsSearch"
+.Vb 1
+\&    $PathsTraversal\->PerformPathsSearch($StartVertexID, [$AllowCycles]);
+.Ve
+.Sp
+Searches paths starting from \fIStartVertexID\fR with no sharing of edges in paths traversed and
+returns \fIPathsTraversal\fR.
+.Sp
+By default, cycles are included in paths. A path containing a cycle is terminated at a vertex
+completing the cycle.
+.IP "\fBPerformPathsSearchBetween\fR" 4
+.IX Item "PerformPathsSearchBetween"
+.Vb 1
+\&    $PathsTraversal\->PerformPathsSearchBetween($StartVertexID, $EndVertexID);
+.Ve
+.Sp
+Searches paths between \fIStartVertexID\fR and \fIEndVertexID\fR and returns \fIPathsTraversal\fR
+.IP "\fBPerformPathsSearchWithLength\fR" 4
+.IX Item "PerformPathsSearchWithLength"
+.Vb 2
+\&    $PathsTraversal\->PerformPathsSearchWithLength($StartVertexID, $Length,
+\&                     [$AllowCycles]);
+.Ve
+.Sp
+Searches paths starting from \fIStartVertexID\fR  with length \fILength\fR with no sharing of
+edges in paths traversed and returns \fIPathsTraversal\fR.
+.Sp
+By default, cycles are included in paths. A path containing a cycle is terminated at a vertex
+completing the cycle.
+.IP "\fBPerformPathsSearchWithLengthUpto\fR" 4
+.IX Item "PerformPathsSearchWithLengthUpto"
+.Vb 2
+\&    $PathsTraversal\->PerformPathsSearchWithLengthUpto($StartVertexID, $Length,
+\&                     [$AllowCycles]);
+.Ve
+.Sp
+Searches paths starting from \fIStartVertexID\fR  with length upto \fILength\fR with no sharing of
+edges in paths traversed and returns \fIPathsTraversal\fR.
+.Sp
+By default, cycles are included in paths. A path containing a cycle is terminated at a vertex
+completing the cycle.
+.IP "\fBStringifyPaths\fR" 4
+.IX Item "StringifyPaths"
+.Vb 1
+\&    $String = $PathsTraversal\->StringifyPaths();
+.Ve
+.Sp
+Returns a string containing information about traversed paths in \fIPathsTraversal\fR object
+.IP "\fBStringifyPathsTraversal\fR" 4
+.IX Item "StringifyPathsTraversal"
+.Vb 1
+\&    $String = $PathsTraversal\->StringifyPathsTraversal();
+.Ve
+.Sp
+Returns a string containing information about \fIPathsTraversal\fR object.
+.IP "\fBStringifyVerticesDepth\fR" 4
+.IX Item "StringifyVerticesDepth"
+.Vb 1
+\&    $String = $PathsTraversal\->StringifyVerticesDepth();
+.Ve
+.Sp
+Returns a string containing information about depth of vertices found during search by
+\&\fIPathsTraversal\fR object.
+.IP "\fBStringifyVerticesNeighborhoods\fR" 4
+.IX Item "StringifyVerticesNeighborhoods"
+.Vb 1
+\&    $String = $PathsTraversal\->StringifyVerticesNeighborhoods();
+.Ve
+.Sp
+Returns a string containing information about neighborhoods of vertices found during search by
+\&\fIPathsTraversal\fR object.
+.IP "\fBStringifyVerticesNeighborhoodsWithSuccessors\fR" 4
+.IX Item "StringifyVerticesNeighborhoodsWithSuccessors"
+.Vb 1
+\&    $String = $PathsTraversal\->StringifyVerticesNeighborhoodsWithSuccessors();
+.Ve
+.Sp
+Returns a string containing information about neighborhoods of vertices along with their successors
+found during search by \fIPathsTraversal\fR object.
+.IP "\fBStringifyVerticesPredecessors\fR" 4
+.IX Item "StringifyVerticesPredecessors"
+.Vb 1
+\&    $String = $PathsTraversal\->StringifyVerticesPredecessors();
+.Ve
+.Sp
+Returns a string containing information about predecessors of vertices found during search by
+\&\fIPathsTraversal\fR object.
+.IP "\fBStringifyVerticesRoots\fR" 4
+.IX Item "StringifyVerticesRoots"
+.Vb 1
+\&    $String = $PathsTraversal\->StringifyVerticesRoots();
+.Ve
+.Sp
+Returns a string containing information about roots of vertices found during search by
+\&\fIPathsTraversal\fR object.
+.IP "\fBStringifyVerticesSuccessors\fR" 4
+.IX Item "StringifyVerticesSuccessors"
+.Vb 1
+\&    $String = $PathsTraversal\->StringifyVerticesSuccessors();
+.Ve
+.Sp
+Returns a string containing information about successors of vertices found during search by
+\&\fIPathsTraversal\fR object.
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Manish Sud <msud@san.rr.com>
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+Graph.pm, Path.pm
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright (C) 2015 Manish Sud. All rights reserved.
+.PP
+This file is part of MayaChemTools.
+.PP
+MayaChemTools is free software; you can redistribute it and/or modify it under
+the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free
+Software Foundation; either version 3 of the License, or (at your option)
+any later version.