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
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # GraphBox
2
2
 
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with this repository.
4
+
3
5
  **GraphBox** = Graph Sandbox + Graph Toolbox
4
6
 
5
7
  Abstract and experimental graph algorithms for academic research. The name reflects its dual purpose:
@@ -23,14 +25,31 @@ GraphBox consolidates three previously separate BibGraph packages into a single,
23
25
  pnpm install graphbox
24
26
  ```
25
27
 
26
- ## CLI
28
+ ## Commands
27
29
 
28
30
  ```bash
31
+ # Development
32
+ pnpm install # Install dependencies
33
+ pnpm typecheck # TypeScript type checking
34
+ pnpm lint # ESLint with auto-fix
35
+ pnpm test # Run unit tests with coverage
36
+ pnpm build # Build library + CLI
37
+
38
+ # Experiments (high memory required)
39
+ NODE_OPTIONS="--max-old-space-size=8192" pnpm test:metrics # Run experiments, generate metrics
40
+ pnpm gen:latex-tables # Generate LaTeX tables from metrics
41
+ pnpm update:thesis-tables # Full: experiments + LaTeX table generation
42
+
43
+ # Standalone experiment orchestrator
44
+ npx tsx src/experiments/run-experiments.ts # Run all experiments
45
+ npx tsx src/experiments/run-experiments.ts --output path # Custom output path
46
+
47
+ # CLI
29
48
  npx graphbox help # Show available commands
30
49
  npx graphbox version # Show version
31
- npx graphbox generate # Generate a graph from a specification
50
+ npx graphbox generate # Generate graphs from specifications
32
51
  npx graphbox analyze # Analyze graph properties
33
- npx graphbox validate # Validate a graph against constraints
52
+ npx graphbox validate # Validate graphs against constraints
34
53
  ```
35
54
 
36
55
  ## Key Features
@@ -105,58 +124,70 @@ import { validateGraph, checkConstraints } from 'graphbox';
105
124
  const isValid = validateGraph(graph, constraints);
106
125
  ```
107
126
 
108
- ## Usage Examples
127
+ ## Architecture
109
128
 
110
- ### Basic Traversal
129
+ ### Experiment Framework
111
130
 
112
- ```typescript
113
- import { GraphAdapter, bfs } from 'graphbox';
131
+ The evaluation harness provides **reusable, repeatable, reproducible** experiments:
114
132
 
115
- const graph = { /* your graph */ };
116
- const adapter = new GraphAdapter(graph);
133
+ 1. **`src/experiments/run-experiments.ts`** - Orchestrator that runs all experiments
134
+ 2. **`src/experiments/metrics/`** - Typed metrics collection system
135
+ - `types.ts` - All metric type interfaces (must conform for table generation)
136
+ - `collector.ts` - `MetricsCollector` class for recording metrics
137
+ - `storage.ts` - File I/O for `test-metrics.json`
138
+ 3. **`src/experiments/experiments/`** - Standalone experiment scripts
139
+ - `bidirectional-bfs.ts` - Degree-Prioritised vs baselines
140
+ - `seeded-expansion.ts` - N=1 ego-network, N=2 bidirectional, N>=3 multi-seed
141
+ - `path-ranking.ts` - Path Salience Ranking with MI-based ranking
117
142
 
118
- const result = bfs(adapter, 'startNodeId');
119
- console.log(result.visited); // Array of visited node IDs
120
- ```
143
+ 4. **`scripts/export-csv.ts`** - Exports metrics as per-category CSV files for pgfplotstable
121
144
 
122
- ### Ego Network Extraction
145
+ **Pipeline:** Experiments MetricsCollector → test-metrics.json → CSV files → LaTeX pgfplotstable
123
146
 
124
- ```typescript
125
- import { extractEgoNetwork } from 'graphbox';
147
+ ### Three Algorithms Evaluated
126
148
 
127
- const adapter = new GraphAdapter(graph);
149
+ 1. **Seeded Node Expansion**
150
+ - N=1: Ego-network extraction
151
+ - N=2: Bidirectional path finding
152
+ - N>=3: Multi-seed expansion
128
153
 
129
- const egoNetwork = extractEgoNetwork(adapter, {
130
- radius: 2,
131
- seedNodes: ['author123'],
132
- includeEdgeWeights: true
133
- });
154
+ 2. **Bidirectional BFS** (Degree-Prioritised Expansion)
155
+ - Degree-based prioritisation vs standard BFS, frontier-balanced, random priority
156
+ - Hub explosion mitigation
134
157
 
135
- console.log(egoNetwork);
136
- ```
158
+ 3. **Salient Path Selection**
159
+ - Mutual Information (MI) based path ranking
160
+ - Statistical significance testing (Mann-Whitney U, Cohen's d)
137
161
 
138
- ### Graph Generation
162
+ ### Graph Abstraction
139
163
 
140
- ```typescript
141
- import { generateGraph, GraphSpec } from 'graphbox';
164
+ - **`ReadableGraph<N, E>`** - Minimal interface for graph traversal
165
+ - **`GraphAdapter`** - Adapter pattern for different graph implementations
166
+ - **`GraphExpander`** - Interface for dynamic graph expansion (used by algorithms)
167
+ - **`BenchmarkGraphExpander`** - Wraps loaded benchmark graphs for algorithm compatibility
142
168
 
143
- const spec: GraphSpec = {
144
- type: 'complete',
145
- nodeCount: 50,
146
- edgeDensity: 0.15
147
- };
169
+ ### Path Aliases
148
170
 
149
- const graph = generateGraph(spec);
171
+ TypeScript paths configured in `tsconfig.json`:
172
+ ```typescript
173
+ @graph/algorithms/* → src/algorithms/*
174
+ @graph/interfaces/* → src/interfaces/*
175
+ @graph/evaluation/* → src/experiments/evaluation/*
176
+ @graph/experiments/* → src/experiments/*
150
177
  ```
151
178
 
152
- ### Graph Validation
179
+ ### Test Organization
153
180
 
154
- ```typescript
155
- import { validateGraph } from 'graphbox';
181
+ - **`.exp.integration.test.ts`** - Experiment tests (high memory, use `--max-old-space-size=8192`)
182
+ - **Unit tests** - Co-located with algorithms
183
+ - **Benchmarks** - `src/experiments/evaluation/__tests__/validation/*/benchmarks/`
184
+ - **Fixtures** - `src/experiments/evaluation/__tests__/validation/*/fixtures/`
156
185
 
157
- const graph = { /* graph object */ };
158
- const isValid = validateGraph(graph);
159
- ```
186
+ ## Build System
187
+
188
+ **Dual build targets** via Vite:
189
+ - **Library**: ES modules, CJS, UMD formats (browser-compatible)
190
+ - **CLI**: ESM-only for Node.js command-line interface
160
191
 
161
192
  ## API Reference
162
193
 
@@ -182,6 +213,34 @@ const isValid = validateGraph(graph);
182
213
  - **generateGraph(spec)** - Generate graph from specification
183
214
  - **validateGraph(graph, constraints)** - Validate graph against constraints
184
215
 
216
+ ## Key Constraints
217
+
218
+ - **Never use `any`** - Use `unknown` with type guards
219
+ - **Serial test execution** - Parallel causes OOM on large graphs
220
+ - **Memory limits** - Use `NODE_OPTIONS="--max-old-space-size=8192"` for experiments
221
+ - **Metric types** - All metrics must conform to types in `src/experiments/metrics/types.ts`
222
+
223
+ ## LaTeX Table Generation
224
+
225
+ The experiment pipeline can generate LaTeX tables (`.tex` files) consumable by `pgfplotstable`.
226
+
227
+ Table-to-metric mapping:
228
+ | Table | Metric Category |
229
+ |-------|-----------------|
230
+ | 06-runtime-performance.tex | runtime-performance |
231
+ | 06-path-lengths.tex | path-lengths |
232
+ | 06-scalability.tex | scalability |
233
+ | 06-n-seed-hub-traversal.tex | n-seed-hub-traversal |
234
+ | 06-statistical-significance.tex | statistical-significance |
235
+ | 06-cross-dataset.tex | cross-dataset |
236
+ | 06-method-ranking.tex | method-ranking |
237
+ | 06-structural-representativeness.tex | structural-representativeness |
238
+ | 06-n-seed-generalisation.tex | n-seed-generalization |
239
+ | 06-n-seed-comparison.tex | n-seed-comparison |
240
+ | 06-n-seed-path-diversity.tex | n-seed-path-diversity |
241
+ | 06-structural-representativeness-metrics.tex | structural-representativeness-metrics |
242
+ | 06-mi-ranking-quality.tex | mi-ranking-quality |
243
+
185
244
  ## Contributing
186
245
 
187
246
  This package is part of academic research work. Contributions are welcome, please open an issue first.
@@ -196,6 +255,4 @@ Joe Mearman
196
255
 
197
256
  ## Related Projects
198
257
 
199
- - **BibGraph**: Main BibGraph monorepo
200
- - **algorithms**: Graph algorithms package for BibGraph
201
- - **types**: Shared TypeScript types for BibGraph
258
+ - **[BibGraph](https://github.com/Mearman/BibGraph)** - React SPA for OpenAlex literature discovery
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Integration tests for cliquewidth-bounded graphs.
3
+ *
4
+ * Tests the complete pipeline: spec → generation → analysis → validation
5
+ * for cliquewidth graph property.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=cliquewidth.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliquewidth.integration.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/integration/cliquewidth.integration.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Integration tests for modular graphs.
3
+ *
4
+ * Tests the complete pipeline: spec → generation → analysis → validation
5
+ * for modular graph property.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=modular.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modular.integration.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/integration/modular.integration.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Integration tests for pathwidth-bounded graphs.
3
+ *
4
+ * Tests the complete pipeline: spec → generation → analysis → validation
5
+ * for pathwidth graph property.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=pathwidth.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathwidth.integration.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/integration/pathwidth.integration.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Integration tests for Planar graph class
2
+ * Integration tests for planar graphs.
3
3
  *
4
- * Planar: can be drawn in the plane without edge crossings.
5
- * Equivalent: does not contain K5 or K3,3 as a minor (Kuratowski's theorem).
4
+ * Tests the complete pipeline: spec generation analysis → validation
5
+ * for planar graph property.
6
6
  */
7
7
  export {};
8
8
  //# sourceMappingURL=planar.integration.test.d.ts.map
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Integration tests for ptolemaic graphs.
3
+ *
4
+ * Tests the complete pipeline: spec → generation → analysis → validation
5
+ * for ptolemaic graph property.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=ptolemaic.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ptolemaic.integration.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/integration/ptolemaic.integration.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Integration tests for quasi-line graphs.
3
+ *
4
+ * Tests the complete pipeline: spec → generation → analysis → validation
5
+ * for quasi-line graph property.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=quasiline.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quasiline.integration.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/integration/quasiline.integration.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -2,6 +2,22 @@ import { Graph } from '../graph/graph';
2
2
  import { Community } from '../types/clustering-types';
3
3
  import { Edge, Node } from '../types/graph';
4
4
  import { WeightFunction } from '../types/weight-function';
5
+ /**
6
+ * Result of Louvain community detection including performance statistics.
7
+ */
8
+ export interface LouvainResult<N extends Node> {
9
+ /** Detected communities */
10
+ communities: Community<N>[];
11
+ /** Performance and convergence statistics */
12
+ stats: {
13
+ /** Total iterations across all hierarchy levels */
14
+ totalIterations: number;
15
+ /** Number of hierarchy levels processed */
16
+ hierarchyLevels: number;
17
+ /** Runtime in milliseconds */
18
+ runtimeMs: number;
19
+ };
20
+ }
5
21
  /**
6
22
  * Get adaptive convergence threshold based on graph size.
7
23
  * @param nodeCount - Number of nodes in graph
@@ -86,17 +102,17 @@ export declare const shuffle: <T>(array: T[], seed?: number) => T[];
86
102
  * // ... add nodes and edges ...
87
103
  *
88
104
  * // Basic usage (adaptive defaults)
89
- * const communities = detectCommunities(graph);
90
- * console.log(`Found ${communities.length} communities`);
105
+ * const { communities, stats } = detectCommunities(graph);
106
+ * console.log(`Found ${communities.length} communities in ${stats.totalIterations} iterations`);
91
107
  *
92
108
  * // Quality-first mode
93
- * const qualityCommunities = detectCommunities(graph, { mode: "best" });
109
+ * const result = detectCommunities(graph, { mode: "best" });
94
110
  *
95
111
  * // Speed-first mode for large graphs
96
- * const fastCommunities = detectCommunities(graph, { mode: "random", maxIterations: 10 });
112
+ * const fast = detectCommunities(graph, { mode: "random", maxIterations: 10 });
97
113
  *
98
114
  * // Reproducible results
99
- * const deterministicCommunities = detectCommunities(graph, { seed: 42 });
115
+ * const deterministic = detectCommunities(graph, { seed: 42 });
100
116
  * ```
101
117
  */
102
118
  export declare const detectCommunities: <N extends Node, E extends Edge>(graph: Graph<N, E>, options?: {
@@ -106,5 +122,5 @@ export declare const detectCommunities: <N extends Node, E extends Edge>(graph:
106
122
  seed?: number;
107
123
  minModularityIncrease?: number;
108
124
  maxIterations?: number;
109
- }) => Community<N>[];
125
+ }) => LouvainResult<N>;
110
126
  //# sourceMappingURL=louvain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"louvain.d.ts","sourceRoot":"","sources":["../../../src/algorithms/clustering/louvain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAC,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAa/D;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,WAAW,MAAM,KAAG,MAAuC,CAAC;AAEjG;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,GAAI,WAAW,MAAM,EAAE,OAAO,MAAM,KAAG,MAK5E,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,oBAAoB,QAAO,MAAM,GAAG,QAAkB,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,MAAM,KAAG,CAAC,EAsBvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAS;IAC9F,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;CAClB,KAAG,SAAS,CAAC,CAAC,CAAC,EAwXpB,CAAC"}
1
+ {"version":3,"file":"louvain.d.ts","sourceRoot":"","sources":["../../../src/algorithms/clustering/louvain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAC,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,IAAI;IAC5C,2BAA2B;IAC3B,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,6CAA6C;IAC7C,KAAK,EAAE;QACN,mDAAmD;QACnD,eAAe,EAAE,MAAM,CAAC;QACxB,2CAA2C;QAC3C,eAAe,EAAE,MAAM,CAAC;QACxB,8BAA8B;QAC9B,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;CACF;AAYD;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,WAAW,MAAM,KAAG,MAAuC,CAAC;AAEjG;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,GAAI,WAAW,MAAM,EAAE,OAAO,MAAM,KAAG,MAK5E,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,oBAAoB,QAAO,MAAM,GAAG,QAAkB,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,MAAM,KAAG,CAAC,EAsBvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAS;IAC9F,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;CAClB,KAAG,aAAa,CAAC,CAAC,CAkZvB,CAAC"}
@@ -0,0 +1,211 @@
1
+ /**
2
+ * Forbidden Subgraph Detection
3
+ *
4
+ * Efficient detection of induced subgraphs in graphs.
5
+ * Core infrastructure for 120+ forbidden subgraph graph classes.
6
+ *
7
+ * Key operations:
8
+ * - `hasInducedSubgraph()` - Check if graph contains specific induced subgraph
9
+ * - `detectMultipleSubgraphs()` - Batch detection of multiple patterns
10
+ * - `SUBGRAPH_PATTERNS` - Predefined pattern library
11
+ */
12
+ /**
13
+ * Subgraph pattern template
14
+ *
15
+ * Patterns define vertex count and edge connections.
16
+ * Vertices are numbered 0 to size-1.
17
+ */
18
+ export interface SubgraphPattern {
19
+ /** Pattern name (e.g., "P5", "C5", "bull") */
20
+ name: string;
21
+ /** Number of vertices in pattern */
22
+ size: number;
23
+ /** Edge connections as vertex pairs */
24
+ edges: Array<[number, number]>;
25
+ }
26
+ /**
27
+ * Adjacency list representation
28
+ *
29
+ * Maps vertex ID to set of adjacent vertices.
30
+ */
31
+ export type AdjacencyList = ReadonlyMap<number, ReadonlySet<number>>;
32
+ /**
33
+ * Build adjacency list from edge list
34
+ *
35
+ * @param vertices - Set of vertex IDs
36
+ * @param edges - Array of edge pairs
37
+ * @returns Adjacency list map
38
+ */
39
+ export declare const buildAdjacencyList: (vertices: ReadonlySet<number>, edges: ReadonlyArray<readonly [number, number]>) => AdjacencyList;
40
+ /**
41
+ * Check if graph contains induced subgraph matching pattern
42
+ *
43
+ * @param adjacency - Graph adjacency list
44
+ * @param pattern - Pattern to search for
45
+ * @returns true if induced subgraph exists
46
+ */
47
+ export declare const hasInducedSubgraph: (adjacency: AdjacencyList, pattern: SubgraphPattern) => boolean;
48
+ /**
49
+ * Detect multiple subgraph patterns in one pass
50
+ *
51
+ * Optimized batch detection that avoids redundant combination generation.
52
+ *
53
+ * @param adjacency - Graph adjacency list
54
+ * @param patterns - Array of patterns to detect
55
+ * @returns Map of pattern name to detection result
56
+ */
57
+ export declare const detectMultipleSubgraphs: (adjacency: AdjacencyList, patterns: readonly SubgraphPattern[]) => ReadonlyMap<string, boolean>;
58
+ /**
59
+ * Library of common forbidden subgraph patterns
60
+ */
61
+ export declare const SUBGRAPH_PATTERNS: {
62
+ /** Path P3 (3 vertices) */
63
+ readonly P3: SubgraphPattern;
64
+ /** Path P4 (4 vertices) */
65
+ readonly P4: SubgraphPattern;
66
+ /** Path P5 (5 vertices) */
67
+ readonly P5: SubgraphPattern;
68
+ /** Path P6 (6 vertices) */
69
+ readonly P6: SubgraphPattern;
70
+ /** Path P7 (7 vertices) */
71
+ readonly P7: SubgraphPattern;
72
+ /** Cycle C3 (triangle) */
73
+ readonly C3: SubgraphPattern;
74
+ /** Cycle C4 (square) */
75
+ readonly C4: SubgraphPattern;
76
+ /** Cycle C5 (pentagon) */
77
+ readonly C5: SubgraphPattern;
78
+ /** Cycle C6 (hexagon) */
79
+ readonly C6: SubgraphPattern;
80
+ /** Cycle C7 (heptagon) */
81
+ readonly C7: SubgraphPattern;
82
+ /** Complete K2 (edge) */
83
+ readonly K2: SubgraphPattern;
84
+ /** Complete K3 (triangle) */
85
+ readonly K3: SubgraphPattern;
86
+ /** Complete K4 */
87
+ readonly K4: SubgraphPattern;
88
+ /** Complete K5 */
89
+ readonly K5: SubgraphPattern;
90
+ /**
91
+ * Bull graph
92
+ * Triangle with two pendant vertices
93
+ *
94
+ * 2
95
+ * |
96
+ * 0 - 1 - 3
97
+ * |
98
+ * 4
99
+ */
100
+ readonly bull: SubgraphPattern;
101
+ /**
102
+ * Gem graph
103
+ * P4 with a universal vertex
104
+ *
105
+ * 2
106
+ * |
107
+ * 0 - 1 - 3
108
+ * |
109
+ * 4
110
+ * plus all edges from vertex 1
111
+ */
112
+ readonly gem: SubgraphPattern;
113
+ /**
114
+ * Net graph
115
+ * Triangle with three pendant vertices
116
+ *
117
+ * 2
118
+ * /|\
119
+ * 3 0 4
120
+ * \|/
121
+ * 1
122
+ */
123
+ readonly net: SubgraphPattern;
124
+ /**
125
+ * House graph
126
+ * P5 with a chord forming a "roof"
127
+ *
128
+ * 2 - 3
129
+ * | |
130
+ * 0 - 1 - 4
131
+ */
132
+ readonly house: SubgraphPattern;
133
+ /**
134
+ * Diamond graph
135
+ * K4 minus one edge
136
+ *
137
+ * 2
138
+ * /|\
139
+ * 3-0-1
140
+ * \|/
141
+ * 4
142
+ */
143
+ readonly diamond: SubgraphPattern;
144
+ /**
145
+ * Claw graph K1,3
146
+ * Star with 3 leaves
147
+ *
148
+ * 2
149
+ * |
150
+ * 0 - 1 - 3
151
+ * |
152
+ * 4
153
+ */
154
+ readonly claw: SubgraphPattern;
155
+ /**
156
+ * Fork graph
157
+ * P4 with an extra pendant attached to second vertex
158
+ *
159
+ * 2
160
+ * |
161
+ * 0 - 1 - 3 - 4
162
+ */
163
+ readonly fork: SubgraphPattern;
164
+ /**
165
+ * Chair graph
166
+ * P4 plus a pendant attached to center
167
+ *
168
+ * 2
169
+ * |
170
+ * 1
171
+ * |
172
+ * 0-1-3-4 (vertex 1 has pendant 2)
173
+ */
174
+ readonly chair: SubgraphPattern;
175
+ /**
176
+ * Dart graph
177
+ * Triangle with a path attached
178
+ *
179
+ * 1---2
180
+ * |\ /
181
+ * | 0
182
+ * |/
183
+ * 3
184
+ */
185
+ readonly dart: SubgraphPattern;
186
+ /**
187
+ * Kite graph
188
+ * Diamond with a pendant
189
+ */
190
+ readonly kite: SubgraphPattern;
191
+ /**
192
+ * Banner graph
193
+ * Triangle with a path of length 2 attached
194
+ */
195
+ readonly banner: SubgraphPattern;
196
+ /**
197
+ * 4-cycle with chord
198
+ * C4 plus one diagonal
199
+ */
200
+ readonly C4_chord: SubgraphPattern;
201
+ };
202
+ /**
203
+ * Get all pattern names from library
204
+ */
205
+ export declare const ALL_PATTERN_NAMES: readonly (keyof typeof SUBGRAPH_PATTERNS)[];
206
+ /**
207
+ * Get pattern by name
208
+ * @param name
209
+ */
210
+ export declare const getPattern: (name: keyof typeof SUBGRAPH_PATTERNS) => SubgraphPattern;
211
+ //# sourceMappingURL=forbidden-subgraphs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forbidden-subgraphs.d.ts","sourceRoot":"","sources":["../../../src/algorithms/extraction/forbidden-subgraphs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IAEb,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC9B,UAAU,WAAW,CAAC,MAAM,CAAC,EAC7B,OAAO,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAC7C,aAqBF,CAAC;AA6HF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC9B,WAAW,aAAa,EACxB,SAAS,eAAe,KACtB,OAmBF,CAAC;AAgCF;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,GACnC,WAAW,aAAa,EACxB,UAAU,SAAS,eAAe,EAAE,KAClC,WAAW,CAAC,MAAM,EAAE,OAAO,CA8C7B,CAAC;AAwEF;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC7B,2BAA2B;;IAG3B,2BAA2B;;IAG3B,2BAA2B;;IAG3B,2BAA2B;;IAG3B,2BAA2B;;IAG3B,0BAA0B;;IAG1B,wBAAwB;;IAGxB,0BAA0B;;IAG1B,yBAAyB;;IAGzB,0BAA0B;;IAG1B,yBAAyB;;IAGzB,6BAA6B;;IAG7B,kBAAkB;;IAGlB,kBAAkB;;IAGlB;;;;;;;;;OASG;mBAWE,eAAe;IAEpB;;;;;;;;;;OAUG;kBAaE,eAAe;IAEpB;;;;;;;;;OASG;kBAYE,eAAe;IAEpB;;;;;;;OAOG;oBAWE,eAAe;IAEpB;;;;;;;;;OASG;sBAWE,eAAe;IAEpB;;;;;;;;;OASG;mBASE,eAAe;IAEpB;;;;;;;OAOG;mBAUE,eAAe;IAEpB;;;;;;;;;OASG;oBAUE,eAAe;IAEpB;;;;;;;;;OASG;mBAWE,eAAe;IAEpB;;;OAGG;mBAYE,eAAe;IAEpB;;;OAGG;qBAWE,eAAe;IAEpB;;;OAGG;uBAWE,eAAe;CACX,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAEzB,SAAS,CAAC,MAAM,OAAO,iBAAiB,CAAC,EAAE,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,UAAU,GACtB,MAAM,MAAM,OAAO,iBAAiB,KAClC,eAMF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"path-ranking.d.ts","sourceRoot":"","sources":["../../../src/algorithms/pathfinding/path-ranking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path-ranking.d.ts","sourceRoot":"","sources":["../../../src/algorithms/pathfinding/path-ranking.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { Graph } from '../graph/graph.js';
2
+ import { GraphError } from '../types/errors.js';
3
+ import { Edge, Node } from '../types/graph.js';
4
+ import { Result } from '../types/result.js';
5
+ import { RankedPath } from './path-ranking.js';
6
+ /**
7
+ * Configuration for random path sampling.
8
+ */
9
+ export interface RandomPathSamplingConfig {
10
+ /** Maximum number of paths to sample */
11
+ maxPaths?: number;
12
+ /** Random seed for reproducibility */
13
+ seed?: number;
14
+ /** Maximum path length to prevent infinite walks */
15
+ maxLength?: number;
16
+ /** Maximum attempts per path before giving up */
17
+ maxAttemptsPerPath?: number;
18
+ }
19
+ /**
20
+ * Sample random paths between source and target using random walks.
21
+ *
22
+ * Performs multiple random walks from source, attempting to reach target.
23
+ * Each successful path is converted to a RankedPath with placeholder MI values.
24
+ * @param graph - The graph to sample paths from
25
+ * @param sourceId - Starting node ID
26
+ * @param targetId - Ending node ID
27
+ * @param config - Sampling configuration
28
+ * @returns Result containing array of ranked paths or error
29
+ */
30
+ export declare const sampleRandomPaths: <N extends Node, E extends Edge>(graph: Graph<N, E>, sourceId: string, targetId: string, config?: RandomPathSamplingConfig) => Result<Array<RankedPath<N, E>>, GraphError>;
31
+ //# sourceMappingURL=random-path-sampling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random-path-sampling.d.ts","sourceRoot":"","sources":["../../../src/algorithms/pathfinding/random-path-sampling.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAeD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EAC/D,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,UAAU,MAAM,EAChB,UAAU,MAAM,EAChB,SAAQ,wBAA6B,KACnC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CA8D5C,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { Graph } from '../graph/graph.js';
2
+ import { GraphError } from '../types/errors.js';
3
+ import { Edge, Node } from '../types/graph.js';
4
+ import { Result } from '../types/result.js';
5
+ import { RankedPath } from './path-ranking.js';
6
+ /**
7
+ * Configuration for shortest path ranking.
8
+ */
9
+ export interface ShortestPathRankingConfig {
10
+ /** Maximum number of paths to find */
11
+ maxPaths?: number;
12
+ }
13
+ /**
14
+ * Find k-shortest paths between source and target.
15
+ *
16
+ * Uses a modified Dijkstra approach: finds shortest path, then iteratively
17
+ * finds next-shortest paths by removing edges from previously found paths.
18
+ *
19
+ * Note: This is a simplified k-shortest paths implementation. For production,
20
+ * consider Yen's algorithm or Eppstein's algorithm for better performance.
21
+ * @param graph - The graph to search
22
+ * @param sourceId - Starting node ID
23
+ * @param targetId - Ending node ID
24
+ * @param config - Configuration for pathfinding
25
+ * @returns Result containing array of ranked paths or error
26
+ */
27
+ export declare const shortestPathRanking: <N extends Node, E extends Edge>(graph: Graph<N, E>, sourceId: string, targetId: string, config?: ShortestPathRankingConfig) => Result<Array<RankedPath<N, E>>, GraphError>;
28
+ //# sourceMappingURL=shortest-path-ranking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shortest-path-ranking.d.ts","sourceRoot":"","sources":["../../../src/algorithms/pathfinding/shortest-path-ranking.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEpE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACzC,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EACjE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,UAAU,MAAM,EAChB,UAAU,MAAM,EAChB,SAAQ,yBAA8B,KACpC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CA4D5C,CAAC"}