排盘引擎验证报告
“我们的盘是准的”本身没有意义,能被复核才有。这一页写清楚:验证了什么、怎么验证、结果如何,以及哪些东西没有被验证。
验证了什么(四项,均为独立实现)
我们按《紫微斗数全书》安星诀,另写了一份与排盘引擎(iztro)没有任何代码共享的古典算法,并逐项与引擎输出对照:① 命宫地支(生月宫起子时逆数至生时);② 身宫地支(顺数至生时);③ 五行局(五虎遁定命宫天干,再取命宫干支的纳音五行);④ 紫微星位(局数除生日,不整除则补数,商数从寅起数,补数奇退偶进)。
怎么验证
随机抽取 1930–2029 年的出生日期和 24 个整点,用引擎排盘后与古典算法对照。闰月按全书口径(上半月并当月、下半月算下月)。另有专项:农历年末、早晚子时、闰四月、闰二月(闰与非闰的区别)、正月初一后立春前(年界)、1900 年与 2099 年的极端日期。
结果
2026-10-01 运行 3000 个随机样本:命宫、身宫、五行局、紫微星位的不符数均为 0;全部边界专项通过。
这次验证发现了什么
验证脚本的升级本身暴露了一个问题:此前的验证只对照了命宫与身宫,紫微星位用的是“由引擎输出反推出来的基准表”——那只能防止回归,不算独立验证;五行局的独立算法写了却没有参与对照。现已改为上面四项全部独立对照。另外,验证覆盖的是引擎本身,没有覆盖“年界”这条口径——我们因此发现并改变了默认年界(见《排盘口径详解》)。
没有验证什么
星曜的庙旺利陷、四化表、辅星煞星的安放、大限与流年的细节,以及不同流派之间的差异,目前没有做同等级别的独立验证;真太阳时模块另有一组断言(历史夏令时、跨日、均时差量级、晚子时),但它是我们自己的实现。AI 解读与知识库文字不属于“排盘正确性”范畴,也没有被这套验证覆盖。
如何复核
验证脚本随站点一同维护。如果你是研究者或开发者,希望拿到脚本、样本和逐例结果自行复核,请通过页脚的联系方式联系我们。发现与其它软件不一致的命例,欢迎把出生信息(可脱敏)发来,我们会逐例排查并公开结论。
问:你们的排盘引擎是自己写的吗?
不是。排盘使用开源的 iztro,农历换算使用 lunar-javascript;我们做的是口径选择、真太阳时、以及独立的验证。
问:验证通过是不是说明所有细节都对?
不是。只说明命宫、身宫、五行局、紫微星位这四项与古典公式一致。其它部分见“没有验证什么”。