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.
Files changed (637) hide show
  1. package/README.md +98 -41
  2. package/dist/__tests__/integration/cliquewidth.integration.test.d.ts +8 -0
  3. package/dist/__tests__/integration/cliquewidth.integration.test.d.ts.map +1 -0
  4. package/dist/__tests__/integration/modular.integration.test.d.ts +8 -0
  5. package/dist/__tests__/integration/modular.integration.test.d.ts.map +1 -0
  6. package/dist/__tests__/integration/pathwidth.integration.test.d.ts +8 -0
  7. package/dist/__tests__/integration/pathwidth.integration.test.d.ts.map +1 -0
  8. package/dist/__tests__/integration/planar.integration.test.d.ts +3 -3
  9. package/dist/__tests__/integration/ptolemaic.integration.test.d.ts +8 -0
  10. package/dist/__tests__/integration/ptolemaic.integration.test.d.ts.map +1 -0
  11. package/dist/__tests__/integration/quasiline.integration.test.d.ts +8 -0
  12. package/dist/__tests__/integration/quasiline.integration.test.d.ts.map +1 -0
  13. package/dist/algorithms/clustering/louvain.d.ts +22 -6
  14. package/dist/algorithms/clustering/louvain.d.ts.map +1 -1
  15. package/dist/algorithms/extraction/forbidden-subgraphs.d.ts +211 -0
  16. package/dist/algorithms/extraction/forbidden-subgraphs.d.ts.map +1 -0
  17. package/dist/algorithms/pathfinding/path-ranking.d.ts.map +1 -1
  18. package/dist/algorithms/pathfinding/random-path-sampling.d.ts +31 -0
  19. package/dist/algorithms/pathfinding/random-path-sampling.d.ts.map +1 -0
  20. package/dist/algorithms/pathfinding/shortest-path-ranking.d.ts +28 -0
  21. package/dist/algorithms/pathfinding/shortest-path-ranking.d.ts.map +1 -0
  22. package/dist/algorithms/traversal/bidirectional-bfs.d.ts +15 -0
  23. package/dist/algorithms/traversal/bidirectional-bfs.d.ts.map +1 -1
  24. package/dist/algorithms/traversal/degree-prioritised-expansion-intersection.unit.test.d.ts +13 -0
  25. package/dist/algorithms/traversal/degree-prioritised-expansion-intersection.unit.test.d.ts.map +1 -0
  26. package/dist/algorithms/traversal/degree-prioritised-expansion.d.ts +34 -2
  27. package/dist/algorithms/traversal/degree-prioritised-expansion.d.ts.map +1 -1
  28. package/dist/algorithms/traversal/entropy-guided-expansion.d.ts +172 -0
  29. package/dist/algorithms/traversal/entropy-guided-expansion.d.ts.map +1 -0
  30. package/dist/algorithms/traversal/entropy-guided-expansion.unit.test.d.ts +2 -0
  31. package/dist/algorithms/traversal/entropy-guided-expansion.unit.test.d.ts.map +1 -0
  32. package/dist/algorithms/traversal/heterogeneity-aware-expansion.d.ts +199 -0
  33. package/dist/algorithms/traversal/heterogeneity-aware-expansion.d.ts.map +1 -0
  34. package/dist/algorithms/traversal/heterogeneity-aware-expansion.unit.test.d.ts +2 -0
  35. package/dist/algorithms/traversal/heterogeneity-aware-expansion.unit.test.d.ts.map +1 -0
  36. package/dist/algorithms/traversal/index.d.ts +14 -0
  37. package/dist/algorithms/traversal/index.d.ts.map +1 -1
  38. package/dist/algorithms/traversal/intelligent-delayed-termination.d.ts +221 -0
  39. package/dist/algorithms/traversal/intelligent-delayed-termination.d.ts.map +1 -0
  40. package/dist/algorithms/traversal/intelligent-delayed-termination.unit.test.d.ts +2 -0
  41. package/dist/algorithms/traversal/intelligent-delayed-termination.unit.test.d.ts.map +1 -0
  42. package/dist/algorithms/traversal/multi-frontier-adaptive-expansion.d.ts +245 -0
  43. package/dist/algorithms/traversal/multi-frontier-adaptive-expansion.d.ts.map +1 -0
  44. package/dist/algorithms/traversal/multi-frontier-adaptive-expansion.unit.test.d.ts +2 -0
  45. package/dist/algorithms/traversal/multi-frontier-adaptive-expansion.unit.test.d.ts.map +1 -0
  46. package/dist/algorithms/traversal/overlap-based/frontier-state.d.ts +25 -0
  47. package/dist/algorithms/traversal/overlap-based/frontier-state.d.ts.map +1 -0
  48. package/dist/algorithms/traversal/overlap-based/index.d.ts +71 -0
  49. package/dist/algorithms/traversal/overlap-based/index.d.ts.map +1 -0
  50. package/dist/algorithms/traversal/overlap-based/overlap-based-expansion.d.ts +182 -0
  51. package/dist/algorithms/traversal/overlap-based/overlap-based-expansion.d.ts.map +1 -0
  52. package/dist/algorithms/traversal/overlap-based/overlap-result.d.ts +82 -0
  53. package/dist/algorithms/traversal/overlap-based/overlap-result.d.ts.map +1 -0
  54. package/dist/algorithms/traversal/overlap-based/strategies/between-graph/between-graph-strategy.d.ts +42 -0
  55. package/dist/algorithms/traversal/overlap-based/strategies/between-graph/between-graph-strategy.d.ts.map +1 -0
  56. package/dist/algorithms/traversal/overlap-based/strategies/between-graph/minimal-paths.strategy.d.ts +41 -0
  57. package/dist/algorithms/traversal/overlap-based/strategies/between-graph/minimal-paths.strategy.d.ts.map +1 -0
  58. package/dist/algorithms/traversal/overlap-based/strategies/between-graph/salience-preserving.strategy.d.ts +82 -0
  59. package/dist/algorithms/traversal/overlap-based/strategies/between-graph/salience-preserving.strategy.d.ts.map +1 -0
  60. package/dist/algorithms/traversal/overlap-based/strategies/between-graph/truncated-component.strategy.d.ts +59 -0
  61. package/dist/algorithms/traversal/overlap-based/strategies/between-graph/truncated-component.strategy.d.ts.map +1 -0
  62. package/dist/algorithms/traversal/overlap-based/strategies/n1-handling/coverage-threshold.strategy.d.ts +57 -0
  63. package/dist/algorithms/traversal/overlap-based/strategies/n1-handling/coverage-threshold.strategy.d.ts.map +1 -0
  64. package/dist/algorithms/traversal/overlap-based/strategies/n1-handling/n1-handling-strategy.d.ts +25 -0
  65. package/dist/algorithms/traversal/overlap-based/strategies/n1-handling/n1-handling-strategy.d.ts.map +1 -0
  66. package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/overlap-detection-strategy.d.ts +26 -0
  67. package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/overlap-detection-strategy.d.ts.map +1 -0
  68. package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/physical-meeting.strategy.d.ts +35 -0
  69. package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/physical-meeting.strategy.d.ts.map +1 -0
  70. package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/sphere-intersection.strategy.d.ts +69 -0
  71. package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/sphere-intersection.strategy.d.ts.map +1 -0
  72. package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/threshold-sharing.strategy.d.ts +72 -0
  73. package/dist/algorithms/traversal/overlap-based/strategies/overlap-detection/threshold-sharing.strategy.d.ts.map +1 -0
  74. package/dist/algorithms/traversal/overlap-based/strategies/termination/common-convergence.strategy.d.ts +45 -0
  75. package/dist/algorithms/traversal/overlap-based/strategies/termination/common-convergence.strategy.d.ts.map +1 -0
  76. package/dist/algorithms/traversal/overlap-based/strategies/termination/full-pairwise.strategy.d.ts +43 -0
  77. package/dist/algorithms/traversal/overlap-based/strategies/termination/full-pairwise.strategy.d.ts.map +1 -0
  78. package/dist/algorithms/traversal/overlap-based/strategies/termination/termination-strategy.d.ts +40 -0
  79. package/dist/algorithms/traversal/overlap-based/strategies/termination/termination-strategy.d.ts.map +1 -0
  80. package/dist/algorithms/traversal/overlap-based/strategies/termination/transitive-connectivity.strategy.d.ts +45 -0
  81. package/dist/algorithms/traversal/overlap-based/strategies/termination/transitive-connectivity.strategy.d.ts.map +1 -0
  82. package/dist/algorithms/traversal/path-preserving-expansion.d.ts +197 -0
  83. package/dist/algorithms/traversal/path-preserving-expansion.d.ts.map +1 -0
  84. package/dist/algorithms/traversal/priority-calculator.d.ts +135 -0
  85. package/dist/algorithms/traversal/priority-calculator.d.ts.map +1 -0
  86. package/dist/algorithms/traversal/priority-queue.d.ts +6 -0
  87. package/dist/algorithms/traversal/priority-queue.d.ts.map +1 -1
  88. package/dist/algorithms/traversal/retrospective-salience-expansion.d.ts +173 -0
  89. package/dist/algorithms/traversal/retrospective-salience-expansion.d.ts.map +1 -0
  90. package/dist/algorithms/traversal/retrospective-salience-expansion.unit.test.d.ts +5 -0
  91. package/dist/algorithms/traversal/retrospective-salience-expansion.unit.test.d.ts.map +1 -0
  92. package/dist/algorithms/traversal/salience-prioritised-expansion.d.ts +149 -0
  93. package/dist/algorithms/traversal/salience-prioritised-expansion.d.ts.map +1 -0
  94. package/dist/algorithms/types/clustering-types.d.ts +2 -2
  95. package/dist/algorithms/types/clustering-types.d.ts.map +1 -1
  96. package/dist/algorithms/utils/csr.d.ts.map +1 -1
  97. package/dist/analyzer/advanced-props.d.ts.map +1 -1
  98. package/dist/analyzer/forbidden-subgraph.d.ts +59 -0
  99. package/dist/analyzer/forbidden-subgraph.d.ts.map +1 -0
  100. package/dist/analyzer/geometric.d.ts +21 -0
  101. package/dist/analyzer/geometric.d.ts.map +1 -0
  102. package/dist/analyzer/geometric.unit.test.d.ts +5 -0
  103. package/dist/analyzer/geometric.unit.test.d.ts.map +1 -0
  104. package/dist/analyzer/helpers.d.ts +2 -0
  105. package/dist/analyzer/helpers.d.ts.map +1 -1
  106. package/dist/analyzer/intersection.d.ts +17 -0
  107. package/dist/analyzer/intersection.d.ts.map +1 -0
  108. package/dist/analyzer/main.d.ts +22 -0
  109. package/dist/analyzer/main.d.ts.map +1 -1
  110. package/dist/analyzer/perfect-variants.d.ts +49 -0
  111. package/dist/analyzer/perfect-variants.d.ts.map +1 -0
  112. package/dist/analyzer/perfect-variants.unit.test.d.ts +5 -0
  113. package/dist/analyzer/perfect-variants.unit.test.d.ts.map +1 -0
  114. package/dist/analyzer/predicates.d.ts +30 -3
  115. package/dist/analyzer/predicates.d.ts.map +1 -1
  116. package/dist/analyzer/probe.d.ts +15 -0
  117. package/dist/analyzer/probe.d.ts.map +1 -0
  118. package/dist/analyzer/structural.d.ts +13 -0
  119. package/dist/analyzer/structural.d.ts.map +1 -0
  120. package/dist/analyzer/structure.d.ts.map +1 -1
  121. package/dist/analyzer/width.d.ts +33 -0
  122. package/dist/analyzer/width.d.ts.map +1 -0
  123. package/dist/analyzer/width.unit.test.d.ts +5 -0
  124. package/dist/analyzer/width.unit.test.d.ts.map +1 -0
  125. package/dist/cli-commands/analyze.d.ts +30 -0
  126. package/dist/cli-commands/analyze.d.ts.map +1 -0
  127. package/dist/cli-commands/evaluate.d.ts +64 -0
  128. package/dist/cli-commands/evaluate.d.ts.map +1 -0
  129. package/dist/cli-commands/generate.d.ts +34 -0
  130. package/dist/cli-commands/generate.d.ts.map +1 -0
  131. package/dist/cli-commands/validate.d.ts +32 -0
  132. package/dist/cli-commands/validate.d.ts.map +1 -0
  133. package/dist/cli-utils/arg-parser.d.ts +55 -0
  134. package/dist/cli-utils/arg-parser.d.ts.map +1 -0
  135. package/dist/cli-utils/arg-parser.unit.test.d.ts +5 -0
  136. package/dist/cli-utils/arg-parser.unit.test.d.ts.map +1 -0
  137. package/dist/cli-utils/error-formatter.d.ts +27 -0
  138. package/dist/cli-utils/error-formatter.d.ts.map +1 -0
  139. package/dist/cli-utils/format-detection.d.ts +25 -0
  140. package/dist/cli-utils/format-detection.d.ts.map +1 -0
  141. package/dist/cli-utils/format-detection.unit.test.d.ts +5 -0
  142. package/dist/cli-utils/format-detection.unit.test.d.ts.map +1 -0
  143. package/dist/cli-utils/graph-converter.d.ts +32 -0
  144. package/dist/cli-utils/graph-converter.d.ts.map +1 -0
  145. package/dist/cli-utils/graph-converter.unit.test.d.ts +5 -0
  146. package/dist/cli-utils/graph-converter.unit.test.d.ts.map +1 -0
  147. package/dist/cli-utils/graph-loader.d.ts +30 -0
  148. package/dist/cli-utils/graph-loader.d.ts.map +1 -0
  149. package/dist/cli-utils/spec-utils.d.ts +30 -0
  150. package/dist/cli-utils/spec-utils.d.ts.map +1 -0
  151. package/dist/cli.js +11416 -15
  152. package/dist/domain/claims.d.ts +56 -0
  153. package/dist/domain/claims.d.ts.map +1 -0
  154. package/dist/domain/index.d.ts +8 -0
  155. package/dist/domain/index.d.ts.map +1 -0
  156. package/dist/domain/tables.d.ts +66 -0
  157. package/dist/domain/tables.d.ts.map +1 -0
  158. package/dist/experiments/baselines/betweenness-ranking.d.ts +38 -0
  159. package/dist/experiments/baselines/betweenness-ranking.d.ts.map +1 -0
  160. package/dist/experiments/baselines/cross-seed-affinity.d.ts +141 -0
  161. package/dist/experiments/baselines/cross-seed-affinity.d.ts.map +1 -0
  162. package/dist/experiments/baselines/degree-sum-ranking.d.ts +38 -0
  163. package/dist/experiments/baselines/degree-sum-ranking.d.ts.map +1 -0
  164. package/dist/experiments/baselines/degree-surprise.d.ts +134 -0
  165. package/dist/experiments/baselines/degree-surprise.d.ts.map +1 -0
  166. package/dist/experiments/baselines/delayed-termination.d.ts +138 -0
  167. package/dist/experiments/baselines/delayed-termination.d.ts.map +1 -0
  168. package/dist/experiments/baselines/ensemble-expansion.d.ts +123 -0
  169. package/dist/experiments/baselines/ensemble-expansion.d.ts.map +1 -0
  170. package/dist/experiments/baselines/frontier-balanced.d.ts +3 -0
  171. package/dist/experiments/baselines/frontier-balanced.d.ts.map +1 -1
  172. package/dist/experiments/baselines/index.d.ts +16 -0
  173. package/dist/experiments/baselines/index.d.ts.map +1 -1
  174. package/dist/experiments/baselines/jaccard-arithmetic-ranking.d.ts +38 -0
  175. package/dist/experiments/baselines/jaccard-arithmetic-ranking.d.ts.map +1 -0
  176. package/dist/experiments/baselines/pagerank-sum-ranking.d.ts +46 -0
  177. package/dist/experiments/baselines/pagerank-sum-ranking.d.ts.map +1 -0
  178. package/dist/experiments/baselines/random-path-ranking.d.ts +42 -0
  179. package/dist/experiments/baselines/random-path-ranking.d.ts.map +1 -0
  180. package/dist/experiments/baselines/random-priority.d.ts +3 -0
  181. package/dist/experiments/baselines/random-priority.d.ts.map +1 -1
  182. package/dist/experiments/baselines/retroactive-path-enum.d.ts +91 -0
  183. package/dist/experiments/baselines/retroactive-path-enum.d.ts.map +1 -0
  184. package/dist/experiments/baselines/shortest-path-ranking.d.ts +40 -0
  185. package/dist/experiments/baselines/shortest-path-ranking.d.ts.map +1 -0
  186. package/dist/experiments/baselines/standard-bfs.d.ts +7 -0
  187. package/dist/experiments/baselines/standard-bfs.d.ts.map +1 -1
  188. package/dist/experiments/evaluation/__tests__/harness/evaluation.exp.integration.test.d.ts +13 -0
  189. package/dist/experiments/evaluation/__tests__/harness/evaluation.exp.integration.test.d.ts.map +1 -0
  190. package/dist/experiments/evaluation/__tests__/harness/evaluator.d.ts +55 -0
  191. package/dist/experiments/evaluation/__tests__/harness/evaluator.d.ts.map +1 -0
  192. package/dist/experiments/evaluation/__tests__/harness/fixtures.d.ts +45 -0
  193. package/dist/experiments/evaluation/__tests__/harness/fixtures.d.ts.map +1 -0
  194. package/dist/experiments/evaluation/__tests__/harness/index.d.ts +16 -0
  195. package/dist/experiments/evaluation/__tests__/harness/index.d.ts.map +1 -0
  196. package/dist/experiments/evaluation/__tests__/harness/types.d.ts +138 -0
  197. package/dist/experiments/evaluation/__tests__/harness/types.d.ts.map +1 -0
  198. package/dist/experiments/evaluation/__tests__/originality-correctness-significance.integration.test.d.ts +31 -0
  199. package/dist/experiments/evaluation/__tests__/originality-correctness-significance.integration.test.d.ts.map +1 -0
  200. package/dist/experiments/evaluation/__tests__/thesis-validation.exp.integration.test.d.ts +15 -0
  201. package/dist/experiments/evaluation/__tests__/thesis-validation.exp.integration.test.d.ts.map +1 -0
  202. package/dist/experiments/evaluation/__tests__/validation/adapter-roundtrip.unit.test.d.ts +14 -0
  203. package/dist/experiments/evaluation/__tests__/validation/adapter-roundtrip.unit.test.d.ts.map +1 -0
  204. package/dist/experiments/evaluation/__tests__/validation/canary-tests.integration.test.d.ts +17 -0
  205. package/dist/experiments/evaluation/__tests__/validation/canary-tests.integration.test.d.ts.map +1 -0
  206. package/dist/experiments/evaluation/__tests__/validation/common/baselines/high-degree-first.d.ts +26 -0
  207. package/dist/experiments/evaluation/__tests__/validation/common/baselines/high-degree-first.d.ts.map +1 -0
  208. package/dist/experiments/evaluation/__tests__/validation/common/baselines/low-degree-first.d.ts +26 -0
  209. package/dist/experiments/evaluation/__tests__/validation/common/baselines/low-degree-first.d.ts.map +1 -0
  210. package/dist/experiments/evaluation/__tests__/validation/common/benchmark-graph-expander.d.ts +58 -0
  211. package/dist/experiments/evaluation/__tests__/validation/common/benchmark-graph-expander.d.ts.map +1 -0
  212. package/dist/experiments/evaluation/__tests__/validation/common/benchmark-graph-expander.unit.test.d.ts +16 -0
  213. package/dist/experiments/evaluation/__tests__/validation/common/benchmark-graph-expander.unit.test.d.ts.map +1 -0
  214. package/dist/experiments/evaluation/__tests__/validation/common/graph-generators.d.ts +51 -0
  215. package/dist/experiments/evaluation/__tests__/validation/common/graph-generators.d.ts.map +1 -0
  216. package/dist/experiments/evaluation/__tests__/validation/common/instrumented-expander.d.ts +31 -0
  217. package/dist/experiments/evaluation/__tests__/validation/common/instrumented-expander.d.ts.map +1 -0
  218. package/dist/experiments/evaluation/__tests__/validation/common/instrumented-expander.unit.test.d.ts +16 -0
  219. package/dist/experiments/evaluation/__tests__/validation/common/instrumented-expander.unit.test.d.ts.map +1 -0
  220. package/dist/experiments/evaluation/__tests__/validation/common/path-ranking-helpers.d.ts +95 -0
  221. package/dist/experiments/evaluation/__tests__/validation/common/path-ranking-helpers.d.ts.map +1 -0
  222. package/dist/experiments/evaluation/__tests__/validation/common/representativeness-helpers.d.ts +56 -0
  223. package/dist/experiments/evaluation/__tests__/validation/common/representativeness-helpers.d.ts.map +1 -0
  224. package/dist/experiments/evaluation/__tests__/validation/common/statistical-functions.d.ts +78 -0
  225. package/dist/experiments/evaluation/__tests__/validation/common/statistical-functions.d.ts.map +1 -0
  226. package/dist/experiments/evaluation/__tests__/validation/common/test-graph-expander.d.ts +32 -0
  227. package/dist/experiments/evaluation/__tests__/validation/common/test-graph-expander.d.ts.map +1 -0
  228. package/dist/experiments/evaluation/__tests__/validation/common/test-graph-expander.unit.test.d.ts +15 -0
  229. package/dist/experiments/evaluation/__tests__/validation/common/test-graph-expander.unit.test.d.ts.map +1 -0
  230. package/dist/experiments/evaluation/__tests__/validation/comparative/comparative-summary.exp.integration.test.d.ts +10 -0
  231. package/dist/experiments/evaluation/__tests__/validation/comparative/comparative-summary.exp.integration.test.d.ts.map +1 -0
  232. package/dist/experiments/evaluation/__tests__/validation/comparative/execution-time.exp.integration.test.d.ts +7 -0
  233. package/dist/experiments/evaluation/__tests__/validation/comparative/execution-time.exp.integration.test.d.ts.map +1 -0
  234. package/dist/experiments/evaluation/__tests__/validation/comparative/literature-review-metrics.exp.integration.test.d.ts +13 -0
  235. package/dist/experiments/evaluation/__tests__/validation/comparative/literature-review-metrics.exp.integration.test.d.ts.map +1 -0
  236. package/dist/experiments/evaluation/__tests__/validation/comparative/method-ranking.exp.integration.test.d.ts +8 -0
  237. package/dist/experiments/evaluation/__tests__/validation/comparative/method-ranking.exp.integration.test.d.ts.map +1 -0
  238. package/dist/experiments/evaluation/__tests__/validation/comparative/multi-method-comparison.exp.integration.test.d.ts +9 -0
  239. package/dist/experiments/evaluation/__tests__/validation/comparative/multi-method-comparison.exp.integration.test.d.ts.map +1 -0
  240. package/dist/experiments/evaluation/__tests__/validation/comparative/novel-algorithm-comparison.exp.integration.test.d.ts +12 -0
  241. package/dist/experiments/evaluation/__tests__/validation/comparative/novel-algorithm-comparison.exp.integration.test.d.ts.map +1 -0
  242. package/dist/experiments/evaluation/__tests__/validation/comparative/perturbation-consistency.exp.integration.test.d.ts +9 -0
  243. package/dist/experiments/evaluation/__tests__/validation/comparative/perturbation-consistency.exp.integration.test.d.ts.map +1 -0
  244. package/dist/experiments/evaluation/__tests__/validation/comparative/validation-summary.exp.integration.test.d.ts +9 -0
  245. package/dist/experiments/evaluation/__tests__/validation/comparative/validation-summary.exp.integration.test.d.ts.map +1 -0
  246. package/dist/experiments/evaluation/__tests__/validation/comparative/variability-injection.exp.integration.test.d.ts +2 -0
  247. package/dist/experiments/evaluation/__tests__/validation/comparative/variability-injection.exp.integration.test.d.ts.map +1 -0
  248. package/dist/experiments/evaluation/__tests__/validation/graph-adapters.property.unit.test.d.ts +15 -0
  249. package/dist/experiments/evaluation/__tests__/validation/graph-adapters.property.unit.test.d.ts.map +1 -0
  250. package/dist/experiments/evaluation/__tests__/validation/primary/classification/classification-evaluation.exp.integration.test.d.ts +14 -0
  251. package/dist/experiments/evaluation/__tests__/validation/primary/classification/classification-evaluation.exp.integration.test.d.ts.map +1 -0
  252. package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/cora.exp.integration.test.d.ts +2 -0
  253. package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/cora.exp.integration.test.d.ts.map +1 -0
  254. package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/facebook.exp.integration.test.d.ts +2 -0
  255. package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/facebook.exp.integration.test.d.ts.map +1 -0
  256. package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/karate-club.exp.integration.test.d.ts +2 -0
  257. package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/karate-club.exp.integration.test.d.ts.map +1 -0
  258. package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/les-mis.exp.integration.test.d.ts +2 -0
  259. package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/benchmarks/les-mis.exp.integration.test.d.ts.map +1 -0
  260. package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/comparative/method-comparison.exp.integration.test.d.ts +2 -0
  261. package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/comparative/method-comparison.exp.integration.test.d.ts.map +1 -0
  262. package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/correctness/modularity-quality.exp.integration.test.d.ts +2 -0
  263. package/dist/experiments/evaluation/__tests__/validation/primary/community-detection/louvain/correctness/modularity-quality.exp.integration.test.d.ts.map +1 -0
  264. package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/cora.exp.integration.test.d.ts +2 -0
  265. package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/cora.exp.integration.test.d.ts.map +1 -0
  266. package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/facebook.exp.integration.test.d.ts +2 -0
  267. package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/facebook.exp.integration.test.d.ts.map +1 -0
  268. package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/karate-club.exp.integration.test.d.ts +2 -0
  269. package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/karate-club.exp.integration.test.d.ts.map +1 -0
  270. package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/les-mis.exp.integration.test.d.ts +2 -0
  271. package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/benchmarks/les-mis.exp.integration.test.d.ts.map +1 -0
  272. package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/comparative/core-periphery-analysis.exp.integration.test.d.ts +2 -0
  273. package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/comparative/core-periphery-analysis.exp.integration.test.d.ts.map +1 -0
  274. package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/correctness/nested-hierarchy.exp.integration.test.d.ts +2 -0
  275. package/dist/experiments/evaluation/__tests__/validation/primary/decomposition/k-core/correctness/nested-hierarchy.exp.integration.test.d.ts.map +1 -0
  276. package/dist/experiments/evaluation/__tests__/validation/primary/generation/generation-evaluation.exp.integration.test.d.ts +14 -0
  277. package/dist/experiments/evaluation/__tests__/validation/primary/generation/generation-evaluation.exp.integration.test.d.ts.map +1 -0
  278. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/citeseer.exp.integration.test.d.ts +16 -0
  279. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/citeseer.exp.integration.test.d.ts.map +1 -0
  280. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/cora.exp.integration.test.d.ts +16 -0
  281. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/cora.exp.integration.test.d.ts.map +1 -0
  282. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/facebook.exp.integration.test.d.ts +16 -0
  283. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/facebook.exp.integration.test.d.ts.map +1 -0
  284. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/iteration-scaling.exp.integration.test.d.ts +20 -0
  285. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/iteration-scaling.exp.integration.test.d.ts.map +1 -0
  286. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/karate-club.exp.integration.test.d.ts +17 -0
  287. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/karate-club.exp.integration.test.d.ts.map +1 -0
  288. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/les-mis.exp.integration.test.d.ts +16 -0
  289. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/benchmarks/les-mis.exp.integration.test.d.ts.map +1 -0
  290. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/comparative/multi-method-comparison.exp.integration.test.d.ts +16 -0
  291. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/comparative/multi-method-comparison.exp.integration.test.d.ts.map +1 -0
  292. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/comparative/ranking-correlation.exp.integration.test.d.ts +14 -0
  293. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/comparative/ranking-correlation.exp.integration.test.d.ts.map +1 -0
  294. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/comparative/statistical-significance.exp.integration.test.d.ts +16 -0
  295. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/comparative/statistical-significance.exp.integration.test.d.ts.map +1 -0
  296. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/formula-correctness.exp.integration.test.d.ts +13 -0
  297. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/formula-correctness.exp.integration.test.d.ts.map +1 -0
  298. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/geometric-mean-property.exp.integration.test.d.ts +11 -0
  299. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/geometric-mean-property.exp.integration.test.d.ts.map +1 -0
  300. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/length-penalty.exp.integration.test.d.ts +13 -0
  301. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/length-penalty.exp.integration.test.d.ts.map +1 -0
  302. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/n-path-generalization.exp.integration.test.d.ts +13 -0
  303. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/correctness/n-path-generalization.exp.integration.test.d.ts.map +1 -0
  304. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/originality/mi-sensitivity.exp.integration.test.d.ts +15 -0
  305. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/originality/mi-sensitivity.exp.integration.test.d.ts.map +1 -0
  306. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/originality/path-diversity-benefit.exp.integration.test.d.ts +13 -0
  307. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/originality/path-diversity-benefit.exp.integration.test.d.ts.map +1 -0
  308. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/originality/ranking-difference.exp.integration.test.d.ts +14 -0
  309. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/originality/ranking-difference.exp.integration.test.d.ts.map +1 -0
  310. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/representativeness/__tests__/structural-coverage.exp.integration.test.d.ts +13 -0
  311. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/representativeness/__tests__/structural-coverage.exp.integration.test.d.ts.map +1 -0
  312. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/representativeness/__tests__/topological-representativeness.exp.integration.test.d.ts +13 -0
  313. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/representativeness/__tests__/topological-representativeness.exp.integration.test.d.ts.map +1 -0
  314. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/scenarios/multi-path-comparison.exp.integration.test.d.ts +12 -0
  315. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/scenarios/multi-path-comparison.exp.integration.test.d.ts.map +1 -0
  316. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/scenarios/scale-free-ranking.exp.integration.test.d.ts +13 -0
  317. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/scenarios/scale-free-ranking.exp.integration.test.d.ts.map +1 -0
  318. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/scenarios/weak-link-paths.exp.integration.test.d.ts +15 -0
  319. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/scenarios/weak-link-paths.exp.integration.test.d.ts.map +1 -0
  320. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/significance/hub-avoidance.exp.integration.test.d.ts +14 -0
  321. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/significance/hub-avoidance.exp.integration.test.d.ts.map +1 -0
  322. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/significance/quality-improvement.exp.integration.test.d.ts +15 -0
  323. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/significance/quality-improvement.exp.integration.test.d.ts.map +1 -0
  324. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/significance/ranking-stability.exp.integration.test.d.ts +15 -0
  325. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/path-salience/significance/ranking-stability.exp.integration.test.d.ts.map +1 -0
  326. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/ranking-baseline-comparison.exp.integration.test.d.ts +21 -0
  327. package/dist/experiments/evaluation/__tests__/validation/primary/ranking/ranking-baseline-comparison.exp.integration.test.d.ts.map +1 -0
  328. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/citeseer.exp.integration.test.d.ts +2 -0
  329. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/citeseer.exp.integration.test.d.ts.map +1 -0
  330. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/cora.exp.integration.test.d.ts +2 -0
  331. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/cora.exp.integration.test.d.ts.map +1 -0
  332. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/facebook.exp.integration.test.d.ts +2 -0
  333. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/facebook.exp.integration.test.d.ts.map +1 -0
  334. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/karate-club.exp.integration.test.d.ts +2 -0
  335. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/karate-club.exp.integration.test.d.ts.map +1 -0
  336. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/les-mis.exp.integration.test.d.ts +2 -0
  337. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/benchmarks/les-mis.exp.integration.test.d.ts.map +1 -0
  338. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/n-seed-comparison.exp.integration.test.d.ts +8 -0
  339. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/n-seed-comparison.exp.integration.test.d.ts.map +1 -0
  340. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/validity-formula.exp.integration.test.d.ts +8 -0
  341. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/validity-formula.exp.integration.test.d.ts.map +1 -0
  342. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/validity-n-seed.exp.integration.test.d.ts +8 -0
  343. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/validity-n-seed.exp.integration.test.d.ts.map +1 -0
  344. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/validity-termination.exp.integration.test.d.ts +8 -0
  345. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/correctness/validity-termination.exp.integration.test.d.ts.map +1 -0
  346. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/double-star.exp.integration.test.d.ts +2 -0
  347. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/double-star.exp.integration.test.d.ts.map +1 -0
  348. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/expansion-order.exp.integration.test.d.ts +2 -0
  349. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/expansion-order.exp.integration.test.d.ts.map +1 -0
  350. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/metrics.exp.integration.test.d.ts +2 -0
  351. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/metrics.exp.integration.test.d.ts.map +1 -0
  352. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/multi-hub.exp.integration.test.d.ts +2 -0
  353. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/multi-hub.exp.integration.test.d.ts.map +1 -0
  354. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/scale-free.exp.integration.test.d.ts +2 -0
  355. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/scale-free.exp.integration.test.d.ts.map +1 -0
  356. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/star-graph.exp.integration.test.d.ts +2 -0
  357. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/node-explosion/star-graph.exp.integration.test.d.ts.map +1 -0
  358. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/originality/novelty-structural-difference.exp.integration.test.d.ts +13 -0
  359. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/originality/novelty-structural-difference.exp.integration.test.d.ts.map +1 -0
  360. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/aggregation.exp.integration.test.d.ts +5 -0
  361. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/aggregation.exp.integration.test.d.ts.map +1 -0
  362. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/between-graph-ground-truth.exp.integration.test.d.ts +5 -0
  363. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/between-graph-ground-truth.exp.integration.test.d.ts.map +1 -0
  364. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/degree-distribution.exp.integration.test.d.ts +5 -0
  365. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/degree-distribution.exp.integration.test.d.ts.map +1 -0
  366. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/ego-network-n1.exp.integration.test.d.ts +5 -0
  367. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/ego-network-n1.exp.integration.test.d.ts.map +1 -0
  368. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/fixtures/index.d.ts +2 -0
  369. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/fixtures/index.d.ts.map +1 -0
  370. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/fixtures/test-graph-expander.d.ts +56 -0
  371. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/fixtures/test-graph-expander.d.ts.map +1 -0
  372. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/full-pipeline.exp.integration.test.d.ts +5 -0
  373. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/full-pipeline.exp.integration.test.d.ts.map +1 -0
  374. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/path-diversity.exp.integration.test.d.ts +5 -0
  375. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/representativeness/path-diversity.exp.integration.test.d.ts.map +1 -0
  376. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/significance/value-edge-efficiency.exp.integration.test.d.ts +8 -0
  377. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/significance/value-edge-efficiency.exp.integration.test.d.ts.map +1 -0
  378. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/significance/value-hub-mitigation.exp.integration.test.d.ts +8 -0
  379. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/significance/value-hub-mitigation.exp.integration.test.d.ts.map +1 -0
  380. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/significance/value-representativeness.exp.integration.test.d.ts +8 -0
  381. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/degree-prioritised/significance/value-representativeness.exp.integration.test.d.ts.map +1 -0
  382. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/correctness/entropy-formula.exp.integration.test.d.ts +15 -0
  383. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/correctness/entropy-formula.exp.integration.test.d.ts.map +1 -0
  384. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/correctness/priority-formula.exp.integration.test.d.ts +18 -0
  385. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/correctness/priority-formula.exp.integration.test.d.ts.map +1 -0
  386. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/correctness/termination-guarantee.exp.integration.test.d.ts +13 -0
  387. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/correctness/termination-guarantee.exp.integration.test.d.ts.map +1 -0
  388. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/originality/cross-boundary-discovery.exp.integration.test.d.ts +12 -0
  389. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/originality/cross-boundary-discovery.exp.integration.test.d.ts.map +1 -0
  390. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/originality/entropy-ordering-difference.exp.integration.test.d.ts +14 -0
  391. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/originality/entropy-ordering-difference.exp.integration.test.d.ts.map +1 -0
  392. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/significance/hub-mitigation.exp.integration.test.d.ts +13 -0
  393. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/significance/hub-mitigation.exp.integration.test.d.ts.map +1 -0
  394. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/significance/type-diversity.exp.integration.test.d.ts +14 -0
  395. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/entropy-guided/significance/type-diversity.exp.integration.test.d.ts.map +1 -0
  396. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/overlap-based/overlap-based-expansion.integration.test.d.ts +7 -0
  397. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/overlap-based/overlap-based-expansion.integration.test.d.ts.map +1 -0
  398. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/correctness/early-termination.exp.integration.test.d.ts +8 -0
  399. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/correctness/early-termination.exp.integration.test.d.ts.map +1 -0
  400. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/correctness/path-potential-computation.exp.integration.test.d.ts +11 -0
  401. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/correctness/path-potential-computation.exp.integration.test.d.ts.map +1 -0
  402. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/correctness/priority-formula.exp.integration.test.d.ts +10 -0
  403. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/correctness/priority-formula.exp.integration.test.d.ts.map +1 -0
  404. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/originality/frontier-divergence.exp.integration.test.d.ts +12 -0
  405. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/originality/frontier-divergence.exp.integration.test.d.ts.map +1 -0
  406. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/originality/path-diversity-improvement.exp.integration.test.d.ts +12 -0
  407. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/originality/path-diversity-improvement.exp.integration.test.d.ts.map +1 -0
  408. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/significance/frontier-balance.exp.integration.test.d.ts +8 -0
  409. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/significance/frontier-balance.exp.integration.test.d.ts.map +1 -0
  410. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/significance/path-overlap-reduction.exp.integration.test.d.ts +8 -0
  411. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/path-preserving/significance/path-overlap-reduction.exp.integration.test.d.ts.map +1 -0
  412. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/correctness/jaccard-mi-estimation.exp.integration.test.d.ts +14 -0
  413. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/correctness/jaccard-mi-estimation.exp.integration.test.d.ts.map +1 -0
  414. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/correctness/phase1-formula.exp.integration.test.d.ts +14 -0
  415. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/correctness/phase1-formula.exp.integration.test.d.ts.map +1 -0
  416. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/correctness/phase2-formula.exp.integration.test.d.ts +14 -0
  417. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/correctness/phase2-formula.exp.integration.test.d.ts.map +1 -0
  418. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/originality/adaptive-priority.exp.integration.test.d.ts +17 -0
  419. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/originality/adaptive-priority.exp.integration.test.d.ts.map +1 -0
  420. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/originality/two-phase-transition.exp.integration.test.d.ts +18 -0
  421. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/originality/two-phase-transition.exp.integration.test.d.ts.map +1 -0
  422. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/significance/no-precomputation.exp.integration.test.d.ts +15 -0
  423. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/significance/no-precomputation.exp.integration.test.d.ts.map +1 -0
  424. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/significance/salience-coverage.exp.integration.test.d.ts +15 -0
  425. package/dist/experiments/evaluation/__tests__/validation/primary/traversal/retrospective-salience/significance/salience-coverage.exp.integration.test.d.ts.map +1 -0
  426. package/dist/experiments/evaluation/claims/index.d.ts +7 -0
  427. package/dist/experiments/evaluation/claims/index.d.ts.map +1 -0
  428. package/dist/experiments/evaluation/claims/thesis-claims.d.ts +111 -0
  429. package/dist/experiments/evaluation/claims/thesis-claims.d.ts.map +1 -0
  430. package/dist/experiments/evaluation/classification/classification-evaluator.d.ts +44 -0
  431. package/dist/experiments/evaluation/classification/classification-evaluator.d.ts.map +1 -0
  432. package/dist/experiments/evaluation/classification/feature-extractor.d.ts +50 -0
  433. package/dist/experiments/evaluation/classification/feature-extractor.d.ts.map +1 -0
  434. package/dist/experiments/evaluation/classification/graph-classifier.d.ts +103 -0
  435. package/dist/experiments/evaluation/classification/graph-classifier.d.ts.map +1 -0
  436. package/dist/experiments/evaluation/classification/index.d.ts +11 -0
  437. package/dist/experiments/evaluation/classification/index.d.ts.map +1 -0
  438. package/dist/experiments/evaluation/fixtures/algorithm-validation.unit.test.d.ts +12 -0
  439. package/dist/experiments/evaluation/fixtures/algorithm-validation.unit.test.d.ts.map +1 -0
  440. package/dist/experiments/evaluation/fixtures/benchmark-datasets.d.ts +44 -3
  441. package/dist/experiments/evaluation/fixtures/benchmark-datasets.d.ts.map +1 -1
  442. package/dist/experiments/evaluation/fixtures/benchmark-datasets.unit.test.d.ts +0 -4
  443. package/dist/experiments/evaluation/fixtures/benchmark-datasets.unit.test.d.ts.map +1 -1
  444. package/dist/experiments/evaluation/generation/constrained-generator.d.ts +61 -0
  445. package/dist/experiments/evaluation/generation/constrained-generator.d.ts.map +1 -0
  446. package/dist/experiments/evaluation/generation/generation-evaluator.d.ts +56 -0
  447. package/dist/experiments/evaluation/generation/generation-evaluator.d.ts.map +1 -0
  448. package/dist/experiments/evaluation/generation/index.d.ts +10 -0
  449. package/dist/experiments/evaluation/generation/index.d.ts.map +1 -0
  450. package/dist/experiments/evaluation/ground-truth/importance-based.d.ts.map +1 -1
  451. package/dist/experiments/evaluation/loaders/decompress.d.ts +141 -33
  452. package/dist/experiments/evaluation/loaders/decompress.d.ts.map +1 -1
  453. package/dist/experiments/evaluation/loaders/edge-list-loader.d.ts +44 -0
  454. package/dist/experiments/evaluation/loaders/edge-list-loader.d.ts.map +1 -1
  455. package/dist/experiments/evaluation/loaders/index.d.ts +2 -2
  456. package/dist/experiments/evaluation/loaders/index.d.ts.map +1 -1
  457. package/dist/experiments/evaluation/metrics/index.d.ts +1 -0
  458. package/dist/experiments/evaluation/metrics/index.d.ts.map +1 -1
  459. package/dist/experiments/evaluation/metrics/metric-calculators.property.unit.test.d.ts +16 -0
  460. package/dist/experiments/evaluation/metrics/metric-calculators.property.unit.test.d.ts.map +1 -0
  461. package/dist/experiments/evaluation/metrics/metrics-boundary-conditions.unit.test.d.ts +2 -0
  462. package/dist/experiments/evaluation/metrics/metrics-boundary-conditions.unit.test.d.ts.map +1 -0
  463. package/dist/experiments/evaluation/metrics/salience-coverage.d.ts +147 -0
  464. package/dist/experiments/evaluation/metrics/salience-coverage.d.ts.map +1 -0
  465. package/dist/experiments/experiments/bidirectional-bfs.d.ts +42 -0
  466. package/dist/experiments/experiments/bidirectional-bfs.d.ts.map +1 -0
  467. package/dist/experiments/experiments/index.d.ts +10 -0
  468. package/dist/experiments/experiments/index.d.ts.map +1 -0
  469. package/dist/experiments/experiments/path-ranking.d.ts +29 -0
  470. package/dist/experiments/experiments/path-ranking.d.ts.map +1 -0
  471. package/dist/experiments/experiments/salience-coverage-comparison.d.ts +19 -0
  472. package/dist/experiments/experiments/salience-coverage-comparison.d.ts.map +1 -0
  473. package/dist/experiments/experiments/seeded-expansion.d.ts +43 -0
  474. package/dist/experiments/experiments/seeded-expansion.d.ts.map +1 -0
  475. package/dist/experiments/fixtures/mock-graph-expander.d.ts +2 -1
  476. package/dist/experiments/fixtures/mock-graph-expander.d.ts.map +1 -1
  477. package/dist/experiments/metrics/collector.d.ts +49 -0
  478. package/dist/experiments/metrics/collector.d.ts.map +1 -0
  479. package/dist/experiments/metrics/hub-avoidance-calculator.d.ts +97 -0
  480. package/dist/experiments/metrics/hub-avoidance-calculator.d.ts.map +1 -0
  481. package/dist/experiments/metrics/index.d.ts +10 -0
  482. package/dist/experiments/metrics/index.d.ts.map +1 -0
  483. package/dist/experiments/metrics/storage.d.ts +29 -0
  484. package/dist/experiments/metrics/storage.d.ts.map +1 -0
  485. package/dist/experiments/metrics/types.d.ts +362 -0
  486. package/dist/experiments/metrics/types.d.ts.map +1 -0
  487. package/dist/experiments/proofs/path-salience/boundedness.unit.test.d.ts +10 -0
  488. package/dist/experiments/proofs/path-salience/boundedness.unit.test.d.ts.map +1 -0
  489. package/dist/experiments/proofs/path-salience/dpi-consistency.unit.test.d.ts +11 -0
  490. package/dist/experiments/proofs/path-salience/dpi-consistency.unit.test.d.ts.map +1 -0
  491. package/dist/experiments/proofs/path-salience/equal-length.unit.test.d.ts +11 -0
  492. package/dist/experiments/proofs/path-salience/equal-length.unit.test.d.ts.map +1 -0
  493. package/dist/experiments/proofs/path-salience/length-independence.unit.test.d.ts +11 -0
  494. package/dist/experiments/proofs/path-salience/length-independence.unit.test.d.ts.map +1 -0
  495. package/dist/experiments/proofs/path-salience/monotonicity.unit.test.d.ts +10 -0
  496. package/dist/experiments/proofs/path-salience/monotonicity.unit.test.d.ts.map +1 -0
  497. package/dist/experiments/proofs/path-salience/subpath-optimality.unit.test.d.ts +12 -0
  498. package/dist/experiments/proofs/path-salience/subpath-optimality.unit.test.d.ts.map +1 -0
  499. package/dist/experiments/proofs/path-salience/universality.unit.test.d.ts +15 -0
  500. package/dist/experiments/proofs/path-salience/universality.unit.test.d.ts.map +1 -0
  501. package/dist/experiments/proofs/path-salience/weak-link.unit.test.d.ts +10 -0
  502. package/dist/experiments/proofs/path-salience/weak-link.unit.test.d.ts.map +1 -0
  503. package/dist/experiments/proofs/seed-bounded/completeness.unit.test.d.ts +10 -0
  504. package/dist/experiments/proofs/seed-bounded/completeness.unit.test.d.ts.map +1 -0
  505. package/dist/experiments/proofs/seed-bounded/degeneracy.unit.test.d.ts +16 -0
  506. package/dist/experiments/proofs/seed-bounded/degeneracy.unit.test.d.ts.map +1 -0
  507. package/dist/experiments/proofs/seed-bounded/order-independence.unit.test.d.ts +10 -0
  508. package/dist/experiments/proofs/seed-bounded/order-independence.unit.test.d.ts.map +1 -0
  509. package/dist/experiments/proofs/seed-bounded/termination.unit.test.d.ts +11 -0
  510. package/dist/experiments/proofs/seed-bounded/termination.unit.test.d.ts.map +1 -0
  511. package/dist/experiments/proofs/test-utils.d.ts +161 -0
  512. package/dist/experiments/proofs/test-utils.d.ts.map +1 -0
  513. package/dist/experiments/run-experiments.d.ts +19 -0
  514. package/dist/experiments/run-experiments.d.ts.map +1 -0
  515. package/dist/experiments/suts/degree-sum-ranking-sut.d.ts +52 -0
  516. package/dist/experiments/suts/degree-sum-ranking-sut.d.ts.map +1 -0
  517. package/dist/experiments/suts/index.d.ts +13 -0
  518. package/dist/experiments/suts/index.d.ts.map +1 -0
  519. package/dist/experiments/suts/jaccard-arithmetic-ranking-sut.d.ts +52 -0
  520. package/dist/experiments/suts/jaccard-arithmetic-ranking-sut.d.ts.map +1 -0
  521. package/dist/experiments/suts/pagerank-sum-ranking-sut.d.ts +52 -0
  522. package/dist/experiments/suts/pagerank-sum-ranking-sut.d.ts.map +1 -0
  523. package/dist/experiments/suts/path-salience-sut.d.ts +62 -0
  524. package/dist/experiments/suts/path-salience-sut.d.ts.map +1 -0
  525. package/dist/experiments/suts/random-ranking-sut.d.ts +52 -0
  526. package/dist/experiments/suts/random-ranking-sut.d.ts.map +1 -0
  527. package/dist/experiments/suts/shortest-ranking-sut.d.ts +51 -0
  528. package/dist/experiments/suts/shortest-ranking-sut.d.ts.map +1 -0
  529. package/dist/generation/generators/density-helpers.d.ts.map +1 -1
  530. package/dist/generation/generators/edge-generator.d.ts.map +1 -1
  531. package/dist/generation/generators/forbidden-subgraph.d.ts +83 -0
  532. package/dist/generation/generators/forbidden-subgraph.d.ts.map +1 -0
  533. package/dist/generation/generators/geometric.d.ts +10 -0
  534. package/dist/generation/generators/geometric.d.ts.map +1 -1
  535. package/dist/generation/generators/intersection.d.ts +21 -0
  536. package/dist/generation/generators/intersection.d.ts.map +1 -0
  537. package/dist/generation/generators/invariants.d.ts.map +1 -1
  538. package/dist/generation/generators/perfect-variants.d.ts +49 -0
  539. package/dist/generation/generators/perfect-variants.d.ts.map +1 -0
  540. package/dist/generation/generators/probe.d.ts +19 -0
  541. package/dist/generation/generators/probe.d.ts.map +1 -0
  542. package/dist/generation/generators/structural.d.ts +11 -0
  543. package/dist/generation/generators/structural.d.ts.map +1 -0
  544. package/dist/generation/generators/width.d.ts +37 -0
  545. package/dist/generation/generators/width.d.ts.map +1 -0
  546. package/dist/generation/graph-validator.d.ts.map +1 -1
  547. package/dist/generation/spec/core.d.ts +4 -0
  548. package/dist/generation/spec/core.d.ts.map +1 -1
  549. package/dist/generation/spec/forbidden-subgraph.d.ts +89 -0
  550. package/dist/generation/spec/forbidden-subgraph.d.ts.map +1 -0
  551. package/dist/generation/spec/geometric.d.ts +28 -9
  552. package/dist/generation/spec/geometric.d.ts.map +1 -1
  553. package/dist/generation/spec/index.d.ts +1 -1
  554. package/dist/generation/spec/index.d.ts.map +1 -1
  555. package/dist/generation/spec/intersection.d.ts +49 -0
  556. package/dist/generation/spec/intersection.d.ts.map +1 -0
  557. package/dist/generation/spec/new-classes-index.d.ts +15 -0
  558. package/dist/generation/spec/new-classes-index.d.ts.map +1 -0
  559. package/dist/generation/spec/perfect-variants.d.ts +39 -0
  560. package/dist/generation/spec/perfect-variants.d.ts.map +1 -0
  561. package/dist/generation/spec/probe.d.ts +29 -0
  562. package/dist/generation/spec/probe.d.ts.map +1 -0
  563. package/dist/generation/spec/structural.d.ts +12 -1
  564. package/dist/generation/spec/structural.d.ts.map +1 -1
  565. package/dist/generation/spec/width.d.ts +29 -0
  566. package/dist/generation/spec/width.d.ts.map +1 -0
  567. package/dist/generation/spec.d.ts +23 -4
  568. package/dist/generation/spec.d.ts.map +1 -1
  569. package/dist/index.cjs +31 -31
  570. package/dist/index.d.ts +3 -1
  571. package/dist/index.d.ts.map +1 -1
  572. package/dist/index.js +6616 -4485
  573. package/dist/index.umd.js +33 -33
  574. package/dist/interfaces/graph-expander.d.ts +44 -2
  575. package/dist/interfaces/graph-expander.d.ts.map +1 -1
  576. package/dist/registries/index.d.ts +16 -0
  577. package/dist/registries/index.d.ts.map +1 -0
  578. package/dist/registries/register-cases.d.ts +91 -0
  579. package/dist/registries/register-cases.d.ts.map +1 -0
  580. package/dist/registries/register-overlap-suts.d.ts +28 -0
  581. package/dist/registries/register-overlap-suts.d.ts.map +1 -0
  582. package/dist/registries/register-ranking-cases.d.ts +36 -0
  583. package/dist/registries/register-ranking-cases.d.ts.map +1 -0
  584. package/dist/registries/register-ranking-suts.d.ts +83 -0
  585. package/dist/registries/register-ranking-suts.d.ts.map +1 -0
  586. package/dist/registries/register-suts.d.ts +55 -0
  587. package/dist/registries/register-suts.d.ts.map +1 -0
  588. package/dist/suts/degree-prioritised-v1.0.0.d.ts +56 -0
  589. package/dist/suts/degree-prioritised-v1.0.0.d.ts.map +1 -0
  590. package/dist/suts/entropy-guided-v1.0.0.d.ts +55 -0
  591. package/dist/suts/entropy-guided-v1.0.0.d.ts.map +1 -0
  592. package/dist/suts/heterogeneity-aware-v1.0.0.d.ts +57 -0
  593. package/dist/suts/heterogeneity-aware-v1.0.0.d.ts.map +1 -0
  594. package/dist/suts/multi-frontier-adaptive-v1.0.0.d.ts +56 -0
  595. package/dist/suts/multi-frontier-adaptive-v1.0.0.d.ts.map +1 -0
  596. package/dist/suts/path-preserving-v1.0.0.d.ts +58 -0
  597. package/dist/suts/path-preserving-v1.0.0.d.ts.map +1 -0
  598. package/dist/suts/path-salience-v1.0.0.d.ts +57 -0
  599. package/dist/suts/path-salience-v1.0.0.d.ts.map +1 -0
  600. package/dist/suts/random-ranking-v1.0.0.d.ts +50 -0
  601. package/dist/suts/random-ranking-v1.0.0.d.ts.map +1 -0
  602. package/dist/suts/retrospective-salience-v1.0.0.d.ts +57 -0
  603. package/dist/suts/retrospective-salience-v1.0.0.d.ts.map +1 -0
  604. package/dist/suts/shortest-ranking-v1.0.0.d.ts +49 -0
  605. package/dist/suts/shortest-ranking-v1.0.0.d.ts.map +1 -0
  606. package/dist/suts/standard-bfs-v1.0.0.d.ts +53 -0
  607. package/dist/suts/standard-bfs-v1.0.0.d.ts.map +1 -0
  608. package/dist/types/graph-core.d.ts +176 -0
  609. package/dist/types/graph-core.d.ts.map +1 -0
  610. package/dist/types/graph-core.unit.test.d.ts +5 -0
  611. package/dist/types/graph-core.unit.test.d.ts.map +1 -0
  612. package/dist/utils/graph-adapters.d.ts +101 -0
  613. package/dist/utils/graph-adapters.d.ts.map +1 -0
  614. package/dist/utils/graph-adapters.unit.test.d.ts +5 -0
  615. package/dist/utils/graph-adapters.unit.test.d.ts.map +1 -0
  616. package/dist/validation/forbidden-subgraph-helpers.d.ts +45 -0
  617. package/dist/validation/forbidden-subgraph-helpers.d.ts.map +1 -0
  618. package/dist/validation/forbidden-subgraph.d.ts +66 -0
  619. package/dist/validation/forbidden-subgraph.d.ts.map +1 -0
  620. package/dist/validation/index.d.ts +4 -0
  621. package/dist/validation/index.d.ts.map +1 -1
  622. package/dist/validation/intersection.d.ts +17 -0
  623. package/dist/validation/intersection.d.ts.map +1 -0
  624. package/dist/validation/network.d.ts.map +1 -1
  625. package/dist/validation/perfect-variants.d.ts +30 -0
  626. package/dist/validation/perfect-variants.d.ts.map +1 -0
  627. package/dist/validation/perfect-variants.unit.test.d.ts +5 -0
  628. package/dist/validation/perfect-variants.unit.test.d.ts.map +1 -0
  629. package/dist/validation/probe.d.ts +17 -0
  630. package/dist/validation/probe.d.ts.map +1 -0
  631. package/dist/validation/structural-class.d.ts.map +1 -1
  632. package/dist/validation/symmetry.d.ts.map +1 -1
  633. package/dist/validation/width.d.ts +27 -0
  634. package/dist/validation/width.d.ts.map +1 -0
  635. package/dist/validation/width.unit.test.d.ts +5 -0
  636. package/dist/validation/width.unit.test.d.ts.map +1 -0
  637. package/package.json +25 -2
@@ -0,0 +1,123 @@
1
+ import { GraphExpander } from '../../interfaces/graph-expander';
2
+ /**
3
+ * Result from ensemble expansion.
4
+ */
5
+ export interface EnsembleExpansionResult {
6
+ /** Discovered paths (enumerated through union subgraph) */
7
+ paths: Array<{
8
+ fromSeed: number;
9
+ toSeed: number;
10
+ nodes: string[];
11
+ }>;
12
+ /** Union of all nodes visited by all strategies */
13
+ sampledNodes: Set<string>;
14
+ /** Set of edges visited during expansion */
15
+ sampledEdges: Set<string>;
16
+ /** Per-strategy sampled nodes (for diagnostics) */
17
+ sampledNodesPerStrategy: Map<string, Set<string>>;
18
+ /** Statistics about the expansion */
19
+ stats: EnsembleExpansionStats;
20
+ /** Map from node ID to the iteration when it was first discovered (across all strategies) */
21
+ nodeDiscoveryIteration: Map<string, number>;
22
+ }
23
+ /**
24
+ * Statistics collected during ensemble expansion.
25
+ */
26
+ export interface EnsembleExpansionStats {
27
+ /** Total nodes in union across all strategies */
28
+ totalUnionNodes: number;
29
+ /** Breakdown of node counts per strategy */
30
+ nodesPerStrategy: Map<string, number>;
31
+ /** Overlap statistics between strategies */
32
+ strategyOverlap: Map<string, number>;
33
+ /** Total paths enumerated through union */
34
+ totalPaths: number;
35
+ }
36
+ /**
37
+ * Ensemble Expansion (Union of BFS, DFS, Degree-Priority)
38
+ *
39
+ * Baseline algorithm that combines results from three different expansion
40
+ * strategies: standard BFS, depth-first search (DFS), and degree-prioritised.
41
+ * Enumerates all paths through the union of discovered subgraphs.
42
+ *
43
+ * **Key Properties**:
44
+ * - Runs BFS, DFS, and degree-priority expansion independently
45
+ * - Computes union of all visited nodes across strategies
46
+ * - Enumerates ALL simple paths through union subgraph
47
+ * - Terminates when all strategies complete
48
+ *
49
+ * **Experimental Purpose**:
50
+ * Tests whether combining multiple exploration strategies provides better
51
+ * coverage and path diversity than any single strategy alone. If ensemble
52
+ * outperforms degree-prioritised, strategy diversity matters. If not,
53
+ * a single well-chosen strategy suffices.
54
+ *
55
+ * **Note**: Path enumeration through large unions can be expensive.
56
+ * Consider depth limits for tractability.
57
+ *
58
+ * @template T - Type of node data returned by expander
59
+ */
60
+ export declare class EnsembleExpansion<T> {
61
+ private readonly expander;
62
+ private readonly seeds;
63
+ private readonly sampledEdges;
64
+ private readonly nodeDiscoveryIteration;
65
+ private stats;
66
+ /**
67
+ * Create a new ensemble expansion.
68
+ *
69
+ * @param expander - Graph expander providing neighbour access
70
+ * @param seeds - Array of seed node IDs (N >= 1)
71
+ * @throws Error if no seeds provided
72
+ */
73
+ constructor(expander: GraphExpander<T>, seeds: readonly string[]);
74
+ /**
75
+ * Run the ensemble expansion to completion.
76
+ *
77
+ * Executes BFS, DFS, and degree-priority strategies in sequence,
78
+ * then enumerates paths through the union.
79
+ *
80
+ * @returns Ensemble results including paths and union subgraph
81
+ */
82
+ run(): Promise<EnsembleExpansionResult>;
83
+ /**
84
+ * Run standard BFS expansion.
85
+ * @returns Set of visited nodes
86
+ * @internal
87
+ */
88
+ private runBfs;
89
+ /**
90
+ * Run depth-first search expansion.
91
+ * @returns Set of visited nodes
92
+ * @internal
93
+ */
94
+ private runDfs;
95
+ /**
96
+ * Run degree-prioritised expansion.
97
+ * @returns Set of visited nodes
98
+ * @internal
99
+ */
100
+ private runDegreePriority;
101
+ /**
102
+ * Enumerate all simple paths through the union subgraph.
103
+ * Uses DFS with backtracking to find all paths between seed pairs.
104
+ *
105
+ * @param nodes - Union of nodes from all strategies
106
+ * @returns Array of paths between all seed pairs
107
+ * @internal
108
+ */
109
+ private enumeratePathsThroughUnion;
110
+ /**
111
+ * Find all simple paths between two nodes within the sampled subgraph.
112
+ * Uses DFS with backtracking and depth limit for tractability.
113
+ *
114
+ * @param start - Start node ID
115
+ * @param end - End node ID
116
+ * @param allowedNodes - Set of nodes in the sampled subgraph
117
+ * @param maxDepth - Maximum path length to explore
118
+ * @returns Array of simple paths (each path is array of node IDs)
119
+ * @internal
120
+ */
121
+ private findAllSimplePaths;
122
+ }
123
+ //# sourceMappingURL=ensemble-expansion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensemble-expansion.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/ensemble-expansion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,2DAA2D;IAC3D,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,mDAAmD;IACnD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,mDAAmD;IACnD,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAElD,qCAAqC;IACrC,KAAK,EAAE,sBAAsB,CAAC;IAE9B,6FAA6F;IAC7F,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,iDAAiD;IACjD,eAAe,EAAE,MAAM,CAAC;IAExB,4CAA4C;IAC5C,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC,4CAA4C;IAC5C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErC,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;CACnB;AAmCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,iBAAiB,CAAC,CAAC;IAa9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAbvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IACpE,OAAO,CAAC,KAAK,CAAyB;IAEtC;;;;;;OAMG;gBAEe,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE;IAc1C;;;;;;;OAOG;IACG,GAAG,IAAI,OAAO,CAAC,uBAAuB,CAAC;IA6C7C;;;;OAIG;YACW,MAAM;IAiDpB;;;;OAIG;YACW,MAAM;IAiDpB;;;;OAIG;YACW,iBAAiB;IAsD/B;;;;;;;OAOG;YACW,0BAA0B;IA6BxC;;;;;;;;;;OAUG;YACW,kBAAkB;CAkChC"}
@@ -17,6 +17,8 @@ export interface FrontierBalancedResult {
17
17
  visitedPerFrontier: Array<Set<string>>;
18
18
  /** Statistics about the expansion */
19
19
  stats: FrontierBalancedStats;
20
+ /** Maps each node to the iteration when it was first discovered */
21
+ nodeDiscoveryIteration: Map<string, number>;
20
22
  }
21
23
  /**
22
24
  * Statistics collected during frontier-balanced expansion.
@@ -61,6 +63,7 @@ export declare class FrontierBalancedExpansion<T> {
61
63
  private readonly paths;
62
64
  private readonly sampledEdges;
63
65
  private stats;
66
+ private readonly nodeDiscoveryIteration;
64
67
  private lastActiveFrontier;
65
68
  /**
66
69
  * Create a new frontier-balanced expansion.
@@ -1 +1 @@
1
- {"version":3,"file":"frontier-balanced.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/frontier-balanced.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,0DAA0D;IAC1D,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,kDAAkD;IAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,kDAAkD;IAClD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,qCAAqC;IACrC,KAAK,EAAE,qBAAqB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IAEtB,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,CAAC;CACzB;AAoBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,yBAAyB,CAAC,CAAC;IAetC,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,CAAwB;IACrC,OAAO,CAAC,kBAAkB,CAAK;IAE/B;;;;;;OAMG;gBAEe,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE;IAyB1C;;;;;;OAMG;IACG,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC;IA8E5C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkCvB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAWlB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CASvB"}
1
+ {"version":3,"file":"frontier-balanced.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/frontier-balanced.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,0DAA0D;IAC1D,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,kDAAkD;IAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,kDAAkD;IAClD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,qCAAqC;IACrC,KAAK,EAAE,qBAAqB,CAAC;IAE7B,mEAAmE;IACnE,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IAEtB,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,CAAC;CACzB;AAoBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,yBAAyB,CAAC,CAAC;IAgBtC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAhBvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoE;IAC1F,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IACpE,OAAO,CAAC,kBAAkB,CAAK;IAE/B;;;;;;OAMG;gBAEe,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE;IA0B1C;;;;;;OAMG;IACG,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC;IA0F5C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkCvB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAWlB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CASvB"}
@@ -5,8 +5,24 @@
5
5
  * - StandardBfsExpansion: No prioritisation (FIFO queue)
6
6
  * - FrontierBalancedExpansion: Cerf et al. balancing (smallest frontier first)
7
7
  * - RandomPriorityExpansion: Null hypothesis (random selection)
8
+ * - DelayedTerminationExpansion: BFS with delayed termination after overlap
9
+ * - DegreeSurpriseExpansion: Local structural anomaly prioritisation
10
+ * - EnsembleExpansion: Union of BFS, DFS, and degree-priority
11
+ * - CrossSeedAffinityExpansion: Frontier-aware degree prioritisation
12
+ * - retroactivePathEnumeration: Post-process any expansion for exhaustive paths
8
13
  */
14
+ export { CrossSeedAffinityExpansion, type CrossSeedAffinityResult, type CrossSeedAffinityStats, } from './cross-seed-affinity';
15
+ export { DegreeSurpriseExpansion, type DegreeSurpriseResult, type DegreeSurpriseStats, } from './degree-surprise';
16
+ export { type DelayedTerminationConfig, DelayedTerminationExpansion, type DelayedTerminationResult, type DelayedTerminationStats, } from './delayed-termination';
17
+ export { EnsembleExpansion, type EnsembleExpansionResult, type EnsembleExpansionStats, } from './ensemble-expansion';
9
18
  export { FrontierBalancedExpansion, type FrontierBalancedResult, type FrontierBalancedStats, } from './frontier-balanced';
10
19
  export { RandomPriorityExpansion, type RandomPriorityResult, type RandomPriorityStats, } from './random-priority';
20
+ export { type ExpansionResult, retroactivePathEnumeration, type RetroactivePathEnumerationResult, type RetroactivePathEnumerationStats, } from './retroactive-path-enum';
11
21
  export { type BfsExpansionStats, StandardBfsExpansion, type StandardBfsResult } from './standard-bfs';
22
+ export { type BetweennessConfig, betweennessRanking } from './betweenness-ranking';
23
+ export { type DegreeRankingConfig, degreeSumRanking } from './degree-sum-ranking';
24
+ export { jaccardArithmeticRanking, type JaccardRankingConfig } from './jaccard-arithmetic-ranking';
25
+ export { type PageRankRankingConfig, pageRankSumRanking } from './pagerank-sum-ranking';
26
+ export { type RandomPathConfig, randomPathRanking } from './random-path-ranking';
27
+ export { type ShortestPathConfig, shortestPathRanking } from './shortest-path-ranking';
12
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACN,yBAAyB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,iBAAiB,EAAC,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACN,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,KAAK,wBAAwB,EAC7B,2BAA2B,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,yBAAyB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,KAAK,eAAe,EACpB,0BAA0B,EAC1B,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,GACpC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,iBAAiB,EAAC,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGrG,OAAO,EAAE,KAAK,iBAAiB,EAAC,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,KAAK,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAC,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAAE,KAAK,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,KAAK,gBAAgB,EAAC,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,KAAK,kBAAkB,EAAC,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { Graph } from '../../algorithms/graph/graph';
2
+ import { RankedPath } from '../../algorithms/pathfinding/path-ranking';
3
+ import { Edge, Node } from '../../algorithms/types/graph';
4
+ import { Option } from '../../algorithms/types/option';
5
+ import { Result } from '../../algorithms/types/result';
6
+ /**
7
+ * Configuration for Jaccard arithmetic ranking.
8
+ */
9
+ export interface JaccardRankingConfig {
10
+ /**
11
+ * Traversal mode for path finding.
12
+ */
13
+ traversalMode?: "directed" | "undirected";
14
+ /**
15
+ * Maximum number of paths to return.
16
+ */
17
+ maxPaths?: number;
18
+ }
19
+ /**
20
+ * Rank paths between two nodes by arithmetic mean of Jaccard similarity.
21
+ *
22
+ * This baseline ranks paths by the arithmetic mean of Jaccard similarity
23
+ * coefficients between consecutive node pairs along the path. Paths
24
+ * where adjacent nodes share more neighbours receive higher scores.
25
+ *
26
+ * @template N - Node type
27
+ * @template E - Edge type
28
+ * @param graph - The graph to search
29
+ * @param startId - Source node ID
30
+ * @param endId - Target node ID
31
+ * @param config - Optional configuration
32
+ * @returns Result containing Jaccard-ranked paths or error
33
+ */
34
+ export declare const jaccardArithmeticRanking: <N extends Node, E extends Edge>(graph: Graph<N, E>, startId: string, endId: string, config?: JaccardRankingConfig) => Result<Option<RankedPath<N, E>[]>, {
35
+ type: string;
36
+ message: string;
37
+ }>;
38
+ //# sourceMappingURL=jaccard-arithmetic-ranking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jaccard-arithmetic-ranking.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/jaccard-arithmetic-ranking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAE5E,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAQ,KAAK,MAAM,EAAQ,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AA+KD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EACtE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,SAAS,MAAM,EACf,OAAO,MAAM,EACb,SAAQ,oBAAyB,KAC/B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA6DtE,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { Graph } from '../../algorithms/graph/graph';
2
+ import { RankedPath } from '../../algorithms/pathfinding/path-ranking';
3
+ import { Edge, Node } from '../../algorithms/types/graph';
4
+ import { Option } from '../../algorithms/types/option';
5
+ import { Result } from '../../algorithms/types/result';
6
+ /**
7
+ * Configuration for PageRank sum ranking.
8
+ */
9
+ export interface PageRankRankingConfig {
10
+ /**
11
+ * Traversal mode for path finding.
12
+ */
13
+ traversalMode?: "directed" | "undirected";
14
+ /**
15
+ * Maximum number of paths to return.
16
+ */
17
+ maxPaths?: number;
18
+ /**
19
+ * Damping factor for PageRank (default: 0.85).
20
+ */
21
+ damping?: number;
22
+ /**
23
+ * Maximum number of power iterations (default: 100).
24
+ */
25
+ iterations?: number;
26
+ }
27
+ /**
28
+ * Rank paths between two nodes by sum of PageRank scores.
29
+ *
30
+ * This baseline ranks paths by the sum of PageRank scores of all nodes
31
+ * along the path. Paths through globally important nodes (as measured
32
+ * by PageRank) receive higher scores.
33
+ *
34
+ * @template N - Node type
35
+ * @template E - Edge type
36
+ * @param graph - The graph to search
37
+ * @param startId - Source node ID
38
+ * @param endId - Target node ID
39
+ * @param config - Optional configuration
40
+ * @returns Result containing PageRank-ranked paths or error
41
+ */
42
+ export declare const pageRankSumRanking: <N extends Node, E extends Edge>(graph: Graph<N, E>, startId: string, endId: string, config?: PageRankRankingConfig) => Result<Option<RankedPath<N, E>[]>, {
43
+ type: string;
44
+ message: string;
45
+ }>;
46
+ //# sourceMappingURL=pagerank-sum-ranking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagerank-sum-ranking.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/pagerank-sum-ranking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAE5E,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAQ,KAAK,MAAM,EAAQ,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AA+PD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EAChE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,SAAS,MAAM,EACf,OAAO,MAAM,EACb,SAAQ,qBAA0B,KAChC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAsDtE,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { Graph } from '../../algorithms/graph/graph';
2
+ import { RankedPath } from '../../algorithms/pathfinding/path-ranking';
3
+ import { Edge, Node } from '../../algorithms/types/graph';
4
+ import { Option } from '../../algorithms/types/option';
5
+ import { Result } from '../../algorithms/types/result';
6
+ /**
7
+ * Configuration for random path ranking.
8
+ */
9
+ export interface RandomPathConfig {
10
+ /**
11
+ * Traversal mode for path finding.
12
+ */
13
+ traversalMode?: "directed" | "undirected";
14
+ /**
15
+ * Maximum number of paths to return.
16
+ */
17
+ maxPaths?: number;
18
+ /**
19
+ * Random seed for reproducibility.
20
+ */
21
+ seed?: number;
22
+ }
23
+ /**
24
+ * Rank paths between two nodes randomly.
25
+ *
26
+ * This baseline serves as a statistical control. All paths receive
27
+ * the same score (1.0), but their order is randomised. This helps
28
+ * establish whether Path Salience Ranking provides meaningful improvements.
29
+ *
30
+ * @template N - Node type
31
+ * @template E - Edge type
32
+ * @param graph - The graph to search
33
+ * @param startId - Source node ID
34
+ * @param endId - Target node ID
35
+ * @param config - Optional configuration including seed for reproducibility
36
+ * @returns Result containing randomly-ranked paths or error
37
+ */
38
+ export declare const randomPathRanking: <N extends Node, E extends Edge>(graph: Graph<N, E>, startId: string, endId: string, config?: RandomPathConfig) => Result<Option<RankedPath<N, E>[]>, {
39
+ type: string;
40
+ message: string;
41
+ }>;
42
+ //# sourceMappingURL=random-path-ranking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random-path-ranking.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/random-path-ranking.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAE5E,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAQ,KAAK,MAAM,EAAQ,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAoKD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EAC/D,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,SAAS,MAAM,EACf,OAAO,MAAM,EACb,SAAQ,gBAAqB,KAC3B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAsCtE,CAAC"}
@@ -17,6 +17,8 @@ export interface RandomPriorityResult {
17
17
  visitedPerFrontier: Array<Set<string>>;
18
18
  /** Statistics about the expansion */
19
19
  stats: RandomPriorityStats;
20
+ /** Maps each node to the iteration when it was first discovered */
21
+ nodeDiscoveryIteration: Map<string, number>;
20
22
  }
21
23
  /**
22
24
  * Statistics collected during random-priority expansion.
@@ -60,6 +62,7 @@ export declare class RandomPriorityExpansion<T> {
60
62
  private readonly sampledEdges;
61
63
  private readonly rng;
62
64
  private stats;
65
+ private readonly nodeDiscoveryIteration;
63
66
  /**
64
67
  * Create a new random-priority expansion.
65
68
  *
@@ -1 +1 @@
1
- {"version":3,"file":"random-priority.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/random-priority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,0DAA0D;IAC1D,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,kDAAkD;IAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,kDAAkD;IAClD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,qCAAqC;IACrC,KAAK,EAAE,mBAAmB,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IAEtB,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AA+CD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,uBAAuB,CAAC,CAAC;IAgBpC,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,GAAG,CAAe;IACnC,OAAO,CAAC,KAAK,CAAsB;IAEnC;;;;;;;OAOG;gBAEe,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE,EACzC,IAAI,SAAK;IA0BV;;;;;;OAMG;IACG,GAAG,IAAI,OAAO,CAAC,oBAAoB,CAAC;IA2E1C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkCvB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAWlB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CASvB"}
1
+ {"version":3,"file":"random-priority.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/random-priority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,0DAA0D;IAC1D,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,kDAAkD;IAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,kDAAkD;IAClD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,qCAAqC;IACrC,KAAK,EAAE,mBAAmB,CAAC;IAE3B,mEAAmE;IACnE,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IAEtB,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AA+CD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,uBAAuB,CAAC,CAAC;IAiBpC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAjBvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoE;IAC1F,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IAEpE;;;;;;;OAOG;gBAEe,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE,EACzC,IAAI,SAAK;IA2BV;;;;;;OAMG;IACG,GAAG,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAuF1C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkCvB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAWlB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CASvB"}
@@ -0,0 +1,91 @@
1
+ import { GraphExpander } from '../../interfaces/graph-expander';
2
+ /**
3
+ * Generic expansion result type - compatible with all baseline results.
4
+ */
5
+ export interface ExpansionResult {
6
+ /** Union of all nodes visited during expansion */
7
+ sampledNodes: Set<string>;
8
+ /** Set of edges visited during expansion */
9
+ sampledEdges: Set<string>;
10
+ }
11
+ /**
12
+ * Result from retroactive path enumeration.
13
+ */
14
+ export interface RetroactivePathEnumerationResult {
15
+ /** All simple paths found between seed pairs */
16
+ paths: Array<{
17
+ fromSeed: number;
18
+ toSeed: number;
19
+ nodes: string[];
20
+ }>;
21
+ /** Statistics about enumeration */
22
+ stats: RetroactivePathEnumerationStats;
23
+ }
24
+ /**
25
+ * Statistics collected during retroactive path enumeration.
26
+ */
27
+ export interface RetroactivePathEnumerationStats {
28
+ /** Total simple paths enumerated */
29
+ totalPaths: number;
30
+ /** Number of seed pairs processed */
31
+ seedPairsProcessed: number;
32
+ /** Average paths per seed pair */
33
+ avgPathsPerPair: number;
34
+ /** Path length distribution */
35
+ pathLengthDistribution: Map<number, number>;
36
+ }
37
+ /**
38
+ * Retroactive Path Enumeration
39
+ *
40
+ * Post-processing function that takes ANY expansion result (from BFS,
41
+ * degree-prioritised, random, etc.) and enumerates ALL simple paths
42
+ * through the discovered subgraph.
43
+ *
44
+ * **Key Properties**:
45
+ * - Works with any expansion result (union of sampled nodes)
46
+ * - Uses DFS with backtracking to find all simple paths
47
+ * - Depth-limited for tractability on large subgraphs
48
+ * - Pure post-processing (doesn't modify original expansion)
49
+ *
50
+ * **Experimental Purpose**:
51
+ * Disentangles path discovery mechanism from path enumeration completeness.
52
+ * Tests whether different expansion strategies produce subgraphs with
53
+ * different path densities or diversity, independent of online path detection.
54
+ *
55
+ * **Use Case**:
56
+ * Compare path diversity across expansion strategies after exhaustive
57
+ * enumeration. If Strategy A finds more paths than Strategy B retroactively,
58
+ * A's subgraph is structurally richer (not just faster to converge).
59
+ *
60
+ * **Note**: This can be expensive on dense subgraphs. Use maxLength to
61
+ * control tractability.
62
+ */
63
+ /**
64
+ * Enumerate all simple paths between seed pairs in a sampled subgraph.
65
+ *
66
+ * @param result - Expansion result containing sampledNodes
67
+ * @param expander - Graph expander providing neighbour access
68
+ * @param seeds - Array of seed node IDs (N >= 2)
69
+ * @param maxLength - Maximum path length to explore (default: 20)
70
+ * @returns Enumeration results including all discovered paths
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * // Run standard BFS
75
+ * const bfsExpansion = new StandardBfsExpansion(expander, seeds);
76
+ * const bfsResult = await bfsExpansion.run();
77
+ *
78
+ * // Retroactively enumerate all paths through BFS subgraph
79
+ * const enumResult = await retroactivePathEnumeration(
80
+ * bfsResult,
81
+ * expander,
82
+ * seeds,
83
+ * 20
84
+ * );
85
+ *
86
+ * console.log(`BFS found ${bfsResult.paths.length} paths online`);
87
+ * console.log(`Retroactive enumeration found ${enumResult.paths.length} paths`);
88
+ * ```
89
+ */
90
+ export declare const retroactivePathEnumeration: <T>(result: ExpansionResult, expander: GraphExpander<T>, seeds: readonly string[], maxLength?: number) => Promise<RetroactivePathEnumerationResult>;
91
+ //# sourceMappingURL=retroactive-path-enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retroactive-path-enum.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/retroactive-path-enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,kDAAkD;IAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAChD,gDAAgD;IAChD,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,mCAAmC;IACnC,KAAK,EAAE,+BAA+B,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC/C,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAE3B,kCAAkC;IAClC,eAAe,EAAE,MAAM,CAAC;IAExB,+BAA+B;IAC/B,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,0BAA0B,GAAU,CAAC,EAAE,QAAQ,eAAe,EAAE,UAAU,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,EAAE,EAAE,kBAAc,KAAG,OAAO,CAAC,gCAAgC,CAoD3L,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { Graph } from '../../algorithms/graph/graph';
2
+ import { RankedPath } from '../../algorithms/pathfinding/path-ranking';
3
+ import { Edge, Node } from '../../algorithms/types/graph';
4
+ import { Option } from '../../algorithms/types/option';
5
+ import { Result } from '../../algorithms/types/result';
6
+ /**
7
+ * Configuration for shortest path ranking.
8
+ */
9
+ export interface ShortestPathConfig {
10
+ /**
11
+ * Traversal mode for path finding.
12
+ */
13
+ traversalMode?: "directed" | "undirected";
14
+ /**
15
+ * Maximum number of paths to return.
16
+ */
17
+ maxPaths?: number;
18
+ }
19
+ /**
20
+ * Rank paths between two nodes by shortest path length.
21
+ *
22
+ * This baseline ranks paths purely by their length, with shorter paths
23
+ * receiving higher scores. The score is computed as 1/(length + 1).
24
+ *
25
+ * Time Complexity: O(V + E) for BFS
26
+ * Space Complexity: O(V + E) for predecessor tracking
27
+ *
28
+ * @template N - Node type
29
+ * @template E - Edge type
30
+ * @param graph - The graph to search
31
+ * @param startId - Source node ID
32
+ * @param endId - Target node ID
33
+ * @param config - Optional configuration
34
+ * @returns Result containing ranked paths or error
35
+ */
36
+ export declare const shortestPathRanking: <N extends Node, E extends Edge>(graph: Graph<N, E>, startId: string, endId: string, config?: ShortestPathConfig) => Result<Option<RankedPath<N, E>[]>, {
37
+ type: string;
38
+ message: string;
39
+ }>;
40
+ //# sourceMappingURL=shortest-path-ranking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shortest-path-ranking.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/shortest-path-ranking.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAE5E,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAQ,KAAK,MAAM,EAAQ,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAyID;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EACjE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,SAAS,MAAM,EACf,OAAO,MAAM,EACb,SAAQ,kBAAuB,KAC7B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA2CtE,CAAC"}
@@ -17,6 +17,11 @@ export interface StandardBfsResult {
17
17
  visitedPerFrontier: Array<Set<string>>;
18
18
  /** Statistics about the expansion */
19
19
  stats: BfsExpansionStats;
20
+ /**
21
+ * Maps each sampled node to the iteration when it was first discovered.
22
+ * Used for computing coverage efficiency metrics.
23
+ */
24
+ nodeDiscoveryIteration: Map<string, number>;
20
25
  }
21
26
  /**
22
27
  * Statistics collected during BFS expansion.
@@ -56,6 +61,8 @@ export declare class StandardBfsExpansion<T> {
56
61
  private readonly paths;
57
62
  private readonly sampledEdges;
58
63
  private stats;
64
+ /** Tracks when each node was first discovered (iteration number) */
65
+ private readonly nodeDiscoveryIteration;
59
66
  /**
60
67
  * Create a new standard BFS expansion.
61
68
  *
@@ -1 +1 @@
1
- {"version":3,"file":"standard-bfs.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/standard-bfs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,0DAA0D;IAC1D,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,kDAAkD;IAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,kDAAkD;IAClD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,qCAAqC;IACrC,KAAK,EAAE,iBAAiB,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IAEtB,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAoBD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,oBAAoB,CAAC,CAAC;IAcjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAdvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoE;IAC1F,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,KAAK,CAAoB;IAEjC;;;;;;OAMG;gBAEe,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE;IAwB1C;;;;;;OAMG;IACG,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAwEvC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkCvB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAWlB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CASvB"}
1
+ {"version":3,"file":"standard-bfs.d.ts","sourceRoot":"","sources":["../../../src/experiments/baselines/standard-bfs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,0DAA0D;IAC1D,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAEpE,kDAAkD;IAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,kDAAkD;IAClD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,qCAAqC;IACrC,KAAK,EAAE,iBAAiB,CAAC;IAEzB;;;OAGG;IACH,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IAEtB,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAoBD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,oBAAoB,CAAC,CAAC;IAgBjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAhBvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoE;IAC1F,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,KAAK,CAAoB;IACjC,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IAEpE;;;;;;OAMG;gBAEe,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE;IA2B1C;;;;;;OAMG;IACG,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAqFvC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkCvB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAWlB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CASvB"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Algorithm evaluation harness test.
3
+ *
4
+ * Runs all algorithms on all fixtures and outputs detailed metrics for comparison.
5
+ * This test focuses on BEHAVIOUR rather than raw performance:
6
+ *
7
+ * - Correctness: Do algorithms find valid paths?
8
+ * - Exploration efficiency: How many nodes/edges are expanded?
9
+ * - Search behaviour: How does traversal order differ?
10
+ * - Diversity: How varied are the discovered paths?
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=evaluation.exp.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluation.exp.integration.test.d.ts","sourceRoot":"","sources":["../../../../../src/experiments/evaluation/__tests__/harness/evaluation.exp.integration.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,55 @@
1
+ import { AlgorithmRunResult, GraphFixture } from './types';
2
+ /**
3
+ * Algorithm configuration.
4
+ */
5
+ interface AlgorithmConfig {
6
+ /** Display name */
7
+ name: string;
8
+ /** Factory to create the algorithm */
9
+ create: (expander: import('../../../../interfaces/graph-expander').GraphExpander<unknown>, seeds: readonly string[]) => {
10
+ run: () => Promise<{
11
+ paths: Array<{
12
+ fromSeed: number;
13
+ toSeed: number;
14
+ nodes: string[];
15
+ }>;
16
+ sampledNodes: Set<string>;
17
+ sampledEdges: Set<string>;
18
+ stats: {
19
+ nodesExpanded: number;
20
+ edgesTraversed: number;
21
+ iterations: number;
22
+ degreeDistribution: Map<string, number>;
23
+ };
24
+ }>;
25
+ };
26
+ }
27
+ /**
28
+ * All algorithms to evaluate.
29
+ */
30
+ export declare const algorithms: AlgorithmConfig[];
31
+ /**
32
+ * Run a single algorithm on a single graph with given seeds.
33
+ * @param algorithm
34
+ * @param fixture
35
+ * @param seeds
36
+ */
37
+ export declare const runAlgorithmOnGraph: (algorithm: AlgorithmConfig, fixture: GraphFixture, seeds: string[]) => Promise<AlgorithmRunResult>;
38
+ /**
39
+ * Run full evaluation: all algorithms × all fixtures × all seed configurations.
40
+ */
41
+ export declare const runFullEvaluation: () => Promise<{
42
+ results: AlgorithmRunResult[];
43
+ summary: {
44
+ totalRuns: number;
45
+ fixtures: number;
46
+ algorithms: number;
47
+ };
48
+ }>;
49
+ /**
50
+ * Format results for JSON output.
51
+ * @param results
52
+ */
53
+ export declare const formatResultsForJson: (results: AlgorithmRunResult[]) => string;
54
+ export {};
55
+ //# sourceMappingURL=evaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../../../src/experiments/evaluation/__tests__/harness/evaluator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,kBAAkB,EAAoB,YAAY,EAAc,MAAM,SAAS,CAAC;AAE9F;;GAEG;AACH,UAAU,eAAe;IACxB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,MAAM,EAAE,CACP,QAAQ,EAAE,OAAO,kCAAkC,EAAE,aAAa,CAAC,OAAO,CAAC,EAC3E,KAAK,EAAE,SAAS,MAAM,EAAE,KACpB;QACJ,GAAG,EAAE,MAAM,OAAO,CAAC;YAClB,KAAK,EAAE,KAAK,CAAC;gBAAE,QAAQ,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,EAAE,CAAA;aAAE,CAAC,CAAC;YACpE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1B,KAAK,EAAE;gBACN,aAAa,EAAE,MAAM,CAAC;gBACtB,cAAc,EAAE,MAAM,CAAC;gBACvB,UAAU,EAAE,MAAM,CAAC;gBACnB,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aACxC,CAAC;SACF,CAAC,CAAC;KACH,CAAC;CACF;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,eAAe,EAiBvC,CAAC;AAyJF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAU,WAAW,eAAe,EAAE,SAAS,YAAY,EAAE,OAAO,MAAM,EAAE,KAAG,OAAO,CAAC,kBAAkB,CAkDxI,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC;IAClD,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,OAAO,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;CACF,CA+BA,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,kBAAkB,EAAE,KAAG,MA2BpE,CAAC"}