@graphty/algorithms 1.3.1 → 1.4.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/README.md +358 -413
- package/dist/algorithms.js +564 -261
- package/dist/algorithms.js.map +1 -1
- package/dist/src/algorithms/centrality/betweenness.d.ts +10 -0
- package/dist/src/algorithms/centrality/betweenness.d.ts.map +1 -1
- package/dist/src/algorithms/centrality/betweenness.js +27 -6
- package/dist/src/algorithms/centrality/betweenness.js.map +1 -1
- package/dist/src/algorithms/centrality/closeness.d.ts +11 -2
- package/dist/src/algorithms/centrality/closeness.d.ts.map +1 -1
- package/dist/src/algorithms/centrality/closeness.js +17 -3
- package/dist/src/algorithms/centrality/closeness.js.map +1 -1
- package/dist/src/algorithms/centrality/degree.d.ts +7 -0
- package/dist/src/algorithms/centrality/degree.d.ts.map +1 -1
- package/dist/src/algorithms/centrality/degree.js +9 -6
- package/dist/src/algorithms/centrality/degree.js.map +1 -1
- package/dist/src/algorithms/centrality/delta-pagerank-simple.d.ts +21 -3
- package/dist/src/algorithms/centrality/delta-pagerank-simple.d.ts.map +1 -1
- package/dist/src/algorithms/centrality/delta-pagerank-simple.js +25 -7
- package/dist/src/algorithms/centrality/delta-pagerank-simple.js.map +1 -1
- package/dist/src/algorithms/centrality/delta-pagerank.d.ts +28 -2
- package/dist/src/algorithms/centrality/delta-pagerank.d.ts.map +1 -1
- package/dist/src/algorithms/centrality/delta-pagerank.js +30 -4
- package/dist/src/algorithms/centrality/delta-pagerank.js.map +1 -1
- package/dist/src/algorithms/centrality/eigenvector.d.ts +10 -3
- package/dist/src/algorithms/centrality/eigenvector.d.ts.map +1 -1
- package/dist/src/algorithms/centrality/eigenvector.js +11 -4
- package/dist/src/algorithms/centrality/eigenvector.js.map +1 -1
- package/dist/src/algorithms/centrality/hits.d.ts +10 -3
- package/dist/src/algorithms/centrality/hits.d.ts.map +1 -1
- package/dist/src/algorithms/centrality/hits.js +11 -4
- package/dist/src/algorithms/centrality/hits.js.map +1 -1
- package/dist/src/algorithms/centrality/index.d.ts +1 -1
- package/dist/src/algorithms/centrality/index.d.ts.map +1 -1
- package/dist/src/algorithms/centrality/index.js +1 -1
- package/dist/src/algorithms/centrality/index.js.map +1 -1
- package/dist/src/algorithms/centrality/katz.d.ts +10 -3
- package/dist/src/algorithms/centrality/katz.d.ts.map +1 -1
- package/dist/src/algorithms/centrality/katz.js +13 -8
- package/dist/src/algorithms/centrality/katz.js.map +1 -1
- package/dist/src/algorithms/centrality/pagerank.d.ts +14 -0
- package/dist/src/algorithms/centrality/pagerank.d.ts.map +1 -1
- package/dist/src/algorithms/centrality/pagerank.js +16 -1
- package/dist/src/algorithms/centrality/pagerank.js.map +1 -1
- package/dist/src/algorithms/community/girvan-newman.d.ts +2 -3
- package/dist/src/algorithms/community/girvan-newman.d.ts.map +1 -1
- package/dist/src/algorithms/community/girvan-newman.js +21 -4
- package/dist/src/algorithms/community/girvan-newman.js.map +1 -1
- package/dist/src/algorithms/community/index.d.ts.map +1 -1
- package/dist/src/algorithms/community/index.js.map +1 -1
- package/dist/src/algorithms/community/label-propagation.d.ts +0 -3
- package/dist/src/algorithms/community/label-propagation.d.ts.map +1 -1
- package/dist/src/algorithms/community/label-propagation.js +13 -6
- package/dist/src/algorithms/community/label-propagation.js.map +1 -1
- package/dist/src/algorithms/community/leiden.d.ts +0 -1
- package/dist/src/algorithms/community/leiden.d.ts.map +1 -1
- package/dist/src/algorithms/community/leiden.js +37 -6
- package/dist/src/algorithms/community/leiden.js.map +1 -1
- package/dist/src/algorithms/community/louvain-optimized.d.ts +37 -0
- package/dist/src/algorithms/community/louvain-optimized.d.ts.map +1 -1
- package/dist/src/algorithms/community/louvain-optimized.js +42 -7
- package/dist/src/algorithms/community/louvain-optimized.js.map +1 -1
- package/dist/src/algorithms/community/louvain.d.ts +2 -3
- package/dist/src/algorithms/community/louvain.d.ts.map +1 -1
- package/dist/src/algorithms/community/louvain.js +19 -6
- package/dist/src/algorithms/community/louvain.js.map +1 -1
- package/dist/src/algorithms/community/modularity-utils.d.ts +0 -4
- package/dist/src/algorithms/community/modularity-utils.d.ts.map +1 -1
- package/dist/src/algorithms/community/modularity-utils.js +1 -5
- package/dist/src/algorithms/community/modularity-utils.js.map +1 -1
- package/dist/src/algorithms/components/connected.d.ts +23 -0
- package/dist/src/algorithms/components/connected.d.ts.map +1 -1
- package/dist/src/algorithms/components/connected.js +29 -3
- package/dist/src/algorithms/components/connected.js.map +1 -1
- package/dist/src/algorithms/matching/bipartite.d.ts +10 -0
- package/dist/src/algorithms/matching/bipartite.d.ts.map +1 -1
- package/dist/src/algorithms/matching/bipartite.js +10 -0
- package/dist/src/algorithms/matching/bipartite.js.map +1 -1
- package/dist/src/algorithms/matching/index.d.ts.map +1 -1
- package/dist/src/algorithms/matching/index.js.map +1 -1
- package/dist/src/algorithms/matching/isomorphism.d.ts +8 -0
- package/dist/src/algorithms/matching/isomorphism.d.ts.map +1 -1
- package/dist/src/algorithms/matching/isomorphism.js +36 -2
- package/dist/src/algorithms/matching/isomorphism.js.map +1 -1
- package/dist/src/algorithms/mst/index.d.ts.map +1 -1
- package/dist/src/algorithms/mst/index.js.map +1 -1
- package/dist/src/algorithms/mst/kruskal.d.ts +14 -0
- package/dist/src/algorithms/mst/kruskal.d.ts.map +1 -1
- package/dist/src/algorithms/mst/kruskal.js +17 -3
- package/dist/src/algorithms/mst/kruskal.js.map +1 -1
- package/dist/src/algorithms/mst/prim.d.ts +9 -0
- package/dist/src/algorithms/mst/prim.d.ts.map +1 -1
- package/dist/src/algorithms/mst/prim.js +9 -0
- package/dist/src/algorithms/mst/prim.js.map +1 -1
- package/dist/src/algorithms/shortest-path/bellman-ford.d.ts +10 -0
- package/dist/src/algorithms/shortest-path/bellman-ford.d.ts.map +1 -1
- package/dist/src/algorithms/shortest-path/bellman-ford.js +10 -0
- package/dist/src/algorithms/shortest-path/bellman-ford.js.map +1 -1
- package/dist/src/algorithms/shortest-path/bidirectional-dijkstra.d.ts +11 -4
- package/dist/src/algorithms/shortest-path/bidirectional-dijkstra.d.ts.map +1 -1
- package/dist/src/algorithms/shortest-path/bidirectional-dijkstra.js +18 -16
- package/dist/src/algorithms/shortest-path/bidirectional-dijkstra.js.map +1 -1
- package/dist/src/algorithms/shortest-path/dijkstra.d.ts +15 -0
- package/dist/src/algorithms/shortest-path/dijkstra.d.ts.map +1 -1
- package/dist/src/algorithms/shortest-path/dijkstra.js +15 -0
- package/dist/src/algorithms/shortest-path/dijkstra.js.map +1 -1
- package/dist/src/algorithms/shortest-path/floyd-warshall.d.ts +17 -0
- package/dist/src/algorithms/shortest-path/floyd-warshall.d.ts.map +1 -1
- package/dist/src/algorithms/shortest-path/floyd-warshall.js +17 -0
- package/dist/src/algorithms/shortest-path/floyd-warshall.js.map +1 -1
- package/dist/src/algorithms/shortest-path/index.d.ts.map +1 -1
- package/dist/src/algorithms/shortest-path/index.js.map +1 -1
- package/dist/src/algorithms/traversal/bfs-unified.d.ts +13 -0
- package/dist/src/algorithms/traversal/bfs-unified.d.ts.map +1 -1
- package/dist/src/algorithms/traversal/bfs-unified.js +37 -0
- package/dist/src/algorithms/traversal/bfs-unified.js.map +1 -1
- package/dist/src/algorithms/traversal/bfs-variants.d.ts +23 -0
- package/dist/src/algorithms/traversal/bfs-variants.d.ts.map +1 -1
- package/dist/src/algorithms/traversal/bfs-variants.js +34 -0
- package/dist/src/algorithms/traversal/bfs-variants.js.map +1 -1
- package/dist/src/algorithms/traversal/bfs.d.ts +1 -1
- package/dist/src/algorithms/traversal/bfs.d.ts.map +1 -1
- package/dist/src/algorithms/traversal/bfs.js +1 -1
- package/dist/src/algorithms/traversal/bfs.js.map +1 -1
- package/dist/src/algorithms/traversal/dfs.d.ts +10 -0
- package/dist/src/algorithms/traversal/dfs.d.ts.map +1 -1
- package/dist/src/algorithms/traversal/dfs.js +48 -0
- package/dist/src/algorithms/traversal/dfs.js.map +1 -1
- package/dist/src/algorithms/traversal/index.d.ts.map +1 -1
- package/dist/src/algorithms/traversal/index.js.map +1 -1
- package/dist/src/benchmark-all-algorithms.d.ts +2 -0
- package/dist/src/benchmark-all-algorithms.d.ts.map +1 -1
- package/dist/src/benchmark-all-algorithms.js +32 -3
- package/dist/src/benchmark-all-algorithms.js.map +1 -1
- package/dist/src/clustering/hierarchical.d.ts +8 -1
- package/dist/src/clustering/hierarchical.d.ts.map +1 -1
- package/dist/src/clustering/hierarchical.js +22 -6
- package/dist/src/clustering/hierarchical.js.map +1 -1
- package/dist/src/clustering/index.d.ts.map +1 -1
- package/dist/src/clustering/index.js.map +1 -1
- package/dist/src/clustering/k-core.d.ts +2 -5
- package/dist/src/clustering/k-core.d.ts.map +1 -1
- package/dist/src/clustering/k-core.js +14 -12
- package/dist/src/clustering/k-core.js.map +1 -1
- package/dist/src/clustering/mcl.d.ts +6 -0
- package/dist/src/clustering/mcl.d.ts.map +1 -1
- package/dist/src/clustering/mcl.js +34 -3
- package/dist/src/clustering/mcl.js.map +1 -1
- package/dist/src/clustering/spectral.d.ts +4 -1
- package/dist/src/clustering/spectral.d.ts.map +1 -1
- package/dist/src/clustering/spectral.js +61 -28
- package/dist/src/clustering/spectral.js.map +1 -1
- package/dist/src/core/graph.d.ts +45 -0
- package/dist/src/core/graph.d.ts.map +1 -1
- package/dist/src/core/graph.js +45 -1
- package/dist/src/core/graph.js.map +1 -1
- package/dist/src/data-structures/index.d.ts.map +1 -1
- package/dist/src/data-structures/index.js.map +1 -1
- package/dist/src/data-structures/priority-queue.d.ts +18 -1
- package/dist/src/data-structures/priority-queue.d.ts.map +1 -1
- package/dist/src/data-structures/priority-queue.js +26 -5
- package/dist/src/data-structures/priority-queue.js.map +1 -1
- package/dist/src/data-structures/union-find.d.ts +21 -0
- package/dist/src/data-structures/union-find.d.ts.map +1 -1
- package/dist/src/data-structures/union-find.js +21 -0
- package/dist/src/data-structures/union-find.js.map +1 -1
- package/dist/src/flow/ford-fulkerson.d.ts +4 -2
- package/dist/src/flow/ford-fulkerson.d.ts.map +1 -1
- package/dist/src/flow/ford-fulkerson.js +31 -2
- package/dist/src/flow/ford-fulkerson.js.map +1 -1
- package/dist/src/flow/min-cut.d.ts +0 -3
- package/dist/src/flow/min-cut.d.ts.map +1 -1
- package/dist/src/flow/min-cut.js +17 -4
- package/dist/src/flow/min-cut.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/link-prediction/adamic-adar.d.ts +26 -0
- package/dist/src/link-prediction/adamic-adar.d.ts.map +1 -1
- package/dist/src/link-prediction/adamic-adar.js +36 -10
- package/dist/src/link-prediction/adamic-adar.js.map +1 -1
- package/dist/src/link-prediction/common-neighbors.d.ts +21 -0
- package/dist/src/link-prediction/common-neighbors.d.ts.map +1 -1
- package/dist/src/link-prediction/common-neighbors.js +27 -6
- package/dist/src/link-prediction/common-neighbors.js.map +1 -1
- package/dist/src/link-prediction/index.d.ts.map +1 -1
- package/dist/src/optimized/bit-packed.d.ts +103 -53
- package/dist/src/optimized/bit-packed.d.ts.map +1 -1
- package/dist/src/optimized/bit-packed.js +104 -54
- package/dist/src/optimized/bit-packed.js.map +1 -1
- package/dist/src/optimized/csr-graph.d.ts +87 -24
- package/dist/src/optimized/csr-graph.d.ts.map +1 -1
- package/dist/src/optimized/csr-graph.js +87 -24
- package/dist/src/optimized/csr-graph.js.map +1 -1
- package/dist/src/optimized/direction-optimized-bfs.d.ts +37 -16
- package/dist/src/optimized/direction-optimized-bfs.d.ts.map +1 -1
- package/dist/src/optimized/direction-optimized-bfs.js +39 -20
- package/dist/src/optimized/direction-optimized-bfs.js.map +1 -1
- package/dist/src/optimized/graph-adapter.d.ts +58 -9
- package/dist/src/optimized/graph-adapter.d.ts.map +1 -1
- package/dist/src/optimized/graph-adapter.js +58 -10
- package/dist/src/optimized/graph-adapter.js.map +1 -1
- package/dist/src/optimized/index.d.ts +1 -1
- package/dist/src/optimized/index.d.ts.map +1 -1
- package/dist/src/optimized/index.js +3 -1
- package/dist/src/optimized/index.js.map +1 -1
- package/dist/src/pathfinding/astar.d.ts +25 -9
- package/dist/src/pathfinding/astar.d.ts.map +1 -1
- package/dist/src/pathfinding/astar.js +25 -10
- package/dist/src/pathfinding/astar.js.map +1 -1
- package/dist/src/pathfinding/utils.d.ts +15 -6
- package/dist/src/pathfinding/utils.d.ts.map +1 -1
- package/dist/src/pathfinding/utils.js +19 -7
- package/dist/src/pathfinding/utils.js.map +1 -1
- package/dist/src/research/grsbm.d.ts +0 -1
- package/dist/src/research/grsbm.d.ts.map +1 -1
- package/dist/src/research/grsbm.js +22 -9
- package/dist/src/research/grsbm.js.map +1 -1
- package/dist/src/research/index.d.ts.map +1 -1
- package/dist/src/research/index.js.map +1 -1
- package/dist/src/research/sync.d.ts +0 -1
- package/dist/src/research/sync.d.ts.map +1 -1
- package/dist/src/research/sync.js +28 -7
- package/dist/src/research/sync.js.map +1 -1
- package/dist/src/research/terahac.d.ts +0 -1
- package/dist/src/research/terahac.d.ts.map +1 -1
- package/dist/src/research/terahac.js +32 -4
- package/dist/src/research/terahac.js.map +1 -1
- package/dist/src/utils/graph-converters.d.ts +31 -0
- package/dist/src/utils/graph-converters.d.ts.map +1 -1
- package/dist/src/utils/graph-converters.js +31 -0
- package/dist/src/utils/graph-converters.js.map +1 -1
- package/dist/src/utils/graph-utilities.d.ts.map +1 -1
- package/dist/src/utils/graph-utilities.js.map +1 -1
- package/dist/src/utils/math-utilities.d.ts +11 -0
- package/dist/src/utils/math-utilities.d.ts.map +1 -1
- package/dist/src/utils/math-utilities.js +14 -5
- package/dist/src/utils/math-utilities.js.map +1 -1
- package/dist/src/utils/optimization-helpers.d.ts +9 -0
- package/dist/src/utils/optimization-helpers.d.ts.map +1 -1
- package/dist/src/utils/optimization-helpers.js +12 -0
- package/dist/src/utils/optimization-helpers.js.map +1 -1
- package/dist/src/utils/priorityQueue.d.ts +24 -0
- package/dist/src/utils/priorityQueue.d.ts.map +1 -1
- package/dist/src/utils/priorityQueue.js +34 -4
- package/dist/src/utils/priorityQueue.js.map +1 -1
- package/package.json +49 -45
- package/src/algorithms/centrality/betweenness.ts +34 -17
- package/src/algorithms/centrality/closeness.ts +34 -17
- package/src/algorithms/centrality/degree.ts +15 -19
- package/src/algorithms/centrality/delta-pagerank-simple.ts +36 -28
- package/src/algorithms/centrality/delta-pagerank.ts +34 -11
- package/src/algorithms/centrality/eigenvector.ts +14 -15
- package/src/algorithms/centrality/hits.ts +17 -17
- package/src/algorithms/centrality/index.ts +20 -15
- package/src/algorithms/centrality/katz.ts +17 -25
- package/src/algorithms/centrality/pagerank.ts +26 -17
- package/src/algorithms/community/girvan-newman.ts +39 -28
- package/src/algorithms/community/index.ts +6 -7
- package/src/algorithms/community/label-propagation.ts +20 -28
- package/src/algorithms/community/leiden.ts +61 -37
- package/src/algorithms/community/louvain-optimized.ts +49 -20
- package/src/algorithms/community/louvain.ts +35 -25
- package/src/algorithms/community/modularity-utils.ts +5 -17
- package/src/algorithms/components/connected.ts +40 -17
- package/src/algorithms/matching/bipartite.ts +17 -10
- package/src/algorithms/matching/index.ts +4 -4
- package/src/algorithms/matching/isomorphism.ts +53 -23
- package/src/algorithms/mst/index.ts +3 -4
- package/src/algorithms/mst/kruskal.ts +21 -6
- package/src/algorithms/mst/prim.ts +13 -4
- package/src/algorithms/shortest-path/bellman-ford.ts +16 -15
- package/src/algorithms/shortest-path/bidirectional-dijkstra.ts +28 -28
- package/src/algorithms/shortest-path/dijkstra.ts +23 -17
- package/src/algorithms/shortest-path/floyd-warshall.ts +21 -4
- package/src/algorithms/shortest-path/index.ts +5 -5
- package/src/algorithms/traversal/bfs-unified.ts +64 -60
- package/src/algorithms/traversal/bfs-variants.ts +61 -37
- package/src/algorithms/traversal/bfs.ts +1 -7
- package/src/algorithms/traversal/dfs.ts +61 -42
- package/src/algorithms/traversal/index.ts +3 -3
- package/src/benchmark-all-algorithms.ts +57 -25
- package/src/clustering/hierarchical.ts +40 -34
- package/src/clustering/index.ts +8 -8
- package/src/clustering/k-core.ts +26 -42
- package/src/clustering/mcl.ts +53 -23
- package/src/clustering/spectral.ts +91 -57
- package/src/core/graph.ts +54 -14
- package/src/data-structures/index.ts +2 -2
- package/src/data-structures/priority-queue.ts +36 -11
- package/src/data-structures/union-find.ts +22 -1
- package/src/flow/ford-fulkerson.ts +62 -35
- package/src/flow/min-cut.ts +43 -45
- package/src/index.ts +3 -2
- package/src/link-prediction/adamic-adar.ts +65 -51
- package/src/link-prediction/common-neighbors.ts +45 -36
- package/src/link-prediction/index.ts +1 -1
- package/src/optimized/bit-packed.ts +106 -56
- package/src/optimized/csr-graph.ts +93 -30
- package/src/optimized/direction-optimized-bfs.ts +44 -25
- package/src/optimized/graph-adapter.ts +64 -16
- package/src/optimized/index.ts +7 -9
- package/src/pathfinding/astar.ts +40 -25
- package/src/pathfinding/utils.ts +20 -13
- package/src/research/grsbm.ts +30 -24
- package/src/research/index.ts +4 -4
- package/src/research/sync.ts +39 -23
- package/src/research/terahac.ts +54 -20
- package/src/utils/graph-converters.ts +42 -14
- package/src/utils/graph-utilities.ts +11 -37
- package/src/utils/math-utilities.ts +17 -8
- package/src/utils/optimization-helpers.ts +27 -21
- package/src/utils/priorityQueue.ts +40 -6
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { PriorityQueue } from "../../data-structures/priority-queue.js";
|
|
2
|
+
/**
|
|
3
|
+
* Delta-based PageRank class that tracks changes between iterations
|
|
4
|
+
* and only processes nodes with significant changes for improved performance.
|
|
5
|
+
*/
|
|
2
6
|
export class DeltaPageRank {
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new DeltaPageRank instance for the given graph.
|
|
9
|
+
* @param graph - The directed graph to compute PageRank on
|
|
10
|
+
*/
|
|
3
11
|
constructor(graph) {
|
|
4
12
|
if (!graph.isDirected) {
|
|
5
13
|
throw new Error("DeltaPageRank requires a directed graph");
|
|
@@ -37,6 +45,11 @@ export class DeltaPageRank {
|
|
|
37
45
|
}
|
|
38
46
|
}
|
|
39
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Computes PageRank scores using delta-based iteration for faster convergence.
|
|
50
|
+
* @param options - Configuration options for PageRank computation
|
|
51
|
+
* @returns Map of node IDs to their PageRank scores
|
|
52
|
+
*/
|
|
40
53
|
compute(options = {}) {
|
|
41
54
|
const { dampingFactor = 0.85, tolerance = 1e-6, maxIterations = 100, deltaThreshold = tolerance / 10, personalization, weight, } = options;
|
|
42
55
|
if (dampingFactor < 0 || dampingFactor > 1) {
|
|
@@ -69,7 +82,7 @@ export class DeltaPageRank {
|
|
|
69
82
|
danglingSum += currentScore + delta;
|
|
70
83
|
}
|
|
71
84
|
if (danglingSum > 0) {
|
|
72
|
-
const danglingContribution = dampingFactor * danglingSum / this.nodeCount;
|
|
85
|
+
const danglingContribution = (dampingFactor * danglingSum) / this.nodeCount;
|
|
73
86
|
for (const node of this.graph.nodes()) {
|
|
74
87
|
const nodeId = node.id;
|
|
75
88
|
const currentDelta = nextDeltas.get(nodeId) ?? 0;
|
|
@@ -112,7 +125,7 @@ export class DeltaPageRank {
|
|
|
112
125
|
const nodeId = node.id;
|
|
113
126
|
const currentDelta = nextDeltas.get(nodeId) ?? 0;
|
|
114
127
|
if (personalVector) {
|
|
115
|
-
nextDeltas.set(nodeId, currentDelta + (
|
|
128
|
+
nextDeltas.set(nodeId, currentDelta + (1 - dampingFactor) * (personalVector.get(nodeId) ?? 0));
|
|
116
129
|
}
|
|
117
130
|
else {
|
|
118
131
|
nextDeltas.set(nodeId, currentDelta + randomJump);
|
|
@@ -140,8 +153,11 @@ export class DeltaPageRank {
|
|
|
140
153
|
return new Map(this.scores);
|
|
141
154
|
}
|
|
142
155
|
/**
|
|
143
|
-
* Update PageRank scores after graph modification
|
|
144
|
-
* This is where delta-based approach really shines
|
|
156
|
+
* Update PageRank scores after graph modification.
|
|
157
|
+
* This is where delta-based approach really shines.
|
|
158
|
+
* @param modifiedNodes - Set of nodes that were modified (edges added/removed)
|
|
159
|
+
* @param options - Configuration options for PageRank computation
|
|
160
|
+
* @returns Updated PageRank scores
|
|
145
161
|
*/
|
|
146
162
|
update(modifiedNodes, options = {}) {
|
|
147
163
|
// Mark modified nodes and their neighbors as active
|
|
@@ -177,6 +193,10 @@ export class DeltaPageRank {
|
|
|
177
193
|
* Processes nodes in order of their delta magnitude
|
|
178
194
|
*/
|
|
179
195
|
export class PriorityDeltaPageRank {
|
|
196
|
+
/**
|
|
197
|
+
* Creates a new PriorityDeltaPageRank instance for the given graph.
|
|
198
|
+
* @param graph - The directed graph to compute PageRank on
|
|
199
|
+
*/
|
|
180
200
|
constructor(graph) {
|
|
181
201
|
if (!graph.isDirected) {
|
|
182
202
|
throw new Error("PriorityDeltaPageRank requires a directed graph");
|
|
@@ -213,6 +233,12 @@ export class PriorityDeltaPageRank {
|
|
|
213
233
|
}
|
|
214
234
|
}
|
|
215
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* Computes PageRank scores using priority queue-based delta iteration.
|
|
238
|
+
* Processes nodes in order of their delta magnitude for optimal convergence.
|
|
239
|
+
* @param options - Configuration options for PageRank computation
|
|
240
|
+
* @returns Map of node IDs to their PageRank scores
|
|
241
|
+
*/
|
|
216
242
|
computeWithPriority(options = {}) {
|
|
217
243
|
const { dampingFactor = 0.85, tolerance = 1e-6, maxIterations = 100, deltaThreshold = tolerance / 10, weight, } = options;
|
|
218
244
|
let iteration = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta-pagerank.js","sourceRoot":"","sources":["../../../../src/algorithms/centrality/delta-pagerank.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delta-pagerank.js","sourceRoot":"","sources":["../../../../src/algorithms/centrality/delta-pagerank.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,12 +16,19 @@ export interface EigenvectorCentralityOptions extends CentralityOptions {
|
|
|
16
16
|
startVector?: Map<string, number>;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Calculate eigenvector centrality for all nodes in the graph
|
|
20
|
-
* Uses the power iteration method to find the dominant eigenvector
|
|
19
|
+
* Calculate eigenvector centrality for all nodes in the graph.
|
|
20
|
+
* Uses the power iteration method to find the dominant eigenvector.
|
|
21
|
+
* @param graph - The graph to compute eigenvector centrality on
|
|
22
|
+
* @param options - Configuration options for the computation
|
|
23
|
+
* @returns Object mapping node IDs to their eigenvector centrality scores
|
|
21
24
|
*/
|
|
22
25
|
export declare function eigenvectorCentrality(graph: Graph, options?: EigenvectorCentralityOptions): CentralityResult;
|
|
23
26
|
/**
|
|
24
|
-
* Calculate eigenvector centrality for a specific node
|
|
27
|
+
* Calculate eigenvector centrality for a specific node.
|
|
28
|
+
* @param graph - The graph to compute eigenvector centrality on
|
|
29
|
+
* @param nodeId - The ID of the node to calculate centrality for
|
|
30
|
+
* @param options - Configuration options for the computation
|
|
31
|
+
* @returns The eigenvector centrality score for the specified node
|
|
25
32
|
*/
|
|
26
33
|
export declare function nodeEigenvectorCentrality(graph: Graph, nodeId: string | number, options?: EigenvectorCentralityOptions): number;
|
|
27
34
|
//# sourceMappingURL=eigenvector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eigenvector.d.ts","sourceRoot":"","sources":["../../../../src/algorithms/centrality/eigenvector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"eigenvector.d.ts","sourceRoot":"","sources":["../../../../src/algorithms/centrality/eigenvector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;;;;;;;;GASG;AAEH,MAAM,WAAW,4BAA6B,SAAQ,iBAAiB;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,4BAAiC,GAAG,gBAAgB,CAiHhH;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,OAAO,GAAE,4BAAiC,GAC3C,MAAM,CAOR"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Calculate eigenvector centrality for all nodes in the graph
|
|
3
|
-
* Uses the power iteration method to find the dominant eigenvector
|
|
2
|
+
* Calculate eigenvector centrality for all nodes in the graph.
|
|
3
|
+
* Uses the power iteration method to find the dominant eigenvector.
|
|
4
|
+
* @param graph - The graph to compute eigenvector centrality on
|
|
5
|
+
* @param options - Configuration options for the computation
|
|
6
|
+
* @returns Object mapping node IDs to their eigenvector centrality scores
|
|
4
7
|
*/
|
|
5
8
|
export function eigenvectorCentrality(graph, options = {}) {
|
|
6
|
-
const { maxIterations = 100, tolerance = 1e-6, normalized = true, startVector
|
|
9
|
+
const { maxIterations = 100, tolerance = 1e-6, normalized = true, startVector } = options;
|
|
7
10
|
const centrality = {};
|
|
8
11
|
const nodes = Array.from(graph.nodes());
|
|
9
12
|
const nodeIds = nodes.map((node) => node.id);
|
|
@@ -101,7 +104,11 @@ export function eigenvectorCentrality(graph, options = {}) {
|
|
|
101
104
|
return centrality;
|
|
102
105
|
}
|
|
103
106
|
/**
|
|
104
|
-
* Calculate eigenvector centrality for a specific node
|
|
107
|
+
* Calculate eigenvector centrality for a specific node.
|
|
108
|
+
* @param graph - The graph to compute eigenvector centrality on
|
|
109
|
+
* @param nodeId - The ID of the node to calculate centrality for
|
|
110
|
+
* @param options - Configuration options for the computation
|
|
111
|
+
* @returns The eigenvector centrality score for the specified node
|
|
105
112
|
*/
|
|
106
113
|
export function nodeEigenvectorCentrality(graph, nodeId, options = {}) {
|
|
107
114
|
if (!graph.hasNode(nodeId)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eigenvector.js","sourceRoot":"","sources":["../../../../src/algorithms/centrality/eigenvector.ts"],"names":[],"mappings":"AAoBA
|
|
1
|
+
{"version":3,"file":"eigenvector.js","sourceRoot":"","sources":["../../../../src/algorithms/centrality/eigenvector.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,12 +21,19 @@ export interface HITSOptions extends CentralityOptions {
|
|
|
21
21
|
tolerance?: number;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
|
-
* Calculate HITS hub and authority scores for all nodes in the graph
|
|
25
|
-
* Uses iterative method with normalization
|
|
24
|
+
* Calculate HITS hub and authority scores for all nodes in the graph.
|
|
25
|
+
* Uses iterative method with normalization.
|
|
26
|
+
* @param graph - The graph to compute HITS scores on
|
|
27
|
+
* @param options - Configuration options for the computation
|
|
28
|
+
* @returns Object containing hub and authority scores for all nodes
|
|
26
29
|
*/
|
|
27
30
|
export declare function hits(graph: Graph, options?: HITSOptions): HITSResult;
|
|
28
31
|
/**
|
|
29
|
-
* Calculate HITS scores for a specific node
|
|
32
|
+
* Calculate HITS scores for a specific node.
|
|
33
|
+
* @param graph - The graph to compute HITS scores on
|
|
34
|
+
* @param nodeId - The ID of the node to calculate scores for
|
|
35
|
+
* @param options - Configuration options for the computation
|
|
36
|
+
* @returns Object containing hub and authority scores for the specified node
|
|
30
37
|
*/
|
|
31
38
|
export declare function nodeHITS(graph: Graph, nodeId: string | number, options?: HITSOptions): {
|
|
32
39
|
hub: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hits.d.ts","sourceRoot":"","sources":["../../../../src/algorithms/centrality/hits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"hits.d.ts","sourceRoot":"","sources":["../../../../src/algorithms/centrality/hits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,WAAY,SAAQ,iBAAiB;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,WAAgB,GAAG,UAAU,CAuJxE;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACpB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,OAAO,GAAE,WAAgB,GAC1B;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAYpC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Calculate HITS hub and authority scores for all nodes in the graph
|
|
3
|
-
* Uses iterative method with normalization
|
|
2
|
+
* Calculate HITS hub and authority scores for all nodes in the graph.
|
|
3
|
+
* Uses iterative method with normalization.
|
|
4
|
+
* @param graph - The graph to compute HITS scores on
|
|
5
|
+
* @param options - Configuration options for the computation
|
|
6
|
+
* @returns Object containing hub and authority scores for all nodes
|
|
4
7
|
*/
|
|
5
8
|
export function hits(graph, options = {}) {
|
|
6
|
-
const { maxIterations = 100, tolerance = 1e-6, normalized = true
|
|
9
|
+
const { maxIterations = 100, tolerance = 1e-6, normalized = true } = options;
|
|
7
10
|
const hubs = {};
|
|
8
11
|
const authorities = {};
|
|
9
12
|
const nodes = Array.from(graph.nodes());
|
|
@@ -130,7 +133,11 @@ export function hits(graph, options = {}) {
|
|
|
130
133
|
return { hubs, authorities };
|
|
131
134
|
}
|
|
132
135
|
/**
|
|
133
|
-
* Calculate HITS scores for a specific node
|
|
136
|
+
* Calculate HITS scores for a specific node.
|
|
137
|
+
* @param graph - The graph to compute HITS scores on
|
|
138
|
+
* @param nodeId - The ID of the node to calculate scores for
|
|
139
|
+
* @param options - Configuration options for the computation
|
|
140
|
+
* @returns Object containing hub and authority scores for the specified node
|
|
134
141
|
*/
|
|
135
142
|
export function nodeHITS(graph, nodeId, options = {}) {
|
|
136
143
|
if (!graph.hasNode(nodeId)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hits.js","sourceRoot":"","sources":["../../../../src/algorithms/centrality/hits.ts"],"names":[],"mappings":"AA0BA
|
|
1
|
+
{"version":3,"file":"hits.js","sourceRoot":"","sources":["../../../../src/algorithms/centrality/hits.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
export type { BetweennessCentralityOptions } from "./betweenness.js";
|
|
5
5
|
export { betweennessCentrality, edgeBetweennessCentrality, nodeBetweennessCentrality } from "./betweenness.js";
|
|
6
6
|
export type { ClosenessCentralityOptions } from "./closeness.js";
|
|
7
|
-
export { closenessCentrality, nodeClosenessCentrality, nodeWeightedClosenessCentrality, weightedClosenessCentrality } from "./closeness.js";
|
|
7
|
+
export { closenessCentrality, nodeClosenessCentrality, nodeWeightedClosenessCentrality, weightedClosenessCentrality, } from "./closeness.js";
|
|
8
8
|
export { degreeCentrality, nodeDegreeCentrality } from "./degree.js";
|
|
9
9
|
export type { DeltaPageRankOptions } from "./delta-pagerank.js";
|
|
10
10
|
export { DeltaPageRank, PriorityDeltaPageRank } from "./delta-pagerank.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/algorithms/centrality/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/algorithms/centrality/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC/G,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACH,mBAAmB,EACnB,uBAAuB,EACvB,+BAA+B,EAC/B,2BAA2B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AACpF,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Centrality algorithms
|
|
3
3
|
*/
|
|
4
4
|
export { betweennessCentrality, edgeBetweennessCentrality, nodeBetweennessCentrality } from "./betweenness.js";
|
|
5
|
-
export { closenessCentrality, nodeClosenessCentrality, nodeWeightedClosenessCentrality, weightedClosenessCentrality } from "./closeness.js";
|
|
5
|
+
export { closenessCentrality, nodeClosenessCentrality, nodeWeightedClosenessCentrality, weightedClosenessCentrality, } from "./closeness.js";
|
|
6
6
|
export { degreeCentrality, nodeDegreeCentrality } from "./degree.js";
|
|
7
7
|
export { DeltaPageRank, PriorityDeltaPageRank } from "./delta-pagerank.js";
|
|
8
8
|
export { eigenvectorCentrality, nodeEigenvectorCentrality } from "./eigenvector.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/algorithms/centrality/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/algorithms/centrality/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE/G,OAAO,EACH,mBAAmB,EACnB,uBAAuB,EACvB,+BAA+B,EAC/B,2BAA2B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAEpF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -19,12 +19,19 @@ export interface KatzCentralityOptions extends CentralityOptions {
|
|
|
19
19
|
tolerance?: number;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
-
* Calculate Katz centrality for all nodes in the graph
|
|
23
|
-
* Uses iterative method to compute centrality scores
|
|
22
|
+
* Calculate Katz centrality for all nodes in the graph.
|
|
23
|
+
* Uses iterative method to compute centrality scores.
|
|
24
|
+
* @param graph - The graph to compute Katz centrality on
|
|
25
|
+
* @param options - Configuration options for the computation
|
|
26
|
+
* @returns Object mapping node IDs to their Katz centrality scores
|
|
24
27
|
*/
|
|
25
28
|
export declare function katzCentrality(graph: Graph, options?: KatzCentralityOptions): CentralityResult;
|
|
26
29
|
/**
|
|
27
|
-
* Calculate Katz centrality for a specific node
|
|
30
|
+
* Calculate Katz centrality for a specific node.
|
|
31
|
+
* @param graph - The graph to compute Katz centrality on
|
|
32
|
+
* @param nodeId - The ID of the node to calculate centrality for
|
|
33
|
+
* @param options - Configuration options for the computation
|
|
34
|
+
* @returns The Katz centrality score for the specified node
|
|
28
35
|
*/
|
|
29
36
|
export declare function nodeKatzCentrality(graph: Graph, nodeId: string | number, options?: KatzCentralityOptions): number;
|
|
30
37
|
//# sourceMappingURL=katz.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"katz.d.ts","sourceRoot":"","sources":["../../../../src/algorithms/centrality/katz.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"katz.d.ts","sourceRoot":"","sources":["../../../../src/algorithms/centrality/katz.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,qBAA0B,GAAG,gBAAgB,CAoFlG;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,MAAM,CAOrH"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Calculate Katz centrality for all nodes in the graph
|
|
3
|
-
* Uses iterative method to compute centrality scores
|
|
2
|
+
* Calculate Katz centrality for all nodes in the graph.
|
|
3
|
+
* Uses iterative method to compute centrality scores.
|
|
4
|
+
* @param graph - The graph to compute Katz centrality on
|
|
5
|
+
* @param options - Configuration options for the computation
|
|
6
|
+
* @returns Object mapping node IDs to their Katz centrality scores
|
|
4
7
|
*/
|
|
5
8
|
export function katzCentrality(graph, options = {}) {
|
|
6
|
-
const { alpha = 0.1, beta = 1.0, maxIterations = 100, tolerance = 1e-6, normalized = true
|
|
9
|
+
const { alpha = 0.1, beta = 1.0, maxIterations = 100, tolerance = 1e-6, normalized = true } = options;
|
|
7
10
|
const centrality = {};
|
|
8
11
|
const nodes = Array.from(graph.nodes());
|
|
9
12
|
const nodeIds = nodes.map((node) => node.id);
|
|
@@ -28,14 +31,12 @@ export function katzCentrality(graph, options = {}) {
|
|
|
28
31
|
let sum = 0;
|
|
29
32
|
// For directed graphs, use in-neighbors
|
|
30
33
|
// For undirected graphs, use all neighbors
|
|
31
|
-
const neighbors = graph.isDirected ?
|
|
32
|
-
Array.from(graph.inNeighbors(nodeId)) :
|
|
33
|
-
graph.neighbors(nodeId);
|
|
34
|
+
const neighbors = graph.isDirected ? Array.from(graph.inNeighbors(nodeId)) : graph.neighbors(nodeId);
|
|
34
35
|
for (const neighbor of neighbors) {
|
|
35
36
|
const neighborKey = neighbor.toString();
|
|
36
37
|
sum += previousScores.get(neighborKey) ?? 0;
|
|
37
38
|
}
|
|
38
|
-
currentScores.set(nodeId.toString(),
|
|
39
|
+
currentScores.set(nodeId.toString(), alpha * sum + beta);
|
|
39
40
|
}
|
|
40
41
|
// Check for convergence
|
|
41
42
|
let maxDiff = 0;
|
|
@@ -73,7 +74,11 @@ export function katzCentrality(graph, options = {}) {
|
|
|
73
74
|
return centrality;
|
|
74
75
|
}
|
|
75
76
|
/**
|
|
76
|
-
* Calculate Katz centrality for a specific node
|
|
77
|
+
* Calculate Katz centrality for a specific node.
|
|
78
|
+
* @param graph - The graph to compute Katz centrality on
|
|
79
|
+
* @param nodeId - The ID of the node to calculate centrality for
|
|
80
|
+
* @param options - Configuration options for the computation
|
|
81
|
+
* @returns The Katz centrality score for the specified node
|
|
77
82
|
*/
|
|
78
83
|
export function nodeKatzCentrality(graph, nodeId, options = {}) {
|
|
79
84
|
if (!graph.hasNode(nodeId)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"katz.js","sourceRoot":"","sources":["../../../../src/algorithms/centrality/katz.ts"],"names":[],"mappings":"AAuBA
|
|
1
|
+
{"version":3,"file":"katz.js","sourceRoot":"","sources":["../../../../src/algorithms/centrality/katz.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,18 +71,32 @@ export interface PageRankResult {
|
|
|
71
71
|
*
|
|
72
72
|
* For initial computation on small-medium graphs, standard algorithm may be faster
|
|
73
73
|
* due to lower overhead.
|
|
74
|
+
* @param graph - The directed input graph to analyze
|
|
75
|
+
* @param options - Algorithm configuration options
|
|
76
|
+
* @returns PageRank result containing ranks, iteration count, and convergence status
|
|
74
77
|
*/
|
|
75
78
|
export declare function pageRank(graph: Graph, options?: PageRankOptions): PageRankResult;
|
|
76
79
|
/**
|
|
77
80
|
* Calculate Personalized PageRank for a specific set of source nodes
|
|
81
|
+
* @param graph - The directed input graph to analyze
|
|
82
|
+
* @param personalNodes - Nodes to personalize the PageRank towards
|
|
83
|
+
* @param options - Algorithm configuration options
|
|
84
|
+
* @returns PageRank result containing ranks, iteration count, and convergence status
|
|
78
85
|
*/
|
|
79
86
|
export declare function personalizedPageRank(graph: Graph, personalNodes: NodeId[], options?: Omit<PageRankOptions, "personalization">): PageRankResult;
|
|
80
87
|
/**
|
|
81
88
|
* Calculate PageRank centrality (normalized PageRank scores)
|
|
89
|
+
* @param graph - The directed input graph to analyze
|
|
90
|
+
* @param options - Algorithm configuration options
|
|
91
|
+
* @returns PageRank scores for each node keyed by node ID
|
|
82
92
|
*/
|
|
83
93
|
export declare function pageRankCentrality(graph: Graph, options?: PageRankOptions): Record<string, number>;
|
|
84
94
|
/**
|
|
85
95
|
* Get the top-k nodes by PageRank score
|
|
96
|
+
* @param graph - The directed input graph to analyze
|
|
97
|
+
* @param k - Number of top nodes to return
|
|
98
|
+
* @param options - Algorithm configuration options
|
|
99
|
+
* @returns Array of top-k nodes with their PageRank scores, sorted descending
|
|
86
100
|
*/
|
|
87
101
|
export declare function topPageRankNodes(graph: Graph, k: number, options?: PageRankOptions): {
|
|
88
102
|
node: NodeId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagerank.d.ts","sourceRoot":"","sources":["../../../../src/algorithms/centrality/pagerank.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"pagerank.d.ts","sourceRoot":"","sources":["../../../../src/algorithms/centrality/pagerank.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;;OAEG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,eAAoB,GAAG,cAAc,CAwMpF;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,GAAE,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAM,GACvD,cAAc,CA4BhB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGtG;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,KAAK,EACZ,CAAC,EAAE,MAAM,EACT,OAAO,GAAE,eAAoB,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAYlC"}
|
|
@@ -12,6 +12,9 @@ import { SimpleDeltaPageRank } from "./delta-pagerank-simple.js";
|
|
|
12
12
|
*
|
|
13
13
|
* For initial computation on small-medium graphs, standard algorithm may be faster
|
|
14
14
|
* due to lower overhead.
|
|
15
|
+
* @param graph - The directed input graph to analyze
|
|
16
|
+
* @param options - Algorithm configuration options
|
|
17
|
+
* @returns PageRank result containing ranks, iteration count, and convergence status
|
|
15
18
|
*/
|
|
16
19
|
export function pageRank(graph, options = {}) {
|
|
17
20
|
const { dampingFactor = 0.85, maxIterations = 100, tolerance = 1e-6, initialRanks, personalization, weight, } = options;
|
|
@@ -119,7 +122,7 @@ export function pageRank(graph, options = {}) {
|
|
|
119
122
|
danglingSum += ranks.get(danglingNode) ?? 0;
|
|
120
123
|
}
|
|
121
124
|
if (danglingSum > 0) {
|
|
122
|
-
const danglingContribution = dampingFactor * danglingSum / n;
|
|
125
|
+
const danglingContribution = (dampingFactor * danglingSum) / n;
|
|
123
126
|
for (const nodeId of nodes) {
|
|
124
127
|
const currentRank = newRanks.get(nodeId) ?? 0;
|
|
125
128
|
if (personalVector) {
|
|
@@ -174,6 +177,10 @@ export function pageRank(graph, options = {}) {
|
|
|
174
177
|
}
|
|
175
178
|
/**
|
|
176
179
|
* Calculate Personalized PageRank for a specific set of source nodes
|
|
180
|
+
* @param graph - The directed input graph to analyze
|
|
181
|
+
* @param personalNodes - Nodes to personalize the PageRank towards
|
|
182
|
+
* @param options - Algorithm configuration options
|
|
183
|
+
* @returns PageRank result containing ranks, iteration count, and convergence status
|
|
177
184
|
*/
|
|
178
185
|
export function personalizedPageRank(graph, personalNodes, options = {}) {
|
|
179
186
|
// Handle empty personal nodes by falling back to standard PageRank
|
|
@@ -201,6 +208,9 @@ export function personalizedPageRank(graph, personalNodes, options = {}) {
|
|
|
201
208
|
}
|
|
202
209
|
/**
|
|
203
210
|
* Calculate PageRank centrality (normalized PageRank scores)
|
|
211
|
+
* @param graph - The directed input graph to analyze
|
|
212
|
+
* @param options - Algorithm configuration options
|
|
213
|
+
* @returns PageRank scores for each node keyed by node ID
|
|
204
214
|
*/
|
|
205
215
|
export function pageRankCentrality(graph, options = {}) {
|
|
206
216
|
const result = pageRank(graph, options);
|
|
@@ -208,6 +218,10 @@ export function pageRankCentrality(graph, options = {}) {
|
|
|
208
218
|
}
|
|
209
219
|
/**
|
|
210
220
|
* Get the top-k nodes by PageRank score
|
|
221
|
+
* @param graph - The directed input graph to analyze
|
|
222
|
+
* @param k - Number of top nodes to return
|
|
223
|
+
* @param options - Algorithm configuration options
|
|
224
|
+
* @returns Array of top-k nodes with their PageRank scores, sorted descending
|
|
211
225
|
*/
|
|
212
226
|
export function topPageRankNodes(graph, k, options = {}) {
|
|
213
227
|
const result = pageRank(graph, options);
|
|
@@ -221,6 +235,7 @@ export function topPageRankNodes(graph, k, options = {}) {
|
|
|
221
235
|
}
|
|
222
236
|
/**
|
|
223
237
|
* Normalize ranks so they sum to 1
|
|
238
|
+
* @param ranks - The ranks map to normalize in place
|
|
224
239
|
*/
|
|
225
240
|
function normalizeRanks(ranks) {
|
|
226
241
|
let sum = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagerank.js","sourceRoot":"","sources":["../../../../src/algorithms/centrality/pagerank.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"pagerank.js","sourceRoot":"","sources":["../../../../src/algorithms/centrality/pagerank.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,9 +12,8 @@ import type { CommunityResult, GirvanNewmanOptions } from "../../types/index.js"
|
|
|
12
12
|
*
|
|
13
13
|
* References:
|
|
14
14
|
* - Girvan, M., & Newman, M. E. J. (2002). Community structure in social
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* and biological networks. Proceedings of the National Academy of Sciences,
|
|
16
|
+
* 99(12), 7821-7826.
|
|
18
17
|
* @param graph - The input graph
|
|
19
18
|
* @param options - Algorithm options
|
|
20
19
|
* @returns Array of community detection results representing the dendrogram
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"girvan-newman.d.ts","sourceRoot":"","sources":["../../../../src/algorithms/community/girvan-newman.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"girvan-newman.d.ts","sourceRoot":"","sources":["../../../../src/algorithms/community/girvan-newman.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAmB,mBAAmB,EAAU,MAAM,sBAAsB,CAAC;AAG1G;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,mBAAwB,GAAG,eAAe,EAAE,CAqE/F"}
|