|
SNAP Library 3.0, Developer Reference
2016-07-20 17:56:49
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
|
#include <anf.h>

Public Member Functions | |
| TGraphAnf (const PGraph &GraphPt, const int &Approx=32, const int &moreBits=5, const int &RndSeed=0) | |
| uint64 | GetNIdOffset (const int &NId) const |
| void | InitAnfBits (TAnfBitV &BitV) |
| void | Union (TAnfBitV &BitV1, const uint64 &NId1Offset, TAnfBitV &BitV2, const uint64 &NId2Offset) const |
| double | AvgLstZero (const TAnfBitV &BitV, const uint64 &NIdOffset) const |
| double | GetCount (const TAnfBitV &BitV, const uint64 &NIdOffset) const |
| void | GetNodeAnf (const int &SrcNId, TIntFltKdV &DistNbrsV, const int &MxDist, const bool &IsDir) |
| void | GetGraphAnf (TIntFltKdV &DistNbrsV, const int &MxDist, const bool &IsDir) |
Private Types | |
| typedef TVec< uint64 > | TAnfBitV |
Private Member Functions | |
| UndefDefaultCopyAssign (TGraphAnf) | |
Private Attributes | |
| THash< TInt, uint64 > | NIdToBitPosH |
| TInt | NApprox |
| TInt | NBits |
| TInt | MoreBits |
| TInt | ApproxBytes |
| PGraph | Graph |
| TRnd | Rnd |
Approximate Neighborhood Function. Implements the algorithm for computing the diameter of a given graph. The method is based on the approximate counting argument by Flajolet-Martin. For more details see C. R. Palmer, P. B. Gibbons and C. Faloutsos, ANF: A Fast and Scalable Tool for Data Mining in Massive Graphs, KDD 2002 (http://www.cs.cmu.edu/~christos/PUBLICATIONS/kdd02-anf.ps.gz) See TSnap::TestAnf() for example of how to use the class.
|
inline |
| double TGraphAnf< PGraph >::AvgLstZero | ( | const TAnfBitV & | BitV, |
| const uint64 & | NIdOffset | ||
| ) | const |
Definition at line 107 of file anf.h.
References TVec< TVal, TSizeTy >::BegI().
Referenced by TGraphAnf< PGraph >::GetCount().


|
inline |
Definition at line 50 of file anf.h.
References TGraphAnf< PGraph >::AvgLstZero().

| void TGraphAnf< PGraph >::GetGraphAnf | ( | TIntFltKdV & | DistNbrsV, |
| const int & | MxDist, | ||
| const bool & | IsDir | ||
| ) |
Returns the number of pairs of nodes reachable in less than H hops. For example, DistNbrsV.GetDat(0) is the number of nodes in the graph, DistNbrsV.GetDat(1) is the number of nodes+edges and so on.
| DistNbrsV | Maps between the distance H (in hops) and the number of nodes reachable in <=H hops. |
| MxDist | Maximum number of hops the algorithm spreads from SrcNId. |
| IsDir | false: consider links as undirected (drop link directions). |
Definition at line 148 of file anf.h.
References TVec< TVal, TSizeTy >::Add(), TVec< TVal, TSizeTy >::BegI(), TVec< TVal, TSizeTy >::Clr(), TVec< TVal, TSizeTy >::Gen(), IAssert, TVec< TVal, TSizeTy >::LastLast(), TVec< TVal, TSizeTy >::Len(), and TInt::Mx.
Referenced by TSnap::GetAnf(), TSnap::GetAnfEffDiam(), and TSnap::TestAnf().


Definition at line 46 of file anf.h.
References THash< TKey, TDat, THashFunc >::GetDat(), and TGraphAnf< PGraph >::NIdToBitPosH.

| void TGraphAnf< PGraph >::GetNodeAnf | ( | const int & | SrcNId, |
| TIntFltKdV & | DistNbrsV, | ||
| const int & | MxDist, | ||
| const bool & | IsDir | ||
| ) |
Returns the number of nodes reachable from SrcNId in less than H hops.
| SrcNId | Starting node. |
| DistNbrsV | Maps between the distance H (in hops) and the number of nodes reachable in <=H hops. |
| MxDist | Maximum number of hops the algorithm spreads from SrcNId. |
| IsDir | false: consider links as undirected (drop link directions). |
Definition at line 120 of file anf.h.
References TVec< TVal, TSizeTy >::Add(), TVec< TVal, TSizeTy >::BegI(), TVec< TVal, TSizeTy >::Clr(), TVec< TVal, TSizeTy >::Gen(), IAssert, TVec< TVal, TSizeTy >::Last(), TVec< TVal, TSizeTy >::Len(), and TInt::Mx.
Referenced by TSnap::GetAnf().


Definition at line 67 of file anf.h.
References TVec< TVal, TSizeTy >::BegI(), TStr::Fmt(), TVec< TVal, TSizeTy >::Gen(), TUInt64::GetStr(), IAssert, IAssertR, TMath::Log2(), TInt::Mx, and TVec< TVal, TSizeTy >::PutAll().

| void TGraphAnf< PGraph >::Union | ( | TAnfBitV & | BitV1, |
| const uint64 & | NId1Offset, | ||
| TAnfBitV & | BitV2, | ||
| const uint64 & | NId2Offset | ||
| ) | const |
Definition at line 99 of file anf.h.
References TVec< TVal, TSizeTy >::BegI().

|
private |
Definition at line 37 of file anf.h.
Referenced by TGraphAnf< PGraph >::TGraphAnf().
Definition at line 36 of file anf.h.
Referenced by TGraphAnf< PGraph >::GetNIdOffset().