Lecture 03先做一个无需模型的关系检验 · 实现代码
先做一个无需模型的关系检验 · 实现代码
主线阅读与优先实验
真实CLIP输入/权重/分数、候选改动、四条件规则与独立关系推理
展开完整实现代码
# 每次整册运行使用临时工作目录,保留项目旧文件与历史结果。
import os, tempfile
L03_RUN_DIR=tempfile.mkdtemp(prefix="lecture03-lab04-")
os.chdir(L03_RUN_DIR)
# 可独立运行;无需前面任何模型、文件或隐藏变量。
# 改 holder 为 left/right,先预测,再看两条规则是否仍然一致。
conditions = [
{'condition': 1, 'left': 'red', 'right': 'blue', 'holder': 'left'},
{'condition': 2, 'left': 'blue', 'right': 'red', 'holder': 'left'},
{'condition': 3, 'left': 'red', 'right': 'blue', 'holder': 'right'},
{'condition': 4, 'left': 'blue', 'right': 'red', 'holder': 'right'},
]
def choice_for_color(color):
return {'red': 'A', 'blue': 'B'}[color]
def compare_rules(case):
relation = choice_for_color(case[case['holder']])
position = choice_for_color(case['left'])
return relation, position
assert compare_rules({'left':'red','right':'blue','holder':'right'}) == ('B','A')
print('条件 | 持球关系规则 | 左侧颜色规则 | 两者不同')
for case in conditions:
relation, position = compare_rules(case)
print(case['condition'], relation, position, relation != position)