graphbox 1.2.1 → 1.3.0
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 +98 -41
- package/dist/__tests__/integration/bipartite.integration.test.d.ts +9 -0
- package/dist/__tests__/integration/bipartite.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/chordal.integration.test.d.ts +9 -0
- package/dist/__tests__/integration/chordal.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/cliquewidth.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/cliquewidth.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/cograph.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/cograph.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/comparability.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/comparability.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/eulerian.integration.test.d.ts +9 -0
- package/dist/__tests__/integration/eulerian.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/hamiltonian.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/hamiltonian.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/helpers.d.ts +8 -0
- package/dist/__tests__/integration/helpers.d.ts.map +1 -0
- package/dist/__tests__/integration/interval.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/interval.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/modular.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/modular.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/pathwidth.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/pathwidth.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/perfect.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/perfect.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/permutation.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/permutation.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/planar.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/planar.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/ptolemaic.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/ptolemaic.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/quasiline.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/quasiline.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/regular.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/regular.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/split.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/split.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/tree.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/tree.integration.test.d.ts.map +1 -0
- package/dist/algorithms/analysis/connected-components.unit.test.d.ts +5 -0
- package/dist/algorithms/analysis/connected-components.unit.test.d.ts.map +1 -0
- package/dist/algorithms/analysis/cycle-detection.unit.test.d.ts +5 -0
- package/dist/algorithms/analysis/cycle-detection.unit.test.d.ts.map +1 -0
- package/dist/algorithms/analysis/scc.unit.test.d.ts +5 -0
- package/dist/algorithms/analysis/scc.unit.test.d.ts.map +1 -0
- package/dist/algorithms/analysis/topological-sort.unit.test.d.ts +5 -0
- package/dist/algorithms/analysis/topological-sort.unit.test.d.ts.map +1 -0
- package/dist/algorithms/clustering/infomap.unit.test.d.ts +5 -0
- package/dist/algorithms/clustering/infomap.unit.test.d.ts.map +1 -0
- package/dist/algorithms/clustering/label-propagation.unit.test.d.ts +5 -0
- package/dist/algorithms/clustering/label-propagation.unit.test.d.ts.map +1 -0
- package/dist/algorithms/clustering/leiden.unit.test.d.ts +5 -0
- package/dist/algorithms/clustering/leiden.unit.test.d.ts.map +1 -0
- package/dist/algorithms/clustering/louvain.d.ts +22 -6
- package/dist/algorithms/clustering/louvain.d.ts.map +1 -1
- package/dist/algorithms/clustering/louvain.unit.test.d.ts +5 -0
- package/dist/algorithms/clustering/louvain.unit.test.d.ts.map +1 -0
- package/dist/algorithms/decomposition/biconnected.unit.test.d.ts +2 -0
- package/dist/algorithms/decomposition/biconnected.unit.test.d.ts.map +1 -0
- package/dist/algorithms/decomposition/core-periphery.unit.test.d.ts +2 -0
- package/dist/algorithms/decomposition/core-periphery.unit.test.d.ts.map +1 -0
- package/dist/algorithms/decomposition/k-core.unit.test.d.ts +2 -0
- package/dist/algorithms/decomposition/k-core.unit.test.d.ts.map +1 -0
- package/dist/algorithms/extraction/filter.unit.test.d.ts +5 -0
- package/dist/algorithms/extraction/filter.unit.test.d.ts.map +1 -0
- package/dist/algorithms/extraction/forbidden-subgraphs.d.ts +211 -0
- package/dist/algorithms/extraction/forbidden-subgraphs.d.ts.map +1 -0
- package/dist/algorithms/extraction/motif.unit.test.d.ts +5 -0
- package/dist/algorithms/extraction/motif.unit.test.d.ts.map +1 -0
- package/dist/algorithms/extraction/path.unit.test.d.ts +5 -0
- package/dist/algorithms/extraction/path.unit.test.d.ts.map +1 -0
- package/dist/algorithms/extraction/subgraph.unit.test.d.ts +5 -0
- package/dist/algorithms/extraction/subgraph.unit.test.d.ts.map +1 -0
- package/dist/algorithms/extraction/truss.unit.test.d.ts +5 -0
- package/dist/algorithms/extraction/truss.unit.test.d.ts.map +1 -0
- package/dist/algorithms/extraction/validators.unit.test.d.ts +2 -0
- package/dist/algorithms/extraction/validators.unit.test.d.ts.map +1 -0
- package/dist/algorithms/graph/graph-adapter.d.ts.map +1 -1
- package/dist/algorithms/graph/graph-adapter.unit.test.d.ts +2 -0
- package/dist/algorithms/graph/graph-adapter.unit.test.d.ts.map +1 -0
- package/dist/algorithms/graph/graph.unit.test.d.ts +5 -0
- package/dist/algorithms/graph/graph.unit.test.d.ts.map +1 -0
- package/dist/algorithms/hierarchical/clustering.unit.test.d.ts +2 -0
- package/dist/algorithms/hierarchical/clustering.unit.test.d.ts.map +1 -0
- package/dist/algorithms/layout/hierarchical-layout.unit.test.d.ts +5 -0
- package/dist/algorithms/layout/hierarchical-layout.unit.test.d.ts.map +1 -0
- package/dist/algorithms/metrics/cluster-quality.unit.test.d.ts +5 -0
- package/dist/algorithms/metrics/cluster-quality.unit.test.d.ts.map +1 -0
- package/dist/algorithms/metrics/conductance.unit.test.d.ts +5 -0
- package/dist/algorithms/metrics/conductance.unit.test.d.ts.map +1 -0
- package/dist/algorithms/metrics/modularity.d.ts.map +1 -1
- package/dist/algorithms/metrics/modularity.unit.test.d.ts +5 -0
- package/dist/algorithms/metrics/modularity.unit.test.d.ts.map +1 -0
- package/dist/algorithms/partitioning/spectral.unit.test.d.ts +5 -0
- package/dist/algorithms/partitioning/spectral.unit.test.d.ts.map +1 -0
- package/dist/algorithms/pathfinding/dijkstra.unit.test.d.ts +5 -0
- package/dist/algorithms/pathfinding/dijkstra.unit.test.d.ts.map +1 -0
- package/dist/algorithms/pathfinding/mutual-information.unit.test.d.ts +2 -0
- package/dist/algorithms/pathfinding/mutual-information.unit.test.d.ts.map +1 -0
- package/dist/algorithms/pathfinding/path-ranking.d.ts.map +1 -1
- package/dist/algorithms/pathfinding/path-ranking.unit.test.d.ts +2 -0
- package/dist/algorithms/pathfinding/path-ranking.unit.test.d.ts.map +1 -0
- package/dist/algorithms/pathfinding/priority-queue.unit.test.d.ts +5 -0
- package/dist/algorithms/pathfinding/priority-queue.unit.test.d.ts.map +1 -0
- package/dist/algorithms/pathfinding/random-path-sampling.d.ts +31 -0
- package/dist/algorithms/pathfinding/random-path-sampling.d.ts.map +1 -0
- package/dist/algorithms/pathfinding/shortest-path-ranking.d.ts +28 -0
- package/dist/algorithms/pathfinding/shortest-path-ranking.d.ts.map +1 -0
- package/dist/algorithms/traversal/bidirectional-bfs.d.ts +15 -0
- package/dist/algorithms/traversal/bidirectional-bfs.d.ts.map +1 -1
- package/dist/algorithms/traversal/degree-prioritised-expansion-intersection.unit.test.d.ts +13 -0
- package/dist/algorithms/traversal/degree-prioritised-expansion-intersection.unit.test.d.ts.map +1 -0
- package/dist/algorithms/traversal/degree-prioritised-expansion.d.ts +34 -2
- package/dist/algorithms/traversal/degree-prioritised-expansion.d.ts.map +1 -1
- package/dist/algorithms/traversal/degree-prioritised-expansion.unit.test.d.ts +5 -0
- package/dist/algorithms/traversal/degree-prioritised-expansion.unit.test.d.ts.map +1 -0
- package/dist/algorithms/traversal/entropy-guided-expansion.d.ts +172 -0
- package/dist/algorithms/traversal/entropy-guided-expansion.d.ts.map +1 -0
- package/dist/algorithms/traversal/entropy-guided-expansion.unit.test.d.ts +2 -0
- package/dist/algorithms/traversal/entropy-guided-expansion.unit.test.d.ts.map +1 -0
- package/dist/algorithms/traversal/heterogeneity-aware-expansion.d.ts +199 -0
- package/dist/algorithms/traversal/heterogeneity-aware-expansion.d.ts.map +1 -0
- package/dist/algorithms/traversal/heterogeneity-aware-expansion.unit.test.d.ts +2 -0
- package/dist/algorithms/traversal/heterogeneity-aware-expansion.unit.test.d.ts.map +1 -0
- package/dist/algorithms/traversal/index.d.ts +14 -0
- package/dist/algorithms/traversal/index.d.ts.map +1 -1
- package/dist/algorithms/traversal/intelligent-delayed-termination.d.ts +221 -0
- package/dist/algorithms/traversal/intelligent-delayed-termination.d.ts.map +1 -0
- package/dist/algorithms/traversal/intelligent-delayed-termination.unit.test.d.ts +2 -0
- package/dist/algorithms/traversal/intelligent-delayed-termination.unit.test.d.ts.map +1 -0
- package/dist/algorithms/traversal/multi-frontier-adaptive-expansion.d.ts +245 -0
- package/dist/algorithms/traversal/multi-frontier-adaptive-expansion.d.ts.map +1 -0
- package/dist/algorithms/traversal/multi-frontier-adaptive-expansion.unit.test.d.ts +2 -0
- package/dist/algorithms/traversal/multi-frontier-adaptive-expansion.unit.test.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/frontier-state.d.ts +25 -0
- package/dist/algorithms/traversal/overlap-based/frontier-state.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/index.d.ts +71 -0
- package/dist/algorithms/traversal/overlap-based/index.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/overlap-based-expansion.d.ts +182 -0
- package/dist/algorithms/traversal/overlap-based/overlap-based-expansion.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/overlap-result.d.ts +82 -0
- package/dist/algorithms/traversal/overlap-based/overlap-result.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/strategies/between-graph/between-graph-strategy.d.ts +42 -0
- package/dist/algorithms/traversal/overlap-based/strategies/between-graph/between-graph-strategy.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/strategies/between-graph/minimal-paths.strategy.d.ts +41 -0
- package/dist/algorithms/traversal/overlap-based/strategies/between-graph/minimal-paths.strategy.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/strategies/between-graph/salience-preserving.strategy.d.ts +82 -0
- package/dist/algorithms/traversal/overlap-based/strategies/between-graph/salience-preserving.strategy.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/strategies/between-graph/truncated-component.strategy.d.ts +59 -0
- package/dist/algorithms/traversal/overlap-based/strategies/between-graph/truncated-component.strategy.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/strategies/n1-handling/coverage-threshold.strategy.d.ts +57 -0
- package/dist/algorithms/traversal/overlap-based/strategies/n1-handling/coverage-threshold.strategy.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/strategies/n1-handling/n1-handling-strategy.d.ts +25 -0
- package/dist/algorithms/traversal/overlap-based/strategies/n1-handling/n1-handling-strategy.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/overlap-detection-strategy.d.ts +26 -0
- package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/overlap-detection-strategy.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/physical-meeting.strategy.d.ts +35 -0
- package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/physical-meeting.strategy.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/sphere-intersection.strategy.d.ts +69 -0
- package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/sphere-intersection.strategy.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/threshold-sharing.strategy.d.ts +72 -0
- package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/threshold-sharing.strategy.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/strategies/termination/common-convergence.strategy.d.ts +45 -0
- package/dist/algorithms/traversal/overlap-based/strategies/termination/common-convergence.strategy.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/strategies/termination/full-pairwise.strategy.d.ts +43 -0
- package/dist/algorithms/traversal/overlap-based/strategies/termination/full-pairwise.strategy.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/strategies/termination/termination-strategy.d.ts +40 -0
- package/dist/algorithms/traversal/overlap-based/strategies/termination/termination-strategy.d.ts.map +1 -0
- package/dist/algorithms/traversal/overlap-based/strategies/termination/transitive-connectivity.strategy.d.ts +45 -0
- package/dist/algorithms/traversal/overlap-based/strategies/termination/transitive-connectivity.strategy.d.ts.map +1 -0
- package/dist/algorithms/traversal/path-preserving-expansion.d.ts +197 -0
- package/dist/algorithms/traversal/path-preserving-expansion.d.ts.map +1 -0
- package/dist/algorithms/traversal/priority-calculator.d.ts +135 -0
- package/dist/algorithms/traversal/priority-calculator.d.ts.map +1 -0
- package/dist/algorithms/traversal/priority-queue.d.ts +6 -0
- package/dist/algorithms/traversal/priority-queue.d.ts.map +1 -1
- package/dist/algorithms/traversal/retrospective-salience-expansion.d.ts +173 -0
- package/dist/algorithms/traversal/retrospective-salience-expansion.d.ts.map +1 -0
- package/dist/algorithms/traversal/retrospective-salience-expansion.unit.test.d.ts +5 -0
- package/dist/algorithms/traversal/retrospective-salience-expansion.unit.test.d.ts.map +1 -0
- package/dist/algorithms/traversal/salience-prioritised-expansion.d.ts +149 -0
- package/dist/algorithms/traversal/salience-prioritised-expansion.d.ts.map +1 -0
- package/dist/algorithms/types/clustering-types.d.ts +2 -2
- package/dist/algorithms/types/clustering-types.d.ts.map +1 -1
- package/dist/algorithms/utils/csr.d.ts.map +1 -1
- package/dist/algorithms/utils/csr.unit.test.d.ts +2 -0
- package/dist/algorithms/utils/csr.unit.test.d.ts.map +1 -0
- package/dist/algorithms/utils/type-guards.unit.test.d.ts +2 -0
- package/dist/algorithms/utils/type-guards.unit.test.d.ts.map +1 -0
- package/dist/algorithms/utils/validators.unit.test.d.ts +2 -0
- package/dist/algorithms/utils/validators.unit.test.d.ts.map +1 -0
- package/dist/analyzer/advanced-props.d.ts.map +1 -1
- package/dist/analyzer/advanced-props.unit.test.d.ts +5 -0
- package/dist/analyzer/advanced-props.unit.test.d.ts.map +1 -0
- package/dist/analyzer/advanced-structures.unit.test.d.ts +5 -0
- package/dist/analyzer/advanced-structures.unit.test.d.ts.map +1 -0
- package/dist/analyzer/connectivity.unit.test.d.ts +5 -0
- package/dist/analyzer/connectivity.unit.test.d.ts.map +1 -0
- package/dist/analyzer/core-props.unit.test.d.ts +5 -0
- package/dist/analyzer/core-props.unit.test.d.ts.map +1 -0
- package/dist/analyzer/forbidden-subgraph.d.ts +59 -0
- package/dist/analyzer/forbidden-subgraph.d.ts.map +1 -0
- package/dist/analyzer/geometric.d.ts +21 -0
- package/dist/analyzer/geometric.d.ts.map +1 -0
- package/dist/analyzer/geometric.unit.test.d.ts +5 -0
- package/dist/analyzer/geometric.unit.test.d.ts.map +1 -0
- package/dist/analyzer/helpers.d.ts +2 -0
- package/dist/analyzer/helpers.d.ts.map +1 -1
- package/dist/analyzer/helpers.unit.test.d.ts +9 -0
- package/dist/analyzer/helpers.unit.test.d.ts.map +1 -0
- package/dist/analyzer/intersection.d.ts +17 -0
- package/dist/analyzer/intersection.d.ts.map +1 -0
- package/dist/analyzer/main.d.ts +22 -0
- package/dist/analyzer/main.d.ts.map +1 -1
- package/dist/analyzer/main.unit.test.d.ts +5 -0
- package/dist/analyzer/main.unit.test.d.ts.map +1 -0
- package/dist/analyzer/path-props.unit.test.d.ts +5 -0
- package/dist/analyzer/path-props.unit.test.d.ts.map +1 -0
- package/dist/analyzer/perfect-variants.d.ts +49 -0
- package/dist/analyzer/perfect-variants.d.ts.map +1 -0
- package/dist/analyzer/perfect-variants.unit.test.d.ts +5 -0
- package/dist/analyzer/perfect-variants.unit.test.d.ts.map +1 -0
- package/dist/analyzer/predicates.d.ts +31 -3
- package/dist/analyzer/predicates.d.ts.map +1 -1
- package/dist/analyzer/predicates.unit.test.d.ts +5 -0
- package/dist/analyzer/predicates.unit.test.d.ts.map +1 -0
- package/dist/analyzer/probe.d.ts +15 -0
- package/dist/analyzer/probe.d.ts.map +1 -0
- package/dist/analyzer/spectral.unit.test.d.ts +5 -0
- package/dist/analyzer/spectral.unit.test.d.ts.map +1 -0
- package/dist/analyzer/structural.d.ts +13 -0
- package/dist/analyzer/structural.d.ts.map +1 -0
- package/dist/analyzer/structure.d.ts.map +1 -1
- package/dist/analyzer/structure.unit.test.d.ts +5 -0
- package/dist/analyzer/structure.unit.test.d.ts.map +1 -0
- package/dist/analyzer/width.d.ts +33 -0
- package/dist/analyzer/width.d.ts.map +1 -0
- package/dist/analyzer/width.unit.test.d.ts +5 -0
- package/dist/analyzer/width.unit.test.d.ts.map +1 -0
- package/dist/cli-commands/analyze.d.ts +30 -0
- package/dist/cli-commands/analyze.d.ts.map +1 -0
- package/dist/cli-commands/evaluate.d.ts +64 -0
- package/dist/cli-commands/evaluate.d.ts.map +1 -0
- package/dist/cli-commands/generate.d.ts +34 -0
- package/dist/cli-commands/generate.d.ts.map +1 -0
- package/dist/cli-commands/validate.d.ts +32 -0
- package/dist/cli-commands/validate.d.ts.map +1 -0
- package/dist/cli-utils/arg-parser.d.ts +55 -0
- package/dist/cli-utils/arg-parser.d.ts.map +1 -0
- package/dist/cli-utils/arg-parser.unit.test.d.ts +5 -0
- package/dist/cli-utils/arg-parser.unit.test.d.ts.map +1 -0
- package/dist/cli-utils/error-formatter.d.ts +27 -0
- package/dist/cli-utils/error-formatter.d.ts.map +1 -0
- package/dist/cli-utils/format-detection.d.ts +25 -0
- package/dist/cli-utils/format-detection.d.ts.map +1 -0
- package/dist/cli-utils/format-detection.unit.test.d.ts +5 -0
- package/dist/cli-utils/format-detection.unit.test.d.ts.map +1 -0
- package/dist/cli-utils/graph-converter.d.ts +32 -0
- package/dist/cli-utils/graph-converter.d.ts.map +1 -0
- package/dist/cli-utils/graph-converter.unit.test.d.ts +5 -0
- package/dist/cli-utils/graph-converter.unit.test.d.ts.map +1 -0
- package/dist/cli-utils/graph-loader.d.ts +30 -0
- package/dist/cli-utils/graph-loader.d.ts.map +1 -0
- package/dist/cli-utils/spec-utils.d.ts +30 -0
- package/dist/cli-utils/spec-utils.d.ts.map +1 -0
- package/dist/cli.js +11416 -15
- package/dist/domain/claims.d.ts +56 -0
- package/dist/domain/claims.d.ts.map +1 -0
- package/dist/domain/index.d.ts +8 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/tables.d.ts +66 -0
- package/dist/domain/tables.d.ts.map +1 -0
- package/dist/experiments/baselines/betweenness-ranking.d.ts +38 -0
- package/dist/experiments/baselines/betweenness-ranking.d.ts.map +1 -0
- package/dist/experiments/baselines/cross-seed-affinity.d.ts +141 -0
- package/dist/experiments/baselines/cross-seed-affinity.d.ts.map +1 -0
- package/dist/experiments/baselines/degree-sum-ranking.d.ts +38 -0
- package/dist/experiments/baselines/degree-sum-ranking.d.ts.map +1 -0
- package/dist/experiments/baselines/degree-surprise.d.ts +134 -0
- package/dist/experiments/baselines/degree-surprise.d.ts.map +1 -0
- package/dist/experiments/baselines/delayed-termination.d.ts +138 -0
- package/dist/experiments/baselines/delayed-termination.d.ts.map +1 -0
- package/dist/experiments/baselines/ensemble-expansion.d.ts +123 -0
- package/dist/experiments/baselines/ensemble-expansion.d.ts.map +1 -0
- package/dist/experiments/baselines/frontier-balanced.d.ts +3 -0
- package/dist/experiments/baselines/frontier-balanced.d.ts.map +1 -1
- package/dist/experiments/baselines/frontier-balanced.unit.test.d.ts +2 -0
- package/dist/experiments/baselines/frontier-balanced.unit.test.d.ts.map +1 -0
- package/dist/experiments/baselines/index.d.ts +16 -0
- package/dist/experiments/baselines/index.d.ts.map +1 -1
- package/dist/experiments/baselines/jaccard-arithmetic-ranking.d.ts +38 -0
- package/dist/experiments/baselines/jaccard-arithmetic-ranking.d.ts.map +1 -0
- package/dist/experiments/baselines/pagerank-sum-ranking.d.ts +46 -0
- package/dist/experiments/baselines/pagerank-sum-ranking.d.ts.map +1 -0
- package/dist/experiments/baselines/random-path-ranking.d.ts +42 -0
- package/dist/experiments/baselines/random-path-ranking.d.ts.map +1 -0
- package/dist/experiments/baselines/random-priority.d.ts +3 -0
- package/dist/experiments/baselines/random-priority.d.ts.map +1 -1
- package/dist/experiments/baselines/random-priority.unit.test.d.ts +2 -0
- package/dist/experiments/baselines/random-priority.unit.test.d.ts.map +1 -0
- package/dist/experiments/baselines/retroactive-path-enum.d.ts +91 -0
- package/dist/experiments/baselines/retroactive-path-enum.d.ts.map +1 -0
- package/dist/experiments/baselines/shortest-path-ranking.d.ts +40 -0
- package/dist/experiments/baselines/shortest-path-ranking.d.ts.map +1 -0
- package/dist/experiments/baselines/standard-bfs.d.ts +7 -0
- package/dist/experiments/baselines/standard-bfs.d.ts.map +1 -1
- package/dist/experiments/baselines/standard-bfs.unit.test.d.ts +2 -0
- package/dist/experiments/baselines/standard-bfs.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/harness/evaluation.exp.integration.test.d.ts +13 -0
- package/dist/experiments/evaluation/__tests__/harness/evaluation.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/harness/evaluator.d.ts +55 -0
- package/dist/experiments/evaluation/__tests__/harness/evaluator.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/harness/fixtures.d.ts +45 -0
- package/dist/experiments/evaluation/__tests__/harness/fixtures.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/harness/index.d.ts +16 -0
- package/dist/experiments/evaluation/__tests__/harness/index.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/harness/types.d.ts +138 -0
- package/dist/experiments/evaluation/__tests__/harness/types.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/originality-correctness-significance.integration.test.d.ts +31 -0
- package/dist/experiments/evaluation/__tests__/originality-correctness-significance.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/thesis-validation.exp.integration.test.d.ts +15 -0
- package/dist/experiments/evaluation/__tests__/thesis-validation.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/adapter-roundtrip.unit.test.d.ts +14 -0
- package/dist/experiments/evaluation/__tests__/validation/adapter-roundtrip.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/canary-tests.integration.test.d.ts +17 -0
- package/dist/experiments/evaluation/__tests__/validation/canary-tests.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/common/baselines/high-degree-first.d.ts +26 -0
- package/dist/experiments/evaluation/__tests__/validation/common/baselines/high-degree-first.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/common/baselines/low-degree-first.d.ts +26 -0
- package/dist/experiments/evaluation/__tests__/validation/common/baselines/low-degree-first.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/common/benchmark-graph-expander.d.ts +58 -0
- package/dist/experiments/evaluation/__tests__/validation/common/benchmark-graph-expander.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/common/benchmark-graph-expander.unit.test.d.ts +16 -0
- package/dist/experiments/evaluation/__tests__/validation/common/benchmark-graph-expander.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/common/graph-generators.d.ts +51 -0
- package/dist/experiments/evaluation/__tests__/validation/common/graph-generators.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/common/instrumented-expander.d.ts +31 -0
- package/dist/experiments/evaluation/__tests__/validation/common/instrumented-expander.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/common/instrumented-expander.unit.test.d.ts +16 -0
- package/dist/experiments/evaluation/__tests__/validation/common/instrumented-expander.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/common/path-ranking-helpers.d.ts +95 -0
- package/dist/experiments/evaluation/__tests__/validation/common/path-ranking-helpers.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/common/representativeness-helpers.d.ts +56 -0
- package/dist/experiments/evaluation/__tests__/validation/common/representativeness-helpers.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/common/statistical-functions.d.ts +78 -0
- package/dist/experiments/evaluation/__tests__/validation/common/statistical-functions.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/common/test-graph-expander.d.ts +32 -0
- package/dist/experiments/evaluation/__tests__/validation/common/test-graph-expander.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/common/test-graph-expander.unit.test.d.ts +15 -0
- package/dist/experiments/evaluation/__tests__/validation/common/test-graph-expander.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/comparative-summary.exp.integration.test.d.ts +10 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/comparative-summary.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/execution-time.exp.integration.test.d.ts +7 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/execution-time.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/literature-review-metrics.exp.integration.test.d.ts +13 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/literature-review-metrics.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/method-ranking.exp.integration.test.d.ts +8 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/method-ranking.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/multi-method-comparison.exp.integration.test.d.ts +9 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/multi-method-comparison.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/novel-algorithm-comparison.exp.integration.test.d.ts +12 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/novel-algorithm-comparison.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/perturbation-consistency.exp.integration.test.d.ts +9 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/perturbation-consistency.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/validation-summary.exp.integration.test.d.ts +9 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/validation-summary.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/variability-injection.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/comparative/variability-injection.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/graph-adapters.property.unit.test.d.ts +15 -0
- package/dist/experiments/evaluation/__tests__/validation/graph-adapters.property.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/classification/classification-evaluation.exp.integration.test.d.ts +14 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/classification/classification-evaluation.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/cora.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/cora.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/facebook.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/facebook.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/karate-club.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/karate-club.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/les-mis.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/les-mis.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/comparative/method-comparison.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/comparative/method-comparison.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/correctness/modularity-quality.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/correctness/modularity-quality.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/cora.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/cora.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/facebook.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/facebook.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/karate-club.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/karate-club.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/les-mis.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/les-mis.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/comparative/core-periphery-analysis.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/comparative/core-periphery-analysis.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/correctness/nested-hierarchy.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/correctness/nested-hierarchy.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/generation/generation-evaluation.exp.integration.test.d.ts +14 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/generation/generation-evaluation.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/citeseer.exp.integration.test.d.ts +16 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/citeseer.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/cora.exp.integration.test.d.ts +16 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/cora.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/facebook.exp.integration.test.d.ts +16 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/facebook.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/iteration-scaling.exp.integration.test.d.ts +20 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/iteration-scaling.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/karate-club.exp.integration.test.d.ts +17 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/karate-club.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/les-mis.exp.integration.test.d.ts +16 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/les-mis.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/comparative/multi-method-comparison.exp.integration.test.d.ts +16 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/comparative/multi-method-comparison.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/comparative/ranking-correlation.exp.integration.test.d.ts +14 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/comparative/ranking-correlation.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/comparative/statistical-significance.exp.integration.test.d.ts +16 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/comparative/statistical-significance.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/formula-correctness.exp.integration.test.d.ts +13 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/formula-correctness.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/geometric-mean-property.exp.integration.test.d.ts +11 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/geometric-mean-property.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/length-penalty.exp.integration.test.d.ts +13 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/length-penalty.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/n-path-generalization.exp.integration.test.d.ts +13 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/n-path-generalization.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/originality/mi-sensitivity.exp.integration.test.d.ts +15 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/originality/mi-sensitivity.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/originality/path-diversity-benefit.exp.integration.test.d.ts +13 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/originality/path-diversity-benefit.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/originality/ranking-difference.exp.integration.test.d.ts +14 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/originality/ranking-difference.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/representativeness/__tests__/structural-coverage.exp.integration.test.d.ts +13 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/representativeness/__tests__/structural-coverage.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/representativeness/__tests__/topological-representativeness.exp.integration.test.d.ts +13 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/representativeness/__tests__/topological-representativeness.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/scenarios/multi-path-comparison.exp.integration.test.d.ts +12 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/scenarios/multi-path-comparison.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/scenarios/scale-free-ranking.exp.integration.test.d.ts +13 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/scenarios/scale-free-ranking.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/scenarios/weak-link-paths.exp.integration.test.d.ts +15 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/scenarios/weak-link-paths.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/significance/hub-avoidance.exp.integration.test.d.ts +14 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/significance/hub-avoidance.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/significance/quality-improvement.exp.integration.test.d.ts +15 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/significance/quality-improvement.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/significance/ranking-stability.exp.integration.test.d.ts +15 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/significance/ranking-stability.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/ranking-baseline-comparison.exp.integration.test.d.ts +21 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/ranking/ranking-baseline-comparison.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/citeseer.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/citeseer.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/cora.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/cora.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/facebook.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/facebook.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/karate-club.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/karate-club.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/les-mis.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/les-mis.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/n-seed-comparison.exp.integration.test.d.ts +8 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/n-seed-comparison.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/validity-formula.exp.integration.test.d.ts +8 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/validity-formula.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/validity-n-seed.exp.integration.test.d.ts +8 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/validity-n-seed.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/validity-termination.exp.integration.test.d.ts +8 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/validity-termination.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/double-star.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/double-star.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/expansion-order.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/expansion-order.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/metrics.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/metrics.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/multi-hub.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/multi-hub.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/scale-free.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/scale-free.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/star-graph.exp.integration.test.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/star-graph.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/originality/novelty-structural-difference.exp.integration.test.d.ts +13 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/originality/novelty-structural-difference.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/aggregation.exp.integration.test.d.ts +5 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/aggregation.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/between-graph-ground-truth.exp.integration.test.d.ts +5 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/between-graph-ground-truth.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/degree-distribution.exp.integration.test.d.ts +5 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/degree-distribution.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/ego-network-n1.exp.integration.test.d.ts +5 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/ego-network-n1.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/fixtures/index.d.ts +2 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/fixtures/index.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/fixtures/test-graph-expander.d.ts +56 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/fixtures/test-graph-expander.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/full-pipeline.exp.integration.test.d.ts +5 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/full-pipeline.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/path-diversity.exp.integration.test.d.ts +5 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/path-diversity.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/significance/value-edge-efficiency.exp.integration.test.d.ts +8 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/significance/value-edge-efficiency.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/significance/value-hub-mitigation.exp.integration.test.d.ts +8 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/significance/value-hub-mitigation.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/significance/value-representativeness.exp.integration.test.d.ts +8 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/significance/value-representativeness.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/correctness/entropy-formula.exp.integration.test.d.ts +15 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/correctness/entropy-formula.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/correctness/priority-formula.exp.integration.test.d.ts +18 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/correctness/priority-formula.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/correctness/termination-guarantee.exp.integration.test.d.ts +13 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/correctness/termination-guarantee.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/originality/cross-boundary-discovery.exp.integration.test.d.ts +12 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/originality/cross-boundary-discovery.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/originality/entropy-ordering-difference.exp.integration.test.d.ts +14 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/originality/entropy-ordering-difference.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/significance/hub-mitigation.exp.integration.test.d.ts +13 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/significance/hub-mitigation.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/significance/type-diversity.exp.integration.test.d.ts +14 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/significance/type-diversity.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/overlap-based/overlap-based-expansion.integration.test.d.ts +7 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/overlap-based/overlap-based-expansion.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/correctness/early-termination.exp.integration.test.d.ts +8 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/correctness/early-termination.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/correctness/path-potential-computation.exp.integration.test.d.ts +11 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/correctness/path-potential-computation.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/correctness/priority-formula.exp.integration.test.d.ts +10 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/correctness/priority-formula.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/originality/frontier-divergence.exp.integration.test.d.ts +12 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/originality/frontier-divergence.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/originality/path-diversity-improvement.exp.integration.test.d.ts +12 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/originality/path-diversity-improvement.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/significance/frontier-balance.exp.integration.test.d.ts +8 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/significance/frontier-balance.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/significance/path-overlap-reduction.exp.integration.test.d.ts +8 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/significance/path-overlap-reduction.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/correctness/jaccard-mi-estimation.exp.integration.test.d.ts +14 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/correctness/jaccard-mi-estimation.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/correctness/phase1-formula.exp.integration.test.d.ts +14 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/correctness/phase1-formula.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/correctness/phase2-formula.exp.integration.test.d.ts +14 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/correctness/phase2-formula.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/originality/adaptive-priority.exp.integration.test.d.ts +17 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/originality/adaptive-priority.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/originality/two-phase-transition.exp.integration.test.d.ts +18 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/originality/two-phase-transition.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/significance/no-precomputation.exp.integration.test.d.ts +15 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/significance/no-precomputation.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/significance/salience-coverage.exp.integration.test.d.ts +15 -0
- package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/significance/salience-coverage.exp.integration.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/baselines/degree-ranker.unit.test.d.ts +2 -0
- package/dist/experiments/evaluation/baselines/degree-ranker.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/baselines/pagerank-ranker.unit.test.d.ts +2 -0
- package/dist/experiments/evaluation/baselines/pagerank-ranker.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/baselines/random-ranker.unit.test.d.ts +2 -0
- package/dist/experiments/evaluation/baselines/random-ranker.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/baselines/shortest-path-ranker.unit.test.d.ts +2 -0
- package/dist/experiments/evaluation/baselines/shortest-path-ranker.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/baselines/weight-ranker.unit.test.d.ts +2 -0
- package/dist/experiments/evaluation/baselines/weight-ranker.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/claims/index.d.ts +7 -0
- package/dist/experiments/evaluation/claims/index.d.ts.map +1 -0
- package/dist/experiments/evaluation/claims/thesis-claims.d.ts +111 -0
- package/dist/experiments/evaluation/claims/thesis-claims.d.ts.map +1 -0
- package/dist/experiments/evaluation/classification/classification-evaluator.d.ts +44 -0
- package/dist/experiments/evaluation/classification/classification-evaluator.d.ts.map +1 -0
- package/dist/experiments/evaluation/classification/feature-extractor.d.ts +50 -0
- package/dist/experiments/evaluation/classification/feature-extractor.d.ts.map +1 -0
- package/dist/experiments/evaluation/classification/graph-classifier.d.ts +103 -0
- package/dist/experiments/evaluation/classification/graph-classifier.d.ts.map +1 -0
- package/dist/experiments/evaluation/classification/index.d.ts +11 -0
- package/dist/experiments/evaluation/classification/index.d.ts.map +1 -0
- package/dist/experiments/evaluation/fixtures/algorithm-validation.unit.test.d.ts +12 -0
- package/dist/experiments/evaluation/fixtures/algorithm-validation.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/fixtures/benchmark-datasets.d.ts +44 -3
- package/dist/experiments/evaluation/fixtures/benchmark-datasets.d.ts.map +1 -1
- package/dist/experiments/evaluation/fixtures/benchmark-datasets.unit.test.d.ts +0 -4
- package/dist/experiments/evaluation/fixtures/benchmark-datasets.unit.test.d.ts.map +1 -1
- package/dist/experiments/evaluation/generation/constrained-generator.d.ts +61 -0
- package/dist/experiments/evaluation/generation/constrained-generator.d.ts.map +1 -0
- package/dist/experiments/evaluation/generation/generation-evaluator.d.ts +56 -0
- package/dist/experiments/evaluation/generation/generation-evaluator.d.ts.map +1 -0
- package/dist/experiments/evaluation/generation/index.d.ts +10 -0
- package/dist/experiments/evaluation/generation/index.d.ts.map +1 -0
- package/dist/experiments/evaluation/ground-truth/importance-based.d.ts.map +1 -1
- package/dist/experiments/evaluation/ground-truth/importance-based.unit.test.d.ts +5 -0
- package/dist/experiments/evaluation/ground-truth/importance-based.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/loaders/decompress.d.ts +141 -33
- package/dist/experiments/evaluation/loaders/decompress.d.ts.map +1 -1
- package/dist/experiments/evaluation/loaders/edge-list-loader.d.ts +44 -0
- package/dist/experiments/evaluation/loaders/edge-list-loader.d.ts.map +1 -1
- package/dist/experiments/evaluation/loaders/index.d.ts +2 -2
- package/dist/experiments/evaluation/loaders/index.d.ts.map +1 -1
- package/dist/experiments/evaluation/metrics/index.d.ts +1 -0
- package/dist/experiments/evaluation/metrics/index.d.ts.map +1 -1
- package/dist/experiments/evaluation/metrics/metric-calculators.property.unit.test.d.ts +16 -0
- package/dist/experiments/evaluation/metrics/metric-calculators.property.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/metrics/metrics-boundary-conditions.unit.test.d.ts +2 -0
- package/dist/experiments/evaluation/metrics/metrics-boundary-conditions.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/metrics/salience-coverage.d.ts +147 -0
- package/dist/experiments/evaluation/metrics/salience-coverage.d.ts.map +1 -0
- package/dist/experiments/evaluation/path-planting/citation-planting.unit.test.d.ts +5 -0
- package/dist/experiments/evaluation/path-planting/citation-planting.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/path-planting/heterogeneous-planting.unit.test.d.ts +5 -0
- package/dist/experiments/evaluation/path-planting/heterogeneous-planting.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/path-planting/noise-generator.unit.test.d.ts +5 -0
- package/dist/experiments/evaluation/path-planting/noise-generator.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/path-planting/path-generator.unit.test.d.ts +5 -0
- package/dist/experiments/evaluation/path-planting/path-generator.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/runner/experiment-config.unit.test.d.ts +10 -0
- package/dist/experiments/evaluation/runner/experiment-config.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/runner/experiment-runner.unit.test.d.ts +5 -0
- package/dist/experiments/evaluation/runner/experiment-runner.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/runner/report-generator.unit.test.d.ts +5 -0
- package/dist/experiments/evaluation/runner/report-generator.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/statistics/paired-tests.d.ts.map +1 -1
- package/dist/experiments/experiments/bidirectional-bfs.d.ts +42 -0
- package/dist/experiments/experiments/bidirectional-bfs.d.ts.map +1 -0
- package/dist/experiments/experiments/index.d.ts +10 -0
- package/dist/experiments/experiments/index.d.ts.map +1 -0
- package/dist/experiments/experiments/path-ranking.d.ts +29 -0
- package/dist/experiments/experiments/path-ranking.d.ts.map +1 -0
- package/dist/experiments/experiments/salience-coverage-comparison.d.ts +19 -0
- package/dist/experiments/experiments/salience-coverage-comparison.d.ts.map +1 -0
- package/dist/experiments/experiments/seeded-expansion.d.ts +43 -0
- package/dist/experiments/experiments/seeded-expansion.d.ts.map +1 -0
- package/dist/experiments/fixtures/mock-graph-expander.d.ts +2 -1
- package/dist/experiments/fixtures/mock-graph-expander.d.ts.map +1 -1
- package/dist/experiments/metrics/collector.d.ts +49 -0
- package/dist/experiments/metrics/collector.d.ts.map +1 -0
- package/dist/experiments/metrics/hub-avoidance-calculator.d.ts +97 -0
- package/dist/experiments/metrics/hub-avoidance-calculator.d.ts.map +1 -0
- package/dist/experiments/metrics/index.d.ts +10 -0
- package/dist/experiments/metrics/index.d.ts.map +1 -0
- package/dist/experiments/metrics/storage.d.ts +29 -0
- package/dist/experiments/metrics/storage.d.ts.map +1 -0
- package/dist/experiments/metrics/types.d.ts +362 -0
- package/dist/experiments/metrics/types.d.ts.map +1 -0
- package/dist/experiments/proofs/path-salience/boundedness.unit.test.d.ts +10 -0
- package/dist/experiments/proofs/path-salience/boundedness.unit.test.d.ts.map +1 -0
- package/dist/experiments/proofs/path-salience/dpi-consistency.unit.test.d.ts +11 -0
- package/dist/experiments/proofs/path-salience/dpi-consistency.unit.test.d.ts.map +1 -0
- package/dist/experiments/proofs/path-salience/equal-length.unit.test.d.ts +11 -0
- package/dist/experiments/proofs/path-salience/equal-length.unit.test.d.ts.map +1 -0
- package/dist/experiments/proofs/path-salience/length-independence.unit.test.d.ts +11 -0
- package/dist/experiments/proofs/path-salience/length-independence.unit.test.d.ts.map +1 -0
- package/dist/experiments/proofs/path-salience/monotonicity.unit.test.d.ts +10 -0
- package/dist/experiments/proofs/path-salience/monotonicity.unit.test.d.ts.map +1 -0
- package/dist/experiments/proofs/path-salience/subpath-optimality.unit.test.d.ts +12 -0
- package/dist/experiments/proofs/path-salience/subpath-optimality.unit.test.d.ts.map +1 -0
- package/dist/experiments/proofs/path-salience/universality.unit.test.d.ts +15 -0
- package/dist/experiments/proofs/path-salience/universality.unit.test.d.ts.map +1 -0
- package/dist/experiments/proofs/path-salience/weak-link.unit.test.d.ts +10 -0
- package/dist/experiments/proofs/path-salience/weak-link.unit.test.d.ts.map +1 -0
- package/dist/experiments/proofs/seed-bounded/completeness.unit.test.d.ts +10 -0
- package/dist/experiments/proofs/seed-bounded/completeness.unit.test.d.ts.map +1 -0
- package/dist/experiments/proofs/seed-bounded/degeneracy.unit.test.d.ts +16 -0
- package/dist/experiments/proofs/seed-bounded/degeneracy.unit.test.d.ts.map +1 -0
- package/dist/experiments/proofs/seed-bounded/order-independence.unit.test.d.ts +10 -0
- package/dist/experiments/proofs/seed-bounded/order-independence.unit.test.d.ts.map +1 -0
- package/dist/experiments/proofs/seed-bounded/termination.unit.test.d.ts +11 -0
- package/dist/experiments/proofs/seed-bounded/termination.unit.test.d.ts.map +1 -0
- package/dist/experiments/proofs/test-utils.d.ts +161 -0
- package/dist/experiments/proofs/test-utils.d.ts.map +1 -0
- package/dist/experiments/run-experiments.d.ts +19 -0
- package/dist/experiments/run-experiments.d.ts.map +1 -0
- package/dist/experiments/suts/degree-sum-ranking-sut.d.ts +52 -0
- package/dist/experiments/suts/degree-sum-ranking-sut.d.ts.map +1 -0
- package/dist/experiments/suts/index.d.ts +13 -0
- package/dist/experiments/suts/index.d.ts.map +1 -0
- package/dist/experiments/suts/jaccard-arithmetic-ranking-sut.d.ts +52 -0
- package/dist/experiments/suts/jaccard-arithmetic-ranking-sut.d.ts.map +1 -0
- package/dist/experiments/suts/pagerank-sum-ranking-sut.d.ts +52 -0
- package/dist/experiments/suts/pagerank-sum-ranking-sut.d.ts.map +1 -0
- package/dist/experiments/suts/path-salience-sut.d.ts +62 -0
- package/dist/experiments/suts/path-salience-sut.d.ts.map +1 -0
- package/dist/experiments/suts/random-ranking-sut.d.ts +52 -0
- package/dist/experiments/suts/random-ranking-sut.d.ts.map +1 -0
- package/dist/experiments/suts/shortest-ranking-sut.d.ts +51 -0
- package/dist/experiments/suts/shortest-ranking-sut.d.ts.map +1 -0
- package/dist/formats/gml/fetch.unit.test.d.ts +2 -0
- package/dist/formats/gml/fetch.unit.test.d.ts.map +1 -0
- package/dist/formats/gml/serialize.unit.test.d.ts +5 -0
- package/dist/formats/gml/serialize.unit.test.d.ts.map +1 -0
- package/dist/formats/pajek/fetch.unit.test.d.ts +2 -0
- package/dist/formats/pajek/fetch.unit.test.d.ts.map +1 -0
- package/dist/formats/pajek/parse.unit.test.d.ts +5 -0
- package/dist/formats/pajek/parse.unit.test.d.ts.map +1 -0
- package/dist/formats/snap/fetch.unit.test.d.ts +2 -0
- package/dist/formats/snap/fetch.unit.test.d.ts.map +1 -0
- package/dist/formats/ucinet/fetch.unit.test.d.ts +2 -0
- package/dist/formats/ucinet/fetch.unit.test.d.ts.map +1 -0
- package/dist/formats/ucinet/parse.unit.test.d.ts +5 -0
- package/dist/formats/ucinet/parse.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/bipartite.unit.test.d.ts +2 -0
- package/dist/generation/generators/bipartite.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/connectivity.unit.test.d.ts +2 -0
- package/dist/generation/generators/connectivity.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/core-structures.unit.test.d.ts +2 -0
- package/dist/generation/generators/core-structures.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/density-helpers.d.ts.map +1 -1
- package/dist/generation/generators/density-helpers.unit.test.d.ts +2 -0
- package/dist/generation/generators/density-helpers.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/edge-generator.d.ts.map +1 -1
- package/dist/generation/generators/edge-generator.unit.test.d.ts +2 -0
- package/dist/generation/generators/edge-generator.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/forbidden-subgraph.d.ts +83 -0
- package/dist/generation/generators/forbidden-subgraph.d.ts.map +1 -0
- package/dist/generation/generators/geometric.d.ts +10 -0
- package/dist/generation/generators/geometric.d.ts.map +1 -1
- package/dist/generation/generators/geometric.unit.test.d.ts +2 -0
- package/dist/generation/generators/geometric.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/intersection.d.ts +21 -0
- package/dist/generation/generators/intersection.d.ts.map +1 -0
- package/dist/generation/generators/invariants.d.ts.map +1 -1
- package/dist/generation/generators/invariants.unit.test.d.ts +2 -0
- package/dist/generation/generators/invariants.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/network-structures.unit.test.d.ts +2 -0
- package/dist/generation/generators/network-structures.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/node-generator.unit.test.d.ts +2 -0
- package/dist/generation/generators/node-generator.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/path-cycle.unit.test.d.ts +2 -0
- package/dist/generation/generators/path-cycle.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/perfect-variants.d.ts +49 -0
- package/dist/generation/generators/perfect-variants.d.ts.map +1 -0
- package/dist/generation/generators/probe.d.ts +19 -0
- package/dist/generation/generators/probe.d.ts.map +1 -0
- package/dist/generation/generators/property-computers.unit.test.d.ts +2 -0
- package/dist/generation/generators/property-computers.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/structural-classes.unit.test.d.ts +2 -0
- package/dist/generation/generators/structural-classes.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/structural.d.ts +11 -0
- package/dist/generation/generators/structural.d.ts.map +1 -0
- package/dist/generation/generators/structure-handlers.unit.test.d.ts +2 -0
- package/dist/generation/generators/structure-handlers.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/symmetry.unit.test.d.ts +2 -0
- package/dist/generation/generators/symmetry.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/validation-helpers.unit.test.d.ts +2 -0
- package/dist/generation/generators/validation-helpers.unit.test.d.ts.map +1 -0
- package/dist/generation/generators/width.d.ts +37 -0
- package/dist/generation/generators/width.d.ts.map +1 -0
- package/dist/generation/graph-validator.d.ts.map +1 -1
- package/dist/generation/spec/advanced.unit.test.d.ts +5 -0
- package/dist/generation/spec/advanced.unit.test.d.ts.map +1 -0
- package/dist/generation/spec/core.d.ts +4 -0
- package/dist/generation/spec/core.d.ts.map +1 -1
- package/dist/generation/spec/core.unit.test.d.ts +5 -0
- package/dist/generation/spec/core.unit.test.d.ts.map +1 -0
- package/dist/generation/spec/forbidden-subgraph.d.ts +89 -0
- package/dist/generation/spec/forbidden-subgraph.d.ts.map +1 -0
- package/dist/generation/spec/geometric.d.ts +28 -9
- package/dist/generation/spec/geometric.d.ts.map +1 -1
- package/dist/generation/spec/geometric.unit.test.d.ts +5 -0
- package/dist/generation/spec/geometric.unit.test.d.ts.map +1 -0
- package/dist/generation/spec/index.d.ts +1 -1
- package/dist/generation/spec/index.d.ts.map +1 -1
- package/dist/generation/spec/intersection.d.ts +49 -0
- package/dist/generation/spec/intersection.d.ts.map +1 -0
- package/dist/generation/spec/invariants.unit.test.d.ts +5 -0
- package/dist/generation/spec/invariants.unit.test.d.ts.map +1 -0
- package/dist/generation/spec/metrics.unit.test.d.ts +5 -0
- package/dist/generation/spec/metrics.unit.test.d.ts.map +1 -0
- package/dist/generation/spec/network.unit.test.d.ts +5 -0
- package/dist/generation/spec/network.unit.test.d.ts.map +1 -0
- package/dist/generation/spec/new-classes-index.d.ts +15 -0
- package/dist/generation/spec/new-classes-index.d.ts.map +1 -0
- package/dist/generation/spec/path-cycle.unit.test.d.ts +5 -0
- package/dist/generation/spec/path-cycle.unit.test.d.ts.map +1 -0
- package/dist/generation/spec/perfect-variants.d.ts +39 -0
- package/dist/generation/spec/perfect-variants.d.ts.map +1 -0
- package/dist/generation/spec/probe.d.ts +29 -0
- package/dist/generation/spec/probe.d.ts.map +1 -0
- package/dist/generation/spec/products.unit.test.d.ts +5 -0
- package/dist/generation/spec/products.unit.test.d.ts.map +1 -0
- package/dist/generation/spec/regularity.unit.test.d.ts +5 -0
- package/dist/generation/spec/regularity.unit.test.d.ts.map +1 -0
- package/dist/generation/spec/structural.d.ts +12 -1
- package/dist/generation/spec/structural.d.ts.map +1 -1
- package/dist/generation/spec/structural.unit.test.d.ts +5 -0
- package/dist/generation/spec/structural.unit.test.d.ts.map +1 -0
- package/dist/generation/spec/symmetry.unit.test.d.ts +5 -0
- package/dist/generation/spec/symmetry.unit.test.d.ts.map +1 -0
- package/dist/generation/spec/test.unit.test.d.ts +5 -0
- package/dist/generation/spec/test.unit.test.d.ts.map +1 -0
- package/dist/generation/spec/width.d.ts +29 -0
- package/dist/generation/spec/width.d.ts.map +1 -0
- package/dist/generation/spec.d.ts +23 -4
- package/dist/generation/spec.d.ts.map +1 -1
- package/dist/index.cjs +31 -31
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6941 -4768
- package/dist/index.umd.js +33 -33
- package/dist/interfaces/graph-expander.d.ts +44 -2
- package/dist/interfaces/graph-expander.d.ts.map +1 -1
- package/dist/interfaces/graph-expander.unit.test.d.ts +2 -0
- package/dist/interfaces/graph-expander.unit.test.d.ts.map +1 -0
- package/dist/interfaces/readable-graph.unit.test.d.ts +2 -0
- package/dist/interfaces/readable-graph.unit.test.d.ts.map +1 -0
- package/dist/registries/index.d.ts +16 -0
- package/dist/registries/index.d.ts.map +1 -0
- package/dist/registries/register-cases.d.ts +91 -0
- package/dist/registries/register-cases.d.ts.map +1 -0
- package/dist/registries/register-overlap-suts.d.ts +28 -0
- package/dist/registries/register-overlap-suts.d.ts.map +1 -0
- package/dist/registries/register-ranking-cases.d.ts +36 -0
- package/dist/registries/register-ranking-cases.d.ts.map +1 -0
- package/dist/registries/register-ranking-suts.d.ts +83 -0
- package/dist/registries/register-ranking-suts.d.ts.map +1 -0
- package/dist/registries/register-suts.d.ts +55 -0
- package/dist/registries/register-suts.d.ts.map +1 -0
- package/dist/suts/degree-prioritised-v1.0.0.d.ts +56 -0
- package/dist/suts/degree-prioritised-v1.0.0.d.ts.map +1 -0
- package/dist/suts/entropy-guided-v1.0.0.d.ts +55 -0
- package/dist/suts/entropy-guided-v1.0.0.d.ts.map +1 -0
- package/dist/suts/heterogeneity-aware-v1.0.0.d.ts +57 -0
- package/dist/suts/heterogeneity-aware-v1.0.0.d.ts.map +1 -0
- package/dist/suts/multi-frontier-adaptive-v1.0.0.d.ts +56 -0
- package/dist/suts/multi-frontier-adaptive-v1.0.0.d.ts.map +1 -0
- package/dist/suts/path-preserving-v1.0.0.d.ts +58 -0
- package/dist/suts/path-preserving-v1.0.0.d.ts.map +1 -0
- package/dist/suts/path-salience-v1.0.0.d.ts +57 -0
- package/dist/suts/path-salience-v1.0.0.d.ts.map +1 -0
- package/dist/suts/random-ranking-v1.0.0.d.ts +50 -0
- package/dist/suts/random-ranking-v1.0.0.d.ts.map +1 -0
- package/dist/suts/retrospective-salience-v1.0.0.d.ts +57 -0
- package/dist/suts/retrospective-salience-v1.0.0.d.ts.map +1 -0
- package/dist/suts/shortest-ranking-v1.0.0.d.ts +49 -0
- package/dist/suts/shortest-ranking-v1.0.0.d.ts.map +1 -0
- package/dist/suts/standard-bfs-v1.0.0.d.ts +53 -0
- package/dist/suts/standard-bfs-v1.0.0.d.ts.map +1 -0
- package/dist/types/graph-core.d.ts +176 -0
- package/dist/types/graph-core.d.ts.map +1 -0
- package/dist/types/graph-core.unit.test.d.ts +5 -0
- package/dist/types/graph-core.unit.test.d.ts.map +1 -0
- package/dist/utils/graph-adapters.d.ts +101 -0
- package/dist/utils/graph-adapters.d.ts.map +1 -0
- package/dist/utils/graph-adapters.unit.test.d.ts +5 -0
- package/dist/utils/graph-adapters.unit.test.d.ts.map +1 -0
- package/dist/utils/wayback.unit.test.d.ts +2 -0
- package/dist/utils/wayback.unit.test.d.ts.map +1 -0
- package/dist/validation/basic-validators.unit.test.d.ts +2 -0
- package/dist/validation/basic-validators.unit.test.d.ts.map +1 -0
- package/dist/validation/coloring-validator.unit.test.d.ts +2 -0
- package/dist/validation/coloring-validator.unit.test.d.ts.map +1 -0
- package/dist/validation/connectivity-validators.unit.test.d.ts +2 -0
- package/dist/validation/connectivity-validators.unit.test.d.ts.map +1 -0
- package/dist/validation/degree-validators.unit.test.d.ts +2 -0
- package/dist/validation/degree-validators.unit.test.d.ts.map +1 -0
- package/dist/validation/density-connectivity.unit.test.d.ts +2 -0
- package/dist/validation/density-connectivity.unit.test.d.ts.map +1 -0
- package/dist/validation/extremal.unit.test.d.ts +2 -0
- package/dist/validation/extremal.unit.test.d.ts.map +1 -0
- package/dist/validation/flow-validator.unit.test.d.ts +2 -0
- package/dist/validation/flow-validator.unit.test.d.ts.map +1 -0
- package/dist/validation/forbidden-subgraph-helpers.d.ts +45 -0
- package/dist/validation/forbidden-subgraph-helpers.d.ts.map +1 -0
- package/dist/validation/forbidden-subgraph.d.ts +66 -0
- package/dist/validation/forbidden-subgraph.d.ts.map +1 -0
- package/dist/validation/geometric.unit.test.d.ts +2 -0
- package/dist/validation/geometric.unit.test.d.ts.map +1 -0
- package/dist/validation/helper-functions.d.ts +1 -0
- package/dist/validation/helper-functions.d.ts.map +1 -1
- package/dist/validation/helper-functions.unit.test.d.ts +2 -0
- package/dist/validation/helper-functions.unit.test.d.ts.map +1 -0
- package/dist/validation/index.d.ts +4 -0
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/intersection.d.ts +17 -0
- package/dist/validation/intersection.d.ts.map +1 -0
- package/dist/validation/invariant.unit.test.d.ts +2 -0
- package/dist/validation/invariant.unit.test.d.ts.map +1 -0
- package/dist/validation/minor.unit.test.d.ts +2 -0
- package/dist/validation/minor.unit.test.d.ts.map +1 -0
- package/dist/validation/network.d.ts.map +1 -1
- package/dist/validation/network.unit.test.d.ts +2 -0
- package/dist/validation/network.unit.test.d.ts.map +1 -0
- package/dist/validation/path-cycle.unit.test.d.ts +2 -0
- package/dist/validation/path-cycle.unit.test.d.ts.map +1 -0
- package/dist/validation/perfect-variants.d.ts +30 -0
- package/dist/validation/perfect-variants.d.ts.map +1 -0
- package/dist/validation/perfect-variants.unit.test.d.ts +5 -0
- package/dist/validation/perfect-variants.unit.test.d.ts.map +1 -0
- package/dist/validation/probe.d.ts +17 -0
- package/dist/validation/probe.d.ts.map +1 -0
- package/dist/validation/product.unit.test.d.ts +2 -0
- package/dist/validation/product.unit.test.d.ts.map +1 -0
- package/dist/validation/robustness.unit.test.d.ts +2 -0
- package/dist/validation/robustness.unit.test.d.ts.map +1 -0
- package/dist/validation/structural-class.d.ts.map +1 -1
- package/dist/validation/structural-class.unit.test.d.ts +2 -0
- package/dist/validation/structural-class.unit.test.d.ts.map +1 -0
- package/dist/validation/symmetry.d.ts.map +1 -1
- package/dist/validation/symmetry.unit.test.d.ts +2 -0
- package/dist/validation/symmetry.unit.test.d.ts.map +1 -0
- package/dist/validation/treewidth-validator.unit.test.d.ts +2 -0
- package/dist/validation/treewidth-validator.unit.test.d.ts.map +1 -0
- package/dist/validation/width.d.ts +27 -0
- package/dist/validation/width.d.ts.map +1 -0
- package/dist/validation/width.unit.test.d.ts +5 -0
- package/dist/validation/width.unit.test.d.ts.map +1 -0
- package/package.json +25 -2
package/dist/algorithms/traversal/overlap-based/strategies/between-graph/between-graph-strategy.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { OverlapBasedExpansionResult } from '../../overlap-result.js';
|
|
2
|
+
/**
|
|
3
|
+
* Strategy for defining the "between-graph" subgraph after termination.
|
|
4
|
+
*
|
|
5
|
+
* Once overlap-based termination occurs, this strategy determines what
|
|
6
|
+
* constitutes the output subgraph that will be passed to Path Salience ranking.
|
|
7
|
+
*
|
|
8
|
+
* The goal is to produce a subgraph that:
|
|
9
|
+
* - Contains paths between all seed pairs (if N ≥ 2)
|
|
10
|
+
* - Preserves topological structure for accurate MI computation
|
|
11
|
+
* - Maintains statistical properties needed for salient ranking
|
|
12
|
+
*/
|
|
13
|
+
export interface BetweenGraphStrategy {
|
|
14
|
+
/**
|
|
15
|
+
* Strategy identifier for naming SUT variants.
|
|
16
|
+
*/
|
|
17
|
+
readonly id: string;
|
|
18
|
+
/**
|
|
19
|
+
* Extract the between-graph subgraph from expansion results.
|
|
20
|
+
*
|
|
21
|
+
* @param expansionResult - Raw expansion output with all visited nodes/edges
|
|
22
|
+
* @param graph - Original graph (optional, for shortest paths or MI computation)
|
|
23
|
+
* @returns Refined subgraph definition with nodes, edges, and paths
|
|
24
|
+
*/
|
|
25
|
+
extractBetweenGraph(expansionResult: OverlapBasedExpansionResult, graph?: unknown): BetweenGraphOutput;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Output from BetweenGraphStrategy defining the between-graph subgraph.
|
|
29
|
+
*/
|
|
30
|
+
export interface BetweenGraphOutput {
|
|
31
|
+
/** Nodes included in the between-graph subgraph */
|
|
32
|
+
nodes: Set<string>;
|
|
33
|
+
/** Edges included in the between-graph subgraph */
|
|
34
|
+
edges: Set<string>;
|
|
35
|
+
/** Paths preserved in the subgraph (fromSeed → toSeed → node array) */
|
|
36
|
+
paths: Array<{
|
|
37
|
+
fromSeed: number;
|
|
38
|
+
toSeed: number;
|
|
39
|
+
nodes: string[];
|
|
40
|
+
}>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=between-graph-strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"between-graph-strategy.d.ts","sourceRoot":"","sources":["../../../../../../src/algorithms/traversal/overlap-based/strategies/between-graph/between-graph-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAE3E;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,mBAAmB,CAClB,eAAe,EAAE,2BAA2B,EAC5C,KAAK,CAAC,EAAE,OAAO,GACb,kBAAkB,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,mDAAmD;IACnD,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEnB,mDAAmD;IACnD,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEnB,uEAAuE;IACvE,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACpE"}
|
package/dist/algorithms/traversal/overlap-based/strategies/between-graph/minimal-paths.strategy.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { OverlapBasedExpansionResult } from '../../overlap-result.js';
|
|
2
|
+
import { BetweenGraphStrategy } from './between-graph-strategy.js';
|
|
3
|
+
/**
|
|
4
|
+
* Minimal Paths Between-Graph Strategy
|
|
5
|
+
*
|
|
6
|
+
* Returns the minimal subgraph containing only the nodes and edges that appear
|
|
7
|
+
* in the discovered paths. This produces the most compact between-graph representation.
|
|
8
|
+
*
|
|
9
|
+
* **Algorithm**: Extract all nodes and edges that appear in any discovered path,
|
|
10
|
+
* excluding nodes visited but not part of path connections.
|
|
11
|
+
*
|
|
12
|
+
* **Complexity**: O(P × L) where P = number of paths, L = average path length
|
|
13
|
+
*
|
|
14
|
+
* **Thesis Alignment**: This strategy provides the most compact representation
|
|
15
|
+
* of the between-graph, useful for memory-constrained scenarios and as a baseline
|
|
16
|
+
* for comparison with more comprehensive strategies.
|
|
17
|
+
*/
|
|
18
|
+
export declare class MinimalPathsStrategy implements BetweenGraphStrategy {
|
|
19
|
+
/** Strategy identifier for naming SUT variants */
|
|
20
|
+
readonly id = "minimal-paths";
|
|
21
|
+
/**
|
|
22
|
+
* Extract the between-graph subgraph from expansion results.
|
|
23
|
+
*
|
|
24
|
+
* Returns only nodes and edges that appear in discovered paths.
|
|
25
|
+
* For N=1 (no paths), returns all visited nodes as fallback.
|
|
26
|
+
*
|
|
27
|
+
* @param expansionResult - Raw expansion output with all visited nodes/edges
|
|
28
|
+
* @param _graph - Original graph (unused for minimal paths)
|
|
29
|
+
* @returns Refined subgraph definition with nodes, edges, and paths
|
|
30
|
+
*/
|
|
31
|
+
extractBetweenGraph(expansionResult: OverlapBasedExpansionResult, _graph?: unknown): {
|
|
32
|
+
nodes: Set<string>;
|
|
33
|
+
edges: Set<string>;
|
|
34
|
+
paths: Array<{
|
|
35
|
+
fromSeed: number;
|
|
36
|
+
toSeed: number;
|
|
37
|
+
nodes: string[];
|
|
38
|
+
}>;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=minimal-paths.strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimal-paths.strategy.d.ts","sourceRoot":"","sources":["../../../../../../src/algorithms/traversal/overlap-based/strategies/between-graph/minimal-paths.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,oBAAqB,YAAW,oBAAoB;IAChE,kDAAkD;IAClD,QAAQ,CAAC,EAAE,mBAAmB;IAE9B;;;;;;;;;OASG;IACH,mBAAmB,CAClB,eAAe,EAAE,2BAA2B,EAC5C,MAAM,CAAC,EAAE,OAAO,GACd;QACF,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;KACpE;CAiCD"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { OverlapBasedExpansionResult } from '../../overlap-result.js';
|
|
2
|
+
import { BetweenGraphStrategy } from './between-graph-strategy.js';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for SaliencePreservingStrategy.
|
|
5
|
+
*/
|
|
6
|
+
export interface SaliencePreservingConfig {
|
|
7
|
+
/**
|
|
8
|
+
* Target percentage of nodes to preserve based on salience ranking.
|
|
9
|
+
* Range: (0, 100]
|
|
10
|
+
* Default: 100 (preserve all salient nodes, equivalent to full expansion result)
|
|
11
|
+
*/
|
|
12
|
+
targetPreservation?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Minimum number of nodes to preserve regardless of salience.
|
|
15
|
+
* Default: 10 (ensures basic connectivity)
|
|
16
|
+
*/
|
|
17
|
+
minNodes?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Salience-Preserving Between-Graph Strategy
|
|
21
|
+
*
|
|
22
|
+
* Preserves nodes and edges based on their contribution to path salience
|
|
23
|
+
* (mutual information). This strategy aims to retain high-information paths
|
|
24
|
+
* while discarding low-contributing regions.
|
|
25
|
+
*
|
|
26
|
+
* **Algorithm**: Rank nodes by their occurrence frequency in discovered paths
|
|
27
|
+
* (as a proxy for MI contribution), then preserve nodes/edges above a threshold.
|
|
28
|
+
*
|
|
29
|
+
* **Complexity**: O(P × L + V log V) where P = paths, L = avg length, V = nodes
|
|
30
|
+
*
|
|
31
|
+
* **Thesis Alignment**: This strategy implements the thesis concept of
|
|
32
|
+
* salience-based subgraph extraction, preserving paths that maximize mutual
|
|
33
|
+
* information for downstream ranking tasks.
|
|
34
|
+
*
|
|
35
|
+
* **Note**: This is a simplified implementation using path frequency as a
|
|
36
|
+
* proxy for MI. A full implementation would integrate with Path Salience
|
|
37
|
+
* ranking to compute actual MI scores.
|
|
38
|
+
*/
|
|
39
|
+
export declare class SaliencePreservingStrategy implements BetweenGraphStrategy {
|
|
40
|
+
/** Strategy identifier for naming SUT variants */
|
|
41
|
+
readonly id = "salience-preserving";
|
|
42
|
+
/** Target percentage of nodes to preserve */
|
|
43
|
+
private readonly targetPreservation;
|
|
44
|
+
/** Minimum number of nodes to preserve */
|
|
45
|
+
private readonly minNodes;
|
|
46
|
+
/**
|
|
47
|
+
* Create a SaliencePreserving strategy.
|
|
48
|
+
*
|
|
49
|
+
* @param config - Strategy configuration
|
|
50
|
+
*/
|
|
51
|
+
constructor(config?: SaliencePreservingConfig);
|
|
52
|
+
/**
|
|
53
|
+
* Extract the between-graph subgraph from expansion results.
|
|
54
|
+
*
|
|
55
|
+
* Preserves nodes based on path salience ranking.
|
|
56
|
+
*
|
|
57
|
+
* @param expansionResult - Raw expansion output with all visited nodes/edges
|
|
58
|
+
* @param _graph - Original graph (unused, we use path-based salience)
|
|
59
|
+
* @returns Refined subgraph definition with nodes, edges, and paths
|
|
60
|
+
*/
|
|
61
|
+
extractBetweenGraph(expansionResult: OverlapBasedExpansionResult, _graph?: unknown): {
|
|
62
|
+
nodes: Set<string>;
|
|
63
|
+
edges: Set<string>;
|
|
64
|
+
paths: Array<{
|
|
65
|
+
fromSeed: number;
|
|
66
|
+
toSeed: number;
|
|
67
|
+
nodes: string[];
|
|
68
|
+
}>;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Calculate node salience based on path occurrence frequency.
|
|
72
|
+
*
|
|
73
|
+
* Nodes that appear in more paths have higher salience scores.
|
|
74
|
+
* This is a simplified proxy for mutual information contribution.
|
|
75
|
+
*
|
|
76
|
+
* @param paths - Discovered paths from expansion
|
|
77
|
+
* @returns Map of node ID to salience score
|
|
78
|
+
* @private
|
|
79
|
+
*/
|
|
80
|
+
private calculateNodeSalience;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=salience-preserving.strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"salience-preserving.strategy.d.ts","sourceRoot":"","sources":["../../../../../../src/algorithms/traversal/overlap-based/strategies/between-graph/salience-preserving.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,0BAA2B,YAAW,oBAAoB;IACtE,kDAAkD;IAClD,QAAQ,CAAC,EAAE,yBAAyB;IAEpC,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAE5C,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC;;;;OAIG;gBACS,MAAM,GAAE,wBAA6B;IAKjD;;;;;;;;OAQG;IACH,mBAAmB,CAClB,eAAe,EAAE,2BAA2B,EAC5C,MAAM,CAAC,EAAE,OAAO,GACd;QACF,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;KACpE;IA2DD;;;;;;;;;OASG;IACH,OAAO,CAAC,qBAAqB;CAc7B"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { OverlapBasedExpansionResult } from '../../overlap-result.js';
|
|
2
|
+
import { BetweenGraphStrategy } from './between-graph-strategy.js';
|
|
3
|
+
/**
|
|
4
|
+
* Truncated Component Between-Graph Strategy
|
|
5
|
+
*
|
|
6
|
+
* Returns the connected component(s) containing the overlap nodes where
|
|
7
|
+
* frontiers met. This preserves more context than MinimalPaths while
|
|
8
|
+
* avoiding fringe regions that don't contribute to seed connectivity.
|
|
9
|
+
*
|
|
10
|
+
* **Algorithm**: Identify all overlap meeting nodes, then extract the
|
|
11
|
+
* connected component(s) containing these nodes using BFS/DFS traversal.
|
|
12
|
+
*
|
|
13
|
+
* **Complexity**: O(V + E) where V = visited nodes, E = visited edges
|
|
14
|
+
*
|
|
15
|
+
* **Thesis Alignment**: This strategy provides a balanced approach that
|
|
16
|
+
* preserves the neighborhood structure around overlap regions while excluding
|
|
17
|
+
* peripheral exploration that doesn't contribute to seed connectivity.
|
|
18
|
+
*/
|
|
19
|
+
export declare class TruncatedComponentStrategy implements BetweenGraphStrategy {
|
|
20
|
+
/** Strategy identifier for naming SUT variants */
|
|
21
|
+
readonly id = "truncated-component";
|
|
22
|
+
/**
|
|
23
|
+
* Extract the between-graph subgraph from expansion results.
|
|
24
|
+
*
|
|
25
|
+
* Returns the connected component containing overlap meeting nodes.
|
|
26
|
+
*
|
|
27
|
+
* @param expansionResult - Raw expansion output with all visited nodes/edges
|
|
28
|
+
* @param _graph - Original graph (unused, we use sampled data)
|
|
29
|
+
* @returns Refined subgraph definition with nodes, edges, and paths
|
|
30
|
+
*/
|
|
31
|
+
extractBetweenGraph(expansionResult: OverlapBasedExpansionResult, _graph?: unknown): {
|
|
32
|
+
nodes: Set<string>;
|
|
33
|
+
edges: Set<string>;
|
|
34
|
+
paths: Array<{
|
|
35
|
+
fromSeed: number;
|
|
36
|
+
toSeed: number;
|
|
37
|
+
nodes: string[];
|
|
38
|
+
}>;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Build an adjacency list from sampled edges.
|
|
42
|
+
*
|
|
43
|
+
* @param expansionResult - Expansion result with sampled edges
|
|
44
|
+
* @returns Adjacency list (node -> set of neighbors)
|
|
45
|
+
* @private
|
|
46
|
+
*/
|
|
47
|
+
private buildAdjacencyList;
|
|
48
|
+
/**
|
|
49
|
+
* Perform BFS to find the connected component containing a start node.
|
|
50
|
+
*
|
|
51
|
+
* @param startNode - Node to start BFS from
|
|
52
|
+
* @param adj - Adjacency list
|
|
53
|
+
* @param componentNodes - Set to accumulate component nodes
|
|
54
|
+
* @param componentEdges - Set to accumulate component edges
|
|
55
|
+
* @private
|
|
56
|
+
*/
|
|
57
|
+
private bfsComponent;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=truncated-component.strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncated-component.strategy.d.ts","sourceRoot":"","sources":["../../../../../../src/algorithms/traversal/overlap-based/strategies/between-graph/truncated-component.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,0BAA2B,YAAW,oBAAoB;IACtE,kDAAkD;IAClD,QAAQ,CAAC,EAAE,yBAAyB;IAEpC;;;;;;;;OAQG;IACH,mBAAmB,CAClB,eAAe,EAAE,2BAA2B,EAC5C,MAAM,CAAC,EAAE,OAAO,GACd;QACF,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;KACpE;IAwCD;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;CAsCpB"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { FrontierState } from '../../frontier-state.js';
|
|
2
|
+
import { N1HandlingStrategy } from './n1-handling-strategy.js';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for CoverageThresholdStrategy.
|
|
5
|
+
*/
|
|
6
|
+
export interface CoverageThresholdConfig {
|
|
7
|
+
/**
|
|
8
|
+
* Coverage percentage threshold for termination (0-100).
|
|
9
|
+
* Default: 80 (terminate when 80% of graph is visited)
|
|
10
|
+
*/
|
|
11
|
+
coverageThreshold?: number;
|
|
12
|
+
/**
|
|
13
|
+
* Minimum iterations before allowing coverage-based termination.
|
|
14
|
+
* Default: 10 (prevents premature termination on tiny graphs)
|
|
15
|
+
*/
|
|
16
|
+
minIterations?: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Coverage Threshold N=1 Handling Strategy
|
|
20
|
+
*
|
|
21
|
+
* Terminates single-seed expansion when a percentage of the graph has been visited.
|
|
22
|
+
* This provides a principled stopping criterion for the N=1 case where overlap
|
|
23
|
+
* with other seeds is impossible.
|
|
24
|
+
*
|
|
25
|
+
* **Algorithm**: Terminate when (visited_nodes / total_nodes) >= threshold,
|
|
26
|
+
* subject to a minimum iteration count to prevent premature termination.
|
|
27
|
+
*
|
|
28
|
+
* **Complexity**: O(1) per iteration check
|
|
29
|
+
*
|
|
30
|
+
* **Thesis Alignment**: This strategy provides a coverage-based termination
|
|
31
|
+
* criterion for ego-network sampling, ensuring sufficient exploration while
|
|
32
|
+
* avoiding exhaustive traversal of large graphs.
|
|
33
|
+
*/
|
|
34
|
+
export declare class CoverageThresholdStrategy implements N1HandlingStrategy {
|
|
35
|
+
/** Strategy identifier for naming SUT variants */
|
|
36
|
+
readonly id = "coverage-threshold";
|
|
37
|
+
/** Coverage percentage threshold (0-100) */
|
|
38
|
+
private readonly threshold;
|
|
39
|
+
/** Minimum iterations before termination allowed */
|
|
40
|
+
private readonly minIterations;
|
|
41
|
+
/**
|
|
42
|
+
* Create a CoverageThreshold strategy.
|
|
43
|
+
*
|
|
44
|
+
* @param config - Strategy configuration
|
|
45
|
+
*/
|
|
46
|
+
constructor(config?: CoverageThresholdConfig);
|
|
47
|
+
/**
|
|
48
|
+
* Check if single-seed expansion should terminate.
|
|
49
|
+
*
|
|
50
|
+
* @param frontier - The sole frontier's state
|
|
51
|
+
* @param totalNodes - Total nodes in graph (for coverage calculation)
|
|
52
|
+
* @param iteration - Current iteration count
|
|
53
|
+
* @returns true if should terminate
|
|
54
|
+
*/
|
|
55
|
+
shouldTerminate(frontier: FrontierState, totalNodes?: number, iteration?: number): boolean;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=coverage-threshold.strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage-threshold.strategy.d.ts","sourceRoot":"","sources":["../../../../../../src/algorithms/traversal/overlap-based/strategies/n1-handling/coverage-threshold.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,yBAA0B,YAAW,kBAAkB;IACnE,kDAAkD;IAClD,QAAQ,CAAC,EAAE,wBAAwB;IAEnC,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC;;;;OAIG;gBACS,MAAM,GAAE,uBAA4B;IAKhD;;;;;;;OAOG;IACH,eAAe,CACd,QAAQ,EAAE,aAAa,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO;CAkBV"}
|
package/dist/algorithms/traversal/overlap-based/strategies/n1-handling/n1-handling-strategy.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { FrontierState } from '../../frontier-state.js';
|
|
2
|
+
/**
|
|
3
|
+
* Strategy for handling N=1 (single seed) scenario where overlap is impossible.
|
|
4
|
+
*
|
|
5
|
+
* When N=1, there are no other seeds to overlap with. This strategy provides
|
|
6
|
+
* alternative termination criteria (e.g., coverage threshold).
|
|
7
|
+
*
|
|
8
|
+
* @template TFrontier - Type of frontier state (for type safety)
|
|
9
|
+
*/
|
|
10
|
+
export interface N1HandlingStrategy {
|
|
11
|
+
/**
|
|
12
|
+
* Strategy identifier for naming SUT variants.
|
|
13
|
+
*/
|
|
14
|
+
readonly id: string;
|
|
15
|
+
/**
|
|
16
|
+
* Check if single-seed expansion should terminate.
|
|
17
|
+
*
|
|
18
|
+
* @param frontier - The sole frontier's state
|
|
19
|
+
* @param totalNodes - Total nodes in graph (for coverage calculation, if available)
|
|
20
|
+
* @param iteration - Current iteration count
|
|
21
|
+
* @returns true if should terminate
|
|
22
|
+
*/
|
|
23
|
+
shouldTerminate(frontier: FrontierState, totalNodes?: number, iteration?: number): boolean;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=n1-handling-strategy.d.ts.map
|
package/dist/algorithms/traversal/overlap-based/strategies/n1-handling/n1-handling-strategy.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"n1-handling-strategy.d.ts","sourceRoot":"","sources":["../../../../../../src/algorithms/traversal/overlap-based/strategies/n1-handling/n1-handling-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,eAAe,CACd,QAAQ,EAAE,aAAa,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;CACX"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { FrontierState } from '../../frontier-state.js';
|
|
2
|
+
/**
|
|
3
|
+
* Strategy for detecting overlap between seed search regions during expansion.
|
|
4
|
+
*
|
|
5
|
+
* Called during node expansion to determine if a newly discovered node
|
|
6
|
+
* represents an overlap event that should be tracked.
|
|
7
|
+
*
|
|
8
|
+
* @template TFrontier - Type of frontier state (for type safety)
|
|
9
|
+
*/
|
|
10
|
+
export interface OverlapDetectionStrategy {
|
|
11
|
+
/**
|
|
12
|
+
* Strategy identifier for naming SUT variants.
|
|
13
|
+
*/
|
|
14
|
+
readonly id: string;
|
|
15
|
+
/**
|
|
16
|
+
* Check if adding this node creates overlap with other frontiers.
|
|
17
|
+
*
|
|
18
|
+
* @param targetId - Node being added to active frontier
|
|
19
|
+
* @param activeFrontier - The frontier that is expanding
|
|
20
|
+
* @param allFrontiers - All frontiers in the expansion
|
|
21
|
+
* @param nodeToFrontierIndex - O(1) map tracking which frontier owns each node
|
|
22
|
+
* @returns Array of frontier indices that overlap with active frontier
|
|
23
|
+
*/
|
|
24
|
+
detectOverlap(targetId: string, activeFrontier: FrontierState, allFrontiers: FrontierState[], nodeToFrontierIndex: Map<string, number>): number[];
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=overlap-detection-strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlap-detection-strategy.d.ts","sourceRoot":"","sources":["../../../../../../src/algorithms/traversal/overlap-based/strategies/overlap-detection/overlap-detection-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACxC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;;;;;;OAQG;IACH,aAAa,CACZ,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,aAAa,EAC7B,YAAY,EAAE,aAAa,EAAE,EAC7B,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,MAAM,EAAE,CAAC;CACZ"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { FrontierState } from '../../frontier-state.js';
|
|
2
|
+
import { OverlapDetectionStrategy } from './overlap-detection-strategy.js';
|
|
3
|
+
/**
|
|
4
|
+
* Physical Meeting Overlap Detection Strategy
|
|
5
|
+
*
|
|
6
|
+
* Detects overlap when two frontiers physically visit the same node.
|
|
7
|
+
* This is the O(1) overlap detection method used in DegreePrioritisedExpansion,
|
|
8
|
+
* which tracks which frontier owns each node via a `nodeToFrontierIndex` Map.
|
|
9
|
+
*
|
|
10
|
+
* **Algorithm**: When adding a node to the active frontier, check if another
|
|
11
|
+
* frontier already owns it via O(1) Map lookup. If so, return that frontier's index.
|
|
12
|
+
*
|
|
13
|
+
* **Complexity**: O(1) per node added
|
|
14
|
+
*
|
|
15
|
+
* **Thesis Alignment**: This is the original overlap detection method from
|
|
16
|
+
* DegreePrioritisedExpansion, providing the baseline for comparison with
|
|
17
|
+
* more sophisticated strategies.
|
|
18
|
+
*/
|
|
19
|
+
export declare class PhysicalMeetingStrategy implements OverlapDetectionStrategy {
|
|
20
|
+
/** Strategy identifier for naming SUT variants */
|
|
21
|
+
readonly id = "physical-meeting";
|
|
22
|
+
/**
|
|
23
|
+
* Check if adding this node creates overlap with other frontiers.
|
|
24
|
+
*
|
|
25
|
+
* Uses O(1) Map lookup to check if another frontier already visited this node.
|
|
26
|
+
*
|
|
27
|
+
* @param targetId - Node being added to active frontier
|
|
28
|
+
* @param activeFrontier - The frontier that is expanding
|
|
29
|
+
* @param _allFrontiers - All frontiers in the expansion (unused)
|
|
30
|
+
* @param nodeToFrontierIndex - O(1) map tracking which frontier owns each node
|
|
31
|
+
* @returns Array of frontier indices that overlap with active frontier
|
|
32
|
+
*/
|
|
33
|
+
detectOverlap(targetId: string, activeFrontier: FrontierState, _allFrontiers: FrontierState[], nodeToFrontierIndex: Map<string, number>): number[];
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=physical-meeting.strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"physical-meeting.strategy.d.ts","sourceRoot":"","sources":["../../../../../../src/algorithms/traversal/overlap-based/strategies/overlap-detection/physical-meeting.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,uBAAwB,YAAW,wBAAwB;IACvE,kDAAkD;IAClD,QAAQ,CAAC,EAAE,sBAAsB;IAEjC;;;;;;;;;;OAUG;IACH,aAAa,CACZ,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,aAAa,EAC7B,aAAa,EAAE,aAAa,EAAE,EAC9B,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,MAAM,EAAE;CAUX"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { FrontierState } from '../../frontier-state.js';
|
|
2
|
+
import { OverlapDetectionStrategy } from './overlap-detection-strategy.js';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for SphereIntersectionStrategy.
|
|
5
|
+
*/
|
|
6
|
+
export interface SphereIntersectionConfig {
|
|
7
|
+
/**
|
|
8
|
+
* Maximum distance from seed for overlap detection.
|
|
9
|
+
* Default: Infinity (no limit)
|
|
10
|
+
*/
|
|
11
|
+
maxDistance?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Sphere Intersection Overlap Detection Strategy
|
|
15
|
+
*
|
|
16
|
+
* Detects overlap when a node falls within another frontier's search radius.
|
|
17
|
+
* This strategy models each frontier as an N-dimensional sphere expanding
|
|
18
|
+
* from its seed, where radius = maximum distance of any visited node.
|
|
19
|
+
*
|
|
20
|
+
* **Algorithm**: Track the distance from seed for each visited node. When
|
|
21
|
+
* adding a node, check if its distance from the active frontier's seed is
|
|
22
|
+
* within another frontier's current radius:
|
|
23
|
+
*
|
|
24
|
+
* ```
|
|
25
|
+
* overlap if: distance(targetId, seedA) <= radius_of_frontier_B
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* **Complexity**: O(N) per node added where N = number of frontiers
|
|
29
|
+
*
|
|
30
|
+
* **Thesis Alignment**: This strategy models the geometric intuition of
|
|
31
|
+
* "search regions meeting" in N-dimensional space, providing early
|
|
32
|
+
* termination based on spatial proximity rather than physical node sharing.
|
|
33
|
+
*/
|
|
34
|
+
export declare class SphereIntersectionStrategy implements OverlapDetectionStrategy {
|
|
35
|
+
/** Strategy identifier for naming SUT variants */
|
|
36
|
+
readonly id = "sphere-intersection";
|
|
37
|
+
/** Maximum distance for overlap detection */
|
|
38
|
+
private readonly maxDistance;
|
|
39
|
+
/**
|
|
40
|
+
* Create a SphereIntersection strategy.
|
|
41
|
+
*
|
|
42
|
+
* @param config - Strategy configuration
|
|
43
|
+
*/
|
|
44
|
+
constructor(config?: SphereIntersectionConfig);
|
|
45
|
+
/**
|
|
46
|
+
* Check if adding this node creates overlap with other frontiers.
|
|
47
|
+
*
|
|
48
|
+
* Checks if the node's distance from the active seed is within any
|
|
49
|
+
* other frontier's current radius.
|
|
50
|
+
*
|
|
51
|
+
* @param targetId - Node being added to active frontier
|
|
52
|
+
* @param activeFrontier - The frontier that is expanding
|
|
53
|
+
* @param allFrontiers - All frontiers in the expansion
|
|
54
|
+
* @param _nodeToFrontierIndex - O(1) map (unused, we use distance tracking)
|
|
55
|
+
* @returns Array of frontier indices that overlap with active frontier
|
|
56
|
+
*/
|
|
57
|
+
detectOverlap(targetId: string, activeFrontier: FrontierState, allFrontiers: FrontierState[], _nodeToFrontierIndex: Map<string, number>): number[];
|
|
58
|
+
/**
|
|
59
|
+
* Calculate the current radius of a frontier.
|
|
60
|
+
*
|
|
61
|
+
* Radius = maximum distance of any visited node from the seed.
|
|
62
|
+
*
|
|
63
|
+
* @param nodeDistances - Map of node IDs to distances from seed
|
|
64
|
+
* @returns Current frontier radius
|
|
65
|
+
* @private
|
|
66
|
+
*/
|
|
67
|
+
private calculateFrontierRadius;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=sphere-intersection.strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sphere-intersection.strategy.d.ts","sourceRoot":"","sources":["../../../../../../src/algorithms/traversal/overlap-based/strategies/overlap-detection/sphere-intersection.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,0BAA2B,YAAW,wBAAwB;IAC1E,kDAAkD;IAClD,QAAQ,CAAC,EAAE,yBAAyB;IAEpC,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC;;;;OAIG;gBACS,MAAM,GAAE,wBAA6B;IAIjD;;;;;;;;;;;OAWG;IACH,aAAa,CACZ,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,aAAa,EAC7B,YAAY,EAAE,aAAa,EAAE,EAC7B,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,MAAM,EAAE;IA2BX;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;CAS/B"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { FrontierState } from '../../frontier-state.js';
|
|
2
|
+
import { OverlapDetectionStrategy } from './overlap-detection-strategy.js';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for ThresholdSharingStrategy.
|
|
5
|
+
*/
|
|
6
|
+
export interface ThresholdSharingConfig {
|
|
7
|
+
/**
|
|
8
|
+
* Minimum Jaccard similarity threshold to consider frontiers as overlapping.
|
|
9
|
+
* Range: [0, 1] where 0 = no overlap, 1 = identical sets
|
|
10
|
+
* Default: 0.5 (50% overlap)
|
|
11
|
+
*/
|
|
12
|
+
threshold?: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Threshold Sharing Overlap Detection Strategy
|
|
16
|
+
*
|
|
17
|
+
* Detects overlap when the Jaccard similarity between two frontiers' visited
|
|
18
|
+
* sets exceeds a threshold. Jaccard similarity measures the ratio of shared
|
|
19
|
+
* nodes to the union of visited nodes.
|
|
20
|
+
*
|
|
21
|
+
* **Algorithm**: Calculate Jaccard similarity between the active frontier's
|
|
22
|
+
* visited set and each other frontier's visited set:
|
|
23
|
+
*
|
|
24
|
+
* ```
|
|
25
|
+
* J(A,B) = |A ∩ B| / |A ∪ B|
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* Return all other frontiers where J(active, other) >= threshold.
|
|
29
|
+
*
|
|
30
|
+
* **Complexity**: O(N × V) where N = number of frontiers, V = visited set sizes
|
|
31
|
+
*
|
|
32
|
+
* **Thesis Alignment**: This strategy detects "soft" overlap before physical
|
|
33
|
+
* meeting occurs, potentially enabling earlier termination at the cost of
|
|
34
|
+
* additional computation per node added.
|
|
35
|
+
*/
|
|
36
|
+
export declare class ThresholdSharingStrategy implements OverlapDetectionStrategy {
|
|
37
|
+
/** Strategy identifier for naming SUT variants */
|
|
38
|
+
readonly id = "threshold-sharing";
|
|
39
|
+
/** Minimum similarity threshold (default 0.5) */
|
|
40
|
+
private readonly threshold;
|
|
41
|
+
/**
|
|
42
|
+
* Create a ThresholdSharing strategy.
|
|
43
|
+
*
|
|
44
|
+
* @param config - Strategy configuration
|
|
45
|
+
*/
|
|
46
|
+
constructor(config?: ThresholdSharingConfig);
|
|
47
|
+
/**
|
|
48
|
+
* Check if adding this node creates overlap with other frontiers.
|
|
49
|
+
*
|
|
50
|
+
* Calculates Jaccard similarity between the active frontier's visited set
|
|
51
|
+
* (including the new node) and each other frontier's visited set.
|
|
52
|
+
*
|
|
53
|
+
* @param targetId - Node being added to active frontier
|
|
54
|
+
* @param activeFrontier - The frontier that is expanding
|
|
55
|
+
* @param allFrontiers - All frontiers in the expansion
|
|
56
|
+
* @param _nodeToFrontierIndex - O(1) map (unused, we use set operations)
|
|
57
|
+
* @returns Array of frontier indices that overlap with active frontier
|
|
58
|
+
*/
|
|
59
|
+
detectOverlap(targetId: string, activeFrontier: FrontierState, allFrontiers: FrontierState[], _nodeToFrontierIndex: Map<string, number>): number[];
|
|
60
|
+
/**
|
|
61
|
+
* Calculate Jaccard similarity between two sets.
|
|
62
|
+
*
|
|
63
|
+
* J(A,B) = |A ∩ B| / |A ∪ B|
|
|
64
|
+
*
|
|
65
|
+
* @param setA - First set
|
|
66
|
+
* @param setB - Second set
|
|
67
|
+
* @returns Jaccard similarity coefficient [0, 1]
|
|
68
|
+
* @private
|
|
69
|
+
*/
|
|
70
|
+
private calculateJaccardSimilarity;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=threshold-sharing.strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"threshold-sharing.strategy.d.ts","sourceRoot":"","sources":["../../../../../../src/algorithms/traversal/overlap-based/strategies/overlap-detection/threshold-sharing.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,wBAAyB,YAAW,wBAAwB;IACxE,kDAAkD;IAClD,QAAQ,CAAC,EAAE,uBAAuB;IAElC,iDAAiD;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;;;OAIG;gBACS,MAAM,GAAE,sBAA2B;IAI/C;;;;;;;;;;;OAWG;IACH,aAAa,CACZ,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,aAAa,EAC7B,YAAY,EAAE,aAAa,EAAE,EAC7B,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,MAAM,EAAE;IAwBX;;;;;;;;;OASG;IACH,OAAO,CAAC,0BAA0B;CAiBlC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { FrontierState } from '../../frontier-state.js';
|
|
2
|
+
import { TerminationStrategy } from './termination-strategy.js';
|
|
3
|
+
/**
|
|
4
|
+
* Common Convergence Termination Strategy
|
|
5
|
+
*
|
|
6
|
+
* Terminates expansion when all seeds share at least one common visited node.
|
|
7
|
+
* This is the weakest termination condition, allowing termination as soon as
|
|
8
|
+
* a single node is reached by all frontiers.
|
|
9
|
+
*
|
|
10
|
+
* **Algorithm**: Track the intersection of all visited sets. Terminate when
|
|
11
|
+
* the intersection is non-empty (at least one node visited by all frontiers).
|
|
12
|
+
*
|
|
13
|
+
* **Complexity**: O(N × V) where N = number of seeds, V = visited set sizes
|
|
14
|
+
*
|
|
15
|
+
* **Thesis Alignment**: This strategy provides the earliest possible termination
|
|
16
|
+
* for connected seed regions, making it suitable for time-constrained scenarios
|
|
17
|
+
* where any convergent path is sufficient.
|
|
18
|
+
*/
|
|
19
|
+
export declare class CommonConvergenceStrategy implements TerminationStrategy {
|
|
20
|
+
/** Strategy identifier for naming SUT variants */
|
|
21
|
+
readonly id = "common-convergence";
|
|
22
|
+
/**
|
|
23
|
+
* Check if expansion should terminate based on current state.
|
|
24
|
+
*
|
|
25
|
+
* @param allFrontiers - All frontiers in the expansion
|
|
26
|
+
* @param _overlapEvents - All recorded overlap events (unused, we use visited sets directly)
|
|
27
|
+
* @param _iteration - Current iteration count (unused)
|
|
28
|
+
* @returns true if expansion should terminate
|
|
29
|
+
*/
|
|
30
|
+
shouldTerminate(allFrontiers: FrontierState[], _overlapEvents: readonly {
|
|
31
|
+
frontierA: number;
|
|
32
|
+
frontierB: number;
|
|
33
|
+
}[], _iteration: number): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Find nodes that are visited by all frontiers.
|
|
36
|
+
*
|
|
37
|
+
* Computes the intersection of all visited sets.
|
|
38
|
+
*
|
|
39
|
+
* @param allFrontiers - All frontiers in the expansion
|
|
40
|
+
* @returns Set of nodes visited by all frontiers
|
|
41
|
+
* @private
|
|
42
|
+
*/
|
|
43
|
+
private findCommonVisitedNodes;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=common-convergence.strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common-convergence.strategy.d.ts","sourceRoot":"","sources":["../../../../../../src/algorithms/traversal/overlap-based/strategies/termination/common-convergence.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACpE,kDAAkD;IAClD,QAAQ,CAAC,EAAE,wBAAwB;IAEnC;;;;;;;OAOG;IACH,eAAe,CACd,YAAY,EAAE,aAAa,EAAE,EAC7B,cAAc,EAAE,SAAS;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,EACnE,UAAU,EAAE,MAAM,GAChB,OAAO;IAeV;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;CA2B9B"}
|
package/dist/algorithms/traversal/overlap-based/strategies/termination/full-pairwise.strategy.d.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { FrontierState } from '../../frontier-state.js';
|
|
2
|
+
import { TerminationStrategy } from './termination-strategy.js';
|
|
3
|
+
/**
|
|
4
|
+
* Full Pairwise Termination Strategy
|
|
5
|
+
*
|
|
6
|
+
* Terminates expansion when every seed pair has achieved overlap.
|
|
7
|
+
* This is the strictest termination condition, requiring C(N,2) pairwise overlaps.
|
|
8
|
+
*
|
|
9
|
+
* **Algorithm**: Build an overlap graph where nodes = frontiers and edges = overlaps.
|
|
10
|
+
* Terminate when the overlap graph is complete (all possible edges exist).
|
|
11
|
+
*
|
|
12
|
+
* **Complexity**: O(N²) where N = number of seeds (frontiers)
|
|
13
|
+
*
|
|
14
|
+
* **Thesis Alignment**: This strategy ensures maximum connectivity between all
|
|
15
|
+
* seed regions, providing the strongest guarantee of a well-sampled between-graph
|
|
16
|
+
* at the cost of potentially longer execution time.
|
|
17
|
+
*/
|
|
18
|
+
export declare class FullPairwiseStrategy implements TerminationStrategy {
|
|
19
|
+
/** Strategy identifier for naming SUT variants */
|
|
20
|
+
readonly id = "full-pairwise";
|
|
21
|
+
/**
|
|
22
|
+
* Check if expansion should terminate based on current state.
|
|
23
|
+
*
|
|
24
|
+
* @param allFrontiers - All frontiers in the expansion
|
|
25
|
+
* @param overlapEvents - All recorded overlap events so far
|
|
26
|
+
* @param _iteration - Current iteration count (unused)
|
|
27
|
+
* @returns true if expansion should terminate
|
|
28
|
+
*/
|
|
29
|
+
shouldTerminate(allFrontiers: FrontierState[], overlapEvents: readonly {
|
|
30
|
+
frontierA: number;
|
|
31
|
+
frontierB: number;
|
|
32
|
+
}[], _iteration: number): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Get a canonical key for a pair of frontier indices.
|
|
35
|
+
*
|
|
36
|
+
* @param a - First frontier index
|
|
37
|
+
* @param b - Second frontier index
|
|
38
|
+
* @returns Canonical pair key (sorted)
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
41
|
+
private getPairKey;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=full-pairwise.strategy.d.ts.map
|