逻辑状态可能只持续很短时间,而观察器每隔几拍才检查一次。如果状态开始和结束都落在相邻检查之间,观察记录就可能完全看不到它。
本篇用一组独立输入把规则展开为可重复核对的记录。先确认单位、编号及边界,再自行尝试推演,然后寻找与下面过程第一次不同的位置。所有结果只在这里写明的规则下成立,不能当作所有游戏的统一实现。
观察时刻按固定间隔和初始相位产生,范围为零到五十拍。每个独立状态区间左端包含、右端排除;只统计落在区间内的采样,存在采样时记第一次发现相对开始的延迟,否则标记未发现。
间隔3、相位0,检查时刻[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48] [[22, 31], [30, 31], [3, 4], [28, 33], [37, 42], [1, 11], [2, 9], [42, 51], [11, 16], [31, 36], [32, 41]]
状态[22,31)持续9拍,落入其中的检查时刻[24, 27, 30],首次发现延迟2拍。结束时刻本身不属于有效区间。
状态[30,31)持续1拍,落入其中的检查时刻[30],首次发现延迟0拍。结束时刻本身不属于有效区间。
状态[3,4)持续1拍,落入其中的检查时刻[3],首次发现延迟0拍。结束时刻本身不属于有效区间。
状态[28,33)持续5拍,落入其中的检查时刻[30],首次发现延迟2拍。结束时刻本身不属于有效区间。
状态[37,42)持续5拍,落入其中的检查时刻[39],首次发现延迟2拍。结束时刻本身不属于有效区间。
状态[1,11)持续10拍,落入其中的检查时刻[3, 6, 9],首次发现延迟2拍。结束时刻本身不属于有效区间。
状态[2,9)持续7拍,落入其中的检查时刻[3, 6],首次发现延迟1拍。结束时刻本身不属于有效区间。
状态[42,51)持续9拍,落入其中的检查时刻[42, 45, 48],首次发现延迟0拍。结束时刻本身不属于有效区间。
状态[11,16)持续5拍,落入其中的检查时刻[12, 15],首次发现延迟1拍。结束时刻本身不属于有效区间。
状态[31,36)持续5拍,落入其中的检查时刻[33],首次发现延迟2拍。结束时刻本身不属于有效区间。
状态[32,41)持续9拍,落入其中的检查时刻[33, 36, 39],首次发现延迟1拍。结束时刻本身不属于有效区间。
十一段独立状态中0段没有遇到检查点。
从每个区间起点向后寻找第一个满足采样间隔与相位的整数时刻,再检查它是否仍早于区间终点。与逐个采样筛选的结果比较,特别留意刚好落在结束时刻的检查。
观察器未发现状态,不等于状态从未发生。提高检查频率或直接记录事件可以解决不同问题,本例只说明定期采样的时间盲区。不能从缺失的样本凭空还原真实开始和结束时刻。
练习时先保存原始输入及中间结果,再只改变一个条件观察差异。重点检查空状态、相同数值、恰好到达边界和最后一步。不要为了凑出相同的最终结果而忽略较早出现的偏差,过程和结论都应能由同一套规则解释。