@ladybugmem/icebug 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +32 -10
- package/lib/index.js +23 -11
- package/package.json +9 -15
- package/prebuilds/darwin-arm64/icebug.node +0 -0
- package/{vendor/lib → prebuilds/darwin-arm64}/libnetworkit.dylib +0 -0
- package/prebuilds/linux-x64/icebug.node +0 -0
- package/prebuilds/linux-x64/libnetworkit.so +0 -0
- package/scripts/download-icebug.sh +92 -0
- package/build/Release/.deps/Release/icebug.node.d +0 -1
- package/build/Release/.deps/Release/obj.target/icebug/src/addon.o.d +0 -291
- package/build/Release/icebug.node +0 -0
- package/build/Release/obj.target/icebug/src/addon.o +0 -0
- package/vendor/include/networkit/GlobalState.hpp +0 -86
- package/vendor/include/networkit/Globals.hpp +0 -41
- package/vendor/include/networkit/algebraic/AlgebraicGlobals.hpp +0 -27
- package/vendor/include/networkit/algebraic/CSRGeneralMatrix.hpp +0 -1292
- package/vendor/include/networkit/algebraic/CSRMatrix.hpp +0 -11
- package/vendor/include/networkit/algebraic/DenseMatrix.hpp +0 -537
- package/vendor/include/networkit/algebraic/DynamicMatrix.hpp +0 -514
- package/vendor/include/networkit/algebraic/GraphBLAS.hpp +0 -323
- package/vendor/include/networkit/algebraic/MatrixTools.hpp +0 -156
- package/vendor/include/networkit/algebraic/Semirings.hpp +0 -171
- package/vendor/include/networkit/algebraic/SparseAccumulator.hpp +0 -111
- package/vendor/include/networkit/algebraic/Vector.hpp +0 -371
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicBFS.hpp +0 -72
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicBellmanFord.hpp +0 -88
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicMatchingCoarsening.hpp +0 -96
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicPageRank.hpp +0 -145
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicSpanningEdgeCentrality.hpp +0 -122
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicTriangleCounting.hpp +0 -76
- package/vendor/include/networkit/auxiliary/AlignedAllocator.hpp +0 -113
- package/vendor/include/networkit/auxiliary/ArrayTools.hpp +0 -85
- package/vendor/include/networkit/auxiliary/BloomFilter.hpp +0 -70
- package/vendor/include/networkit/auxiliary/BucketPQ.hpp +0 -142
- package/vendor/include/networkit/auxiliary/Enforce.hpp +0 -117
- package/vendor/include/networkit/auxiliary/FunctionTraits.hpp +0 -74
- package/vendor/include/networkit/auxiliary/HashUtils.hpp +0 -28
- package/vendor/include/networkit/auxiliary/IncrementalUniformRandomSelector.hpp +0 -52
- package/vendor/include/networkit/auxiliary/Log.hpp +0 -119
- package/vendor/include/networkit/auxiliary/MissingMath.hpp +0 -48
- package/vendor/include/networkit/auxiliary/Multiprecision.hpp +0 -17
- package/vendor/include/networkit/auxiliary/NumberParsing.hpp +0 -307
- package/vendor/include/networkit/auxiliary/NumericTools.hpp +0 -57
- package/vendor/include/networkit/auxiliary/Parallel.hpp +0 -56
- package/vendor/include/networkit/auxiliary/Parallelism.hpp +0 -33
- package/vendor/include/networkit/auxiliary/PrioQueue.hpp +0 -252
- package/vendor/include/networkit/auxiliary/Random.hpp +0 -122
- package/vendor/include/networkit/auxiliary/SetIntersector.hpp +0 -72
- package/vendor/include/networkit/auxiliary/SignalHandling.hpp +0 -39
- package/vendor/include/networkit/auxiliary/SortedList.hpp +0 -128
- package/vendor/include/networkit/auxiliary/SparseVector.hpp +0 -215
- package/vendor/include/networkit/auxiliary/SpinLock.hpp +0 -23
- package/vendor/include/networkit/auxiliary/StringBuilder.hpp +0 -322
- package/vendor/include/networkit/auxiliary/StringTools.hpp +0 -76
- package/vendor/include/networkit/auxiliary/TemplateUtils.hpp +0 -76
- package/vendor/include/networkit/auxiliary/Timer.hpp +0 -145
- package/vendor/include/networkit/auxiliary/VectorComparator.hpp +0 -32
- package/vendor/include/networkit/base/Algorithm.hpp +0 -41
- package/vendor/include/networkit/base/DynAlgorithm.hpp +0 -31
- package/vendor/include/networkit/centrality/ApproxBetweenness.hpp +0 -62
- package/vendor/include/networkit/centrality/ApproxCloseness.hpp +0 -136
- package/vendor/include/networkit/centrality/ApproxElectricalCloseness.hpp +0 -156
- package/vendor/include/networkit/centrality/ApproxGroupBetweenness.hpp +0 -124
- package/vendor/include/networkit/centrality/ApproxSpanningEdge.hpp +0 -84
- package/vendor/include/networkit/centrality/Betweenness.hpp +0 -47
- package/vendor/include/networkit/centrality/Centrality.hpp +0 -98
- package/vendor/include/networkit/centrality/Closeness.hpp +0 -107
- package/vendor/include/networkit/centrality/ComplexPaths.hpp +0 -113
- package/vendor/include/networkit/centrality/CoreDecomposition.hpp +0 -161
- package/vendor/include/networkit/centrality/DegreeCentrality.hpp +0 -55
- package/vendor/include/networkit/centrality/DynApproxBetweenness.hpp +0 -95
- package/vendor/include/networkit/centrality/DynBetweenness.hpp +0 -99
- package/vendor/include/networkit/centrality/DynBetweennessOneNode.hpp +0 -98
- package/vendor/include/networkit/centrality/DynKatzCentrality.hpp +0 -115
- package/vendor/include/networkit/centrality/DynTopHarmonicCloseness.hpp +0 -223
- package/vendor/include/networkit/centrality/EigenvectorCentrality.hpp +0 -41
- package/vendor/include/networkit/centrality/EstimateBetweenness.hpp +0 -51
- package/vendor/include/networkit/centrality/ForestCentrality.hpp +0 -112
- package/vendor/include/networkit/centrality/GedWalk.hpp +0 -225
- package/vendor/include/networkit/centrality/GroupCloseness.hpp +0 -115
- package/vendor/include/networkit/centrality/GroupClosenessGrowShrink.hpp +0 -78
- package/vendor/include/networkit/centrality/GroupClosenessLocalSearch.hpp +0 -77
- package/vendor/include/networkit/centrality/GroupClosenessLocalSwaps.hpp +0 -106
- package/vendor/include/networkit/centrality/GroupDegree.hpp +0 -155
- package/vendor/include/networkit/centrality/GroupHarmonicCloseness.hpp +0 -83
- package/vendor/include/networkit/centrality/HarmonicCloseness.hpp +0 -48
- package/vendor/include/networkit/centrality/KPathCentrality.hpp +0 -52
- package/vendor/include/networkit/centrality/KadabraBetweenness.hpp +0 -242
- package/vendor/include/networkit/centrality/KatzCentrality.hpp +0 -62
- package/vendor/include/networkit/centrality/LaplacianCentrality.hpp +0 -44
- package/vendor/include/networkit/centrality/LocalClusteringCoefficient.hpp +0 -60
- package/vendor/include/networkit/centrality/LocalPartitionCoverage.hpp +0 -43
- package/vendor/include/networkit/centrality/LocalSquareClusteringCoefficient.hpp +0 -42
- package/vendor/include/networkit/centrality/PageRank.hpp +0 -101
- package/vendor/include/networkit/centrality/PermanenceCentrality.hpp +0 -48
- package/vendor/include/networkit/centrality/Sfigality.hpp +0 -45
- package/vendor/include/networkit/centrality/SpanningEdgeCentrality.hpp +0 -86
- package/vendor/include/networkit/centrality/TopCloseness.hpp +0 -136
- package/vendor/include/networkit/centrality/TopHarmonicCloseness.hpp +0 -151
- package/vendor/include/networkit/clique/MaximalCliques.hpp +0 -83
- package/vendor/include/networkit/coarsening/ClusteringProjector.hpp +0 -59
- package/vendor/include/networkit/coarsening/CoarsenedGraphView.hpp +0 -156
- package/vendor/include/networkit/coarsening/GraphCoarsening.hpp +0 -57
- package/vendor/include/networkit/coarsening/MatchingCoarsening.hpp +0 -43
- package/vendor/include/networkit/coarsening/ParallelPartitionCoarsening.hpp +0 -33
- package/vendor/include/networkit/coarsening/ParallelPartitionCoarseningView.hpp +0 -62
- package/vendor/include/networkit/community/AdjustedRandMeasure.hpp +0 -31
- package/vendor/include/networkit/community/ClusteringGenerator.hpp +0 -75
- package/vendor/include/networkit/community/CommunityDetectionAlgorithm.hpp +0 -58
- package/vendor/include/networkit/community/Conductance.hpp +0 -32
- package/vendor/include/networkit/community/CoverF1Similarity.hpp +0 -53
- package/vendor/include/networkit/community/CoverHubDominance.hpp +0 -38
- package/vendor/include/networkit/community/Coverage.hpp +0 -25
- package/vendor/include/networkit/community/CutClustering.hpp +0 -62
- package/vendor/include/networkit/community/DissimilarityMeasure.hpp +0 -31
- package/vendor/include/networkit/community/DynamicNMIDistance.hpp +0 -44
- package/vendor/include/networkit/community/EdgeCut.hpp +0 -24
- package/vendor/include/networkit/community/GraphClusteringTools.hpp +0 -103
- package/vendor/include/networkit/community/GraphStructuralRandMeasure.hpp +0 -28
- package/vendor/include/networkit/community/HubDominance.hpp +0 -46
- package/vendor/include/networkit/community/IntrapartitionDensity.hpp +0 -44
- package/vendor/include/networkit/community/IsolatedInterpartitionConductance.hpp +0 -40
- package/vendor/include/networkit/community/IsolatedInterpartitionExpansion.hpp +0 -40
- package/vendor/include/networkit/community/JaccardMeasure.hpp +0 -25
- package/vendor/include/networkit/community/LFM.hpp +0 -49
- package/vendor/include/networkit/community/LPDegreeOrdered.hpp +0 -48
- package/vendor/include/networkit/community/LocalCommunityEvaluation.hpp +0 -100
- package/vendor/include/networkit/community/LocalCoverEvaluation.hpp +0 -31
- package/vendor/include/networkit/community/LocalPartitionEvaluation.hpp +0 -31
- package/vendor/include/networkit/community/LouvainMapEquation.hpp +0 -135
- package/vendor/include/networkit/community/Modularity.hpp +0 -54
- package/vendor/include/networkit/community/NMIDistance.hpp +0 -28
- package/vendor/include/networkit/community/NodeStructuralRandMeasure.hpp +0 -27
- package/vendor/include/networkit/community/OverlappingCommunityDetectionAlgorithm.hpp +0 -51
- package/vendor/include/networkit/community/OverlappingNMIDistance.hpp +0 -175
- package/vendor/include/networkit/community/PLM.hpp +0 -89
- package/vendor/include/networkit/community/PLP.hpp +0 -83
- package/vendor/include/networkit/community/ParallelAgglomerativeClusterer.hpp +0 -37
- package/vendor/include/networkit/community/ParallelLeiden.hpp +0 -96
- package/vendor/include/networkit/community/ParallelLeidenView.hpp +0 -138
- package/vendor/include/networkit/community/PartitionFragmentation.hpp +0 -30
- package/vendor/include/networkit/community/PartitionHubDominance.hpp +0 -37
- package/vendor/include/networkit/community/PartitionIntersection.hpp +0 -25
- package/vendor/include/networkit/community/QualityMeasure.hpp +0 -27
- package/vendor/include/networkit/community/SampledGraphStructuralRandMeasure.hpp +0 -40
- package/vendor/include/networkit/community/SampledNodeStructuralRandMeasure.hpp +0 -40
- package/vendor/include/networkit/community/StablePartitionNodes.hpp +0 -48
- package/vendor/include/networkit/components/BiconnectedComponents.hpp +0 -116
- package/vendor/include/networkit/components/ComponentDecomposition.hpp +0 -72
- package/vendor/include/networkit/components/ConnectedComponents.hpp +0 -55
- package/vendor/include/networkit/components/DynConnectedComponents.hpp +0 -71
- package/vendor/include/networkit/components/DynWeaklyConnectedComponents.hpp +0 -73
- package/vendor/include/networkit/components/ParallelConnectedComponents.hpp +0 -44
- package/vendor/include/networkit/components/RandomSpanningForest.hpp +0 -36
- package/vendor/include/networkit/components/StronglyConnectedComponents.hpp +0 -50
- package/vendor/include/networkit/components/WeaklyConnectedComponents.hpp +0 -59
- package/vendor/include/networkit/correlation/Assortativity.hpp +0 -64
- package/vendor/include/networkit/distance/APSP.hpp +0 -70
- package/vendor/include/networkit/distance/AStar.hpp +0 -68
- package/vendor/include/networkit/distance/AStarGeneral.hpp +0 -110
- package/vendor/include/networkit/distance/AdamicAdarDistance.hpp +0 -52
- package/vendor/include/networkit/distance/AffectedNodes.hpp +0 -130
- package/vendor/include/networkit/distance/AlgebraicDistance.hpp +0 -63
- package/vendor/include/networkit/distance/BFS.hpp +0 -43
- package/vendor/include/networkit/distance/BidirectionalBFS.hpp +0 -51
- package/vendor/include/networkit/distance/BidirectionalDijkstra.hpp +0 -69
- package/vendor/include/networkit/distance/CommuteTimeDistance.hpp +0 -89
- package/vendor/include/networkit/distance/Diameter.hpp +0 -97
- package/vendor/include/networkit/distance/Dijkstra.hpp +0 -50
- package/vendor/include/networkit/distance/DynAPSP.hpp +0 -67
- package/vendor/include/networkit/distance/DynBFS.hpp +0 -56
- package/vendor/include/networkit/distance/DynDijkstra.hpp +0 -57
- package/vendor/include/networkit/distance/DynPrunedLandmarkLabeling.hpp +0 -67
- package/vendor/include/networkit/distance/DynSSSP.hpp +0 -87
- package/vendor/include/networkit/distance/Eccentricity.hpp +0 -32
- package/vendor/include/networkit/distance/EffectiveDiameter.hpp +0 -47
- package/vendor/include/networkit/distance/EffectiveDiameterApproximation.hpp +0 -57
- package/vendor/include/networkit/distance/FloydWarshall.hpp +0 -93
- package/vendor/include/networkit/distance/GraphDistance.hpp +0 -49
- package/vendor/include/networkit/distance/HopPlotApproximation.hpp +0 -62
- package/vendor/include/networkit/distance/IncompleteDijkstra.hpp +0 -66
- package/vendor/include/networkit/distance/IncompleteSSSP.hpp +0 -41
- package/vendor/include/networkit/distance/JaccardDistance.hpp +0 -57
- package/vendor/include/networkit/distance/MultiTargetBFS.hpp +0 -32
- package/vendor/include/networkit/distance/MultiTargetDijkstra.hpp +0 -40
- package/vendor/include/networkit/distance/NeighborhoodFunction.hpp +0 -47
- package/vendor/include/networkit/distance/NeighborhoodFunctionApproximation.hpp +0 -56
- package/vendor/include/networkit/distance/NeighborhoodFunctionHeuristic.hpp +0 -56
- package/vendor/include/networkit/distance/NodeDistance.hpp +0 -54
- package/vendor/include/networkit/distance/PrunedLandmarkLabeling.hpp +0 -76
- package/vendor/include/networkit/distance/ReverseBFS.hpp +0 -46
- package/vendor/include/networkit/distance/SPSP.hpp +0 -143
- package/vendor/include/networkit/distance/SSSP.hpp +0 -216
- package/vendor/include/networkit/distance/STSP.hpp +0 -193
- package/vendor/include/networkit/distance/Volume.hpp +0 -66
- package/vendor/include/networkit/dynamics/DGSStreamParser.hpp +0 -40
- package/vendor/include/networkit/dynamics/DGSWriter.hpp +0 -30
- package/vendor/include/networkit/dynamics/GraphDifference.hpp +0 -110
- package/vendor/include/networkit/dynamics/GraphEvent.hpp +0 -55
- package/vendor/include/networkit/dynamics/GraphEventHandler.hpp +0 -39
- package/vendor/include/networkit/dynamics/GraphEventProxy.hpp +0 -55
- package/vendor/include/networkit/dynamics/GraphUpdater.hpp +0 -38
- package/vendor/include/networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp +0 -26
- package/vendor/include/networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp +0 -33
- package/vendor/include/networkit/edgescores/EdgeScore.hpp +0 -50
- package/vendor/include/networkit/edgescores/EdgeScoreAsWeight.hpp +0 -33
- package/vendor/include/networkit/edgescores/EdgeScoreBlender.hpp +0 -33
- package/vendor/include/networkit/edgescores/EdgeScoreLinearizer.hpp +0 -32
- package/vendor/include/networkit/edgescores/EdgeScoreNormalizer.hpp +0 -35
- package/vendor/include/networkit/edgescores/GeometricMeanScore.hpp +0 -29
- package/vendor/include/networkit/edgescores/PrefixJaccardScore.hpp +0 -23
- package/vendor/include/networkit/edgescores/TriangleEdgeScore.hpp +0 -39
- package/vendor/include/networkit/embedding/Node2Vec.hpp +0 -83
- package/vendor/include/networkit/flow/EdmondsKarp.hpp +0 -112
- package/vendor/include/networkit/generators/BarabasiAlbertGenerator.hpp +0 -87
- package/vendor/include/networkit/generators/ChungLuGenerator.hpp +0 -46
- package/vendor/include/networkit/generators/ChungLuGeneratorAlamEtAl.hpp +0 -63
- package/vendor/include/networkit/generators/ClusteredRandomGraphGenerator.hpp +0 -56
- package/vendor/include/networkit/generators/ConfigurationModel.hpp +0 -36
- package/vendor/include/networkit/generators/DorogovtsevMendesGenerator.hpp +0 -33
- package/vendor/include/networkit/generators/DynamicBarabasiAlbertGenerator.hpp +0 -33
- package/vendor/include/networkit/generators/DynamicDGSParser.hpp +0 -51
- package/vendor/include/networkit/generators/DynamicDorogovtsevMendesGenerator.hpp +0 -34
- package/vendor/include/networkit/generators/DynamicForestFireGenerator.hpp +0 -55
- package/vendor/include/networkit/generators/DynamicGraphGenerator.hpp +0 -40
- package/vendor/include/networkit/generators/DynamicGraphSource.hpp +0 -79
- package/vendor/include/networkit/generators/DynamicHyperbolicGenerator.hpp +0 -143
- package/vendor/include/networkit/generators/DynamicPathGenerator.hpp +0 -26
- package/vendor/include/networkit/generators/DynamicPubWebGenerator.hpp +0 -54
- package/vendor/include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp +0 -65
- package/vendor/include/networkit/generators/ErdosRenyiEnumerator.hpp +0 -318
- package/vendor/include/networkit/generators/ErdosRenyiGenerator.hpp +0 -56
- package/vendor/include/networkit/generators/HavelHakimiGenerator.hpp +0 -48
- package/vendor/include/networkit/generators/HyperbolicGenerator.hpp +0 -236
- package/vendor/include/networkit/generators/LFRGenerator.hpp +0 -175
- package/vendor/include/networkit/generators/MocnikGenerator.hpp +0 -147
- package/vendor/include/networkit/generators/MocnikGeneratorBasic.hpp +0 -58
- package/vendor/include/networkit/generators/PowerlawDegreeSequence.hpp +0 -128
- package/vendor/include/networkit/generators/PubWebGenerator.hpp +0 -94
- package/vendor/include/networkit/generators/RegularRingLatticeGenerator.hpp +0 -37
- package/vendor/include/networkit/generators/RmatGenerator.hpp +0 -67
- package/vendor/include/networkit/generators/StaticDegreeSequenceGenerator.hpp +0 -42
- package/vendor/include/networkit/generators/StaticGraphGenerator.hpp +0 -30
- package/vendor/include/networkit/generators/StochasticBlockmodel.hpp +0 -41
- package/vendor/include/networkit/generators/WattsStrogatzGenerator.hpp +0 -43
- package/vendor/include/networkit/generators/quadtree/QuadNode.hpp +0 -857
- package/vendor/include/networkit/generators/quadtree/QuadNodeCartesianEuclid.hpp +0 -587
- package/vendor/include/networkit/generators/quadtree/QuadNodePolarEuclid.hpp +0 -726
- package/vendor/include/networkit/generators/quadtree/Quadtree.hpp +0 -232
- package/vendor/include/networkit/generators/quadtree/QuadtreeCartesianEuclid.hpp +0 -149
- package/vendor/include/networkit/generators/quadtree/QuadtreePolarEuclid.hpp +0 -143
- package/vendor/include/networkit/geometric/HyperbolicSpace.hpp +0 -248
- package/vendor/include/networkit/geometric/Point2DWithIndex.hpp +0 -145
- package/vendor/include/networkit/global/ClusteringCoefficient.hpp +0 -42
- package/vendor/include/networkit/global/GlobalClusteringCoefficient.hpp +0 -24
- package/vendor/include/networkit/graph/Attributes.hpp +0 -568
- package/vendor/include/networkit/graph/BFS.hpp +0 -111
- package/vendor/include/networkit/graph/DFS.hpp +0 -71
- package/vendor/include/networkit/graph/Dijkstra.hpp +0 -83
- package/vendor/include/networkit/graph/EdgeIterators.hpp +0 -171
- package/vendor/include/networkit/graph/Graph.hpp +0 -2083
- package/vendor/include/networkit/graph/GraphBuilder.hpp +0 -289
- package/vendor/include/networkit/graph/GraphR.hpp +0 -133
- package/vendor/include/networkit/graph/GraphTools.hpp +0 -589
- package/vendor/include/networkit/graph/GraphW.hpp +0 -1236
- package/vendor/include/networkit/graph/KruskalMSF.hpp +0 -50
- package/vendor/include/networkit/graph/NeighborIterators.hpp +0 -163
- package/vendor/include/networkit/graph/NodeIterators.hpp +0 -127
- package/vendor/include/networkit/graph/PrimMSF.hpp +0 -66
- package/vendor/include/networkit/graph/RandomMaximumSpanningForest.hpp +0 -133
- package/vendor/include/networkit/graph/SpanningForest.hpp +0 -41
- package/vendor/include/networkit/graph/TopologicalSort.hpp +0 -87
- package/vendor/include/networkit/graph/UnionMaximumSpanningForest.hpp +0 -126
- package/vendor/include/networkit/graph/test/GraphBuilderBenchmark.hpp +0 -68
- package/vendor/include/networkit/independentset/IndependentSetFinder.hpp +0 -44
- package/vendor/include/networkit/independentset/Luby.hpp +0 -27
- package/vendor/include/networkit/io/BinaryEdgeListPartitionReader.hpp +0 -45
- package/vendor/include/networkit/io/BinaryEdgeListPartitionWriter.hpp +0 -47
- package/vendor/include/networkit/io/BinaryPartitionReader.hpp +0 -41
- package/vendor/include/networkit/io/BinaryPartitionWriter.hpp +0 -44
- package/vendor/include/networkit/io/CoverReader.hpp +0 -27
- package/vendor/include/networkit/io/CoverWriter.hpp +0 -21
- package/vendor/include/networkit/io/DGSReader.hpp +0 -39
- package/vendor/include/networkit/io/DibapGraphReader.hpp +0 -43
- package/vendor/include/networkit/io/DotGraphWriter.hpp +0 -39
- package/vendor/include/networkit/io/DotPartitionWriter.hpp +0 -23
- package/vendor/include/networkit/io/DynamicGraphReader.hpp +0 -29
- package/vendor/include/networkit/io/EdgeListCoverReader.hpp +0 -35
- package/vendor/include/networkit/io/EdgeListPartitionReader.hpp +0 -43
- package/vendor/include/networkit/io/EdgeListReader.hpp +0 -61
- package/vendor/include/networkit/io/EdgeListWriter.hpp +0 -48
- package/vendor/include/networkit/io/GMLGraphReader.hpp +0 -33
- package/vendor/include/networkit/io/GMLGraphWriter.hpp +0 -33
- package/vendor/include/networkit/io/GraphIO.hpp +0 -52
- package/vendor/include/networkit/io/GraphReader.hpp +0 -40
- package/vendor/include/networkit/io/GraphToolBinaryReader.hpp +0 -71
- package/vendor/include/networkit/io/GraphToolBinaryWriter.hpp +0 -61
- package/vendor/include/networkit/io/GraphWriter.hpp +0 -27
- package/vendor/include/networkit/io/KONECTGraphReader.hpp +0 -44
- package/vendor/include/networkit/io/LineFileReader.hpp +0 -42
- package/vendor/include/networkit/io/METISGraphReader.hpp +0 -36
- package/vendor/include/networkit/io/METISGraphWriter.hpp +0 -29
- package/vendor/include/networkit/io/METISParser.hpp +0 -63
- package/vendor/include/networkit/io/MTXGraphReader.hpp +0 -31
- package/vendor/include/networkit/io/MTXParser.hpp +0 -87
- package/vendor/include/networkit/io/MatrixMarketReader.hpp +0 -33
- package/vendor/include/networkit/io/MatrixReader.hpp +0 -33
- package/vendor/include/networkit/io/MemoryMappedFile.hpp +0 -80
- package/vendor/include/networkit/io/NetworkitBinaryGraph.hpp +0 -144
- package/vendor/include/networkit/io/NetworkitBinaryReader.hpp +0 -50
- package/vendor/include/networkit/io/NetworkitBinaryWriter.hpp +0 -71
- package/vendor/include/networkit/io/PartitionReader.hpp +0 -34
- package/vendor/include/networkit/io/PartitionWriter.hpp +0 -31
- package/vendor/include/networkit/io/RBGraphReader.hpp +0 -37
- package/vendor/include/networkit/io/RBMatrixReader.hpp +0 -49
- package/vendor/include/networkit/io/RasterReader.hpp +0 -40
- package/vendor/include/networkit/io/SNAPEdgeListPartitionReader.hpp +0 -28
- package/vendor/include/networkit/io/SNAPGraphReader.hpp +0 -53
- package/vendor/include/networkit/io/SNAPGraphWriter.hpp +0 -53
- package/vendor/include/networkit/io/ThrillGraphBinaryReader.hpp +0 -44
- package/vendor/include/networkit/io/ThrillGraphBinaryWriter.hpp +0 -27
- package/vendor/include/networkit/layout/LayoutAlgorithm.hpp +0 -39
- package/vendor/include/networkit/linkprediction/AdamicAdarIndex.hpp +0 -37
- package/vendor/include/networkit/linkprediction/AdjustedRandIndex.hpp +0 -36
- package/vendor/include/networkit/linkprediction/AlgebraicDistanceIndex.hpp +0 -70
- package/vendor/include/networkit/linkprediction/CommonNeighborsIndex.hpp +0 -39
- package/vendor/include/networkit/linkprediction/EvaluationMetric.hpp +0 -135
- package/vendor/include/networkit/linkprediction/JaccardIndex.hpp +0 -44
- package/vendor/include/networkit/linkprediction/KatzIndex.hpp +0 -84
- package/vendor/include/networkit/linkprediction/LinkPredictor.hpp +0 -98
- package/vendor/include/networkit/linkprediction/LinkThresholder.hpp +0 -56
- package/vendor/include/networkit/linkprediction/MissingLinksFinder.hpp +0 -60
- package/vendor/include/networkit/linkprediction/NeighborhoodDistanceIndex.hpp +0 -42
- package/vendor/include/networkit/linkprediction/NeighborhoodUtility.hpp +0 -54
- package/vendor/include/networkit/linkprediction/NeighborsMeasureIndex.hpp +0 -48
- package/vendor/include/networkit/linkprediction/PrecisionRecallMetric.hpp +0 -40
- package/vendor/include/networkit/linkprediction/PredictionsSorter.hpp +0 -66
- package/vendor/include/networkit/linkprediction/PreferentialAttachmentIndex.hpp +0 -37
- package/vendor/include/networkit/linkprediction/ROCMetric.hpp +0 -39
- package/vendor/include/networkit/linkprediction/RandomLinkSampler.hpp +0 -47
- package/vendor/include/networkit/linkprediction/ResourceAllocationIndex.hpp +0 -38
- package/vendor/include/networkit/linkprediction/SameCommunityIndex.hpp +0 -50
- package/vendor/include/networkit/linkprediction/TotalNeighborsIndex.hpp +0 -39
- package/vendor/include/networkit/linkprediction/UDegreeIndex.hpp +0 -35
- package/vendor/include/networkit/linkprediction/VDegreeIndex.hpp +0 -35
- package/vendor/include/networkit/matching/BMatcher.hpp +0 -52
- package/vendor/include/networkit/matching/BMatching.hpp +0 -115
- package/vendor/include/networkit/matching/BSuitorMatcher.hpp +0 -170
- package/vendor/include/networkit/matching/DynamicBSuitorMatcher.hpp +0 -78
- package/vendor/include/networkit/matching/LocalMaxMatcher.hpp +0 -35
- package/vendor/include/networkit/matching/Matcher.hpp +0 -55
- package/vendor/include/networkit/matching/Matching.hpp +0 -111
- package/vendor/include/networkit/matching/PathGrowingMatcher.hpp +0 -46
- package/vendor/include/networkit/matching/SuitorMatcher.hpp +0 -62
- package/vendor/include/networkit/numerics/ConjugateGradient.hpp +0 -163
- package/vendor/include/networkit/numerics/GaussSeidelRelaxation.hpp +0 -99
- package/vendor/include/networkit/numerics/LAMG/LAMGSettings.hpp +0 -70
- package/vendor/include/networkit/numerics/LAMG/Lamg.hpp +0 -460
- package/vendor/include/networkit/numerics/LAMG/Level/EliminationStage.hpp +0 -47
- package/vendor/include/networkit/numerics/LAMG/Level/Level.hpp +0 -56
- package/vendor/include/networkit/numerics/LAMG/Level/LevelAggregation.hpp +0 -52
- package/vendor/include/networkit/numerics/LAMG/Level/LevelElimination.hpp +0 -133
- package/vendor/include/networkit/numerics/LAMG/Level/LevelFinest.hpp +0 -28
- package/vendor/include/networkit/numerics/LAMG/LevelHierarchy.hpp +0 -165
- package/vendor/include/networkit/numerics/LAMG/MultiLevelSetup.hpp +0 -1090
- package/vendor/include/networkit/numerics/LAMG/SolverLamg.hpp +0 -316
- package/vendor/include/networkit/numerics/LinearSolver.hpp +0 -151
- package/vendor/include/networkit/numerics/Preconditioner/DiagonalPreconditioner.hpp +0 -61
- package/vendor/include/networkit/numerics/Preconditioner/IdentityPreconditioner.hpp +0 -36
- package/vendor/include/networkit/numerics/Smoother.hpp +0 -37
- package/vendor/include/networkit/overlap/HashingOverlapper.hpp +0 -28
- package/vendor/include/networkit/overlap/Overlapper.hpp +0 -27
- package/vendor/include/networkit/planarity/LeftRightPlanarityCheck.hpp +0 -113
- package/vendor/include/networkit/randomization/Curveball.hpp +0 -49
- package/vendor/include/networkit/randomization/CurveballGlobalTradeGenerator.hpp +0 -39
- package/vendor/include/networkit/randomization/CurveballUniformTradeGenerator.hpp +0 -39
- package/vendor/include/networkit/randomization/DegreePreservingShuffle.hpp +0 -82
- package/vendor/include/networkit/randomization/EdgeSwitching.hpp +0 -157
- package/vendor/include/networkit/randomization/GlobalCurveball.hpp +0 -69
- package/vendor/include/networkit/randomization/GlobalTradeSequence.hpp +0 -303
- package/vendor/include/networkit/reachability/AllSimplePaths.hpp +0 -122
- package/vendor/include/networkit/reachability/ReachableNodes.hpp +0 -83
- package/vendor/include/networkit/scd/ApproximatePageRank.hpp +0 -51
- package/vendor/include/networkit/scd/CliqueDetect.hpp +0 -55
- package/vendor/include/networkit/scd/CombinedSCD.hpp +0 -51
- package/vendor/include/networkit/scd/GCE.hpp +0 -42
- package/vendor/include/networkit/scd/LFMLocal.hpp +0 -54
- package/vendor/include/networkit/scd/LocalT.hpp +0 -40
- package/vendor/include/networkit/scd/LocalTightnessExpansion.hpp +0 -46
- package/vendor/include/networkit/scd/PageRankNibble.hpp +0 -55
- package/vendor/include/networkit/scd/RandomBFS.hpp +0 -33
- package/vendor/include/networkit/scd/SCDGroundTruthComparison.hpp +0 -121
- package/vendor/include/networkit/scd/SelectiveCommunityDetector.hpp +0 -76
- package/vendor/include/networkit/scd/SetConductance.hpp +0 -47
- package/vendor/include/networkit/scd/TCE.hpp +0 -41
- package/vendor/include/networkit/scd/TwoPhaseL.hpp +0 -40
- package/vendor/include/networkit/scoring/EdgeScoring.hpp +0 -44
- package/vendor/include/networkit/scoring/ModularityScoring.hpp +0 -79
- package/vendor/include/networkit/simulation/EpidemicSimulationSEIR.hpp +0 -59
- package/vendor/include/networkit/sparsification/ChanceCorrectedTriangleScore.hpp +0 -28
- package/vendor/include/networkit/sparsification/ForestFireScore.hpp +0 -34
- package/vendor/include/networkit/sparsification/GlobalThresholdFilter.hpp +0 -40
- package/vendor/include/networkit/sparsification/LocalDegreeScore.hpp +0 -30
- package/vendor/include/networkit/sparsification/LocalFilterScore.hpp +0 -124
- package/vendor/include/networkit/sparsification/LocalSimilarityScore.hpp +0 -63
- package/vendor/include/networkit/sparsification/MultiscaleScore.hpp +0 -38
- package/vendor/include/networkit/sparsification/RandomEdgeScore.hpp +0 -33
- package/vendor/include/networkit/sparsification/RandomNodeEdgeScore.hpp +0 -29
- package/vendor/include/networkit/sparsification/SCANStructuralSimilarityScore.hpp +0 -23
- package/vendor/include/networkit/sparsification/SimmelianOverlapScore.hpp +0 -35
- package/vendor/include/networkit/sparsification/SimmelianScore.hpp +0 -92
- package/vendor/include/networkit/sparsification/Sparsifiers.hpp +0 -166
- package/vendor/include/networkit/structures/Cover.hpp +0 -248
- package/vendor/include/networkit/structures/LocalCommunity.hpp +0 -363
- package/vendor/include/networkit/structures/Partition.hpp +0 -335
- package/vendor/include/networkit/structures/UnionFind.hpp +0 -66
- package/vendor/include/networkit/viz/GraphLayoutAlgorithm.hpp +0 -157
- package/vendor/include/networkit/viz/MaxentStress.hpp +0 -346
- package/vendor/include/networkit/viz/Octree.hpp +0 -428
- package/vendor/include/networkit/viz/PivotMDS.hpp +0 -63
- package/vendor/include/networkit/viz/Point.hpp +0 -415
- package/vendor/include/networkit/viz/PostscriptWriter.hpp +0 -78
- package/vendor/include/tlx/algorithm/exclusive_scan.hpp +0 -56
- package/vendor/include/tlx/algorithm/is_sorted_cmp.hpp +0 -56
- package/vendor/include/tlx/algorithm/merge_advance.hpp +0 -177
- package/vendor/include/tlx/algorithm/merge_combine.hpp +0 -76
- package/vendor/include/tlx/algorithm/multisequence_partition.hpp +0 -346
- package/vendor/include/tlx/algorithm/multisequence_selection.hpp +0 -351
- package/vendor/include/tlx/algorithm/multiway_merge.hpp +0 -1385
- package/vendor/include/tlx/algorithm/multiway_merge_splitting.hpp +0 -257
- package/vendor/include/tlx/algorithm/parallel_multiway_merge.hpp +0 -408
- package/vendor/include/tlx/algorithm/random_bipartition_shuffle.hpp +0 -116
- package/vendor/include/tlx/algorithm.hpp +0 -36
- package/vendor/include/tlx/allocator_base.hpp +0 -100
- package/vendor/include/tlx/backtrace.hpp +0 -54
- package/vendor/include/tlx/cmdline_parser.hpp +0 -498
- package/vendor/include/tlx/container/btree.hpp +0 -3977
- package/vendor/include/tlx/container/btree_map.hpp +0 -634
- package/vendor/include/tlx/container/btree_multimap.hpp +0 -627
- package/vendor/include/tlx/container/btree_multiset.hpp +0 -612
- package/vendor/include/tlx/container/btree_set.hpp +0 -612
- package/vendor/include/tlx/container/d_ary_addressable_int_heap.hpp +0 -416
- package/vendor/include/tlx/container/d_ary_heap.hpp +0 -311
- package/vendor/include/tlx/container/loser_tree.hpp +0 -1009
- package/vendor/include/tlx/container/lru_cache.hpp +0 -319
- package/vendor/include/tlx/container/radix_heap.hpp +0 -735
- package/vendor/include/tlx/container/ring_buffer.hpp +0 -428
- package/vendor/include/tlx/container/simple_vector.hpp +0 -304
- package/vendor/include/tlx/container/splay_tree.hpp +0 -399
- package/vendor/include/tlx/container/string_view.hpp +0 -805
- package/vendor/include/tlx/container.hpp +0 -40
- package/vendor/include/tlx/counting_ptr.hpp +0 -522
- package/vendor/include/tlx/define/attribute_always_inline.hpp +0 -34
- package/vendor/include/tlx/define/attribute_fallthrough.hpp +0 -36
- package/vendor/include/tlx/define/attribute_format_printf.hpp +0 -34
- package/vendor/include/tlx/define/attribute_packed.hpp +0 -34
- package/vendor/include/tlx/define/attribute_warn_unused_result.hpp +0 -34
- package/vendor/include/tlx/define/constexpr.hpp +0 -31
- package/vendor/include/tlx/define/deprecated.hpp +0 -39
- package/vendor/include/tlx/define/endian.hpp +0 -49
- package/vendor/include/tlx/define/likely.hpp +0 -33
- package/vendor/include/tlx/define/visibility_hidden.hpp +0 -34
- package/vendor/include/tlx/define.hpp +0 -36
- package/vendor/include/tlx/delegate.hpp +0 -524
- package/vendor/include/tlx/die/core.hpp +0 -311
- package/vendor/include/tlx/die.hpp +0 -106
- package/vendor/include/tlx/digest/md5.hpp +0 -81
- package/vendor/include/tlx/digest/sha1.hpp +0 -81
- package/vendor/include/tlx/digest/sha256.hpp +0 -81
- package/vendor/include/tlx/digest/sha512.hpp +0 -81
- package/vendor/include/tlx/digest.hpp +0 -30
- package/vendor/include/tlx/logger/all.hpp +0 -33
- package/vendor/include/tlx/logger/array.hpp +0 -43
- package/vendor/include/tlx/logger/core.hpp +0 -287
- package/vendor/include/tlx/logger/deque.hpp +0 -42
- package/vendor/include/tlx/logger/map.hpp +0 -65
- package/vendor/include/tlx/logger/set.hpp +0 -60
- package/vendor/include/tlx/logger/tuple.hpp +0 -66
- package/vendor/include/tlx/logger/unordered_map.hpp +0 -68
- package/vendor/include/tlx/logger/unordered_set.hpp +0 -64
- package/vendor/include/tlx/logger/wrap_unprintable.hpp +0 -75
- package/vendor/include/tlx/logger.hpp +0 -44
- package/vendor/include/tlx/math/abs_diff.hpp +0 -35
- package/vendor/include/tlx/math/aggregate.hpp +0 -231
- package/vendor/include/tlx/math/aggregate_min_max.hpp +0 -116
- package/vendor/include/tlx/math/bswap.hpp +0 -148
- package/vendor/include/tlx/math/bswap_be.hpp +0 -79
- package/vendor/include/tlx/math/bswap_le.hpp +0 -79
- package/vendor/include/tlx/math/clz.hpp +0 -174
- package/vendor/include/tlx/math/ctz.hpp +0 -174
- package/vendor/include/tlx/math/div_ceil.hpp +0 -36
- package/vendor/include/tlx/math/ffs.hpp +0 -123
- package/vendor/include/tlx/math/integer_log2.hpp +0 -189
- package/vendor/include/tlx/math/is_power_of_two.hpp +0 -74
- package/vendor/include/tlx/math/polynomial_regression.hpp +0 -243
- package/vendor/include/tlx/math/popcount.hpp +0 -173
- package/vendor/include/tlx/math/power_to_the.hpp +0 -44
- package/vendor/include/tlx/math/rol.hpp +0 -112
- package/vendor/include/tlx/math/ror.hpp +0 -112
- package/vendor/include/tlx/math/round_to_power_of_two.hpp +0 -121
- package/vendor/include/tlx/math/round_up.hpp +0 -36
- package/vendor/include/tlx/math/sgn.hpp +0 -38
- package/vendor/include/tlx/math.hpp +0 -46
- package/vendor/include/tlx/meta/apply_tuple.hpp +0 -55
- package/vendor/include/tlx/meta/call_for_range.hpp +0 -78
- package/vendor/include/tlx/meta/call_foreach.hpp +0 -60
- package/vendor/include/tlx/meta/call_foreach_tuple.hpp +0 -60
- package/vendor/include/tlx/meta/call_foreach_tuple_with_index.hpp +0 -61
- package/vendor/include/tlx/meta/call_foreach_with_index.hpp +0 -64
- package/vendor/include/tlx/meta/enable_if.hpp +0 -37
- package/vendor/include/tlx/meta/fold_left.hpp +0 -63
- package/vendor/include/tlx/meta/fold_left_tuple.hpp +0 -60
- package/vendor/include/tlx/meta/fold_right.hpp +0 -63
- package/vendor/include/tlx/meta/fold_right_tuple.hpp +0 -60
- package/vendor/include/tlx/meta/function_chain.hpp +0 -197
- package/vendor/include/tlx/meta/function_stack.hpp +0 -189
- package/vendor/include/tlx/meta/has_member.hpp +0 -80
- package/vendor/include/tlx/meta/has_method.hpp +0 -117
- package/vendor/include/tlx/meta/index_sequence.hpp +0 -66
- package/vendor/include/tlx/meta/is_std_array.hpp +0 -40
- package/vendor/include/tlx/meta/is_std_pair.hpp +0 -39
- package/vendor/include/tlx/meta/is_std_tuple.hpp +0 -39
- package/vendor/include/tlx/meta/is_std_vector.hpp +0 -39
- package/vendor/include/tlx/meta/log2.hpp +0 -101
- package/vendor/include/tlx/meta/no_operation.hpp +0 -55
- package/vendor/include/tlx/meta/static_index.hpp +0 -42
- package/vendor/include/tlx/meta/vexpand.hpp +0 -34
- package/vendor/include/tlx/meta/vmap_for_range.hpp +0 -84
- package/vendor/include/tlx/meta/vmap_foreach.hpp +0 -63
- package/vendor/include/tlx/meta/vmap_foreach_tuple.hpp +0 -59
- package/vendor/include/tlx/meta/vmap_foreach_tuple_with_index.hpp +0 -62
- package/vendor/include/tlx/meta/vmap_foreach_with_index.hpp +0 -70
- package/vendor/include/tlx/meta.hpp +0 -55
- package/vendor/include/tlx/multi_timer.hpp +0 -148
- package/vendor/include/tlx/port/setenv.hpp +0 -31
- package/vendor/include/tlx/port.hpp +0 -27
- package/vendor/include/tlx/semaphore.hpp +0 -119
- package/vendor/include/tlx/simple_vector.hpp +0 -20
- package/vendor/include/tlx/siphash.hpp +0 -282
- package/vendor/include/tlx/sort/networks/best.hpp +0 -611
- package/vendor/include/tlx/sort/networks/bose_nelson.hpp +0 -412
- package/vendor/include/tlx/sort/networks/bose_nelson_parameter.hpp +0 -507
- package/vendor/include/tlx/sort/networks/cswap.hpp +0 -60
- package/vendor/include/tlx/sort/parallel_mergesort.hpp +0 -398
- package/vendor/include/tlx/sort/strings/insertion_sort.hpp +0 -232
- package/vendor/include/tlx/sort/strings/multikey_quicksort.hpp +0 -185
- package/vendor/include/tlx/sort/strings/parallel_sample_sort.hpp +0 -1647
- package/vendor/include/tlx/sort/strings/radix_sort.hpp +0 -934
- package/vendor/include/tlx/sort/strings/sample_sort_tools.hpp +0 -756
- package/vendor/include/tlx/sort/strings/string_ptr.hpp +0 -426
- package/vendor/include/tlx/sort/strings/string_set.hpp +0 -800
- package/vendor/include/tlx/sort/strings.hpp +0 -329
- package/vendor/include/tlx/sort/strings_parallel.hpp +0 -325
- package/vendor/include/tlx/sort.hpp +0 -29
- package/vendor/include/tlx/stack_allocator.hpp +0 -226
- package/vendor/include/tlx/string/appendline.hpp +0 -35
- package/vendor/include/tlx/string/base64.hpp +0 -87
- package/vendor/include/tlx/string/bitdump.hpp +0 -139
- package/vendor/include/tlx/string/compare_icase.hpp +0 -42
- package/vendor/include/tlx/string/contains.hpp +0 -36
- package/vendor/include/tlx/string/contains_word.hpp +0 -42
- package/vendor/include/tlx/string/ends_with.hpp +0 -79
- package/vendor/include/tlx/string/equal_icase.hpp +0 -42
- package/vendor/include/tlx/string/erase_all.hpp +0 -70
- package/vendor/include/tlx/string/escape_html.hpp +0 -34
- package/vendor/include/tlx/string/escape_uri.hpp +0 -34
- package/vendor/include/tlx/string/expand_environment_variables.hpp +0 -49
- package/vendor/include/tlx/string/extract_between.hpp +0 -40
- package/vendor/include/tlx/string/format_iec_units.hpp +0 -32
- package/vendor/include/tlx/string/format_si_iec_units.hpp +0 -19
- package/vendor/include/tlx/string/format_si_units.hpp +0 -32
- package/vendor/include/tlx/string/hash_djb2.hpp +0 -87
- package/vendor/include/tlx/string/hash_sdbm.hpp +0 -86
- package/vendor/include/tlx/string/hexdump.hpp +0 -154
- package/vendor/include/tlx/string/index_of.hpp +0 -56
- package/vendor/include/tlx/string/join.hpp +0 -65
- package/vendor/include/tlx/string/join_generic.hpp +0 -89
- package/vendor/include/tlx/string/join_quoted.hpp +0 -46
- package/vendor/include/tlx/string/less_icase.hpp +0 -64
- package/vendor/include/tlx/string/levenshtein.hpp +0 -193
- package/vendor/include/tlx/string/pad.hpp +0 -39
- package/vendor/include/tlx/string/parse_si_iec_units.hpp +0 -46
- package/vendor/include/tlx/string/parse_uri.hpp +0 -66
- package/vendor/include/tlx/string/parse_uri_form_data.hpp +0 -136
- package/vendor/include/tlx/string/replace.hpp +0 -141
- package/vendor/include/tlx/string/split.hpp +0 -170
- package/vendor/include/tlx/string/split_quoted.hpp +0 -49
- package/vendor/include/tlx/string/split_view.hpp +0 -218
- package/vendor/include/tlx/string/split_words.hpp +0 -53
- package/vendor/include/tlx/string/ssprintf.hpp +0 -45
- package/vendor/include/tlx/string/ssprintf_generic.hpp +0 -95
- package/vendor/include/tlx/string/starts_with.hpp +0 -44
- package/vendor/include/tlx/string/to_lower.hpp +0 -47
- package/vendor/include/tlx/string/to_upper.hpp +0 -47
- package/vendor/include/tlx/string/trim.hpp +0 -298
- package/vendor/include/tlx/string/union_words.hpp +0 -33
- package/vendor/include/tlx/string/word_wrap.hpp +0 -35
- package/vendor/include/tlx/string.hpp +0 -68
- package/vendor/include/tlx/thread_barrier_mutex.hpp +0 -109
- package/vendor/include/tlx/thread_barrier_spin.hpp +0 -127
- package/vendor/include/tlx/thread_pool.hpp +0 -151
- package/vendor/include/tlx/timestamp.hpp +0 -23
- package/vendor/include/tlx/unused.hpp +0 -28
- package/vendor/include/tlx/vector_free.hpp +0 -30
- package/vendor/include/tlx/version.hpp +0 -49
- package/vendor/include/ttmath/ttmath.h +0 -2881
- package/vendor/include/ttmath/ttmathbig.h +0 -6111
- package/vendor/include/ttmath/ttmathdec.h +0 -419
- package/vendor/include/ttmath/ttmathint.h +0 -1923
- package/vendor/include/ttmath/ttmathmisc.h +0 -250
- package/vendor/include/ttmath/ttmathobjects.h +0 -812
- package/vendor/include/ttmath/ttmathparser.h +0 -2791
- package/vendor/include/ttmath/ttmaththreads.h +0 -252
- package/vendor/include/ttmath/ttmathtypes.h +0 -707
- package/vendor/include/ttmath/ttmathuint.h +0 -4190
- package/vendor/include/ttmath/ttmathuint_noasm.h +0 -1038
- package/vendor/include/ttmath/ttmathuint_x86.h +0 -1620
- package/vendor/include/ttmath/ttmathuint_x86_64.h +0 -1177
- package/vendor/lib/cmake/tlx/tlx-config.cmake +0 -51
- package/vendor/lib/cmake/tlx/tlx-targets-release.cmake +0 -19
- package/vendor/lib/cmake/tlx/tlx-targets.cmake +0 -106
- package/vendor/lib/cmake/tlx/tlx-version.cmake +0 -11
- package/vendor/lib/libtlx.a +0 -0
- package/vendor/lib/pkgconfig/networkit.pc +0 -11
- package/vendor/lib/pkgconfig/tlx.pc +0 -11
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ForestCentrality.hpp
|
|
3
|
-
*
|
|
4
|
-
* Created on: 12.02.2020
|
|
5
|
-
* Author: Eugenio Angriman <angrimae@hu-berlin.de>
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#ifndef NETWORKIT_CENTRALITY_FOREST_CENTRALITY_HPP_
|
|
9
|
-
#define NETWORKIT_CENTRALITY_FOREST_CENTRALITY_HPP_
|
|
10
|
-
|
|
11
|
-
#include <cmath>
|
|
12
|
-
#include <functional>
|
|
13
|
-
#include <omp.h>
|
|
14
|
-
#include <random>
|
|
15
|
-
#include <vector>
|
|
16
|
-
|
|
17
|
-
#include <networkit/algebraic/Vector.hpp>
|
|
18
|
-
#include <networkit/centrality/Centrality.hpp>
|
|
19
|
-
#include <networkit/graph/Graph.hpp>
|
|
20
|
-
|
|
21
|
-
namespace NetworKit {
|
|
22
|
-
|
|
23
|
-
// NOTE: Does not support multiple calls of run()
|
|
24
|
-
class ForestCentrality final : public Centrality {
|
|
25
|
-
|
|
26
|
-
public:
|
|
27
|
-
/**
|
|
28
|
-
* Approximates the forest closeness centrality of all the vertices of a graph by approximating
|
|
29
|
-
* the diagonal of the forest matrix of @a G. Every element of the diagonal is guaranteed to
|
|
30
|
-
* have a maximum absolute error of @a epsilon. Based on "New Approximation Algorithms for
|
|
31
|
-
* Forest Closeness Centrality - for Individual Vertices and Vertex Groups", van der Grinten et
|
|
32
|
-
* al, SDM 2021.
|
|
33
|
-
* The algorithm runs in two steps: (i) solving a linear system and (ii) sampling uniform
|
|
34
|
-
* spanning trees (USTs). The parameter @a kappa balances the tolerance of the linear sytem
|
|
35
|
-
* solver and the number of USTs to be sampled. A high value of @a kappa raises the tolerance
|
|
36
|
-
* (solver converges faster) but more USTs need to be sampled, vice versa for a low value of @a
|
|
37
|
-
* kappa. Note: the algorithm requires an augmented graph as input (see the reference paper for
|
|
38
|
-
* details). An augmented graphs can be generated with GraphTools::createAugmentedGraph.
|
|
39
|
-
*
|
|
40
|
-
* @param G The input graph. Must be an augmented graph (an augmented graph can be crated with
|
|
41
|
-
* GraphTools::createAugmentedGraph.
|
|
42
|
-
* @param root Root node of the augmented graph.
|
|
43
|
-
* @param epsilon Maximum absolute error of the elements in the diagonal.
|
|
44
|
-
* @param kappa Balances the tolerance of the linear system solver and the number of USTs to be
|
|
45
|
-
* sampled.
|
|
46
|
-
*/
|
|
47
|
-
explicit ForestCentrality(const Graph &G, node root, double epsilon = 0.1, double kappa = 0.3);
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Run the algorithm.
|
|
51
|
-
*/
|
|
52
|
-
void run() override;
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Return an epsilon-approximation of the diagonal of the forest matrix.
|
|
56
|
-
*
|
|
57
|
-
* @return Approximation of the diagonal of the forest matrix.
|
|
58
|
-
*/
|
|
59
|
-
const std::vector<double> &getDiagonal() const {
|
|
60
|
-
assureFinished();
|
|
61
|
-
return diagonal;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Return the number of sampled USTs.
|
|
66
|
-
*
|
|
67
|
-
* @return Number of sampled USTs.
|
|
68
|
-
*/
|
|
69
|
-
count getNumberOfSamples() const noexcept { return numberOfUSTs; }
|
|
70
|
-
|
|
71
|
-
private:
|
|
72
|
-
node root;
|
|
73
|
-
const double epsilon, kappa, volG;
|
|
74
|
-
const count numberOfUSTs;
|
|
75
|
-
|
|
76
|
-
// Used to mark the status of each node, one vector per thread
|
|
77
|
-
std::vector<std::vector<uint8_t>> statusGlobal;
|
|
78
|
-
|
|
79
|
-
// Pointers to the parent of the UST, one vector per thread
|
|
80
|
-
std::vector<std::vector<node>> parentsGlobal;
|
|
81
|
-
|
|
82
|
-
// Nodes sorted by decreasing degree
|
|
83
|
-
std::vector<node> decDegree;
|
|
84
|
-
|
|
85
|
-
// Non-normalized approx effective resistance, one per thread.
|
|
86
|
-
std::vector<std::vector<count>> approxEffResistanceGlobal;
|
|
87
|
-
|
|
88
|
-
// Distributions for selecting random neighbors
|
|
89
|
-
std::vector<std::uniform_int_distribution<count>> uniformDistr;
|
|
90
|
-
|
|
91
|
-
// Solution of the linear system
|
|
92
|
-
Vector linearSysSol;
|
|
93
|
-
|
|
94
|
-
// Diagonal elements
|
|
95
|
-
std::vector<double> diagonal;
|
|
96
|
-
|
|
97
|
-
count computeNumberOfUSTs() const {
|
|
98
|
-
return count{4}
|
|
99
|
-
* static_cast<count>(std::ceil(
|
|
100
|
-
std::log(2.0 * static_cast<double>(G.numberOfEdges()) * G.numberOfNodes())
|
|
101
|
-
/ (2.0 * epsilon * epsilon)));
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
void sampleUSTs();
|
|
105
|
-
void solveLinearSystem();
|
|
106
|
-
void computeDiagonal();
|
|
107
|
-
void computeScores();
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
} // namespace NetworKit
|
|
111
|
-
|
|
112
|
-
#endif // NETWORKIT_CENTRALITY_FOREST_CENTRALITY_HPP_
|
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
/* GedWalk.hpp
|
|
2
|
-
*
|
|
3
|
-
* Created on: 18.6.2018
|
|
4
|
-
* Authors: Eugenio Angriman <angrimae@hu-berlin.de>
|
|
5
|
-
* Alexander van der Grinten <avdgrinten@hu-berlin.de>
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#ifndef NETWORKIT_CENTRALITY_GED_WALK_HPP_
|
|
9
|
-
#define NETWORKIT_CENTRALITY_GED_WALK_HPP_
|
|
10
|
-
|
|
11
|
-
#include <networkit/auxiliary/VectorComparator.hpp>
|
|
12
|
-
#include <networkit/base/Algorithm.hpp>
|
|
13
|
-
#include <networkit/graph/Graph.hpp>
|
|
14
|
-
|
|
15
|
-
#include <tlx/container/d_ary_addressable_int_heap.hpp>
|
|
16
|
-
|
|
17
|
-
namespace NetworKit {
|
|
18
|
-
|
|
19
|
-
class GedWalk final : public Algorithm {
|
|
20
|
-
|
|
21
|
-
using walks = double;
|
|
22
|
-
|
|
23
|
-
public:
|
|
24
|
-
enum GreedyStrategy {
|
|
25
|
-
LAZY,
|
|
26
|
-
STOCHASTIC,
|
|
27
|
-
lazy = LAZY, // this + following added for backwards compatibility
|
|
28
|
-
stochastic = STOCHASTIC
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
enum BoundStrategy {
|
|
32
|
-
NO,
|
|
33
|
-
SPECTRAL,
|
|
34
|
-
GEOMETRIC,
|
|
35
|
-
ADAPTIVE_GEOMETRIC,
|
|
36
|
-
no = NO, // this + following added for backwards compatibility
|
|
37
|
-
spectral = SPECTRAL,
|
|
38
|
-
geometric = GEOMETRIC,
|
|
39
|
-
adaptiveGeometric = ADAPTIVE_GEOMETRIC
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
double stocEpsilon = 0.1;
|
|
43
|
-
|
|
44
|
-
private:
|
|
45
|
-
const Graph *G;
|
|
46
|
-
const count k;
|
|
47
|
-
const double epsilon;
|
|
48
|
-
double alpha;
|
|
49
|
-
const BoundStrategy boundStrategy;
|
|
50
|
-
GreedyStrategy greedyStrategy;
|
|
51
|
-
double spectralDelta;
|
|
52
|
-
double degOutMax;
|
|
53
|
-
double degInMax;
|
|
54
|
-
std::vector<double> alphas;
|
|
55
|
-
|
|
56
|
-
// Size of pathsIn / pathsOut and related vectors.
|
|
57
|
-
count allocatedLevels = 15;
|
|
58
|
-
|
|
59
|
-
double sigmaMax;
|
|
60
|
-
|
|
61
|
-
// Similar to gainScore, gainBound and gainW, but for the entire group.
|
|
62
|
-
// These values are always maintained exactly.
|
|
63
|
-
double groupScore; // Score of the group.
|
|
64
|
-
walks groupW; // Number of walks on the last level.
|
|
65
|
-
walks groupBound; // Upper bound on the score of the group.
|
|
66
|
-
|
|
67
|
-
walks graphW;
|
|
68
|
-
|
|
69
|
-
count nLevels = 2;
|
|
70
|
-
std::vector<node> group;
|
|
71
|
-
std::vector<unsigned char> inGroup;
|
|
72
|
-
std::vector<unsigned char> isExact;
|
|
73
|
-
std::vector<unsigned char> nodesToPick;
|
|
74
|
-
std::vector<std::vector<walks>> pathsIn, pathsOut;
|
|
75
|
-
std::vector<std::vector<walks>> pathsHit, pathsMiss;
|
|
76
|
-
|
|
77
|
-
// Unless isExact[x], these values might be upper bounds on the true values.
|
|
78
|
-
std::vector<double> gainScore; // Marginal score of the group.
|
|
79
|
-
std::vector<walks> gainW; // Number of marginal walks on the last level.
|
|
80
|
-
std::vector<double> gainBound; // Upper bound on the marginal score.
|
|
81
|
-
|
|
82
|
-
struct EvaluationResult {
|
|
83
|
-
double score;
|
|
84
|
-
walks w;
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
tlx::d_ary_addressable_int_heap<node, 2, Aux::GreaterInVector<double>> scoreQ{gainScore},
|
|
88
|
-
boundQ{gainBound};
|
|
89
|
-
|
|
90
|
-
void init();
|
|
91
|
-
double computeGamma();
|
|
92
|
-
void estimateGains();
|
|
93
|
-
void computeMarginalGain(node z);
|
|
94
|
-
void maximizeGain();
|
|
95
|
-
bool separateNodes();
|
|
96
|
-
double computeSigmaMax() const;
|
|
97
|
-
void fillPQs();
|
|
98
|
-
void updateAlphas();
|
|
99
|
-
EvaluationResult evaluateGraph();
|
|
100
|
-
EvaluationResult evaluateGroup();
|
|
101
|
-
|
|
102
|
-
public:
|
|
103
|
-
/**
|
|
104
|
-
* Finds a group of `k` vertices with at least ((1 - 1/e) * opt - epsilon) GedWalk centrality
|
|
105
|
-
* score, where opt is the highest possible score. The algorithm is based on the paper "Group
|
|
106
|
-
* Centrality Maximization for Large-scale Graphs", Angriman et al., ALENEX20. It implements two
|
|
107
|
-
* independent greedy strategies (lazy and stochastic). Furthermore, it allows to compute the
|
|
108
|
-
* GedWalk score of a given set of nodes.
|
|
109
|
-
*
|
|
110
|
-
* @param G A (weakly) connected graph.
|
|
111
|
-
* @param k The desired group size.
|
|
112
|
-
* @param epsilon Precision of the algorithm.
|
|
113
|
-
* @param alpha Exponent to compute the GedWalk score.
|
|
114
|
-
* @param bs Bound strategy to compute the GedWalk bounds, default: BoundStrategy::GEOMETRIC.
|
|
115
|
-
* @param gs Greedy strategy to be used (lazy or stochastic), default: GreedyStrategy::LAZY.
|
|
116
|
-
* @param spectralDelta Delta to be used for the spectral bound.
|
|
117
|
-
*
|
|
118
|
-
* Note: if the graph is weighted, all weights should be in (0, 1].
|
|
119
|
-
*/
|
|
120
|
-
GedWalk(const Graph &G, count k = 1, double initEpsilon = 0.1, double alpha = -1.,
|
|
121
|
-
BoundStrategy bs = BoundStrategy::GEOMETRIC, GreedyStrategy gs = GreedyStrategy::LAZY,
|
|
122
|
-
double spectralDelta = 0.5);
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Run the algorithm.
|
|
126
|
-
*/
|
|
127
|
-
void run() override;
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Return the approximate GedWalk score of the computed group.
|
|
131
|
-
*
|
|
132
|
-
* @return The approximate score of the computed group.
|
|
133
|
-
*/
|
|
134
|
-
double getApproximateScore() const {
|
|
135
|
-
assureFinished();
|
|
136
|
-
return groupScore;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* Return the GedWalk score of the input group.
|
|
141
|
-
*
|
|
142
|
-
* @param first/last The range that contains the input group.
|
|
143
|
-
* @param scoreEpsilon The precision of the score to be computed.
|
|
144
|
-
*/
|
|
145
|
-
template <class InputIt>
|
|
146
|
-
double scoreOfGroup(InputIt first, InputIt last, double scoreEpsilon = .1);
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Return the computed group.
|
|
150
|
-
*
|
|
151
|
-
* @return The computed group.
|
|
152
|
-
*/
|
|
153
|
-
std::vector<node> groupMaxGedWalk() const {
|
|
154
|
-
assureFinished();
|
|
155
|
-
return group;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
const std::vector<double> &boundOfMarginalGains() const { return gainBound; }
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
template <class InputIt>
|
|
162
|
-
double GedWalk::scoreOfGroup(InputIt first, InputIt last, double scoreEpsilon) {
|
|
163
|
-
if (boundStrategy == BoundStrategy::SPECTRAL) {
|
|
164
|
-
assert(alpha * static_cast<double>(sigmaMax) < 1.);
|
|
165
|
-
} else if (boundStrategy == BoundStrategy::GEOMETRIC) {
|
|
166
|
-
assert(alpha * static_cast<double>(degInMax) < 1.);
|
|
167
|
-
} else {
|
|
168
|
-
assert(boundStrategy == BoundStrategy::ADAPTIVE_GEOMETRIC);
|
|
169
|
-
assert(alpha * static_cast<double>(degOutMax + degInMax) < 1.);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
std::fill(pathsHit[0].begin(), pathsHit[0].end(), walks{0});
|
|
173
|
-
std::fill(pathsMiss[0].begin(), pathsMiss[0].end(), walks{1});
|
|
174
|
-
std::fill(inGroup.begin(), inGroup.end(), static_cast<unsigned char>(0));
|
|
175
|
-
while (first != last) {
|
|
176
|
-
const auto u = *first;
|
|
177
|
-
inGroup[u] = 1;
|
|
178
|
-
pathsHit[0][u] = 1.0;
|
|
179
|
-
pathsMiss[0][u] = 0.0;
|
|
180
|
-
++first;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
graphW = evaluateGraph().w;
|
|
184
|
-
|
|
185
|
-
do {
|
|
186
|
-
const auto result = evaluateGroup();
|
|
187
|
-
groupScore = result.score;
|
|
188
|
-
groupW = result.w;
|
|
189
|
-
if (boundStrategy == BoundStrategy::SPECTRAL) {
|
|
190
|
-
const double gamma =
|
|
191
|
-
std::sqrt(G->numberOfNodes()) * (sigmaMax / (1 - alpha * sigmaMax));
|
|
192
|
-
groupBound = result.score + alphas[nLevels + 1] * gamma * graphW;
|
|
193
|
-
} else if (boundStrategy == BoundStrategy::GEOMETRIC) {
|
|
194
|
-
const double gamma = (degInMax / (1 - alpha * degInMax));
|
|
195
|
-
groupBound = result.score + alphas[nLevels + 1] * gamma * graphW;
|
|
196
|
-
} else {
|
|
197
|
-
assert(boundStrategy == BoundStrategy::ADAPTIVE_GEOMETRIC);
|
|
198
|
-
groupBound = result.score + alphas[nLevels + 1] * computeGamma() * result.w;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
DEBUG("score is ", groupScore, ", bound is ", groupBound);
|
|
202
|
-
if (groupBound < groupScore + scoreEpsilon)
|
|
203
|
-
return groupScore;
|
|
204
|
-
|
|
205
|
-
DEBUG("increasing path length to ", nLevels + 1);
|
|
206
|
-
if (nLevels + 1 >= allocatedLevels) {
|
|
207
|
-
DEBUG("allocating ", nLevels + 2, " GedWalk levels");
|
|
208
|
-
while (allocatedLevels < nLevels + 2) {
|
|
209
|
-
pathsIn.emplace_back((G->upperNodeIdBound()));
|
|
210
|
-
pathsOut.emplace_back((G->upperNodeIdBound()));
|
|
211
|
-
pathsHit.emplace_back((G->upperNodeIdBound()));
|
|
212
|
-
pathsMiss.emplace_back((G->upperNodeIdBound()));
|
|
213
|
-
++allocatedLevels;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
updateAlphas();
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
++nLevels;
|
|
220
|
-
graphW = evaluateGraph().w;
|
|
221
|
-
} while (true);
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
} // namespace NetworKit
|
|
225
|
-
#endif // NETWORKIT_CENTRALITY_GED_WALK_HPP_
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* GroupCloseness.hpp
|
|
3
|
-
*
|
|
4
|
-
* Created on: 03.10.2016
|
|
5
|
-
* Author: elisabetta bergamini
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#ifndef NETWORKIT_CENTRALITY_GROUP_CLOSENESS_HPP_
|
|
9
|
-
#define NETWORKIT_CENTRALITY_GROUP_CLOSENESS_HPP_
|
|
10
|
-
|
|
11
|
-
#include <numeric>
|
|
12
|
-
#include <sstream>
|
|
13
|
-
|
|
14
|
-
#include <networkit/base/Algorithm.hpp>
|
|
15
|
-
#include <networkit/graph/BFS.hpp>
|
|
16
|
-
#include <networkit/graph/Dijkstra.hpp>
|
|
17
|
-
#include <networkit/graph/Graph.hpp>
|
|
18
|
-
|
|
19
|
-
namespace NetworKit {
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* @ingroup centrality
|
|
23
|
-
*/
|
|
24
|
-
class GroupCloseness final : public Algorithm {
|
|
25
|
-
public:
|
|
26
|
-
/**
|
|
27
|
-
* Finds the group of nodes with highest (group) closeness centrality.
|
|
28
|
-
* The algorithm is the one proposed in Bergamini et al., ALENEX 2018 and
|
|
29
|
-
* finds a solution that is a (1-1/e)-approximation of the optimum.
|
|
30
|
-
* The worst-case running time of this approach is quadratic, but usually
|
|
31
|
-
* much faster in practice.
|
|
32
|
-
*
|
|
33
|
-
* @param G An unweighted graph.
|
|
34
|
-
* @param k Size of the group of nodes
|
|
35
|
-
* @param H If equal 0, simply runs the algorithm proposed in Bergamini et
|
|
36
|
-
* al.. If > 0, interrupts all BFSs after H iterations (suggested for very
|
|
37
|
-
* large networks).
|
|
38
|
-
* @
|
|
39
|
-
*/
|
|
40
|
-
GroupCloseness(const Graph &G, count k = 1, count H = 0);
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Computes the group with maximum closeness on the graph passed in the
|
|
44
|
-
* constructor.
|
|
45
|
-
*/
|
|
46
|
-
void run() override;
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Returns group with maximum closeness.
|
|
50
|
-
*/
|
|
51
|
-
std::vector<node> groupMaxCloseness();
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Computes farness (i.e., inverse of the closeness) for a given group
|
|
55
|
-
* (stopping after H iterations if H > 0).
|
|
56
|
-
*/
|
|
57
|
-
double computeFarness(const std::vector<node> &S,
|
|
58
|
-
count H = std::numeric_limits<count>::max()) const;
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Computes the score of a specific group.
|
|
62
|
-
*/
|
|
63
|
-
double scoreOfGroup(const std::vector<node> &group) const;
|
|
64
|
-
|
|
65
|
-
private:
|
|
66
|
-
edgeweight computeImprovement(node u, count h);
|
|
67
|
-
void updateDistances(node u);
|
|
68
|
-
const Graph *G;
|
|
69
|
-
count k = 1;
|
|
70
|
-
std::vector<count> d;
|
|
71
|
-
std::vector<std::vector<count>> d1Global;
|
|
72
|
-
std::vector<node> S;
|
|
73
|
-
count H = 0;
|
|
74
|
-
|
|
75
|
-
void checkGroup(const std::vector<node> &group) const;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
inline std::vector<node> GroupCloseness::groupMaxCloseness() {
|
|
79
|
-
assureFinished();
|
|
80
|
-
return S;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
inline void GroupCloseness::checkGroup(const std::vector<node> &group) const {
|
|
84
|
-
const count z = G->upperNodeIdBound();
|
|
85
|
-
std::vector<bool> check(z, false);
|
|
86
|
-
#pragma omp parallel for
|
|
87
|
-
for (omp_index i = 0; i < static_cast<omp_index>(group.size()); ++i) {
|
|
88
|
-
node u = group[i];
|
|
89
|
-
if (u >= z) {
|
|
90
|
-
std::stringstream ss;
|
|
91
|
-
ss << "Error: node " << u << " is not in the graph.\n";
|
|
92
|
-
throw std::runtime_error(ss.str());
|
|
93
|
-
}
|
|
94
|
-
if (check[u]) {
|
|
95
|
-
std::stringstream ss;
|
|
96
|
-
ss << "Error: the group contains duplicates of node " << u << ".\n";
|
|
97
|
-
throw std::runtime_error(ss.str());
|
|
98
|
-
}
|
|
99
|
-
check[u] = true;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
inline double GroupCloseness::scoreOfGroup(const std::vector<node> &group) const {
|
|
104
|
-
double sumDist = 0.;
|
|
105
|
-
if (G->isWeighted())
|
|
106
|
-
Traversal::DijkstraFrom(*G, group.begin(), group.end(),
|
|
107
|
-
[&](node, edgeweight dist) { sumDist += dist; });
|
|
108
|
-
else
|
|
109
|
-
Traversal::BFSfrom(*G, group.begin(), group.end(),
|
|
110
|
-
[&](node, count dist) { sumDist += static_cast<double>(dist); });
|
|
111
|
-
|
|
112
|
-
return sumDist > 0. ? ((double)G->upperNodeIdBound() - (double)group.size()) / sumDist : 0.;
|
|
113
|
-
}
|
|
114
|
-
} /* namespace NetworKit */
|
|
115
|
-
#endif // NETWORKIT_CENTRALITY_GROUP_CLOSENESS_HPP_
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* GroupClosenessGrowShrink.hpp
|
|
3
|
-
*
|
|
4
|
-
* Created on: 19.12.2019
|
|
5
|
-
* Author: Eugenio Angriman <angrimae@hu-berlin.de>
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#ifndef NETWORKIT_CENTRALITY_GROUP_CLOSENESS_GROW_SHRINK_HPP_
|
|
9
|
-
#define NETWORKIT_CENTRALITY_GROUP_CLOSENESS_GROW_SHRINK_HPP_
|
|
10
|
-
|
|
11
|
-
#include <memory>
|
|
12
|
-
#include <vector>
|
|
13
|
-
|
|
14
|
-
#include <networkit/base/Algorithm.hpp>
|
|
15
|
-
#include <networkit/graph/Graph.hpp>
|
|
16
|
-
|
|
17
|
-
namespace NetworKit {
|
|
18
|
-
|
|
19
|
-
// pImpl
|
|
20
|
-
namespace GroupClosenessGrowShrinkDetails {
|
|
21
|
-
template <class>
|
|
22
|
-
class GroupClosenessGrowShrinkImpl;
|
|
23
|
-
} // namespace GroupClosenessGrowShrinkDetails
|
|
24
|
-
|
|
25
|
-
class GroupClosenessGrowShrink final : public Algorithm {
|
|
26
|
-
|
|
27
|
-
public:
|
|
28
|
-
GroupClosenessGrowShrink(const Graph &graph, const std::vector<node> &group,
|
|
29
|
-
bool extended = false, count insertions = 0,
|
|
30
|
-
count maxIterations = 100);
|
|
31
|
-
/**
|
|
32
|
-
* Finds a group of nodes with high group closeness centrality. This is the Grow-Shrink
|
|
33
|
-
* algorithm presented in Angriman et al. "Local Search for Group Closeness Maximization on Big
|
|
34
|
-
* Graphs" IEEE BigData 2019. The algorithm takes as input a graph and an arbitrary group of
|
|
35
|
-
* nodes, and improves the group closeness of the given group by performing vertex exchanges.
|
|
36
|
-
*
|
|
37
|
-
* @param G A connected undirected graph.
|
|
38
|
-
* @param first Iterator for first node of initial group of nodes.
|
|
39
|
-
* @param last Iterator for last node of initial group of nodes.
|
|
40
|
-
* @param extended Set this parameter to true for the Extended Grow-Shrink algorithm (i.e.,
|
|
41
|
-
* vertex exchanges are not restricted to only neighbors of the group).
|
|
42
|
-
* @param insertions Number of consecutive node insertions and removal per iteration. Let this
|
|
43
|
-
* parameter to zero to use Diameter(G)/sqrt(k) nodes (where k is the size of the group).
|
|
44
|
-
* @param maxIterations Maximum number of iterations allowed.
|
|
45
|
-
*/
|
|
46
|
-
template <class Iter>
|
|
47
|
-
GroupClosenessGrowShrink(const Graph &G, Iter first, Iter last, bool extended = false,
|
|
48
|
-
count insertions = 0, count maxIterations = 100)
|
|
49
|
-
: GroupClosenessGrowShrink(G, std::vector<node>(first, last), extended, insertions,
|
|
50
|
-
maxIterations) {}
|
|
51
|
-
|
|
52
|
-
~GroupClosenessGrowShrink() override;
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Runs the algorithm.
|
|
56
|
-
*/
|
|
57
|
-
void run() override;
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Returns the computed group.
|
|
61
|
-
*/
|
|
62
|
-
std::vector<node> groupMaxCloseness() const;
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Returns the total number of iterations performed by the algorithm.
|
|
66
|
-
*/
|
|
67
|
-
count numberOfIterations() const;
|
|
68
|
-
|
|
69
|
-
private:
|
|
70
|
-
const Graph *G;
|
|
71
|
-
std::unique_ptr<GroupClosenessGrowShrinkDetails::GroupClosenessGrowShrinkImpl<edgeweight>>
|
|
72
|
-
weightedImpl;
|
|
73
|
-
std::unique_ptr<GroupClosenessGrowShrinkDetails::GroupClosenessGrowShrinkImpl<count>>
|
|
74
|
-
unweightedImpl;
|
|
75
|
-
};
|
|
76
|
-
} // namespace NetworKit
|
|
77
|
-
|
|
78
|
-
#endif // NETWORKIT_CENTRALITY_GROUP_CLOSENESS_GROW_SHRINK_HPP_
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
#ifndef NETWORKIT_CENTRALITY_GROUP_CLOSENESS_LOCAL_SEARCH_HPP_
|
|
2
|
-
#define NETWORKIT_CENTRALITY_GROUP_CLOSENESS_LOCAL_SEARCH_HPP_
|
|
3
|
-
|
|
4
|
-
#include <limits>
|
|
5
|
-
#include <memory>
|
|
6
|
-
#include <vector>
|
|
7
|
-
|
|
8
|
-
#include <networkit/base/Algorithm.hpp>
|
|
9
|
-
#include <networkit/graph/Graph.hpp>
|
|
10
|
-
|
|
11
|
-
namespace NetworKit {
|
|
12
|
-
|
|
13
|
-
class GroupClosenessLocalSearch final : public Algorithm {
|
|
14
|
-
public:
|
|
15
|
-
/**
|
|
16
|
-
* Local search approximation algorithm for Group Closeness Maximization presented in
|
|
17
|
-
* "Group-Harmonic and Group-Closeness Maximization – Approximation and Engineering", Angriman
|
|
18
|
-
* et al., ALENEX 2021. The algorithm evaluates all possible swaps between a vertex in the group
|
|
19
|
-
* and the vertices outside, and performs a swap iff the decrement in farness is at least $$(1 -
|
|
20
|
-
* 1 / (k \\cdot (n - k)))$$, where $$k$$ is the number of vertices in the group. Thus,
|
|
21
|
-
* even in a best-case scenario the time complexity of this algorithm is $$O(n \\cdot k)$$. To
|
|
22
|
-
* keep the number of swaps low, it is recommended to use this algorithm as a refinement step of
|
|
23
|
-
* an already good solution computed by a faster algorithm e.g., greedy (GroupCloseness), or
|
|
24
|
-
* GrowShrink (GroupClosenessGrowShrink). In undirected graphs the approximation ratio is 1/5,
|
|
25
|
-
* on directed graphs it has not been demonstrated.
|
|
26
|
-
*
|
|
27
|
-
* @param G A graph.
|
|
28
|
-
* @param first, last A range that contains the initial group of nodes.
|
|
29
|
-
* @param runGrowShrink Whether or not to run the Grow-Shrink algorithm on the initial group.
|
|
30
|
-
* @param maxIterations Maximum number of swaps allowed. Prevents the algorithm from performing
|
|
31
|
-
* too many swaps by giving up the approximation guarantee.
|
|
32
|
-
*/
|
|
33
|
-
template <class InputIt>
|
|
34
|
-
GroupClosenessLocalSearch(const Graph &G, InputIt first, InputIt last,
|
|
35
|
-
bool runGrowShrink = true,
|
|
36
|
-
count maxIterations = std::numeric_limits<count>::max())
|
|
37
|
-
: GroupClosenessLocalSearch(G, std::vector<node>(first, last), runGrowShrink,
|
|
38
|
-
maxIterations) {}
|
|
39
|
-
|
|
40
|
-
GroupClosenessLocalSearch(const Graph &G, const std::vector<node> &group,
|
|
41
|
-
bool runGrowShrink = true,
|
|
42
|
-
count maxIterations = std::numeric_limits<count>::max());
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Runs the algorithm.
|
|
46
|
-
*/
|
|
47
|
-
void run() override;
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Returns the computed group.
|
|
51
|
-
*/
|
|
52
|
-
std::vector<node> groupMaxCloseness() const;
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Returns the number of iterations performed by the algorithm.
|
|
56
|
-
*/
|
|
57
|
-
count numberOfIterations() const;
|
|
58
|
-
|
|
59
|
-
class GroupClosenessLocalSearchInterface : public Algorithm {
|
|
60
|
-
public:
|
|
61
|
-
template <class InputIt>
|
|
62
|
-
GroupClosenessLocalSearchInterface(InputIt first, InputIt last) : group(first, last) {}
|
|
63
|
-
|
|
64
|
-
std::unordered_set<node> group;
|
|
65
|
-
count nIterations;
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
private:
|
|
69
|
-
const bool weighted;
|
|
70
|
-
// Is always one between GroupClosenessLocalSearchImpl<count/edgeweight>,
|
|
71
|
-
// see implementation.
|
|
72
|
-
std::unique_ptr<GroupClosenessLocalSearchInterface> impl;
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
} // namespace NetworKit
|
|
76
|
-
|
|
77
|
-
#endif // NETWORKIT_CENTRALITY_GROUP_CLOSENESS_LOCAL_SEARCH_HPP_
|