graphbox 1.2.2 → 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/cliquewidth.integration.test.d.ts +8 -0
- package/dist/__tests__/integration/cliquewidth.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/planar.integration.test.d.ts +3 -3
- 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/algorithms/clustering/louvain.d.ts +22 -6
- package/dist/algorithms/clustering/louvain.d.ts.map +1 -1
- package/dist/algorithms/extraction/forbidden-subgraphs.d.ts +211 -0
- package/dist/algorithms/extraction/forbidden-subgraphs.d.ts.map +1 -0
- package/dist/algorithms/pathfinding/path-ranking.d.ts.map +1 -1
- 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/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/analyzer/advanced-props.d.ts.map +1 -1
- 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/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/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 +30 -3
- package/dist/analyzer/predicates.d.ts.map +1 -1
- package/dist/analyzer/probe.d.ts +15 -0
- package/dist/analyzer/probe.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/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/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/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/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/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/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/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/generation/generators/density-helpers.d.ts.map +1 -1
- package/dist/generation/generators/edge-generator.d.ts.map +1 -1
- 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/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/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/structural.d.ts +11 -0
- package/dist/generation/generators/structural.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/core.d.ts +4 -0
- package/dist/generation/spec/core.d.ts.map +1 -1
- 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/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/new-classes-index.d.ts +15 -0
- package/dist/generation/spec/new-classes-index.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/structural.d.ts +12 -1
- package/dist/generation/spec/structural.d.ts.map +1 -1
- 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 +6616 -4485
- 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/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/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/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/network.d.ts.map +1 -1
- 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/structural-class.d.ts.map +1 -1
- package/dist/validation/symmetry.d.ts.map +1 -1
- 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
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { GraphExpander } from '../../interfaces/graph-expander';
|
|
2
|
+
/**
|
|
3
|
+
* Result from ensemble expansion.
|
|
4
|
+
*/
|
|
5
|
+
export interface EnsembleExpansionResult {
|
|
6
|
+
/** Discovered paths (enumerated through union subgraph) */
|
|
7
|
+
paths: Array<{
|
|
8
|
+
fromSeed: number;
|
|
9
|
+
toSeed: number;
|
|
10
|
+
nodes: string[];
|
|
11
|
+
}>;
|
|
12
|
+
/** Union of all nodes visited by all strategies */
|
|
13
|
+
sampledNodes: Set<string>;
|
|
14
|
+
/** Set of edges visited during expansion */
|
|
15
|
+
sampledEdges: Set<string>;
|
|
16
|
+
/** Per-strategy sampled nodes (for diagnostics) */
|
|
17
|
+
sampledNodesPerStrategy: Map<string, Set<string>>;
|
|
18
|
+
/** Statistics about the expansion */
|
|
19
|
+
stats: EnsembleExpansionStats;
|
|
20
|
+
/** Map from node ID to the iteration when it was first discovered (across all strategies) */
|
|
21
|
+
nodeDiscoveryIteration: Map<string, number>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Statistics collected during ensemble expansion.
|
|
25
|
+
*/
|
|
26
|
+
export interface EnsembleExpansionStats {
|
|
27
|
+
/** Total nodes in union across all strategies */
|
|
28
|
+
totalUnionNodes: number;
|
|
29
|
+
/** Breakdown of node counts per strategy */
|
|
30
|
+
nodesPerStrategy: Map<string, number>;
|
|
31
|
+
/** Overlap statistics between strategies */
|
|
32
|
+
strategyOverlap: Map<string, number>;
|
|
33
|
+
/** Total paths enumerated through union */
|
|
34
|
+
totalPaths: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Ensemble Expansion (Union of BFS, DFS, Degree-Priority)
|
|
38
|
+
*
|
|
39
|
+
* Baseline algorithm that combines results from three different expansion
|
|
40
|
+
* strategies: standard BFS, depth-first search (DFS), and degree-prioritised.
|
|
41
|
+
* Enumerates all paths through the union of discovered subgraphs.
|
|
42
|
+
*
|
|
43
|
+
* **Key Properties**:
|
|
44
|
+
* - Runs BFS, DFS, and degree-priority expansion independently
|
|
45
|
+
* - Computes union of all visited nodes across strategies
|
|
46
|
+
* - Enumerates ALL simple paths through union subgraph
|
|
47
|
+
* - Terminates when all strategies complete
|
|
48
|
+
*
|
|
49
|
+
* **Experimental Purpose**:
|
|
50
|
+
* Tests whether combining multiple exploration strategies provides better
|
|
51
|
+
* coverage and path diversity than any single strategy alone. If ensemble
|
|
52
|
+
* outperforms degree-prioritised, strategy diversity matters. If not,
|
|
53
|
+
* a single well-chosen strategy suffices.
|
|
54
|
+
*
|
|
55
|
+
* **Note**: Path enumeration through large unions can be expensive.
|
|
56
|
+
* Consider depth limits for tractability.
|
|
57
|
+
*
|
|
58
|
+
* @template T - Type of node data returned by expander
|
|
59
|
+
*/
|
|
60
|
+
export declare class EnsembleExpansion<T> {
|
|
61
|
+
private readonly expander;
|
|
62
|
+
private readonly seeds;
|
|
63
|
+
private readonly sampledEdges;
|
|
64
|
+
private readonly nodeDiscoveryIteration;
|
|
65
|
+
private stats;
|
|
66
|
+
/**
|
|
67
|
+
* Create a new ensemble expansion.
|
|
68
|
+
*
|
|
69
|
+
* @param expander - Graph expander providing neighbour access
|
|
70
|
+
* @param seeds - Array of seed node IDs (N >= 1)
|
|
71
|
+
* @throws Error if no seeds provided
|
|
72
|
+
*/
|
|
73
|
+
constructor(expander: GraphExpander<T>, seeds: readonly string[]);
|
|
74
|
+
/**
|
|
75
|
+
* Run the ensemble expansion to completion.
|
|
76
|
+
*
|
|
77
|
+
* Executes BFS, DFS, and degree-priority strategies in sequence,
|
|
78
|
+
* then enumerates paths through the union.
|
|
79
|
+
*
|
|
80
|
+
* @returns Ensemble results including paths and union subgraph
|
|
81
|
+
*/
|
|
82
|
+
run(): Promise<EnsembleExpansionResult>;
|
|
83
|
+
/**
|
|
84
|
+
* Run standard BFS expansion.
|
|
85
|
+
* @returns Set of visited nodes
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
private runBfs;
|
|
89
|
+
/**
|
|
90
|
+
* Run depth-first search expansion.
|
|
91
|
+
* @returns Set of visited nodes
|
|
92
|
+
* @internal
|
|
93
|
+
*/
|
|
94
|
+
private runDfs;
|
|
95
|
+
/**
|
|
96
|
+
* Run degree-prioritised expansion.
|
|
97
|
+
* @returns Set of visited nodes
|
|
98
|
+
* @internal
|
|
99
|
+
*/
|
|
100
|
+
private runDegreePriority;
|
|
101
|
+
/**
|
|
102
|
+
* Enumerate all simple paths through the union subgraph.
|
|
103
|
+
* Uses DFS with backtracking to find all paths between seed pairs.
|
|
104
|
+
*
|
|
105
|
+
* @param nodes - Union of nodes from all strategies
|
|
106
|
+
* @returns Array of paths between all seed pairs
|
|
107
|
+
* @internal
|
|
108
|
+
*/
|
|
109
|
+
private enumeratePathsThroughUnion;
|
|
110
|
+
/**
|
|
111
|
+
* Find all simple paths between two nodes within the sampled subgraph.
|
|
112
|
+
* Uses DFS with backtracking and depth limit for tractability.
|
|
113
|
+
*
|
|
114
|
+
* @param start - Start node ID
|
|
115
|
+
* @param end - End node ID
|
|
116
|
+
* @param allowedNodes - Set of nodes in the sampled subgraph
|
|
117
|
+
* @param maxDepth - Maximum path length to explore
|
|
118
|
+
* @returns Array of simple paths (each path is array of node IDs)
|
|
119
|
+
* @internal
|
|
120
|
+
*/
|
|
121
|
+
private findAllSimplePaths;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=ensemble-expansion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensemble-expansion.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/ensemble-expansion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,2DAA2D;IAC3D,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,mDAAmD;IACnD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,mDAAmD;IACnD,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAElD,qCAAqC;IACrC,KAAK,EAAE,sBAAsB,CAAC;IAE9B,6FAA6F;IAC7F,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,iDAAiD;IACjD,eAAe,EAAE,MAAM,CAAC;IAExB,4CAA4C;IAC5C,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC,4CAA4C;IAC5C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErC,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;CACnB;AAmCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,iBAAiB,CAAC,CAAC;IAa9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAbvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IACpE,OAAO,CAAC,KAAK,CAAyB;IAEtC;;;;;;OAMG;gBAEe,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE;IAc1C;;;;;;;OAOG;IACG,GAAG,IAAI,OAAO,CAAC,uBAAuB,CAAC;IA6C7C;;;;OAIG;YACW,MAAM;IAiDpB;;;;OAIG;YACW,MAAM;IAiDpB;;;;OAIG;YACW,iBAAiB;IAsD/B;;;;;;;OAOG;YACW,0BAA0B;IA6BxC;;;;;;;;;;OAUG;YACW,kBAAkB;CAkChC"}
|
|
@@ -17,6 +17,8 @@ export interface FrontierBalancedResult {
|
|
|
17
17
|
visitedPerFrontier: Array<Set<string>>;
|
|
18
18
|
/** Statistics about the expansion */
|
|
19
19
|
stats: FrontierBalancedStats;
|
|
20
|
+
/** Maps each node to the iteration when it was first discovered */
|
|
21
|
+
nodeDiscoveryIteration: Map<string, number>;
|
|
20
22
|
}
|
|
21
23
|
/**
|
|
22
24
|
* Statistics collected during frontier-balanced expansion.
|
|
@@ -61,6 +63,7 @@ export declare class FrontierBalancedExpansion<T> {
|
|
|
61
63
|
private readonly paths;
|
|
62
64
|
private readonly sampledEdges;
|
|
63
65
|
private stats;
|
|
66
|
+
private readonly nodeDiscoveryIteration;
|
|
64
67
|
private lastActiveFrontier;
|
|
65
68
|
/**
|
|
66
69
|
* Create a new frontier-balanced expansion.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontier-balanced.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/frontier-balanced.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,0DAA0D;IAC1D,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,kDAAkD;IAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,kDAAkD;IAClD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,qCAAqC;IACrC,KAAK,EAAE,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"frontier-balanced.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/frontier-balanced.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,0DAA0D;IAC1D,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,kDAAkD;IAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,kDAAkD;IAClD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,qCAAqC;IACrC,KAAK,EAAE,qBAAqB,CAAC;IAE7B,mEAAmE;IACnE,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IAEtB,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,CAAC;CACzB;AAoBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,yBAAyB,CAAC,CAAC;IAgBtC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAhBvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoE;IAC1F,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IACpE,OAAO,CAAC,kBAAkB,CAAK;IAE/B;;;;;;OAMG;gBAEe,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE;IA0B1C;;;;;;OAMG;IACG,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC;IA0F5C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkCvB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAWlB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CASvB"}
|
|
@@ -5,8 +5,24 @@
|
|
|
5
5
|
* - StandardBfsExpansion: No prioritisation (FIFO queue)
|
|
6
6
|
* - FrontierBalancedExpansion: Cerf et al. balancing (smallest frontier first)
|
|
7
7
|
* - RandomPriorityExpansion: Null hypothesis (random selection)
|
|
8
|
+
* - DelayedTerminationExpansion: BFS with delayed termination after overlap
|
|
9
|
+
* - DegreeSurpriseExpansion: Local structural anomaly prioritisation
|
|
10
|
+
* - EnsembleExpansion: Union of BFS, DFS, and degree-priority
|
|
11
|
+
* - CrossSeedAffinityExpansion: Frontier-aware degree prioritisation
|
|
12
|
+
* - retroactivePathEnumeration: Post-process any expansion for exhaustive paths
|
|
8
13
|
*/
|
|
14
|
+
export { CrossSeedAffinityExpansion, type CrossSeedAffinityResult, type CrossSeedAffinityStats, } from './cross-seed-affinity';
|
|
15
|
+
export { DegreeSurpriseExpansion, type DegreeSurpriseResult, type DegreeSurpriseStats, } from './degree-surprise';
|
|
16
|
+
export { type DelayedTerminationConfig, DelayedTerminationExpansion, type DelayedTerminationResult, type DelayedTerminationStats, } from './delayed-termination';
|
|
17
|
+
export { EnsembleExpansion, type EnsembleExpansionResult, type EnsembleExpansionStats, } from './ensemble-expansion';
|
|
9
18
|
export { FrontierBalancedExpansion, type FrontierBalancedResult, type FrontierBalancedStats, } from './frontier-balanced';
|
|
10
19
|
export { RandomPriorityExpansion, type RandomPriorityResult, type RandomPriorityStats, } from './random-priority';
|
|
20
|
+
export { type ExpansionResult, retroactivePathEnumeration, type RetroactivePathEnumerationResult, type RetroactivePathEnumerationStats, } from './retroactive-path-enum';
|
|
11
21
|
export { type BfsExpansionStats, StandardBfsExpansion, type StandardBfsResult } from './standard-bfs';
|
|
22
|
+
export { type BetweennessConfig, betweennessRanking } from './betweenness-ranking';
|
|
23
|
+
export { type DegreeRankingConfig, degreeSumRanking } from './degree-sum-ranking';
|
|
24
|
+
export { jaccardArithmeticRanking, type JaccardRankingConfig } from './jaccard-arithmetic-ranking';
|
|
25
|
+
export { type PageRankRankingConfig, pageRankSumRanking } from './pagerank-sum-ranking';
|
|
26
|
+
export { type RandomPathConfig, randomPathRanking } from './random-path-ranking';
|
|
27
|
+
export { type ShortestPathConfig, shortestPathRanking } from './shortest-path-ranking';
|
|
12
28
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACN,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,KAAK,wBAAwB,EAC7B,2BAA2B,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,yBAAyB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,KAAK,eAAe,EACpB,0BAA0B,EAC1B,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,GACpC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,iBAAiB,EAAC,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGrG,OAAO,EAAE,KAAK,iBAAiB,EAAC,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,KAAK,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAC,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAAE,KAAK,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,KAAK,gBAAgB,EAAC,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,KAAK,kBAAkB,EAAC,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Graph } from '../../algorithms/graph/graph';
|
|
2
|
+
import { RankedPath } from '../../algorithms/pathfinding/path-ranking';
|
|
3
|
+
import { Edge, Node } from '../../algorithms/types/graph';
|
|
4
|
+
import { Option } from '../../algorithms/types/option';
|
|
5
|
+
import { Result } from '../../algorithms/types/result';
|
|
6
|
+
/**
|
|
7
|
+
* Configuration for Jaccard arithmetic ranking.
|
|
8
|
+
*/
|
|
9
|
+
export interface JaccardRankingConfig {
|
|
10
|
+
/**
|
|
11
|
+
* Traversal mode for path finding.
|
|
12
|
+
*/
|
|
13
|
+
traversalMode?: "directed" | "undirected";
|
|
14
|
+
/**
|
|
15
|
+
* Maximum number of paths to return.
|
|
16
|
+
*/
|
|
17
|
+
maxPaths?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Rank paths between two nodes by arithmetic mean of Jaccard similarity.
|
|
21
|
+
*
|
|
22
|
+
* This baseline ranks paths by the arithmetic mean of Jaccard similarity
|
|
23
|
+
* coefficients between consecutive node pairs along the path. Paths
|
|
24
|
+
* where adjacent nodes share more neighbours receive higher scores.
|
|
25
|
+
*
|
|
26
|
+
* @template N - Node type
|
|
27
|
+
* @template E - Edge type
|
|
28
|
+
* @param graph - The graph to search
|
|
29
|
+
* @param startId - Source node ID
|
|
30
|
+
* @param endId - Target node ID
|
|
31
|
+
* @param config - Optional configuration
|
|
32
|
+
* @returns Result containing Jaccard-ranked paths or error
|
|
33
|
+
*/
|
|
34
|
+
export declare const jaccardArithmeticRanking: <N extends Node, E extends Edge>(graph: Graph<N, E>, startId: string, endId: string, config?: JaccardRankingConfig) => Result<Option<RankedPath<N, E>[]>, {
|
|
35
|
+
type: string;
|
|
36
|
+
message: string;
|
|
37
|
+
}>;
|
|
38
|
+
//# sourceMappingURL=jaccard-arithmetic-ranking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jaccard-arithmetic-ranking.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/jaccard-arithmetic-ranking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAE5E,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAQ,KAAK,MAAM,EAAQ,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AA+KD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EACtE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,SAAS,MAAM,EACf,OAAO,MAAM,EACb,SAAQ,oBAAyB,KAC/B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA6DtE,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Graph } from '../../algorithms/graph/graph';
|
|
2
|
+
import { RankedPath } from '../../algorithms/pathfinding/path-ranking';
|
|
3
|
+
import { Edge, Node } from '../../algorithms/types/graph';
|
|
4
|
+
import { Option } from '../../algorithms/types/option';
|
|
5
|
+
import { Result } from '../../algorithms/types/result';
|
|
6
|
+
/**
|
|
7
|
+
* Configuration for PageRank sum ranking.
|
|
8
|
+
*/
|
|
9
|
+
export interface PageRankRankingConfig {
|
|
10
|
+
/**
|
|
11
|
+
* Traversal mode for path finding.
|
|
12
|
+
*/
|
|
13
|
+
traversalMode?: "directed" | "undirected";
|
|
14
|
+
/**
|
|
15
|
+
* Maximum number of paths to return.
|
|
16
|
+
*/
|
|
17
|
+
maxPaths?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Damping factor for PageRank (default: 0.85).
|
|
20
|
+
*/
|
|
21
|
+
damping?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Maximum number of power iterations (default: 100).
|
|
24
|
+
*/
|
|
25
|
+
iterations?: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Rank paths between two nodes by sum of PageRank scores.
|
|
29
|
+
*
|
|
30
|
+
* This baseline ranks paths by the sum of PageRank scores of all nodes
|
|
31
|
+
* along the path. Paths through globally important nodes (as measured
|
|
32
|
+
* by PageRank) receive higher scores.
|
|
33
|
+
*
|
|
34
|
+
* @template N - Node type
|
|
35
|
+
* @template E - Edge type
|
|
36
|
+
* @param graph - The graph to search
|
|
37
|
+
* @param startId - Source node ID
|
|
38
|
+
* @param endId - Target node ID
|
|
39
|
+
* @param config - Optional configuration
|
|
40
|
+
* @returns Result containing PageRank-ranked paths or error
|
|
41
|
+
*/
|
|
42
|
+
export declare const pageRankSumRanking: <N extends Node, E extends Edge>(graph: Graph<N, E>, startId: string, endId: string, config?: PageRankRankingConfig) => Result<Option<RankedPath<N, E>[]>, {
|
|
43
|
+
type: string;
|
|
44
|
+
message: string;
|
|
45
|
+
}>;
|
|
46
|
+
//# sourceMappingURL=pagerank-sum-ranking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagerank-sum-ranking.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/pagerank-sum-ranking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAE5E,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAQ,KAAK,MAAM,EAAQ,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AA+PD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EAChE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,SAAS,MAAM,EACf,OAAO,MAAM,EACb,SAAQ,qBAA0B,KAChC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAsDtE,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Graph } from '../../algorithms/graph/graph';
|
|
2
|
+
import { RankedPath } from '../../algorithms/pathfinding/path-ranking';
|
|
3
|
+
import { Edge, Node } from '../../algorithms/types/graph';
|
|
4
|
+
import { Option } from '../../algorithms/types/option';
|
|
5
|
+
import { Result } from '../../algorithms/types/result';
|
|
6
|
+
/**
|
|
7
|
+
* Configuration for random path ranking.
|
|
8
|
+
*/
|
|
9
|
+
export interface RandomPathConfig {
|
|
10
|
+
/**
|
|
11
|
+
* Traversal mode for path finding.
|
|
12
|
+
*/
|
|
13
|
+
traversalMode?: "directed" | "undirected";
|
|
14
|
+
/**
|
|
15
|
+
* Maximum number of paths to return.
|
|
16
|
+
*/
|
|
17
|
+
maxPaths?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Random seed for reproducibility.
|
|
20
|
+
*/
|
|
21
|
+
seed?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Rank paths between two nodes randomly.
|
|
25
|
+
*
|
|
26
|
+
* This baseline serves as a statistical control. All paths receive
|
|
27
|
+
* the same score (1.0), but their order is randomised. This helps
|
|
28
|
+
* establish whether Path Salience Ranking provides meaningful improvements.
|
|
29
|
+
*
|
|
30
|
+
* @template N - Node type
|
|
31
|
+
* @template E - Edge type
|
|
32
|
+
* @param graph - The graph to search
|
|
33
|
+
* @param startId - Source node ID
|
|
34
|
+
* @param endId - Target node ID
|
|
35
|
+
* @param config - Optional configuration including seed for reproducibility
|
|
36
|
+
* @returns Result containing randomly-ranked paths or error
|
|
37
|
+
*/
|
|
38
|
+
export declare const randomPathRanking: <N extends Node, E extends Edge>(graph: Graph<N, E>, startId: string, endId: string, config?: RandomPathConfig) => Result<Option<RankedPath<N, E>[]>, {
|
|
39
|
+
type: string;
|
|
40
|
+
message: string;
|
|
41
|
+
}>;
|
|
42
|
+
//# sourceMappingURL=random-path-ranking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random-path-ranking.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/random-path-ranking.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAE5E,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAQ,KAAK,MAAM,EAAQ,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAoKD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EAC/D,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,SAAS,MAAM,EACf,OAAO,MAAM,EACb,SAAQ,gBAAqB,KAC3B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAsCtE,CAAC"}
|
|
@@ -17,6 +17,8 @@ export interface RandomPriorityResult {
|
|
|
17
17
|
visitedPerFrontier: Array<Set<string>>;
|
|
18
18
|
/** Statistics about the expansion */
|
|
19
19
|
stats: RandomPriorityStats;
|
|
20
|
+
/** Maps each node to the iteration when it was first discovered */
|
|
21
|
+
nodeDiscoveryIteration: Map<string, number>;
|
|
20
22
|
}
|
|
21
23
|
/**
|
|
22
24
|
* Statistics collected during random-priority expansion.
|
|
@@ -60,6 +62,7 @@ export declare class RandomPriorityExpansion<T> {
|
|
|
60
62
|
private readonly sampledEdges;
|
|
61
63
|
private readonly rng;
|
|
62
64
|
private stats;
|
|
65
|
+
private readonly nodeDiscoveryIteration;
|
|
63
66
|
/**
|
|
64
67
|
* Create a new random-priority expansion.
|
|
65
68
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random-priority.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/random-priority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,0DAA0D;IAC1D,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,kDAAkD;IAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,kDAAkD;IAClD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,qCAAqC;IACrC,KAAK,EAAE,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"random-priority.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/random-priority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,0DAA0D;IAC1D,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,kDAAkD;IAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,kDAAkD;IAClD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,qCAAqC;IACrC,KAAK,EAAE,mBAAmB,CAAC;IAE3B,mEAAmE;IACnE,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IAEtB,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AA+CD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,uBAAuB,CAAC,CAAC;IAiBpC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAjBvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoE;IAC1F,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IAEpE;;;;;;;OAOG;gBAEe,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE,EACzC,IAAI,SAAK;IA2BV;;;;;;OAMG;IACG,GAAG,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAuF1C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkCvB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAWlB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CASvB"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { GraphExpander } from '../../interfaces/graph-expander';
|
|
2
|
+
/**
|
|
3
|
+
* Generic expansion result type - compatible with all baseline results.
|
|
4
|
+
*/
|
|
5
|
+
export interface ExpansionResult {
|
|
6
|
+
/** Union of all nodes visited during expansion */
|
|
7
|
+
sampledNodes: Set<string>;
|
|
8
|
+
/** Set of edges visited during expansion */
|
|
9
|
+
sampledEdges: Set<string>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Result from retroactive path enumeration.
|
|
13
|
+
*/
|
|
14
|
+
export interface RetroactivePathEnumerationResult {
|
|
15
|
+
/** All simple paths found between seed pairs */
|
|
16
|
+
paths: Array<{
|
|
17
|
+
fromSeed: number;
|
|
18
|
+
toSeed: number;
|
|
19
|
+
nodes: string[];
|
|
20
|
+
}>;
|
|
21
|
+
/** Statistics about enumeration */
|
|
22
|
+
stats: RetroactivePathEnumerationStats;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Statistics collected during retroactive path enumeration.
|
|
26
|
+
*/
|
|
27
|
+
export interface RetroactivePathEnumerationStats {
|
|
28
|
+
/** Total simple paths enumerated */
|
|
29
|
+
totalPaths: number;
|
|
30
|
+
/** Number of seed pairs processed */
|
|
31
|
+
seedPairsProcessed: number;
|
|
32
|
+
/** Average paths per seed pair */
|
|
33
|
+
avgPathsPerPair: number;
|
|
34
|
+
/** Path length distribution */
|
|
35
|
+
pathLengthDistribution: Map<number, number>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Retroactive Path Enumeration
|
|
39
|
+
*
|
|
40
|
+
* Post-processing function that takes ANY expansion result (from BFS,
|
|
41
|
+
* degree-prioritised, random, etc.) and enumerates ALL simple paths
|
|
42
|
+
* through the discovered subgraph.
|
|
43
|
+
*
|
|
44
|
+
* **Key Properties**:
|
|
45
|
+
* - Works with any expansion result (union of sampled nodes)
|
|
46
|
+
* - Uses DFS with backtracking to find all simple paths
|
|
47
|
+
* - Depth-limited for tractability on large subgraphs
|
|
48
|
+
* - Pure post-processing (doesn't modify original expansion)
|
|
49
|
+
*
|
|
50
|
+
* **Experimental Purpose**:
|
|
51
|
+
* Disentangles path discovery mechanism from path enumeration completeness.
|
|
52
|
+
* Tests whether different expansion strategies produce subgraphs with
|
|
53
|
+
* different path densities or diversity, independent of online path detection.
|
|
54
|
+
*
|
|
55
|
+
* **Use Case**:
|
|
56
|
+
* Compare path diversity across expansion strategies after exhaustive
|
|
57
|
+
* enumeration. If Strategy A finds more paths than Strategy B retroactively,
|
|
58
|
+
* A's subgraph is structurally richer (not just faster to converge).
|
|
59
|
+
*
|
|
60
|
+
* **Note**: This can be expensive on dense subgraphs. Use maxLength to
|
|
61
|
+
* control tractability.
|
|
62
|
+
*/
|
|
63
|
+
/**
|
|
64
|
+
* Enumerate all simple paths between seed pairs in a sampled subgraph.
|
|
65
|
+
*
|
|
66
|
+
* @param result - Expansion result containing sampledNodes
|
|
67
|
+
* @param expander - Graph expander providing neighbour access
|
|
68
|
+
* @param seeds - Array of seed node IDs (N >= 2)
|
|
69
|
+
* @param maxLength - Maximum path length to explore (default: 20)
|
|
70
|
+
* @returns Enumeration results including all discovered paths
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* // Run standard BFS
|
|
75
|
+
* const bfsExpansion = new StandardBfsExpansion(expander, seeds);
|
|
76
|
+
* const bfsResult = await bfsExpansion.run();
|
|
77
|
+
*
|
|
78
|
+
* // Retroactively enumerate all paths through BFS subgraph
|
|
79
|
+
* const enumResult = await retroactivePathEnumeration(
|
|
80
|
+
* bfsResult,
|
|
81
|
+
* expander,
|
|
82
|
+
* seeds,
|
|
83
|
+
* 20
|
|
84
|
+
* );
|
|
85
|
+
*
|
|
86
|
+
* console.log(`BFS found ${bfsResult.paths.length} paths online`);
|
|
87
|
+
* console.log(`Retroactive enumeration found ${enumResult.paths.length} paths`);
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
export declare const retroactivePathEnumeration: <T>(result: ExpansionResult, expander: GraphExpander<T>, seeds: readonly string[], maxLength?: number) => Promise<RetroactivePathEnumerationResult>;
|
|
91
|
+
//# sourceMappingURL=retroactive-path-enum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retroactive-path-enum.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/retroactive-path-enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,kDAAkD;IAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAChD,gDAAgD;IAChD,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,mCAAmC;IACnC,KAAK,EAAE,+BAA+B,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC/C,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAE3B,kCAAkC;IAClC,eAAe,EAAE,MAAM,CAAC;IAExB,+BAA+B;IAC/B,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,0BAA0B,GAAU,CAAC,EAAE,QAAQ,eAAe,EAAE,UAAU,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,EAAE,EAAE,kBAAc,KAAG,OAAO,CAAC,gCAAgC,CAoD3L,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Graph } from '../../algorithms/graph/graph';
|
|
2
|
+
import { RankedPath } from '../../algorithms/pathfinding/path-ranking';
|
|
3
|
+
import { Edge, Node } from '../../algorithms/types/graph';
|
|
4
|
+
import { Option } from '../../algorithms/types/option';
|
|
5
|
+
import { Result } from '../../algorithms/types/result';
|
|
6
|
+
/**
|
|
7
|
+
* Configuration for shortest path ranking.
|
|
8
|
+
*/
|
|
9
|
+
export interface ShortestPathConfig {
|
|
10
|
+
/**
|
|
11
|
+
* Traversal mode for path finding.
|
|
12
|
+
*/
|
|
13
|
+
traversalMode?: "directed" | "undirected";
|
|
14
|
+
/**
|
|
15
|
+
* Maximum number of paths to return.
|
|
16
|
+
*/
|
|
17
|
+
maxPaths?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Rank paths between two nodes by shortest path length.
|
|
21
|
+
*
|
|
22
|
+
* This baseline ranks paths purely by their length, with shorter paths
|
|
23
|
+
* receiving higher scores. The score is computed as 1/(length + 1).
|
|
24
|
+
*
|
|
25
|
+
* Time Complexity: O(V + E) for BFS
|
|
26
|
+
* Space Complexity: O(V + E) for predecessor tracking
|
|
27
|
+
*
|
|
28
|
+
* @template N - Node type
|
|
29
|
+
* @template E - Edge type
|
|
30
|
+
* @param graph - The graph to search
|
|
31
|
+
* @param startId - Source node ID
|
|
32
|
+
* @param endId - Target node ID
|
|
33
|
+
* @param config - Optional configuration
|
|
34
|
+
* @returns Result containing ranked paths or error
|
|
35
|
+
*/
|
|
36
|
+
export declare const shortestPathRanking: <N extends Node, E extends Edge>(graph: Graph<N, E>, startId: string, endId: string, config?: ShortestPathConfig) => Result<Option<RankedPath<N, E>[]>, {
|
|
37
|
+
type: string;
|
|
38
|
+
message: string;
|
|
39
|
+
}>;
|
|
40
|
+
//# sourceMappingURL=shortest-path-ranking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shortest-path-ranking.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/shortest-path-ranking.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAE5E,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAQ,KAAK,MAAM,EAAQ,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAyID;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EACjE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,SAAS,MAAM,EACf,OAAO,MAAM,EACb,SAAQ,kBAAuB,KAC7B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA2CtE,CAAC"}
|
|
@@ -17,6 +17,11 @@ export interface StandardBfsResult {
|
|
|
17
17
|
visitedPerFrontier: Array<Set<string>>;
|
|
18
18
|
/** Statistics about the expansion */
|
|
19
19
|
stats: BfsExpansionStats;
|
|
20
|
+
/**
|
|
21
|
+
* Maps each sampled node to the iteration when it was first discovered.
|
|
22
|
+
* Used for computing coverage efficiency metrics.
|
|
23
|
+
*/
|
|
24
|
+
nodeDiscoveryIteration: Map<string, number>;
|
|
20
25
|
}
|
|
21
26
|
/**
|
|
22
27
|
* Statistics collected during BFS expansion.
|
|
@@ -56,6 +61,8 @@ export declare class StandardBfsExpansion<T> {
|
|
|
56
61
|
private readonly paths;
|
|
57
62
|
private readonly sampledEdges;
|
|
58
63
|
private stats;
|
|
64
|
+
/** Tracks when each node was first discovered (iteration number) */
|
|
65
|
+
private readonly nodeDiscoveryIteration;
|
|
59
66
|
/**
|
|
60
67
|
* Create a new standard BFS expansion.
|
|
61
68
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-bfs.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/standard-bfs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,0DAA0D;IAC1D,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,kDAAkD;IAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,kDAAkD;IAClD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,qCAAqC;IACrC,KAAK,EAAE,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"standard-bfs.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/standard-bfs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,0DAA0D;IAC1D,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,kDAAkD;IAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,kDAAkD;IAClD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,qCAAqC;IACrC,KAAK,EAAE,iBAAiB,CAAC;IAEzB;;;OAGG;IACH,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IAEtB,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAoBD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,oBAAoB,CAAC,CAAC;IAgBjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAhBvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoE;IAC1F,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,KAAK,CAAoB;IACjC,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IAEpE;;;;;;OAMG;gBAEe,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE;IA2B1C;;;;;;OAMG;IACG,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAqFvC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkCvB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAWlB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CASvB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Algorithm evaluation harness test.
|
|
3
|
+
*
|
|
4
|
+
* Runs all algorithms on all fixtures and outputs detailed metrics for comparison.
|
|
5
|
+
* This test focuses on BEHAVIOUR rather than raw performance:
|
|
6
|
+
*
|
|
7
|
+
* - Correctness: Do algorithms find valid paths?
|
|
8
|
+
* - Exploration efficiency: How many nodes/edges are expanded?
|
|
9
|
+
* - Search behaviour: How does traversal order differ?
|
|
10
|
+
* - Diversity: How varied are the discovered paths?
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=evaluation.exp.integration.test.d.ts.map
|
package/dist/experiments/evaluation/__tests__/harness/evaluation.exp.integration.test.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluation.exp.integration.test.d.ts","sourceRoot":"","sources":["../../../../../src/experiments/evaluation/__tests__/harness/evaluation.exp.integration.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { AlgorithmRunResult, GraphFixture } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Algorithm configuration.
|
|
4
|
+
*/
|
|
5
|
+
interface AlgorithmConfig {
|
|
6
|
+
/** Display name */
|
|
7
|
+
name: string;
|
|
8
|
+
/** Factory to create the algorithm */
|
|
9
|
+
create: (expander: import('../../../../interfaces/graph-expander').GraphExpander<unknown>, seeds: readonly string[]) => {
|
|
10
|
+
run: () => Promise<{
|
|
11
|
+
paths: Array<{
|
|
12
|
+
fromSeed: number;
|
|
13
|
+
toSeed: number;
|
|
14
|
+
nodes: string[];
|
|
15
|
+
}>;
|
|
16
|
+
sampledNodes: Set<string>;
|
|
17
|
+
sampledEdges: Set<string>;
|
|
18
|
+
stats: {
|
|
19
|
+
nodesExpanded: number;
|
|
20
|
+
edgesTraversed: number;
|
|
21
|
+
iterations: number;
|
|
22
|
+
degreeDistribution: Map<string, number>;
|
|
23
|
+
};
|
|
24
|
+
}>;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* All algorithms to evaluate.
|
|
29
|
+
*/
|
|
30
|
+
export declare const algorithms: AlgorithmConfig[];
|
|
31
|
+
/**
|
|
32
|
+
* Run a single algorithm on a single graph with given seeds.
|
|
33
|
+
* @param algorithm
|
|
34
|
+
* @param fixture
|
|
35
|
+
* @param seeds
|
|
36
|
+
*/
|
|
37
|
+
export declare const runAlgorithmOnGraph: (algorithm: AlgorithmConfig, fixture: GraphFixture, seeds: string[]) => Promise<AlgorithmRunResult>;
|
|
38
|
+
/**
|
|
39
|
+
* Run full evaluation: all algorithms × all fixtures × all seed configurations.
|
|
40
|
+
*/
|
|
41
|
+
export declare const runFullEvaluation: () => Promise<{
|
|
42
|
+
results: AlgorithmRunResult[];
|
|
43
|
+
summary: {
|
|
44
|
+
totalRuns: number;
|
|
45
|
+
fixtures: number;
|
|
46
|
+
algorithms: number;
|
|
47
|
+
};
|
|
48
|
+
}>;
|
|
49
|
+
/**
|
|
50
|
+
* Format results for JSON output.
|
|
51
|
+
* @param results
|
|
52
|
+
*/
|
|
53
|
+
export declare const formatResultsForJson: (results: AlgorithmRunResult[]) => string;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=evaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../../../src/experiments/evaluation/__tests__/harness/evaluator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,kBAAkB,EAAoB,YAAY,EAAc,MAAM,SAAS,CAAC;AAE9F;;GAEG;AACH,UAAU,eAAe;IACxB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,MAAM,EAAE,CACP,QAAQ,EAAE,OAAO,kCAAkC,EAAE,aAAa,CAAC,OAAO,CAAC,EAC3E,KAAK,EAAE,SAAS,MAAM,EAAE,KACpB;QACJ,GAAG,EAAE,MAAM,OAAO,CAAC;YAClB,KAAK,EAAE,KAAK,CAAC;gBAAE,QAAQ,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,EAAE,CAAA;aAAE,CAAC,CAAC;YACpE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1B,KAAK,EAAE;gBACN,aAAa,EAAE,MAAM,CAAC;gBACtB,cAAc,EAAE,MAAM,CAAC;gBACvB,UAAU,EAAE,MAAM,CAAC;gBACnB,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aACxC,CAAC;SACF,CAAC,CAAC;KACH,CAAC;CACF;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,eAAe,EAiBvC,CAAC;AAyJF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAU,WAAW,eAAe,EAAE,SAAS,YAAY,EAAE,OAAO,MAAM,EAAE,KAAG,OAAO,CAAC,kBAAkB,CAkDxI,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC;IAClD,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,OAAO,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;CACF,CA+BA,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,kBAAkB,EAAE,KAAG,MA2BpE,CAAC"}
|