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,56 @@
|
|
|
1
|
+
import { EvaluationClaim } from 'ppef/types/claims';
|
|
2
|
+
/**
|
|
3
|
+
* Ranking Claims for Path Salience evaluation.
|
|
4
|
+
* Tests whether information-theoretic ranking outperforms baseline methods.
|
|
5
|
+
*/
|
|
6
|
+
declare const RANKING_CLAIMS: EvaluationClaim[];
|
|
7
|
+
/**
|
|
8
|
+
* Community Detection Claims for Louvain evaluation.
|
|
9
|
+
* Tests structural decomposition quality on benchmark graphs.
|
|
10
|
+
*/
|
|
11
|
+
declare const COMMUNITY_DETECTION_CLAIMS: EvaluationClaim[];
|
|
12
|
+
/**
|
|
13
|
+
* K-Core Decomposition Claims.
|
|
14
|
+
* Tests hierarchical structure identification on benchmark graphs.
|
|
15
|
+
*/
|
|
16
|
+
declare const KCORE_CLAIMS: EvaluationClaim[];
|
|
17
|
+
/**
|
|
18
|
+
* Thesis claims for GraphBox evaluation.
|
|
19
|
+
*
|
|
20
|
+
* Each claim represents a testable hypothesis about algorithm performance.
|
|
21
|
+
*/
|
|
22
|
+
export declare const THESIS_CLAIMS: EvaluationClaim[];
|
|
23
|
+
/**
|
|
24
|
+
* Get claims by tag.
|
|
25
|
+
*
|
|
26
|
+
* @param tag - Tag to filter by
|
|
27
|
+
* @returns Matching claims
|
|
28
|
+
*/
|
|
29
|
+
export declare const getClaimsByTag: (tag: string) => EvaluationClaim[];
|
|
30
|
+
/**
|
|
31
|
+
* Get core claims (most important for thesis).
|
|
32
|
+
*/
|
|
33
|
+
export declare const getCoreClaims: () => EvaluationClaim[];
|
|
34
|
+
/**
|
|
35
|
+
* Get claims for a specific SUT.
|
|
36
|
+
*
|
|
37
|
+
* @param sutId - SUT identifier
|
|
38
|
+
* @returns Claims where SUT is primary
|
|
39
|
+
*/
|
|
40
|
+
export declare const getClaimsBySut: (sutId: string) => EvaluationClaim[];
|
|
41
|
+
/**
|
|
42
|
+
* Get claims for a specific baseline.
|
|
43
|
+
*
|
|
44
|
+
* @param baselineId - Baseline SUT identifier
|
|
45
|
+
* @returns Claims comparing against this baseline
|
|
46
|
+
*/
|
|
47
|
+
export declare const getClaimsByBaseline: (baselineId: string) => EvaluationClaim[];
|
|
48
|
+
/**
|
|
49
|
+
* Get claim by ID.
|
|
50
|
+
*
|
|
51
|
+
* @param claimId - Claim identifier
|
|
52
|
+
* @returns Claim or undefined
|
|
53
|
+
*/
|
|
54
|
+
export declare const getClaim: (claimId: string) => EvaluationClaim | undefined;
|
|
55
|
+
export { COMMUNITY_DETECTION_CLAIMS, KCORE_CLAIMS, RANKING_CLAIMS };
|
|
56
|
+
//# sourceMappingURL=claims.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../src/domain/claims.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;GAGG;AACH,QAAA,MAAM,cAAc,EAAE,eAAe,EAyCpC,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,0BAA0B,EAAE,eAAe,EAsBhD,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,YAAY,EAAE,eAAe,EAwBlC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,eAAe,EA8J1C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,eAAe,EAAwD,CAAC;AAErH;;GAEG;AACH,eAAO,MAAM,aAAa,QAAO,eAAe,EAA4B,CAAC;AAE7E;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,eAAe,EAAkD,CAAC;AAEjH;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,YAAY,MAAM,KAAG,eAAe,EAA4D,CAAC;AAErI;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,KAAG,eAAe,GAAG,SAA6D,CAAC;AAG3H,OAAO,EAAE,0BAA0B,EAAE,YAAY,EAAC,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain Module
|
|
3
|
+
*
|
|
4
|
+
* GraphBox-specific claims and table specifications.
|
|
5
|
+
*/
|
|
6
|
+
export { getClaim, getClaimsByBaseline, getClaimsBySut, getClaimsByTag, getCoreClaims, RANKING_CLAIMS, THESIS_CLAIMS, } from './claims.js';
|
|
7
|
+
export { getTableSpec, TABLE_SPECS } from './tables.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACN,QAAQ,EACR,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAC,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { TableRenderSpec } from 'ppef/renderers/types';
|
|
2
|
+
/**
|
|
3
|
+
* Runtime performance table specification.
|
|
4
|
+
*/
|
|
5
|
+
export declare const RUNTIME_PERFORMANCE_SPEC: TableRenderSpec;
|
|
6
|
+
/**
|
|
7
|
+
* Path lengths table specification.
|
|
8
|
+
*/
|
|
9
|
+
export declare const PATH_LENGTHS_SPEC: TableRenderSpec;
|
|
10
|
+
/**
|
|
11
|
+
* Method ranking table specification.
|
|
12
|
+
*/
|
|
13
|
+
export declare const METHOD_RANKING_SPEC: TableRenderSpec;
|
|
14
|
+
/**
|
|
15
|
+
* N-seed comparison table specification.
|
|
16
|
+
*/
|
|
17
|
+
export declare const N_SEED_COMPARISON_SPEC: TableRenderSpec;
|
|
18
|
+
/**
|
|
19
|
+
* Hub traversal table specification.
|
|
20
|
+
*/
|
|
21
|
+
export declare const HUB_TRAVERSAL_SPEC: TableRenderSpec;
|
|
22
|
+
/**
|
|
23
|
+
* Hub-avoidance metrics table specification.
|
|
24
|
+
*
|
|
25
|
+
* Displays hub-avoidance metrics comparing degree-prioritised vs BFS.
|
|
26
|
+
* Key insight: path diversity is hub-biased, while these metrics directly
|
|
27
|
+
* measure the hub-avoidance design goal of degree-prioritised.
|
|
28
|
+
*
|
|
29
|
+
* Shows N=3 (multi-seed) variant where DP efficiency difference is most pronounced.
|
|
30
|
+
*/
|
|
31
|
+
export declare const HUB_AVOIDANCE_SPEC: TableRenderSpec;
|
|
32
|
+
/**
|
|
33
|
+
* N-seed generalization table specification.
|
|
34
|
+
*/
|
|
35
|
+
export declare const N_SEED_GENERALIZATION_SPEC: TableRenderSpec;
|
|
36
|
+
/**
|
|
37
|
+
* MI ranking quality table specification.
|
|
38
|
+
*/
|
|
39
|
+
export declare const MI_RANKING_QUALITY_SPEC: TableRenderSpec;
|
|
40
|
+
/**
|
|
41
|
+
* Statistical significance table specification.
|
|
42
|
+
*/
|
|
43
|
+
export declare const STATISTICAL_SIGNIFICANCE_SPEC: TableRenderSpec;
|
|
44
|
+
/**
|
|
45
|
+
* Ranking comparison table specification.
|
|
46
|
+
*
|
|
47
|
+
* Compares Path Salience ranking against baseline methods (random, shortest-path).
|
|
48
|
+
* Shows mean MI, node coverage, and path diversity across test graphs.
|
|
49
|
+
*/
|
|
50
|
+
export declare const RANKING_COMPARISON_SPEC: TableRenderSpec;
|
|
51
|
+
/**
|
|
52
|
+
* Ranking statistical significance table specification.
|
|
53
|
+
*
|
|
54
|
+
* Wilcoxon signed-rank test results for Path Salience vs baseline methods.
|
|
55
|
+
*/
|
|
56
|
+
export declare const RANKING_SIGNIFICANCE_SPEC: TableRenderSpec;
|
|
57
|
+
/**
|
|
58
|
+
* All table specifications.
|
|
59
|
+
*/
|
|
60
|
+
export declare const TABLE_SPECS: TableRenderSpec[];
|
|
61
|
+
/**
|
|
62
|
+
* Get table specification by ID.
|
|
63
|
+
* @param id
|
|
64
|
+
*/
|
|
65
|
+
export declare const getTableSpec: (id: string) => TableRenderSpec | undefined;
|
|
66
|
+
//# sourceMappingURL=tables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../src/domain/tables.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAkD5D;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,eA2DtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAiB/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,eA0BjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,eAwCpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAmBhC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAkDhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,eAexC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,eAuBrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,eAqC3C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,eAgDrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,eAiDvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,eAAe,EAYxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,IAAI,MAAM,KAAG,eAAe,GAAG,SAAuD,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 betweenness ranking.
|
|
8
|
+
*/
|
|
9
|
+
export interface BetweennessConfig {
|
|
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 betweenness centrality.
|
|
21
|
+
*
|
|
22
|
+
* This baseline ranks paths by the sum of betweenness centrality values
|
|
23
|
+
* of nodes along the path. Paths through highly central nodes receive
|
|
24
|
+
* 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 betweenness-ranked paths or error
|
|
33
|
+
*/
|
|
34
|
+
export declare const betweennessRanking: <N extends Node, E extends Edge>(graph: Graph<N, E>, startId: string, endId: string, config?: BetweennessConfig) => Result<Option<RankedPath<N, E>[]>, {
|
|
35
|
+
type: string;
|
|
36
|
+
message: string;
|
|
37
|
+
}>;
|
|
38
|
+
//# sourceMappingURL=betweenness-ranking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"betweenness-ranking.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/betweenness-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,iBAAiB;IACjC;;OAEG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAkSD;;;;;;;;;;;;;;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,iBAAsB,KAC5B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAiDtE,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { GraphExpander } from '../../interfaces/graph-expander';
|
|
2
|
+
/**
|
|
3
|
+
* Result from cross-seed-affinity expansion.
|
|
4
|
+
*/
|
|
5
|
+
export interface CrossSeedAffinityResult {
|
|
6
|
+
/** Discovered paths (only populated when N >= 2 seeds) */
|
|
7
|
+
paths: Array<{
|
|
8
|
+
fromSeed: number;
|
|
9
|
+
toSeed: number;
|
|
10
|
+
nodes: string[];
|
|
11
|
+
}>;
|
|
12
|
+
/** Union of all nodes visited by all frontiers */
|
|
13
|
+
sampledNodes: Set<string>;
|
|
14
|
+
/** Set of edges visited during expansion */
|
|
15
|
+
sampledEdges: Set<string>;
|
|
16
|
+
/** Per-frontier visited sets (for diagnostics) */
|
|
17
|
+
visitedPerFrontier: Array<Set<string>>;
|
|
18
|
+
/** Statistics about the expansion */
|
|
19
|
+
stats: CrossSeedAffinityStats;
|
|
20
|
+
/** Maps node ID to the iteration when it was first discovered */
|
|
21
|
+
nodeDiscoveryIteration: Map<string, number>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Statistics collected during cross-seed-affinity expansion.
|
|
25
|
+
*/
|
|
26
|
+
export interface CrossSeedAffinityStats {
|
|
27
|
+
/** Total nodes expanded (popped from frontiers) */
|
|
28
|
+
nodesExpanded: number;
|
|
29
|
+
/** Total edges traversed */
|
|
30
|
+
edgesTraversed: number;
|
|
31
|
+
/** Iterations (single node expansions) performed */
|
|
32
|
+
iterations: number;
|
|
33
|
+
/** Breakdown of nodes by degree ranges */
|
|
34
|
+
degreeDistribution: Map<string, number>;
|
|
35
|
+
/** Distribution of frontier visit counts */
|
|
36
|
+
frontierVisitDistribution: Map<number, number>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Cross-Seed-Affinity Bidirectional Expansion
|
|
40
|
+
*
|
|
41
|
+
* Baseline algorithm that prioritises nodes based on their cross-frontier
|
|
42
|
+
* visibility. Nodes visited by multiple frontiers receive lower priority
|
|
43
|
+
* (deferred expansion) relative to their degree, testing whether avoiding
|
|
44
|
+
* "convergence zones" improves path diversity.
|
|
45
|
+
*
|
|
46
|
+
* **Priority Formula**:
|
|
47
|
+
* π(v) = deg(v) / (1 + frontierCount(v))
|
|
48
|
+
*
|
|
49
|
+
* where frontierCount(v) is the number of frontiers that have visited node v.
|
|
50
|
+
*
|
|
51
|
+
* **Key Properties**:
|
|
52
|
+
* - Prioritises low-degree nodes (like degree-prioritised)
|
|
53
|
+
* - Further deprioritises nodes in multiple frontiers' visited sets
|
|
54
|
+
* - Avoids convergence zones where frontiers would naturally meet
|
|
55
|
+
* - Tests hypothesis: "Does deferring shared nodes improve diversity?"
|
|
56
|
+
*
|
|
57
|
+
* **Experimental Purpose**:
|
|
58
|
+
* If cross-seed-affinity achieves better path diversity than simple
|
|
59
|
+
* degree-prioritised expansion, this suggests frontier interaction awareness
|
|
60
|
+
* is important. If not, simple degree ordering suffices.
|
|
61
|
+
*
|
|
62
|
+
* @template T - Type of node data returned by expander
|
|
63
|
+
*/
|
|
64
|
+
export declare class CrossSeedAffinityExpansion<T> {
|
|
65
|
+
private readonly expander;
|
|
66
|
+
private readonly seeds;
|
|
67
|
+
private readonly frontiers;
|
|
68
|
+
private readonly paths;
|
|
69
|
+
private readonly sampledEdges;
|
|
70
|
+
private readonly frontierVisitCounts;
|
|
71
|
+
private stats;
|
|
72
|
+
private readonly nodeDiscoveryIteration;
|
|
73
|
+
/**
|
|
74
|
+
* Create a new cross-seed-affinity expansion.
|
|
75
|
+
*
|
|
76
|
+
* @param expander - Graph expander providing neighbour access
|
|
77
|
+
* @param seeds - Array of seed node IDs (N >= 1)
|
|
78
|
+
* @throws Error if no seeds provided
|
|
79
|
+
*/
|
|
80
|
+
constructor(expander: GraphExpander<T>, seeds: readonly string[]);
|
|
81
|
+
/**
|
|
82
|
+
* Run the expansion to completion.
|
|
83
|
+
*
|
|
84
|
+
* Terminates when all frontiers are exhausted (no unexpanded nodes remain).
|
|
85
|
+
*
|
|
86
|
+
* @returns Expansion results including paths and sampled subgraph
|
|
87
|
+
*/
|
|
88
|
+
run(): Promise<CrossSeedAffinityResult>;
|
|
89
|
+
/**
|
|
90
|
+
* Compute cross-seed-affinity priority for a node.
|
|
91
|
+
* Priority: π(v) = deg(v) / (1 + frontierCount(v))
|
|
92
|
+
*
|
|
93
|
+
* Lower degree = higher base priority (like degree-prioritised).
|
|
94
|
+
* Nodes in more frontiers get penalised (lower effective priority).
|
|
95
|
+
*
|
|
96
|
+
* @param nodeId - Node to compute priority for
|
|
97
|
+
* @returns Priority value (higher = should expand sooner)
|
|
98
|
+
* @internal
|
|
99
|
+
*/
|
|
100
|
+
private computeCrossSeedAffinityPriority;
|
|
101
|
+
/**
|
|
102
|
+
* Check if any frontier has unexpanded nodes.
|
|
103
|
+
* @internal
|
|
104
|
+
*/
|
|
105
|
+
private hasNonEmptyFrontier;
|
|
106
|
+
/**
|
|
107
|
+
* Select the next frontier with items (round-robin).
|
|
108
|
+
* Returns -1 if all frontiers are empty.
|
|
109
|
+
* @internal
|
|
110
|
+
*/
|
|
111
|
+
private selectNextFrontier;
|
|
112
|
+
/**
|
|
113
|
+
* Reconstruct path from meeting point between two frontiers.
|
|
114
|
+
* @param stateA
|
|
115
|
+
* @param stateB
|
|
116
|
+
* @param meetingNode
|
|
117
|
+
* @internal
|
|
118
|
+
*/
|
|
119
|
+
private reconstructPath;
|
|
120
|
+
/**
|
|
121
|
+
* Check if an equivalent path already exists.
|
|
122
|
+
* @param fromSeed
|
|
123
|
+
* @param toSeed
|
|
124
|
+
* @param nodes
|
|
125
|
+
* @internal
|
|
126
|
+
*/
|
|
127
|
+
private pathExists;
|
|
128
|
+
/**
|
|
129
|
+
* Record degree in distribution histogram.
|
|
130
|
+
* @param degree
|
|
131
|
+
* @internal
|
|
132
|
+
*/
|
|
133
|
+
private recordDegree;
|
|
134
|
+
/**
|
|
135
|
+
* Get histogram bucket for a degree value.
|
|
136
|
+
* @param degree
|
|
137
|
+
* @internal
|
|
138
|
+
*/
|
|
139
|
+
private getDegreeBucket;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=cross-seed-affinity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-seed-affinity.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/cross-seed-affinity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,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,sBAAsB,CAAC;IAE9B,iEAAiE;IACjE,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,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,4CAA4C;IAC5C,yBAAyB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,0BAA0B,CAAC,CAAC;IAgBvC,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,QAAQ,CAAC,mBAAmB,CAA6B;IACjE,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IAEpE;;;;;;OAMG;gBAEe,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE;IA6B1C;;;;;;OAMG;IACG,GAAG,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAuG7C;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gCAAgC;IASxC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;;;;;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,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 degree sum ranking.
|
|
8
|
+
*/
|
|
9
|
+
export interface DegreeRankingConfig {
|
|
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 sum of node degrees.
|
|
21
|
+
*
|
|
22
|
+
* This baseline ranks paths by the sum of degrees of all nodes
|
|
23
|
+
* along the path. Paths through high-degree (well-connected) nodes
|
|
24
|
+
* 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 degree-ranked paths or error
|
|
33
|
+
*/
|
|
34
|
+
export declare const degreeSumRanking: <N extends Node, E extends Edge>(graph: Graph<N, E>, startId: string, endId: string, config?: DegreeRankingConfig) => Result<Option<RankedPath<N, E>[]>, {
|
|
35
|
+
type: string;
|
|
36
|
+
message: string;
|
|
37
|
+
}>;
|
|
38
|
+
//# sourceMappingURL=degree-sum-ranking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"degree-sum-ranking.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/degree-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,mBAAmB;IACnC;;OAEG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAuID;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EAC9D,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,SAAS,MAAM,EACf,OAAO,MAAM,EACb,SAAQ,mBAAwB,KAC9B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAiDtE,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { GraphExpander } from '../../interfaces/graph-expander';
|
|
2
|
+
/**
|
|
3
|
+
* Result from degree-surprise expansion.
|
|
4
|
+
*/
|
|
5
|
+
export interface DegreeSurpriseResult {
|
|
6
|
+
/** Discovered paths (only populated when N >= 2 seeds) */
|
|
7
|
+
paths: Array<{
|
|
8
|
+
fromSeed: number;
|
|
9
|
+
toSeed: number;
|
|
10
|
+
nodes: string[];
|
|
11
|
+
}>;
|
|
12
|
+
/** Union of all nodes visited by all frontiers */
|
|
13
|
+
sampledNodes: Set<string>;
|
|
14
|
+
/** Set of edges visited during expansion */
|
|
15
|
+
sampledEdges: Set<string>;
|
|
16
|
+
/** Per-frontier visited sets (for diagnostics) */
|
|
17
|
+
visitedPerFrontier: Array<Set<string>>;
|
|
18
|
+
/** Statistics about the expansion */
|
|
19
|
+
stats: DegreeSurpriseStats;
|
|
20
|
+
/** Map from node ID to the iteration when it was first discovered */
|
|
21
|
+
nodeDiscoveryIteration: Map<string, number>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Statistics collected during degree-surprise expansion.
|
|
25
|
+
*/
|
|
26
|
+
export interface DegreeSurpriseStats {
|
|
27
|
+
/** Total nodes expanded (popped from frontiers) */
|
|
28
|
+
nodesExpanded: number;
|
|
29
|
+
/** Total edges traversed */
|
|
30
|
+
edgesTraversed: number;
|
|
31
|
+
/** Iterations (single node expansions) performed */
|
|
32
|
+
iterations: number;
|
|
33
|
+
/** Breakdown of nodes by degree ranges */
|
|
34
|
+
degreeDistribution: Map<string, number>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Degree-Surprise Bidirectional Expansion
|
|
38
|
+
*
|
|
39
|
+
* Baseline algorithm that prioritises nodes whose degree deviates most from
|
|
40
|
+
* the local degree expectation of their neighbourhood. This tests whether
|
|
41
|
+
* local structural anomalies provide better sampling than raw degree values.
|
|
42
|
+
*
|
|
43
|
+
* **Priority Formula**:
|
|
44
|
+
* π(v) = |deg(v) - E[deg(N(v))]| / std[deg(N(v))]
|
|
45
|
+
*
|
|
46
|
+
* where N(v) are the neighbours of v, E[·] is expectation, std[·] is standard deviation.
|
|
47
|
+
*
|
|
48
|
+
* **Key Properties**:
|
|
49
|
+
* - Prioritises nodes that are structural outliers in their local neighbourhood
|
|
50
|
+
* - Low-degree nodes in high-degree regions get high priority (and vice versa)
|
|
51
|
+
* - Requires computing local degree statistics for each frontier node
|
|
52
|
+
* - Terminates when all frontiers exhausted
|
|
53
|
+
*
|
|
54
|
+
* **Experimental Purpose**:
|
|
55
|
+
* Compare local structural anomaly detection (degree surprise) against
|
|
56
|
+
* global degree ordering (degree-prioritised expansion). If degree-surprise
|
|
57
|
+
* achieves similar path diversity, local context matters more than global degree.
|
|
58
|
+
*
|
|
59
|
+
* @template T - Type of node data returned by expander
|
|
60
|
+
*/
|
|
61
|
+
export declare class DegreeSurpriseExpansion<T> {
|
|
62
|
+
private readonly expander;
|
|
63
|
+
private readonly seeds;
|
|
64
|
+
private readonly frontiers;
|
|
65
|
+
private readonly paths;
|
|
66
|
+
private readonly sampledEdges;
|
|
67
|
+
private stats;
|
|
68
|
+
private readonly nodeDiscoveryIteration;
|
|
69
|
+
/**
|
|
70
|
+
* Create a new degree-surprise expansion.
|
|
71
|
+
*
|
|
72
|
+
* @param expander - Graph expander providing neighbour access
|
|
73
|
+
* @param seeds - Array of seed node IDs (N >= 1)
|
|
74
|
+
* @throws Error if no seeds provided
|
|
75
|
+
*/
|
|
76
|
+
constructor(expander: GraphExpander<T>, seeds: readonly string[]);
|
|
77
|
+
/**
|
|
78
|
+
* Run the expansion to completion.
|
|
79
|
+
*
|
|
80
|
+
* Terminates when all frontiers are exhausted (no unexpanded nodes remain).
|
|
81
|
+
*
|
|
82
|
+
* @returns Expansion results including paths and sampled subgraph
|
|
83
|
+
*/
|
|
84
|
+
run(): Promise<DegreeSurpriseResult>;
|
|
85
|
+
/**
|
|
86
|
+
* Compute degree surprise for a node.
|
|
87
|
+
* Priority: π(v) = |deg(v) - E[deg(N(v))]| / std[deg(N(v))]
|
|
88
|
+
*
|
|
89
|
+
* @param nodeId - Node to compute surprise for
|
|
90
|
+
* @returns Surprise value (higher = more anomalous)
|
|
91
|
+
* @internal
|
|
92
|
+
*/
|
|
93
|
+
private computeDegreeSurprise;
|
|
94
|
+
/**
|
|
95
|
+
* Check if any frontier has unexpanded nodes.
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
private hasNonEmptyFrontier;
|
|
99
|
+
/**
|
|
100
|
+
* Select the next frontier with items (round-robin).
|
|
101
|
+
* Returns -1 if all frontiers are empty.
|
|
102
|
+
* @internal
|
|
103
|
+
*/
|
|
104
|
+
private selectNextFrontier;
|
|
105
|
+
/**
|
|
106
|
+
* Reconstruct path from meeting point between two frontiers.
|
|
107
|
+
* @param stateA
|
|
108
|
+
* @param stateB
|
|
109
|
+
* @param meetingNode
|
|
110
|
+
* @internal
|
|
111
|
+
*/
|
|
112
|
+
private reconstructPath;
|
|
113
|
+
/**
|
|
114
|
+
* Check if an equivalent path already exists.
|
|
115
|
+
* @param fromSeed
|
|
116
|
+
* @param toSeed
|
|
117
|
+
* @param nodes
|
|
118
|
+
* @internal
|
|
119
|
+
*/
|
|
120
|
+
private pathExists;
|
|
121
|
+
/**
|
|
122
|
+
* Record degree in distribution histogram.
|
|
123
|
+
* @param degree
|
|
124
|
+
* @internal
|
|
125
|
+
*/
|
|
126
|
+
private recordDegree;
|
|
127
|
+
/**
|
|
128
|
+
* Get histogram bucket for a degree value.
|
|
129
|
+
* @param degree
|
|
130
|
+
* @internal
|
|
131
|
+
*/
|
|
132
|
+
private getDegreeBucket;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=degree-surprise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"degree-surprise.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/degree-surprise.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,qEAAqE;IACrE,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;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,uBAAuB,CAAC,CAAC;IAepC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAfvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoE;IAC1F,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IAEpE;;;;;;OAMG;gBAEe,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE;IAyB1C;;;;;;OAMG;IACG,GAAG,IAAI,OAAO,CAAC,oBAAoB,CAAC;IA4F1C;;;;;;;OAOG;YACW,qBAAqB;IA2BnC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;;;;;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,138 @@
|
|
|
1
|
+
import { GraphExpander } from '../../interfaces/graph-expander';
|
|
2
|
+
/**
|
|
3
|
+
* Result from delayed-termination expansion.
|
|
4
|
+
*/
|
|
5
|
+
export interface DelayedTerminationResult {
|
|
6
|
+
/** Discovered paths (only populated when N >= 2 seeds) */
|
|
7
|
+
paths: Array<{
|
|
8
|
+
fromSeed: number;
|
|
9
|
+
toSeed: number;
|
|
10
|
+
nodes: string[];
|
|
11
|
+
}>;
|
|
12
|
+
/** Union of all nodes visited by all frontiers */
|
|
13
|
+
sampledNodes: Set<string>;
|
|
14
|
+
/** Set of edges visited during expansion */
|
|
15
|
+
sampledEdges: Set<string>;
|
|
16
|
+
/** Per-frontier visited sets (for diagnostics) */
|
|
17
|
+
visitedPerFrontier: Array<Set<string>>;
|
|
18
|
+
/** Statistics about the expansion */
|
|
19
|
+
stats: DelayedTerminationStats;
|
|
20
|
+
/** Map from node ID to the iteration at which it was first discovered */
|
|
21
|
+
nodeDiscoveryIteration: Map<string, number>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Statistics collected during delayed-termination expansion.
|
|
25
|
+
*/
|
|
26
|
+
export interface DelayedTerminationStats {
|
|
27
|
+
/** Total nodes expanded (popped from frontiers) */
|
|
28
|
+
nodesExpanded: number;
|
|
29
|
+
/** Total edges traversed */
|
|
30
|
+
edgesTraversed: number;
|
|
31
|
+
/** Iterations (single node expansions) performed */
|
|
32
|
+
iterations: number;
|
|
33
|
+
/** Breakdown of nodes by degree ranges */
|
|
34
|
+
degreeDistribution: Map<string, number>;
|
|
35
|
+
/** Iteration at which first overlap was detected */
|
|
36
|
+
firstOverlapIteration: number;
|
|
37
|
+
/** Total additional iterations after first overlap */
|
|
38
|
+
delayedIterations: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Configuration for delayed termination.
|
|
42
|
+
*/
|
|
43
|
+
export interface DelayedTerminationConfig {
|
|
44
|
+
/** Number of additional iterations after first overlap (default: 100) */
|
|
45
|
+
delayIterations: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Delayed-Termination Bidirectional BFS
|
|
49
|
+
*
|
|
50
|
+
* Extends overlap-based termination by continuing expansion for N additional
|
|
51
|
+
* iterations after the first overlap is detected. This baseline tests whether
|
|
52
|
+
* the degree-prioritised algorithm's benefits come from deferred termination
|
|
53
|
+
* rather than the degree heuristic itself.
|
|
54
|
+
*
|
|
55
|
+
* **Key Properties**:
|
|
56
|
+
* - FIFO expansion order (standard BFS)
|
|
57
|
+
* - Detects first overlap between any two frontiers
|
|
58
|
+
* - Continues for N additional iterations after overlap
|
|
59
|
+
* - Tests hypothesis: "Does delayed termination alone improve diversity?"
|
|
60
|
+
*
|
|
61
|
+
* **Experimental Purpose**:
|
|
62
|
+
* If delayed-termination BFS achieves similar path diversity to degree-prioritised
|
|
63
|
+
* expansion, this suggests termination timing (not degree ordering) drives diversity.
|
|
64
|
+
* If degree-prioritised still outperforms delayed BFS, the degree heuristic provides
|
|
65
|
+
* value beyond simply deferring termination.
|
|
66
|
+
*
|
|
67
|
+
* @template T - Type of node data returned by expander
|
|
68
|
+
*/
|
|
69
|
+
export declare class DelayedTerminationExpansion<T> {
|
|
70
|
+
private readonly expander;
|
|
71
|
+
private readonly seeds;
|
|
72
|
+
private readonly config;
|
|
73
|
+
private readonly frontiers;
|
|
74
|
+
private readonly paths;
|
|
75
|
+
private readonly sampledEdges;
|
|
76
|
+
private readonly nodeDiscoveryIteration;
|
|
77
|
+
private stats;
|
|
78
|
+
private firstOverlapIteration;
|
|
79
|
+
private remainingDelayIterations;
|
|
80
|
+
/**
|
|
81
|
+
* Create a new delayed-termination expansion.
|
|
82
|
+
*
|
|
83
|
+
* @param expander - Graph expander providing neighbour access
|
|
84
|
+
* @param seeds - Array of seed node IDs (N >= 1)
|
|
85
|
+
* @param config - Configuration for delay iterations
|
|
86
|
+
* @throws Error if no seeds provided
|
|
87
|
+
*/
|
|
88
|
+
constructor(expander: GraphExpander<T>, seeds: readonly string[], config?: DelayedTerminationConfig);
|
|
89
|
+
/**
|
|
90
|
+
* Run the expansion to completion.
|
|
91
|
+
*
|
|
92
|
+
* Terminates when delay iterations are exhausted after first overlap,
|
|
93
|
+
* or when all frontiers are exhausted (whichever comes first).
|
|
94
|
+
*
|
|
95
|
+
* @returns Expansion results including paths and sampled subgraph
|
|
96
|
+
*/
|
|
97
|
+
run(): Promise<DelayedTerminationResult>;
|
|
98
|
+
/**
|
|
99
|
+
* Check if any frontier has unexpanded nodes.
|
|
100
|
+
* @internal
|
|
101
|
+
*/
|
|
102
|
+
private hasNonEmptyFrontier;
|
|
103
|
+
/**
|
|
104
|
+
* Select the next frontier with items (round-robin).
|
|
105
|
+
* Returns -1 if all frontiers are empty.
|
|
106
|
+
* @internal
|
|
107
|
+
*/
|
|
108
|
+
private selectNextFrontier;
|
|
109
|
+
/**
|
|
110
|
+
* Reconstruct path from meeting point between two frontiers.
|
|
111
|
+
* @param stateA
|
|
112
|
+
* @param stateB
|
|
113
|
+
* @param meetingNode
|
|
114
|
+
* @internal
|
|
115
|
+
*/
|
|
116
|
+
private reconstructPath;
|
|
117
|
+
/**
|
|
118
|
+
* Check if an equivalent path already exists.
|
|
119
|
+
* @param fromSeed
|
|
120
|
+
* @param toSeed
|
|
121
|
+
* @param nodes
|
|
122
|
+
* @internal
|
|
123
|
+
*/
|
|
124
|
+
private pathExists;
|
|
125
|
+
/**
|
|
126
|
+
* Record degree in distribution histogram.
|
|
127
|
+
* @param degree
|
|
128
|
+
* @internal
|
|
129
|
+
*/
|
|
130
|
+
private recordDegree;
|
|
131
|
+
/**
|
|
132
|
+
* Get histogram bucket for a degree value.
|
|
133
|
+
* @param degree
|
|
134
|
+
* @internal
|
|
135
|
+
*/
|
|
136
|
+
private getDegreeBucket;
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=delayed-termination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delayed-termination.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/delayed-termination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC,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,uBAAuB,CAAC;IAE/B,yEAAyE;IACzE,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,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,oDAAoD;IACpD,qBAAqB,EAAE,MAAM,CAAC;IAE9B,sDAAsD;IACtD,iBAAiB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAC;CACxB;AAoBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,2BAA2B,CAAC,CAAC;IAkBxC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAnBxB,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,sBAAsB,CAA6B;IACpE,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,qBAAqB,CAAM;IACnC,OAAO,CAAC,wBAAwB,CAAS;IAEzC;;;;;;;OAOG;gBAEe,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,GAAE,wBAAmD;IA6B7E;;;;;;;OAOG;IACG,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAiG9C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkCvB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAWlB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CASvB"}
|