总览 · ← 返回运行 20261003-172000-search-t2-heart-extrap-chain-12h
节点 n38
速度耦合的型内径向坐标微位移(σ阈0.55、δ=0.03×RMS、幅度∝s_t/s_max、位移后保锚RMS):过门细胞型按转录速度幅度做型内凝聚,锐化区室边界;表达侧逐位不动,形状/邻域组齐升。
| 运行?一次完整的自动搜索或 Agent 会话,有自己的锁定配置和证据包。 | 20261003-172000-search-t2-heart-extrap-chain-12h |
|---|---|
| 父节点 | n36 |
| 子节点 | — |
| 操作?种子:人写的起点;改进:在父节点上改;草稿:从头写;修复:修父节点的报错。 | 改进 |
| 状态 | 已打分 |
| 分数 | 搜索目标分 56.27(-0.6) · proxy_noscale 56.27(-0.6) |
| 审查 | 未审查 |
| 用时?从运行开始到结束(或到现在)的挂钟时间。 | 35 分 |
| 程序版本 | 278bc0030cae7e080b492d28019d5811f9ee5df4 (programs.git) |
方法说明?节点程序自带的 METHOD.md:这个程序做了什么、为什么。
来自 programs.git 278bc0030c:solution/METHOD.md
速度耦合的型内径向坐标微位移(σ阈0.55、δ=0.03×RMS、幅度∝s_t/s_max、位移后保锚RMS):过门细胞型按转录速度幅度做型内凝聚,锐化区室边界;表达侧逐位不动,形状/邻域组齐升。
表达速度耦合的型内径向坐标微位移(节点 38)
承继父节点 36 全部表达侧代码(ε=0.4 扩散基座、rel 速度 v=(m_a−m_p)/(m_p+1)、硬门控、k=0.5 软阈值、
型内 lin50n + 基因级 xt50n 一致性加权、α=1.7 乘法解码、逐细胞 CP10k 精确回拉 γ=1.0、PBC=10、行序/组成/细胞数冻结),
只新增加坐标机制(PLAN family T2HX-02,机制名 mechanism)。
机制(PLAN 原样实现 + 两处实测改进)
对每个有过门速度表的细胞型 t:
- s_t = mean(|v_{t,g}|)(该型过门基因);σ_t = −1/+1 当负/正速度基因占比 ≥ 0.55(PLAN 原值 0.6;实测 0.55 更优,见下),混合符号型不动;
- 每细胞沿自身型质心的单位径向向量位移 Δx_i = δ·(s_t/s_max)·σ_t·R_rms,δ=0.03,R_rms = 输出点云 RMS 半径(尺度无关、帧无关,只用本阶段自身几何);
- 位移后整朵云均匀缩放回锚 RMS(d2_shape / occupancy_dice 均按 RMS 归一,此步只把 scale_log_ratio 钉回锚值 −0.4375,不含任何由已发布/保留阶段尺寸算出的常数)。
本视图上所有过门型的负速度基因占比 ≥0.55(CP10k 竞争使末步伪批量速度以负为主),28/33 型激活、全部 σ=−1、 24514 细胞被移动(max|Δx| = 6.5,约为最近邻间距 12 的一半):机制实际是速度幅度加权的型内凝聚——转录快的大型 (Neural Tube、V-CM、NCC、d-CSE、IFT-CM…)压缩多,混合/无速度型(SOM、HEM-Endoth、pSE 等 5 型)不动,区室边界被锐化。 生物学依据:E8.75 之后的心脏发育是袢环心管向分区明确的器官推进,各心区/组织区室经历压实与边界锐化 (发育事件顺序知识,Srivastava 2006, Cell 126:1037, DOI 10.1016/j.cell.2006.08.036;未使用任何保留阶段的测量值, 所有数值——速度、门控、s_t、σ_t、R_rms、位移——全部由视图输入现场计算)。
查分记录(proxy_noscale A 半,15/20 次;锚 = 父提交态 56.613)
| 配置(δ, σ阈, 变体) | 榜分 | shape | local | d2_shape | occ_dice | nb_mmd |
|---|---|---|---|---|---|---|
| 锚(父 36 提交态,δ=0) | 56.613 | 50.00 | 59.16 | 0.04891 | 0.8148 | 0.07908 |
| δ=0.005, 0.6 | 56.626 | 50.02 | 59.19 | 0.04878 | 0.8148 | 0.07899 |
| δ=0.02, 0.6 | 56.643 | 50.10 | 59.18 | 0.04838 | 0.8148 | 0.07901 |
| δ=0.03, 0.6 | 56.785 | 50.62 | 59.23 | 0.04811 | 0.8156 | 0.07887 |
| δ=0.05, 0.6 | 56.069 | 47.78 | 59.20 | 0.04755 | 0.8098 | 0.07895 |
| δ=0.1, 0.6 | 55.451 | 45.08 | 59.43 | 0.04604 | 0.8008 | 0.07821 |
| δ=−0.02, 0.6 | 55.870 | 47.12 | 59.07 | 0.04941 | 0.8090 | 0.07937 |
| δ=−0.05, 0.6 | 56.728 | 50.70 | 58.92 | 0.05013 | 0.8163 | 0.07987 |
| δ=0.035, 0.6 | 56.324 | 48.79 | 59.21 | 0.04797 | 0.8122 | 0.07891 |
| δ=0.04, 0.6 | 55.892 | 47.09 | 59.19 | 0.04783 | 0.8082 | 0.07900 |
| δ=0.03, 0.6, 均匀幅度 | 56.163 | 48.11 | 59.25 | 0.04764 | 0.8106 | 0.07880 |
| δ=0.03, 0.5 | 57.182 | 52.25 | 59.19 | 0.04802 | 0.8180 | 0.07899 |
| δ=0.02, 0.55 | 57.337 | 52.87 | 59.19 | 0.04833 | 0.8189 | 0.07900 |
| δ=0.025, 0.55 | 57.511 | 53.55 | 59.20 | 0.04818 | 0.8197 | 0.07895 |
| δ=0.05, 0.55 | 56.772 | 50.62 | 59.17 | 0.04744 | 0.8154 | 0.07904 |
| δ=0.03, 0.55, xy-only | 55.978 | 47.42 | 59.20 | 0.04772 | 0.8090 | 0.07896 |
| δ=0.03, 0.55, 保RMS(提交) | 57.664 | 54.18 | 59.18 | 0.04804 | 0.8204 | 0.07901 |
(δ=0.03/0.55/保RMS 与不保 RMS 的 56.785/57.664 各查一次,榜分与 d2/occ/nb 逐位相同,scale_log_ratio 由 −0.4508 回到 −0.4375: 证明 RMS 复原对本榜是零操作、对真实榜把尺寸项钉回地板值。)
PLAN 硬约束核对(提交配置)
- neighborhood_mmd 0.07901 ≤ 锚 0.07908 ✓;local_spatial 59.18 ≥ 锚 59.16 ✓;
- d2_shape + occupancy_dice 改善在所有过约束 δ 中最大(0.02/0.025/0.03/0.05 网格)✓;
- 机制证据:实际移动 24514/24826 细胞、28 型激活(σ 全 −1)、位移幅度 ∝ s_t/s_max∈[0.39,1](速度耦合非零且在起作用: 同 δ 均匀幅度 56.163 < 速度加权 56.785,−0.62);位移前后 15-NN Jaccard = 0.899(邻域基本保持,nb_mmd 反而略降); 四组分:shape_scale +4.18(A半),local_spatial +0.02,expression_change / cell_state 逐位不变(X 未动)。
已证否 / 已排除的方向(本会话)
- 膨胀方向(δ<0):d2_shape 与 nb_mmd 同步变差(−0.02: 55.87),收缩方向被数据确认;
- δ≥0.035(σ阈 0.6)与 δ≥0.05(0.55):occupancy_dice 掉下地板(体素崖),d2/nb 的继续改善抵不过;
- 均匀幅度(去掉 s_t/s_max 耦合):−0.62,PLAN 的速度幅度耦合是有效成分;
- xy-only(冻结 z):−1.69,径向位移必须三维(z 位移与 xy 协同才保持各向异性);
- σ阈 0.5(全过门型激活):57.182 < 0.55 的 57.664,混合符号型(SOM/HEM-Endoth/pSE)不应动。
验证过 / 未验证
验证过:提交态与 ablate 态、seed 0 重跑、seed 1 全部逐位确定;--ablate mechanism 输出逐位 = 父节点 36 提交态
(本地逐位核对);伪装视图(改路径、manifest 键序打乱、全部时间 +1)输出逐位相同;单输入阶段视图不崩
(α→0、无位移、回扩散基座,vec-check 过);提交态/ablate 态/单输入态均过 vec-score check;纯 CPU ~5 s / ~1 GB。
未验证:B 半与官网真值(A 半 +1.05 中约 +1.0 来自 occupancy_dice 0.8148→0.8204,该指标是 16³ 体素离散量、
对 δ 有跳变;但 (0.5–0.55, 0.02–0.03) 整个邻域都在地板之上,非单点尖峰);真实 final 视图(3 输入)的共有型
门控行为只经过单输入回退测试,未见过 final 数据;scale_log_ratio 在真实榜上的表现被本榜钉在地板值,无本地信号。
开关(复现网格用)
VEC_XDELTA(δ,默认 0.03)、VEC_XSIGTHR(σ阈,默认 0.55)、VEC_XRMS(1=保锚RMS,默认 1)、
VEC_XAMP(vel/uni,默认 vel)、VEC_XDIM(3d/xy,默认 3d);表达侧开关承自父节点(VEC_EPS/ALPHA/KSOFT/GAMMA/CONS/CONSG 等)。
--ablate <任意名>:仅 δ→0,其余保持提交态默认。
调研员的计划
| 名称 | 表达速度耦合的型内径向坐标微扰(保邻域约束) |
|---|---|
| 动机 | shape_scale 组在全树 38 节点中恒为 50.00(三项指标 skill 均 0.500=地板),是唯一未探明的 +25 分空间。ANALYSIS 明确建议'用与表达位移同源的型内速度场对 spatial_3D 坐标做小幅外推'。node 15 证明小幅坐标位移可改善 occupancy_dice(0.8066→0.8189 at γ=0.05),但该方案用全局 OT 场、未耦合表达速度、未在 neighborhood_mmd 约束下搜索。父节点 36 的 expression_change 58.46、local_spatial 59.82 已在平台期(30+ 配置压在 55.7–56.6),继续调表达侧期望收益趋零。 |
| 做法 | 步骤:(1) 承继父节点 36 全部表达侧代码(lin50n+xt50n+α=1.7+γ=1.0+ε=0.4),坐标/组成/行序解冻仅限本机制;(2) 对每个过门控细胞型 t,计算型质心 c_t 和型内每细胞的单位方向向量 d_i=(x_i−c_t)/‖x_i−c_t‖;(3) 计算型级速度幅度 s_t=mean(|v_{t,g}| over gated genes of type t);(4) 每细胞坐标位移 Δx_i = δ·(s_t/s_max)·d_i·σ_t,其中 σ_t=+1 若型内正速度基因占比≥0.6、−1 若负占比≥0.6、否则该型 σ_t=0(不动);s_max 为所有激活型的最大幅度;δ 单位为点云 RMS 半径(消除坐标尺度依赖);(5) δ 网格 {0.005, 0.01, 0.02, 0.05, 0.1},从最小开始逐个查分;(6) 硬约束:每个 δ 查分后检验 neighborhood_mmd raw ≤ 0.07573 且 local_spatial ≥ 59.0,不满足则停止增大 δ;(7) 在通过约束的 δ 中选 (d2_shape 得分 + occupancy_dice 得分) 改善最大者提交。单输入阶段退路:无前阶段→无速度→所有 s_t=0→坐标不变→输出等于扩散基座(坐标逐位不变)。vec-score 快速筛选:δ 网格最多 5 次 + 机制关对照 1 次 + 最终确认 1 次 ≤ 7 次查分(上限 20 次内)。 |
| 风险 | 1) 径向位移破坏表达-位置配对使 neighborhood_mmd 恶化、结构门 <1 反扣形状分——Engineer 在 δ=0.005 即查分确认邻域不降再继续;2) d2_shape 对小幅位移不敏感(20 万对点的距离分布变化太小)——若最大 δ=0.1 仍无变化则判定机制无效、以机制关提交;3) 型内速度方向不一致使 σ_t 不稳定——已设 0.6 占比阈值,不满足的型不动;4) 真值 E9.5 形状可能并不比 E8.5 有显著差异(心脏此阶段形态变化小),则任何坐标改变都是噪声——此时应如实报告机制无效并以机制关提交。 |
代码改动?这个节点的程序和父节点程序的逐行差别:绿色是新增,红色是删除。
对比:父节点版本 9f2333113a。改动的文件:solution/METHOD.md +77 −110、solution/README.md +21 −17、solution/run.py +206 −86
diff --git a/solution/METHOD.md b/solution/METHOD.mdindex f8c275c..a7d344f 100644--- a/solution/METHOD.md+++ b/solution/METHOD.md@@ -1,110 +1,77 @@-基因级跨型符号一致性加权(xt50n):过门基因按跨细胞型符号一致比例 u_g 重分配位移幅度(配对比重归一、保总位移),叠加父底物 lin50n/α=1.7/精确守恒;PLAN 的几何再闭合经 12 配置网格证否,提交此备选机制。--- family_id: T2HX-01-- 父节点: 34(A 半锚 56.599,本会话实测复现)-- 提交态 A 半(proxy_noscale): **56.612**(expr 58.50 / cell 58.79 / local 59.16 / shape 50.00)-- ablate 态 = 父节点 34 提交态逐位(A 半 56.599)→ 机制隔离干净--## 1. 提交的方法--底物全部承自父节点 34(不变):rel 速度 v=(m_a−m_p)/(m_p+1)(型内 log1p 均值),硬门控-(每型每阶段 ≥30 细胞、两阶段 pb ≥0.05、|v|≤2),软阈值 k=0.5,ε=0.4 两步支撑掩码扩散基座-(逐基因列缩放精确复原伪批量),型内 lin50n 方向一致性加权,α=1.7 乘法解码,逐细胞线性总量-精确回拉 γ=1.0(CP10k 守恒),PBC=10 亮度钳制;坐标 / 组成 / 行序 / 细胞数冻结(shape 组-结构性地板)。--**新机制 xt50n(基因级跨型符号一致性加权)**:lin50n 之后、解码之前,对每个过门基因 g,-u_g = 该基因的过门细胞型中速度符号与跨型多数符号一致的比例;所有 (型,基因) 对乘-w_g = 0.5+0.5·u_g,再除以配对比重的均值(总位移幅度守恒的纯重分配)。生物学依据:真实发育-程序(信号通路驱动的 TF 级联、谱系推进)让同一基因在多个谱系同向移动,而单型特异的伪批量-速度差由两个均值的抽样噪声主导;跨型符号一致性是从视图输入现场计算的可靠性代理(与-lin50n 的型内跨基因一致性正交,二者复合)。来源:Davidson & Levin 2005, Gene regulatory-networks, PNAS 102(14):4935, DOI: 10.1073/pnas.0408031102(发育 GRN 协调驱动跨谱系的基因-电池;通用机制知识,不涉及任何保留阶段的测量值)。实测:178 个过门基因,u_mean=0.974,-w∈[0.765, 1.020]——重分配幅度小,A 半 +0.013(噪声内,如实声明)。--`--ablate mechanism`:cons_g=none 且回退 renorm=cell/γ=1.0(=父节点解码),输出逐位等于-父节点 34 提交态。--## 2. PLAN(几何再闭合)证否记录 — 全部 20 次查分--PLAN 机制:把逐细胞精确守恒换成 s_i=(r_med/r_i)^γ_geo(r_i=T1_i/T0_i,r_med=中位数)。-第一轮 γ_geo×ε 网格(α=1.7、k=0.5、lin50n 固定),A 半 avg4 与各分项 points:--| γ_geo | ε | avg4 | expr | cell | local | de_score raw/pts | de_dir raw/pts | mmd_u raw/pts | vario raw/pts | nbhd raw/pts |-|---|---|---:|---:|---:|---:|---|---|---|---|---|-| 锚(cell γ=1.0) | 0.4 | 56.599 | 58.48 | 58.82 | 59.10 | —* | —* | —* | —* | —* |-| 1.0 | 0.1 | 56.535 | 58.43 | 58.81 | 58.90 | 0.1806/6.91 | 0.3738/7.70 | 0.04767/6.89 | 0.03542/7.81 | 0.07994/14.73 |-| 1.0 | 0.2 | 56.610 | 58.48 | 58.83 | 59.13 | 0.1806/6.91 | 0.3767/7.71 | 0.04756/6.90 | 0.03542/7.81 | 0.07919/14.78 |-| 1.0 | 0.4 | 56.623 | 58.53 | 58.85 | 59.11 | 0.1806/6.91 | 0.3790/7.72 | 0.04734/6.91 | 0.03554/7.80 | 0.07925/14.78 |-| 1.2 | 0.1 | 56.485 | 58.40 | 58.86 | 58.68 | 0.1806/6.91 | 0.3720/7.69 | 0.04911/6.80 | 0.03419/7.92 | 0.08067/14.67 |-| 1.2 | 0.2 | 56.550 | 58.44 | 58.88 | 58.88 | 0.1806/6.91 | 0.3745/7.70 | 0.04907/6.80 | 0.03415/7.92 | 0.08001/14.72 |-| 1.2 | 0.4 | 56.612 | 58.71 | 58.91 | 58.83 | 0.1944/6.97 | 0.3768/7.71 | 0.04896/6.81 | 0.03415/7.92 | 0.08015/14.71 |-| 1.35 | 0.1 | 56.373 | 58.19 | 58.82 | 58.48 | 0.1667/6.86 | 0.3728/7.69 | 0.05017/6.73 | 0.03355/7.97 | 0.08134/14.62 |-| 1.35 | 0.2 | 56.375 | 58.00 | 58.84 | 58.66 | 0.1528/6.80 | 0.3747/7.70 | 0.05017/6.73 | 0.03348/7.98 | 0.08074/14.67 |-| 1.35 | 0.4 | 56.350 | 57.96 | 58.86 | 58.58 | 0.1528/6.80 | 0.3723/7.69 | 0.05014/6.73 | 0.03345/7.98 | 0.08099/14.65 |-| 1.5 | 0.1 | 56.145 | 57.59 | 58.73 | 58.26 | 0.1389/6.75 | 0.3643/7.65 | 0.05118/6.67 | 0.03308/8.01 | 0.08208/14.57 |-| 1.5 | 0.2 | 56.210 | 57.67 | 58.75 | 58.42 | 0.1389/6.75 | 0.3684/7.67 | 0.05124/6.67 | 0.03299/8.02 | 0.08154/14.61 |-| 1.5 | 0.4 | 56.188 | 57.68 | 58.76 | 58.31 | 0.1389/6.75 | 0.3692/7.67 | 0.05126/6.66 | 0.03295/8.03 | 0.08189/14.58 |--(网格与备选行均为本会话 vec-score 原始输出。* 锚行当次只记录了组分;其 B 半官方分项见父节点-变化量表:de_score 0.1944、de_dir 0.3744、mmd_u 0.04631、vario 0.03486、nbhd 0.07595。A/B 半-raw 不可直接互比,下文所有比较均只在 A 半内部进行。)--结论:**证否**。de_score raw 随 γ_geo 上升整体下降(1/72 命中量化:γ=1.0 全为 0.1806=13 命中,-γ=1.2 为 0.1806/0.1806/0.1944,γ=1.35 为 0.1667/0.1528/0.1528,γ=1.5 全为 0.1389=10 命中),-expr 组 58.48→57.68;仅 variogram 单调改善(pts 7.80→8.03)。PLAN 预期 γ_geo 上升带来-de_score 上升(node 33 的 0.1944→0.2639),本底物上方向相反。PLAN 的提交门(expr≥59.5 ∧-local≥59.0)无一配置满足;最优网格点 56.623 与锚 56.599 差 +0.02,远在 T2 噪声(~1 分)内。--诊断与不可迁移性:lin50n 加权使细胞总量比 r 出现极端尾巴(q90≈2.9 万;无加权时 q90≈508),-几何再闭合对尾部细胞的压碎强于精确守恒且随 γ_geo 加剧,同时全体细胞被均匀抬升 r_med^γ≈1.02^γ-(线性域),足以翻转 de_score 的边缘命中。node 33 分支(γ_geo=1.35 得 de_score 0.2639)的-底物无法复原:按其谱系参数重建(α=1.0、k=0.7、geom 1.35、ε=0.1、无加权)只得 **53.680**-(de_score 0.1667、variogram 0.0518、nbhd 0.0974),其 α=1.5 无加权变体 56.275——γ_geo=1.35-的最优性是那个特定底物的性质,不迁移到本分支。PLAN 第二轮(最优 γ_geo×ε 上重耦合 α)按其-自身边界规则不再执行(第一轮无一过门)。--## 3. 备选机制(针对同一弱项 expression_change / de_score)--| 配置 | avg4 | expr | cell | local | de_score raw | de_dir raw | 结论 |-|---|---:|---:|---:|---:|---:|---:|---|-| xt50n(基因级跨型一致性,保幅度归一) | **56.612** | 58.50 | 58.79 | 59.16 | 0.1806 | 0.3776 | **提交** |-| xt50n + geom γ=1.2 ε=0.4 | 56.515 | 58.15 | 58.95 | 58.96 | 0.1667 | 0.3707 | 劣于两部件 |-| xt50n + geom γ=1.5 ε=0.4 | 56.305 | 57.80 | 58.90 | 58.52 | 0.1528 | 0.3637 | 劣于两部件 |-| xtcovn(√n_types 覆盖度加权) | 56.347 | 58.32 | 58.53 | 58.54 | 0.1806 | 0.3679 | 证否 |-| log2 速度 α=1.0(k=0.5, lin50n) | 54.557 | 55.36 | 55.76 | 57.11 | 0.1528 | 0.2232 | 证否 |--xt50n 是本会话 20 配置中的最高分(+0.013 vs 锚,统计不可分),nbhd raw 0.07908 与 mmd_u-0.04661 为会话最佳(网格内最好分别为 0.07919 / 0.04734),de_direction 0.3776 仅次于网格的-0.3790;de_score 0.1806=13 命中(锚的 A 半分项未记录,父 B 半为 0.1944=14 命中,跨半仅参考)。-选择 xt50n 而非 geom γ=1.0/ε=0.4(56.623,差 +0.011)的理由:后者是已证否机制的边界点-(de_score 已丢 1 命中且随 γ 单调恶化),xt50n 是因果清晰、与 lin50n 正交的新机制,且-local_spatial 59.16 > 59.10(PLAN 门槛方向)。如实声明:+0.013 在噪声内,不能声称分数收益;-机制的价值在于给出了 de_direction / mmd_u / nbhd 同时微升、de_score 微降的可复现证据点。--## 4. 验证--- vec-check 通过(提交态与 ablate 态)。-- ablate 输出逐位 = 父节点提交态;提交态 ≠ 父节点(非 gen_empty)。-- 伪装视图(文件改名、manifest 键序打乱 + 重排版、全部时间 +1 天)输出与真实视图逐位相同。-- seed 0 重跑逐位相同;seed 3 可跑(本视图 n=max_cells 未截断,行选择与 seed 无关,输出相同)。-- 单输入视图:extrap_step 返回 None → α→0,输出 = 扩散基座(std_dp=0,DE 无变化保护区),不崩。-- 纯 CPU(EXECUTION.json gpu:false),全视图 ~4 s / ~1 GB,远低于 limits(30 min / 28 GB)。-- 无任何来自保留阶段/保留基因型的测量值;无硬编码阶段名、时间、细胞数;机制全部由视图输入- 现场计算;不使用 external/(本视图挂载的 Qiu E8.75 未被读取)。-- 未验证:B 半迁移(外推榜本地尺子历史高估,A 半 ±0.05 级差异不应期待兑现);真实括号- (E8.5+E9.5→E10.5,步长比不同)上 xt50n 的行为。--## 5. 查分账目(20/20)--锚 1 + geom 网格 12 + n33 底物重建 2 + xt50n 1 + xtcovn 1 + log2 1 + xt50n×geom 组合 2 = 20。--## 6. 给后续节点--- 几何再闭合在本分支(lin50n/α=1.7/k=0.5)证否,勿再扫 γ_geo;node 33 的 57.04 无法通过- 参数移植复原(其代码不可得,重建底物 53.68),除非拿到其提交态代码,否则该分支的差异来源不明。-- de_score raw 以 1/72 命中量化,±1 命中 ≈ 榜分 ±0.03:该指标的"改善"必须 ≥3 命中才有意义。-- A 半已 30+ 配置压在 55.7–56.6:表达位移参数面全平台。剩余杠杆在结构上:坐标冻结使 shape- 恒 50(-25 分上限),任何能在保 nbhd 前提下动坐标的机制(如受约束的坐标外推)是唯一未探明- 的大分数带;父节点建议的邻域锐化未测(本会话额度耗尽)。+速度耦合的型内径向坐标微位移(σ阈0.55、δ=0.03×RMS、幅度∝s_t/s_max、位移后保锚RMS):过门细胞型按转录速度幅度做型内凝聚,锐化区室边界;表达侧逐位不动,形状/邻域组齐升。++# 表达速度耦合的型内径向坐标微位移(节点 38)++承继父节点 36 全部表达侧代码(ε=0.4 扩散基座、rel 速度 v=(m_a−m_p)/(m_p+1)、硬门控、k=0.5 软阈值、+型内 lin50n + 基因级 xt50n 一致性加权、α=1.7 乘法解码、逐细胞 CP10k 精确回拉 γ=1.0、PBC=10、行序/组成/细胞数冻结),+只新增加坐标机制(PLAN family T2HX-02,机制名 `mechanism`)。++## 机制(PLAN 原样实现 + 两处实测改进)++对每个有过门速度表的细胞型 t:+- s_t = mean(|v_{t,g}|)(该型过门基因);σ_t = −1/+1 当负/正速度基因占比 ≥ **0.55**(PLAN 原值 0.6;实测 0.55 更优,见下),混合符号型不动;+- 每细胞沿自身型质心的单位径向向量位移 Δx_i = δ·(s_t/s_max)·σ_t·R_rms,δ=**0.03**,R_rms = 输出点云 RMS 半径(尺度无关、帧无关,只用本阶段自身几何);+- 位移后整朵云均匀缩放回锚 RMS(d2_shape / occupancy_dice 均按 RMS 归一,此步只把 scale_log_ratio 钉回锚值 −0.4375,不含任何由已发布/保留阶段尺寸算出的常数)。++本视图上所有过门型的负速度基因占比 ≥0.55(CP10k 竞争使末步伪批量速度以负为主),28/33 型激活、全部 σ=−1、+24514 细胞被移动(max|Δx| = 6.5,约为最近邻间距 12 的一半):机制实际是**速度幅度加权的型内凝聚**——转录快的大型+(Neural Tube、V-CM、NCC、d-CSE、IFT-CM…)压缩多,混合/无速度型(SOM、HEM-Endoth、pSE 等 5 型)不动,区室边界被锐化。+生物学依据:E8.75 之后的心脏发育是袢环心管向分区明确的器官推进,各心区/组织区室经历压实与边界锐化+(发育事件顺序知识,Srivastava 2006, Cell 126:1037, DOI 10.1016/j.cell.2006.08.036;未使用任何保留阶段的测量值,+所有数值——速度、门控、s_t、σ_t、R_rms、位移——全部由视图输入现场计算)。++## 查分记录(proxy_noscale A 半,15/20 次;锚 = 父提交态 56.613)++| 配置(δ, σ阈, 变体) | 榜分 | shape | local | d2_shape | occ_dice | nb_mmd |+|---|---:|---:|---:|---:|---:|---:|+| 锚(父 36 提交态,δ=0) | 56.613 | 50.00 | 59.16 | 0.04891 | 0.8148 | 0.07908 |+| δ=0.005, 0.6 | 56.626 | 50.02 | 59.19 | 0.04878 | 0.8148 | 0.07899 |+| δ=0.02, 0.6 | 56.643 | 50.10 | 59.18 | 0.04838 | 0.8148 | 0.07901 |+| δ=0.03, 0.6 | 56.785 | 50.62 | 59.23 | 0.04811 | 0.8156 | 0.07887 |+| δ=0.05, 0.6 | 56.069 | 47.78 | 59.20 | 0.04755 | 0.8098 | 0.07895 |+| δ=0.1, 0.6 | 55.451 | 45.08 | 59.43 | 0.04604 | 0.8008 | 0.07821 |+| δ=−0.02, 0.6 | 55.870 | 47.12 | 59.07 | 0.04941 | 0.8090 | 0.07937 |+| δ=−0.05, 0.6 | 56.728 | 50.70 | 58.92 | 0.05013 | 0.8163 | 0.07987 |+| δ=0.035, 0.6 | 56.324 | 48.79 | 59.21 | 0.04797 | 0.8122 | 0.07891 |+| δ=0.04, 0.6 | 55.892 | 47.09 | 59.19 | 0.04783 | 0.8082 | 0.07900 |+| δ=0.03, 0.6, 均匀幅度 | 56.163 | 48.11 | 59.25 | 0.04764 | 0.8106 | 0.07880 |+| δ=0.03, 0.5 | 57.182 | 52.25 | 59.19 | 0.04802 | 0.8180 | 0.07899 |+| δ=0.02, 0.55 | 57.337 | 52.87 | 59.19 | 0.04833 | 0.8189 | 0.07900 |+| δ=0.025, 0.55 | 57.511 | 53.55 | 59.20 | 0.04818 | 0.8197 | 0.07895 |+| δ=0.05, 0.55 | 56.772 | 50.62 | 59.17 | 0.04744 | 0.8154 | 0.07904 |+| δ=0.03, 0.55, xy-only | 55.978 | 47.42 | 59.20 | 0.04772 | 0.8090 | 0.07896 |+| **δ=0.03, 0.55, 保RMS(提交)** | **57.664** | **54.18** | **59.18** | 0.04804 | 0.8204 | 0.07901 |++(δ=0.03/0.55/保RMS 与不保 RMS 的 56.785/57.664 各查一次,榜分与 d2/occ/nb 逐位相同,scale_log_ratio 由 −0.4508 回到 −0.4375:+证明 RMS 复原对本榜是零操作、对真实榜把尺寸项钉回地板值。)++## PLAN 硬约束核对(提交配置)++- neighborhood_mmd 0.07901 ≤ 锚 0.07908 ✓;local_spatial 59.18 ≥ 锚 59.16 ✓;+- d2_shape + occupancy_dice 改善在所有过约束 δ 中最大(0.02/0.025/0.03/0.05 网格)✓;+- 机制证据:实际移动 24514/24826 细胞、28 型激活(σ 全 −1)、位移幅度 ∝ s_t/s_max∈[0.39,1](速度耦合非零且在起作用:+ 同 δ 均匀幅度 56.163 < 速度加权 56.785,−0.62);位移前后 15-NN Jaccard = 0.899(邻域基本保持,nb_mmd 反而略降);+ 四组分:shape_scale +4.18(A半),local_spatial +0.02,expression_change / cell_state 逐位不变(X 未动)。++## 已证否 / 已排除的方向(本会话)++- 膨胀方向(δ<0):d2_shape 与 nb_mmd 同步变差(−0.02: 55.87),收缩方向被数据确认;+- δ≥0.035(σ阈 0.6)与 δ≥0.05(0.55):occupancy_dice 掉下地板(体素崖),d2/nb 的继续改善抵不过;+- 均匀幅度(去掉 s_t/s_max 耦合):−0.62,PLAN 的速度幅度耦合是有效成分;+- xy-only(冻结 z):−1.69,径向位移必须三维(z 位移与 xy 协同才保持各向异性);+- σ阈 0.5(全过门型激活):57.182 < 0.55 的 57.664,混合符号型(SOM/HEM-Endoth/pSE)不应动。++## 验证过 / 未验证++验证过:提交态与 ablate 态、seed 0 重跑、seed 1 全部逐位确定;`--ablate mechanism` 输出逐位 = 父节点 36 提交态+(本地逐位核对);伪装视图(改路径、manifest 键序打乱、全部时间 +1)输出逐位相同;单输入阶段视图不崩+(α→0、无位移、回扩散基座,vec-check 过);提交态/ablate 态/单输入态均过 vec-score check;纯 CPU ~5 s / ~1 GB。+未验证:B 半与官网真值(A 半 +1.05 中约 +1.0 来自 occupancy_dice 0.8148→0.8204,该指标是 16³ 体素离散量、+对 δ 有跳变;但 (0.5–0.55, 0.02–0.03) 整个邻域都在地板之上,非单点尖峰);真实 final 视图(3 输入)的共有型+门控行为只经过单输入回退测试,未见过 final 数据;scale_log_ratio 在真实榜上的表现被本榜钉在地板值,无本地信号。++## 开关(复现网格用)++`VEC_XDELTA`(δ,默认 0.03)、`VEC_XSIGTHR`(σ阈,默认 0.55)、`VEC_XRMS`(1=保锚RMS,默认 1)、+`VEC_XAMP`(vel/uni,默认 vel)、`VEC_XDIM`(3d/xy,默认 3d);表达侧开关承自父节点(VEC_EPS/ALPHA/KSOFT/GAMMA/CONS/CONSG 等)。+`--ablate <任意名>`:仅 δ→0,其余保持提交态默认。diff --git a/solution/README.md b/solution/README.mdindex 1c1c5ac..01a7ce0 100644--- a/solution/README.md+++ b/solution/README.md@@ -1,25 +1,29 @@-# 基因级跨型符号一致性加权 rel 速度外推(节点 36)+# 表达速度耦合的型内径向坐标微位移(节点 38) -父节点 34 底物(rel 速度 v=(m_a−m_p)/(m_p+1)、硬门控 + k=0.5 软阈值、ε=0.4 扩散基座、-型内 lin50n 一致性加权、α=1.7 乘法解码、逐细胞 CP10k 精确回拉 γ=1.0、PBC=10,坐标/组成/-行序冻结)之上叠加**基因级跨型符号一致性加权 xt50n**:每个过门基因按跨细胞型符号一致比例-u_g 得 w_g=0.5+0.5·u_g,配对比重归一(总位移守恒的纯重分配)。全部数值由视图输入现场计算。+父节点 36 提交态表达侧(rel 速度 v=(m_a−m_p)/(m_p+1)、硬门控 + k=0.5 软阈值、ε=0.4 扩散基座、+型内 lin50n + 基因级 xt50n 一致性加权、α=1.7 乘法解码、逐细胞 CP10k 精确回拉 γ=1.0、PBC=10,+组成/行序/细胞数冻结)之上叠加**坐标机制**:每个过门细胞型按型内速度幅度 s_t 与符号占比+(阈值 0.55)得 σ_t,细胞沿自身型质心径向位移 δ·(s_t/s_max)·σ_t·R_rms(δ=0.03),+随后整朵云均匀缩放回锚 RMS(scale_log_ratio 钉回锚值;d2/occ 按 RMS 归一不受影响)。+本视图 28 型全 σ=−1(型内凝聚)、24514/24826 细胞被移动、15-NN Jaccard 0.899。+全部数值由视图输入现场计算,无外部数据、无阶段尺寸常数。 -A 半(proxy_noscale):提交态 56.612;ablate 态(=父节点 34 提交态,逐位)56.599。-PLAN 的几何再闭合(γ_geo×ε 12 配置网格)证否:de_score 随 γ_geo 单调下降;备选机制-xtcovn(56.347)、log2 速度(54.557)、xt50n×geom 组合(56.515/56.305)均证否;-20 次查分明细见 METHOD.md。+A 半(proxy_noscale):提交态 **57.664**(锚 56.613,+1.05;shape_scale 50.00→54.18,+occupancy_dice 0.8148→0.8204,d2_shape 0.04891→0.04804,nb_mmd 0.07908→0.07901,+PLAN 硬约束 nb≤锚 / local≥锚 通过);ablate 态逐位 = 父节点 36 提交态。+15 次查分网格与证否方向(膨胀、均匀幅度、xy-only、σ阈 0.5/0.6、δ≥0.035)见 METHOD.md。 ## 开关 -- `--ablate mechanism`:cons_g=none + 回退 renorm=cell/γ=1.0(父解码),输出逐位 = 节点 34。-- env 探针(仅复现网格):`VEC_CONSG`(none/xt50n/xtcovn)、`VEC_CONS`(none/lin50/lin30/- sqrt/hard,尾缀 n=归一化)、`VEC_RENORM`(cell/geom/none)、`VEC_GAMMA` `VEC_ALPHA`- `VEC_KSOFT` `VEC_EPS` `VEC_PBC` `VEC_VEL`(rel/log2)`VEC_SMD` `VEC_SMTAU`- `VEC_STRAT_M/BH/BL`(默认关)。+- `--ablate mechanism`(任意名同效):δ→0,其余保持提交态默认,输出逐位 = 节点 36。+- env 探针(仅复现网格):`VEC_XDELTA`(默认 0.03)、`VEC_XSIGTHR`(0.55)、+ `VEC_XRMS`(1=保锚RMS)、`VEC_XAMP`(vel/uni)、`VEC_XDIM`(3d/xy);+ 表达侧承自父节点:`VEC_CONSG` `VEC_CONS` `VEC_RENORM` `VEC_GAMMA` `VEC_ALPHA`+ `VEC_KSOFT` `VEC_EPS` `VEC_PBC` `VEC_VEL` `VEC_SMD` `VEC_SMTAU` `VEC_STRAT_M/BH/BL`。 ## 稳健性(已实测) -- 纯 CPU ~4 s / ~1 GB;vec-check 通过(提交态与 ablate 态)。-- seed 0 重跑逐位相同;伪装视图(改名、键序打乱、时间 +1)逐位相同。-- 单输入视图 α→0 回扩散基座(DE 无变化保护区),不崩;机制无随机性。+- 纯 CPU ~5 s / ~1 GB;vec-score check 通过(提交态、ablate 态、单输入态)。+- seed 0 重跑与 seed 1 逐位相同(机制无随机性、抽样为全细胞);伪装视图+ (改路径、manifest 键序打乱、全部时间 +1)输出逐位相同。+- 单输入阶段视图:无速度表 → α=0 且零位移,回扩散基座,不崩。diff --git a/solution/run.py b/solution/run.pyindex 2de6694..9289812 100644--- a/solution/run.py+++ b/solution/run.py@@ -1,80 +1,62 @@ #!/usr/bin/env python3-"""T2 extrapolation: rel-velocity multiplicative extrapolation (node-34 state:-node-32 substrate + amplitude-normalized within-type direction-consistency-weighting lin50n, alpha=1.7) + NODE-36 mechanism:--GENE-LEVEL CROSS-TYPE SIGN-CONSISTENCY WEIGHTING (xt50n): for each gated-gene g, u_g = fraction of the gated cell types whose velocity sign matches-the gene's cross-type majority sign; every gated (type,gene) pair is scaled-by (0.5+0.5*u_g) / (pair-weighted mean), a pure re-allocation of amplitude-toward genes that move coordinately ACROSS lineages. Rationale: true-developmental programs (signal-driven TF cascades, lineage progression)-move the same gene in the same direction in several cell types, while-type-idiosyncratic velocity is dominated by the sampling noise of two-pseudobulk means; both reliability proxies are computed from the view's own-inputs only. Composes with the inherited within-type (across-gene) lin50n-weighting, which is orthogonal (per-type vs per-gene).--NODE-36 PLAN (geometric re-closure s_i=(r_med/r_i)^gamma_geo replacing the-exact per-cell CP10k pullback) was FALSIFIED on this substrate: the full-gamma_geo x eps grid {1.0,1.2,1.35,1.5} x {0.1,0.2,0.4} (12 scored configs)-degrades monotonically - de_score raw 0.1944 -> 0.1806 -> 0.1667 -> 0.1389-with rising gamma_geo, best grid point 56.623 vs parent anchor 56.599-(noise). The node-33 branch's win with gamma_geo=1.35 does NOT transfer to-the lin50n/alpha=1.7 substrate (its substrate reconstruction scored 53.68,-unrecoverable). Backup mechanisms also scored: xtcovn (sqrt(n_types)-coverage boost) 56.347, log2 velocity alpha=1.0 54.557 - both falsified.-Submitted backup: xt50n, A-half 56.612 (>= anchor 56.599), de_direction-0.3776 and neighborhood_mmd 0.07908 best of this session's 20 configs.--Inherited node-34 mechanism (kept): AMPLITUDE-NORMALIZED DIRECTION--CONSISTENCY WEIGHTING of the gated per-type velocity field at alpha=1.7:-for each gated (type,gene) pair, c = fraction of the OTHER gated genes of-the same type whose velocity sign matches; v_eff = v * w(c)/mean_t(w(c))-with w = 0.5+0.5c (mode lin50n).--Measured (A half, proxy_noscale, node-36 session, 20 scored configs, full-tables in METHOD.md):- parent anchor (lin50n, alpha=1.7, cell-exact gamma=1.0, eps=0.4) 56.599- + xt50n gene-level cross-type weighting (SUBMITTED) 56.612- geom re-closure grid gamma_geo x eps (PLAN, falsified):- g=1.0: 56.535/56.610/56.623 (eps=0.1/0.2/0.4)- g=1.2: 56.485/56.550/56.612 g=1.35: 56.373/56.375/56.350- g=1.5: 56.145/56.210/56.188 de_score monotone down with gamma_geo- xt50n + geom g=1.2/1.5 (eps=0.4): 56.515 / 56.305 (below both parts)- xtcovn coverage boost: 56.347 (falsified)- log2 velocity alpha=1.0: 54.557 (falsified)- node-33 substrate reconstruction (alpha=1.0,k=0.7,geom1.35,eps=0.1,- no weighting): 53.680 - node-33's exact code unrecoverable, its- gamma_geo=1.35 optimum does not transfer to this substrate.--Substrate (node 32, A half 56.43 with stratification off):- rel velocity v_{t,g} = (m_a - m_p)/(m_p + 1) (within-type log1p means),- hard gates (>=30 cells/type/stage, m >= 0.05 both, |v| <= 2), soft- threshold k=0.5, per-cell decode x' = Y0 * 2**(alpha*v_eff) with alpha=1.7,- per-cell linear-total pullback to the cell's OWN base total with gamma=1.0- (exact CP10k conservation), brightness clamp PBC=10, on the eps=0.4- 2-step support-masked diffusion base (node-23 operator) with exact- per-gene pseudobulk restoration. Coordinates, composition, row order and- cell count are frozen (shape group stays at floor by construction).--``--ablate mechanism``: turns OFF the node-36 gene-level weighting-(cons_g=none) and reverts the total re-closure to the parent decode-(exact per-cell conservation, renorm=cell gamma=1.0) -> output bitwise-the node-34 submitted state (A half 56.599; submitted state 56.612).-The contrast isolates exactly the node-36 mechanism.--Single-input fallback: no previous stage -> alpha=0 -> output bitwise the-diffusion base (DE no-change protection).--Biology: transcriptional velocity over the last observed interval-extrapolates regulatory programs acting over the next interval (validated in-nodes 21/24/27/29/32). No external data, no constants from published or-held-out stages; every number (velocities, gates, consistency fractions,-smoothing masks) is computed from the view's own inputs.--View-independent: no absolute stage names/times read; mechanism is-time-free. Deterministic given --seed (mechanism consumes no randomness).+"""T2 extrapolation: node-36 expression state (rel-velocity multiplicative+extrapolation, lin50n within-type + xt50n gene-level cross-type consistency+weighting, alpha=1.7, exact per-cell CP10k pullback, eps=0.4 diffusion base,+PBC=10) + NODE-38 mechanism (PLAN family T2HX-02):++EXPRESSION-VELOCITY-COUPLED RADIAL WITHIN-TYPE COORDINATE MICRO-+DISPLACEMENT. For every cell type with a gated velocity table: s_t = mean+|v_{t,g}| over gated genes; sigma_t = -1/+1 if the negative/positive velocity+share >= 0.55 (mixed types do not move). Each cell moves along the unit+vector from its own type centroid by delta * (s_t/s_max) * sigma_t * R_rms+(delta=0.03, R_rms = RMS radius of the output cloud), then the whole cloud is+uniformly rescaled to restore the anchor RMS radius exactly (d2_shape and+occupancy_dice are RMS-normalized, so the rescale only pins scale_log_ratio+to the anchor's own value - no size constant from any stage is used).+Frame-free (own-stage geometry only), scale-free, deterministic. On this+view every gated type has a negative-sign majority (CP10k competition makes+the last-step pseudobulk velocity predominantly negative), so the mechanism+is a velocity-magnitude-weighted within-type condensation: transcriptionally+fast types compact more, mixed/slow types stay - sharpening compartment+boundaries, which is what the E9.5 heart (chamber condensation, tighter+tissue compartments relative to the E8.75 spreading primordia) plausibly+looks like. Developmental-sequence knowledge only (lineage/compartment+sharpening after E8.75); no measurements from held-out stages.++Measured (A half, proxy_noscale, 15 scored configs this session; anchor =+node-36 submitted state 56.613):+ SUBMITTED thr=0.55 delta=0.03 rms-keep vel-amp: 57.664 (+1.05)+ shape_scale 54.18 (occupancy_dice 0.8148->0.8204, d2_shape+ 0.04891->0.04804), local_spatial 59.18 (nb_mmd 0.07901 <= 0.07908+ anchor: PLAN hard constraint satisfied), scale_log_ratio exactly the+ anchor value, expression/cell_state bitwise unchanged.+ thr=0.55 delta=0.02: 57.337 thr=0.55 delta=0.025: 57.511+ thr=0.55 delta=0.05: 56.772 thr=0.6 delta=0.03: 56.785+ thr=0.5 delta=0.03: 57.182+ thr=0.6 grid (PLAN delta sweep): 0.005: 56.626, 0.01: -, 0.02: 56.643,+ 0.03: 56.785, 0.05: 56.069, 0.1: 55.451 (d2_shape and nb_mmd improve+ monotonically with contraction; occupancy_dice falls off a voxel+ cliff beyond delta~0.03)+ expansion (delta<0): -0.02: 55.870 (d2+occ both worse), -0.05: 56.728+ (occ up, d2 down) - contraction direction confirmed.+ uniform amplitude (no s_t/s_max coupling) thr=0.6 delta=0.03: 56.163 vs+ vel-coupled 56.785 - the velocity-magnitude coupling carries signal.+ xy-only (z frozen) thr=0.55 delta=0.03: 55.978 - z must move with xy+ (radial 3D), falsified.++``--ablate mechanism``: delta -> 0 (rms-keep becomes identity) -> output+bitwise the node-36 submitted state (A half 56.613). Mechanism evidence+printed to stderr per run: n_active types, sigma split, moved cells,+max|dx|, 15-NN Jaccard between original and displaced clouds (0.899 at the+submitted config; neighborhoods preserved while nb_mmd still improves).++Single-input fallback: no previous stage -> no velocity tables -> zero+displacement AND alpha=0 -> output bitwise the diffusion base (coords+unchanged, DE no-change protection).++View-independent: no stage names/absolute times; delta is in units of the+cloud's own RMS radius, thresholds are fractions. Deterministic given+--seed (mechanism consumes no randomness). """ from __future__ import annotations@@ -138,6 +120,23 @@ CONS_W = os.environ.get("VEC_CONS", "lin50n") # preserving]. xtcov (sqrt(n_g) coverage boost) measured worse - falsified. CONS_G = os.environ.get("VEC_CONSG", "xt50n") +# --- node-38 mechanism (PLAN T2HX-02): expression-velocity-coupled radial+# within-type coordinate micro-displacement. delta in units of the cloud+# RMS radius; 0 = off (output bitwise the node-36 parent).+XDELTA = float(os.environ.get("VEC_XDELTA", "0.03"))+XSIG_THR = float(os.environ.get("VEC_XSIGTHR", "0.55"))+# restore the cloud RMS radius after displacement (uniform rescale; d2_shape+# and occupancy_dice are RMS-normalized so this only pins scale_log_ratio to+# the anchor's own value - no size constant from any stage).+XRMS_KEEP = os.environ.get("VEC_XRMS", "1") == "1"+# amplitude profile: "vel" = delta*(s_t/s_max) (PLAN), "uni" = delta for every+# active type (tests whether the velocity-magnitude coupling carries signal).+XAMP_MODE = os.environ.get("VEC_XAMP", "vel")+# "3d" = radial in full space; "xy" = in-plane only, z (discrete section+# index) untouched - moving cells between physical slices is not a real+# tissue rearrangement.+XDIM = os.environ.get("VEC_XDIM", "3d")+ # --- PLAN part 2 (FALSIFIED, off by default): neighborhood smoothing ----------- SMOOTH_D = float(os.environ.get("VEC_SMD", "0.0")) # delta; 0 = off SMOOTH_TAU = float(os.environ.get("VEC_SMTAU", "0.3")) # |alpha*v_eff| gate@@ -328,6 +327,100 @@ def soft_threshold(v: np.ndarray, k: float) -> np.ndarray: return np.sign(v) * np.maximum(np.abs(v) - k, 0.0) ++def radial_velocity_displacement(coords: np.ndarray, labels: np.ndarray,+ v_by_type: dict, delta: float,+ sig_thr: float,+ amp_mode: str = "vel",+ xdim: str = "3d") -> tuple[np.ndarray, dict]:+ """Per-cell radial displacement around own-type centroids (node-38 PLAN).++ For each gated type t: s_t = mean |v_{t,g}| over gated genes; sigma_t = +1+ if the positive-velocity share >= sig_thr, -1 if the negative share >=+ sig_thr, else 0 (type not moved). Per cell i of type t:+ dx_i = delta * (s_t / s_max) * sigma_t * u_i * R_rms,+ u_i = unit vector from the type centroid to x_i, R_rms = RMS radius of+ the centered cloud. Frame-free (no cross-stage registration), scale-free+ (units of R_rms), deterministic. Empty velocity table -> no displacement.+ """+ n = coords.shape[0]+ disp = np.zeros((n, 3), dtype=np.float64)+ utypes = np.unique(labels)+ C = coords - coords.mean(axis=0)+ R_rms = float(np.sqrt((C ** 2).sum(axis=1).mean()))+ s_tab: dict[str, float] = {}+ sig_tab: dict[str, int] = {}+ for t in utypes:+ v = v_by_type.get(str(t))+ if v is None:+ sig_tab[str(t)] = 0+ continue+ m = v != 0+ ng = int(m.sum())+ if ng == 0:+ sig_tab[str(t)] = 0+ continue+ s_t = float(np.abs(v[m]).mean())+ pos = float((v[m] > 0).sum()) / ng+ if pos >= sig_thr:+ sig = 1+ elif (1.0 - pos) >= sig_thr:+ sig = -1+ else:+ sig = 0+ s_tab[str(t)] = s_t+ sig_tab[str(t)] = sig+ active = {t: s for t, s in s_tab.items() if sig_tab.get(t, 0) != 0}+ if not active or delta == 0.0 or R_rms <= 0:+ return disp, {"R_rms": R_rms, "n_active": len(active),+ "s_max": 0.0, "n_moved": 0, "max_disp": 0.0}+ s_max = max(active.values())+ n_moved = 0+ for t in utypes:+ sig = sig_tab.get(str(t), 0)+ if sig == 0:+ continue+ frac = 1.0 if amp_mode == "uni" else (s_tab[str(t)] / s_max)+ amp = delta * frac * sig * R_rms+ rows = np.flatnonzero(labels == t)+ P = coords[rows]+ c_t = P.mean(axis=0)+ D = P - c_t+ if xdim == "xy":+ D = D.copy()+ D[:, 2] = 0.0+ nrm = np.linalg.norm(D, axis=1)+ ok = nrm > 1e-9+ disp[rows[ok]] = (amp * D[ok] / nrm[ok, None])+ n_moved += int(ok.sum())+ diag = {"R_rms": R_rms, "n_active": len(active), "s_max": s_max,+ "n_moved": n_moved,+ "max_disp": float(np.abs(disp).max()),+ "amp_typ": float(delta * R_rms),+ "sig_pos": sum(1 for v in sig_tab.values() if v > 0),+ "sig_neg": sum(1 for v in sig_tab.values() if v < 0),+ "sig_zero": sum(1 for v in sig_tab.values() if v == 0)}+ return disp, diag+++def nn_jaccard(coords: np.ndarray, disp: np.ndarray, k: int = 15,+ n_sample: int = 4000, seed: int = 0) -> float:+ """Mean |NN_a & NN_b| / |NN_a u NN_b| between original and displaced+ clouds over a deterministic cell sample (mechanism evidence only)."""+ n = coords.shape[0]+ m = min(n_sample, n)+ idx = np.sort(np.random.default_rng(seed).choice(n, m, replace=False))+ t0 = cKDTree(coords)+ t1 = cKDTree(coords + disp)+ _, a = t0.query(coords[idx], k=k + 1)+ _, b = t1.query((coords + disp)[idx], k=k + 1)+ jac = []+ for ra, rb in zip(a, b):+ sa, sb = set(int(x) for x in ra[1:]), set(int(x) for x in rb[1:])+ jac.append(len(sa & sb) / max(len(sa | sb), 1))+ return float(np.mean(jac))++ def main() -> None: parser = argparse.ArgumentParser() parser.add_argument("--data", required=True)@@ -347,16 +440,12 @@ def main() -> None: cons_w = CONS_W cons_g = CONS_G smooth_d = SMOOTH_D+ xdelta = XDELTA if ablated:- # PLAN mechanism_off_control: revert the decode to the parent (node-34)- # state - exact per-cell CP10k conservation (renorm=cell, gamma=1.0)- # and no smoothing/stratification; the lin50n weighting + alpha stay,- # so the contrast isolates the geometric re-closure mechanism.- renorm = "cell"- gamma = 1.0- cons_g = "none"- smooth_d = 0.0- strat_m, strat_bh, strat_bl = 0.0, 1.0, 1.0+ # PLAN mechanism_off_control (node-38): delta -> 0 (no coordinate+ # displacement); everything else stays at the node-36 submitted state+ # (defaults), so the ablated output is bitwise the parent submission.+ xdelta = 0.0 manifest = load_manifest(args.data) genes = panel_genes(args.data, manifest)@@ -567,7 +656,38 @@ def main() -> None: f"absmean_dcell={dcell.mean():.5f} max_dcell={dcell.max():.4f} " f"Xmax={Xs.max():.3f}", file=sys.stderr) - write_t2(args.out, Xs.astype(np.float32), coords[:, :3], genes,+ coords_out = coords[:, :3]+ if xdelta != 0.0 and v_by_type:+ disp, ddiag = radial_velocity_displacement(+ coords_out, out_labels, v_by_type, xdelta, XSIG_THR, XAMP_MODE,+ XDIM)+ if ddiag["n_moved"]:+ jac = nn_jaccard(coords_out, disp)+ print(f"[diag] xdisp delta={xdelta} R_rms={ddiag['R_rms']:.2f} "+ f"amp={ddiag['amp_typ']:.3f} n_active={ddiag['n_active']} "+ f"sig(+/-/0)={ddiag['sig_pos']}/{ddiag['sig_neg']}/"+ f"{ddiag['sig_zero']} moved={ddiag['n_moved']} "+ f"max|dx|={ddiag['max_disp']:.3f} nn_jaccard={jac:.4f}",+ file=sys.stderr)+ C0 = coords_out - coords_out.mean(axis=0)+ r0 = float(np.sqrt((C0 ** 2).sum(axis=1).mean()))+ coords_out = coords_out + disp+ if XRMS_KEEP:+ mu = coords_out.mean(axis=0)+ C1 = coords_out - mu+ r1 = float(np.sqrt((C1 ** 2).sum(axis=1).mean()))+ if r1 > 1e-9:+ coords_out = mu + C1 * (r0 / r1)+ print(f"[diag] xdisp rms_keep factor={r0 / r1:.5f} "+ f"r0={r0:.3f} r1={r1:.3f}", file=sys.stderr)+ else:+ print(f"[diag] xdisp delta={xdelta} no active type -> no move",+ file=sys.stderr)+ elif xdelta != 0.0:+ print("[diag] xdisp requested but velocity table empty -> no move",+ file=sys.stderr)++ write_t2(args.out, Xs.astype(np.float32), coords_out, genes, seed=args.seed)
调研来源?调研员查到并用到的知识条目和文献检索结果(只列标题和编号)。
用到的知识库条目
| 编号 | 标题 | 出处 |
|---|---|---|
| k007 | Interval staging and held-out-window filtering of external data | notes/official/来件/virtualembryo.ai/rules.md |
| k026 | Canonicalise predicted 3D coordinates before submission | notes/pitfalls/04_scorer_invariance.md |
| k027 | Joint expression-geometry generation with relative geometry | notes/competition/03_solution_landscape.md |
分析结果?分析员写的 ANALYSIS.json:改了什么、各组分数怎么变、假设是否成立、经验和下一步建议。
| 改了什么 | 在父节点 36 提交态(表达侧逐位不变)上新增坐标机制:每个过门细胞型按型内转录速度幅度 s_t 与符号占比(阈值实测改为 0.55)得 σ_t,细胞沿自身型质心径向位移 δ·(s_t/s_max)·σ_t·R_rms(δ=0.03),位移后整朵云均匀缩放回锚 RMS。实测评测侧 28/33 型激活且全为 σ=−1(型内凝聚),约 99% 细胞被移动。 |
|---|---|
| 各组分数的变化 | cell_state:不变(+0.00,59.14):mmd_u 0.04541、variogram 0.0357 逐位相同 expression_change:不变(+0.00,58.46):de_score 0.1806、de_direction 0.3759 与父节点逐位相同,表达侧未动,符合预期 local_spatial:噪声内(+0.02,59.82→59.84):neighborhood_mmd raw 0.07573→0.07566,skill 0.598 不变 shape_scale:变坏(−2.37,50.00→47.63):occupancy_dice raw 0.8066→0.8000,skill 0.500→0.424(掉到地板以下),得分 −0.63;d2_shape raw 0.04911→0.04823,skill 0.500→0.505,得分 +0.04;scale_log_ratio 不变(保 RMS 复原生效)。邻域 skill 0.598>0.5,结构门=1,损失全部来自 occupancy_dice |
| family_id | T2HX-02 |
| 假设是否成立 | 否 |
| 经验 |
|
| mechanism_active | 是 |
| 下一步建议 |
|
对话摘要?每个角色和大模型对话的统计:轮数、工具调用、用时、token 数和最后的回答摘录;原始记录只给路径。
只给统计和最后回答的摘录;完整对话请到原始记录位置里列出的文件看。
分析员
| 角色?调研员写计划、工程师改代码、分析员解读分数、审查员检查作弊。 | 分析员 alibaba-token-plan-cn/qwen3.8-max |
|---|---|
| 调用次数 | 1 次 |
| 轮数?大模型一共回复了几轮(每轮可以调用多个工具)。 | 4 |
| 工具调用?大模型调用读文件、执行命令等工具的次数,按工具名统计。 | 共 3 次:bash 2、write 1 |
| 用时 | 不到 1 分 |
| token 数?输入 / 输出(含思考)的 token 数,来自接口返回的用量。 | 输入 23,596 · 输出 1,354 · 思考 1,532 |
| 任务(第一行) | 分析节点 n38 的打分结果,写 ANALYSIS.json |
| 最后的回答(摘录) | ANALYSIS.json written |
| 原始记录位置?完整对话记录在 Spark 上的文件路径;看板不复制原始内容。 | /home/spark-longxinyang/vec/runs/formal/20261003-172000-search-t2-heart-extrap-chain-12h/nodes/38/analyst.jsonl 8 KB /home/spark-longxinyang/vec/runs/formal/20261003-172000-search-t2-heart-extrap-chain-12h/nodes/38/analyst.stderr |
工程师
| 角色 | 工程师 alibaba-token-plan-cn/qwen3.8-max |
|---|---|
| 调用次数 | 1 次 |
| 轮数 | 44 |
| 工具调用 | 共 48 次:bash 43、todowrite 2、write 2、read 1 |
| 用时 | 28 分 |
| token 数 | 输入 115,156 · 输出 20,207 · 思考 28,333 |
| 任务(第一行) | 按计划修改程序:表达速度耦合的型内径向坐标微扰(保邻域约束) |
| 最后的回答(摘录) | **做了什么**:实现 PLAN 的表达速度耦合型内径向坐标微位移(承父 36 表达侧逐位不变),并实测改进两处:σ 阈值 0.6→0.55(纳入 d-CSE 等大型,+0.88)、位移后均匀缩放保锚 RMS(本榜零操作、真实榜把 scale_log_ratio 钉回地板)。`--ablate mechanism` δ→0,逐位 = 父提交态(已核对)。 **查分**(19/20 次):提交态 A 半 **57.664**(锚 56.613,+1.05)——shape_scale 50.00→54.18(occ_dice 0.8148→0.8204、d2 0.04891→0.04804),nb_mmd 0.07908→0.07901,PLAN 硬约束全过;nn_jaccard 0.899。证否:膨胀方向、均匀幅度(−0.62,速度耦合有效)、xy-only(−1.69)、σ阈 0.5、δ≥0.035(occ 体素崖)。伪装视图/单输入/多种子/重跑全部逐位一致,vec-score check 通过,纯 CPU ~5 s。 **下一步最值得试**:(1) occupancy_dice 是 16³ 体素离散量,δ=0.03/σ0.55 附近的 +0.0056 增益在 B 半可能缩水——下一节点应验证 (0.5–0.55, 0.02–0.03) 邻域的稳健中心而非峰值;(2) nb_mmd 随收缩单调改善(δ=0.1 时 0.0782),可试"大型强收缩 + 边界细胞保留"解耦 occ 崖与 nb 增益;(3) 本机制与表达侧正交,可叠加到 node 35 分支(57.11)验证跨底物迁移。 |
| 原始记录位置 | /home/spark-longxinyang/vec/runs/formal/20261003-172000-search-t2-heart-extrap-chain-12h/nodes/38/engineer.jsonl 269 KB /home/spark-longxinyang/vec/runs/formal/20261003-172000-search-t2-heart-extrap-chain-12h/nodes/38/engineer.stderr |
调研员
| 角色 | 调研员 alibaba-token-plan-cn/qwen3.8-max |
|---|---|
| 调用次数 | 1 次 |
| 轮数 | 1 |
| 工具调用 | 共 0 次:— |
| 用时 | 6 分 |
| token 数 | 输入 22,371 · 输出 8,525 · 思考 8,192 |
| 任务(第一行) | 为节点 n38(改进,父节点 n36)写改进计划 PLAN.json |
| 最后的回答(摘录) | 交态。预期差别:榜分差为 0。",
"sources": []}
```
```json
{"name":"表达速度耦合的型内径向坐标微扰(保邻域约束)","motivation":"shape_scale 组在全树 38 节点中恒为 50.00(三项指标 skill 均 0.500=地板),是唯一未探明的 +25 分空间。ANALYSIS 明确建议'用与表达位移同源的型内速度场对 spatial_3D 坐标做小幅外推'。node 15 证明小幅坐标位移可改善 occupancy_dice(0.8066→0.8189 at γ=0.05),但该方案用全局 OT 场、未耦合表达速度、未在 neighborhood_mmd 约束下搜索。父节点 36 的 expression_change 58.46、local_spatial 59.82 已在平台期(30+ 配置压在 55.7–56.6),继续调表达侧期望收益趋零。","approach":"步骤:(1) 承继父节点 36 全部表达侧代码(lin50n+xt50n+α=1.7+γ=1.0+ε=0.4),坐标/组成/行序解冻仅限本机制;(2) 对每个过门控细胞型 t,计算型质心 c_t 和型内每细胞的单位方向向量 d_i=(x_i−c_t)/‖x_i−c_t‖;(3) 计算型级速度幅度 s_t=mean(|v_{t,g}| over gated genes of type t);(4) 每细胞坐标位移 Δx_i = δ·(s_t/s_max)·d_i·σ_t,其中 σ_t=+1 若型内正速度基因占比≥0.6、−1 若负占比≥0.6、否则该型 σ_t=0(不动);s_max 为所有激活型的最大幅度;δ 单位为点云 RMS 半径(消除坐标尺度依赖);(5) δ 网格 {0.005, 0.01, 0.02, 0.05, 0.1},从最小开始逐个查分;(6) 硬约束:每个 δ 查分后检验 neighborhood_mmd raw ≤ 0.07573 且 local_spatial ≥ 59.0,不满足则停止增大 δ;(7) 在通过约束的 δ 中选 (d2_shape 得分 + occupancy_dice 得分) 改善最大者提交。单输入阶段退路:无前阶段→无速度→所有 s_t=0→坐标不变→输出等于扩散基座(坐标逐位不变)。vec-score 快速筛选:δ 网格最多 5 次 + 机制关对照 1 次 + 最终确认 1 次 ≤ 7 次查分(上限 20 次内)。","expected_groups":["shape_scale","local_spatial"],"risks":"1) 径向位移破坏表达-位置配对使 neighborhood_mmd 恶化、结构门 <1 反扣形状分——Engineer 在 δ=0.005 即查分确认邻域不降再继续;2) d2_shape 对小幅位移不敏感(20 万对点的距离分布变化太小)——若最大 δ=0.1 仍无变化则判定机制无效、以机制关提交;3) 型内速度方向不一致使 σ_t 不稳定——已设 0.6 占比阈值,不满足的型不动;4) 真值 E9.5 形状可能并不比 E8.5 有显著差异(心脏此阶段形态变化小),则任何坐标改变都是噪声——此时应如实报告机制无效并以机制关提交。","family_id":"T2HX-02","mechanism":"用型内表达速度幅度驱动该型细胞沿质心径向的差异化坐标微位移:高速度型膨胀/收缩幅度大,低速度型几乎不动,将表达外推信号同源传递到几何形状。","vs_constant_shift":"常数位移对所有细胞施加相同平移或均匀缩放,不改变形状(d2_shape 对平移旋转不变、occupancy_dice 对均匀缩放不变);本机制按每个型的速度幅度差异化地改变径向距离(高速度型位移大、低速度型位移小、方向由表达速度符号决定),改变点云的相对几何(各向异性、占据形状),是真正的形状外推而非刚体/等比变换。","mechanism_evidence":"1) 报告每型的实际位移幅度分布(应与 |v_t| 正相关、非零);2) 对比 d2_shape 和 occupancy_dice 的 raw 值变化(应随 δ 有方向性变化而非逐位不变);3) 报告位移前后每细胞 15-NN 集合的 Jaccard 重叠(应 >0.9 证明邻域保持);4) 四组分各自变化:形状组应升、邻域组应持平、表达两组应逐位不变(表达未改)。","mechanism_off_control":"--ablate mechanism 时 δ=0(无坐标位移),输出逐位等于父节点 36 提交态。预期差别:榜分差为 0。","sources":[]}
``` |
| 原始记录位置 | /home/spark-longxinyang/vec/runs/formal/20261003-172000-search-t2-heart-extrap-chain-12h/nodes/38/researcher.jsonl 31 KB /home/spark-longxinyang/vec/runs/formal/20261003-172000-search-t2-heart-extrap-chain-12h/nodes/38/researcher.stderr |