Skip to content

解决synthetic tasks每次迭代选出样本点可能重复的情况,修复一定次数迭代后会卡在某一轮rollout情况#18

Open
le876 wants to merge 1 commit intoBop2000:mainfrom
le876:synthetic-tasks
Open

解决synthetic tasks每次迭代选出样本点可能重复的情况,修复一定次数迭代后会卡在某一轮rollout情况#18
le876 wants to merge 1 commit intoBop2000:mainfrom
le876:synthetic-tasks

Conversation

@le876
Copy link
Copy Markdown

@le876 le876 commented Nov 6, 2025

  • 候选样本去重与老样本过滤: np.concatenate 之后新增 _round_points → np.unique → _filter_unique,把同一坐标的候选合成一个,并剔除已经采过的点,解决“每轮选出的样本会重复” 的问题。

  • 排除选择阶段的 UCT 环: 原版 OptTask 将 (坐标, 预测值) 一起参与哈希/相等性判断,数值噪声会把同一坐标视为不同节点,推测会形成 A → B → C → A 的有向环。现将节点的 hash / eq 改为只依赖坐标,并在选择路径里维护 seen_tups,一旦遇到已出现的坐标就退回父节点,保证搜索结构始终是树形。

  • 子节点生成只在本轮去重: 原逻辑把所有历史 children 都带入下一轮,每次生成子节点时都会从整个历史状态节点中进行比对。现在 _local_seen / _initial_visited 按轮更新,data_process、most_visit_node 都会过滤旧节点,只在本轮内判重;同时 _record_node 使用统一 rounding,防止浮点噪声导致的重复。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant