《梅花易数》算法规则条目集·技术规格书

《梅花易数》算法规则条目集（程序实现技术规格书）
文档性质：软件工程算法规格说明书（Software Engineering Specification）
面向目标：供计算机程序、自动化排卦引擎与易学专家系统开发使用。将古籍中的占验话语彻底形式化为“输入参数 -> 计算逻辑 -> 边界条件 -> 输出卦象与断语模型”的确定性工程接口。
比对底本：
底本一（F1）：清代坊刻三卷本系统（本地路径：
/home/lewin/@Sync/Casket/obsidian/lewin/raw/古籍/术数/梅花易数.md，殆知阁古代文献版，题“清黄宗羲撰序”）。
底本二（F2）：清代故宫珍藏秣陵德聚堂五卷本系统（本地路径：
/home/lewin/@Sync/Casket/obsidian/lewin/raw/web/梅花易数-邵康节.md，周浩良整理、九州出版社版，署“秣陵德聚堂谨订”）。
标注规范：凡两版本在字句、算法、篇章结构上存异处，均显式加注 
[版本差异]，并在条目末尾给出明确的 
[采信建议与工程实现决策]。
模块零：核心常数与标准数据结构定义（参数写死）
在梅花易数算法体系中，所有逻辑均基于先天八卦数及六十四卦二进制位结构。程序内部需预先固化以下常量表：
0.1 八卦先天数与卦画结构表
爻位定义：自下而上排列，依次为初爻（第1爻/最低爻）、二爻（第2爻）、三爻（第3爻/经卦顶爻）。阳爻记为 
1，阴爻记为 
0。
数组表示约定：采用 Python 列表 
[初爻, 二爻, 三爻]（下标 0 为初爻，下标 2 为三爻）。
整型位权定义：以初爻为最低有效位（LSB, Bit 0），二爻为 Bit 1，三爻为 MSB (Bit 2)。即 $\text{Value} = \text{爻}_1 \times 1 + \text{爻}_2 \times 2 + \text{爻}_3 \times 4$。
先天卦数
卦名
卦象
爻象（自下而上）
爻位数组 
[初, 二, 三]
位权值 (Bit 0~2)
五行所属
后天对应方位（用于后天端法）
1
乾 (Qian)
☰
阳、阳、阳
[1, 1, 1]
7 (
111b)
金
西北 (Northwest)
2
兑 (Dui)
☱
阳、阳、阴
[1, 1, 0]
3 (
011b)
金
正西 (West)
3
离 (Li)
☲
阳、阴、阳
[1, 0, 1]
5 (
101b)
火
正南 (South)
4
震 (Zhen)
☳
阳、阴、阴
[1, 0, 0]
1 (
001b)
木
正东 (East)
5
巽 (Xun)
☴
阴、阳、阳
[0, 1, 1]
6 (
110b)
木
东南 (Southeast)
6
坎 (Kan)
☵
阴、阳、阴
[0, 1, 0]
2 (
010b)
水
正北 (North)
7
艮 (Gen)
☶
阴、阴、阳
[0, 0, 1]
4 (
100b)
土
东北 (Northeast)
8
坤 (Kun)
☷
阴、阴、阴
[0, 0, 0]
0 (
000b)
土
西南 (Southwest)
0.2 十二地支时辰与序数表
地支
序数
对应二十四小时区间
五行
生肖
子
1
23:00 — 01:00
水
鼠
丑
2
01:00 — 03:00
土
牛
寅
3
03:00 — 05:00
木
虎
卯
4
05:00 — 07:00
木
兔
辰
5
07:00 — 09:00
土
龙
巳
6
09:00 — 11:00
火
蛇
午
7
11:00 — 13:00
火
马
未
8
13:00 — 15:00
土
羊
申
9
15:00 — 17:00
金
猴
酉
10
17:00 — 19:00
金
鸡
戌
11
19:00 — 21:00
土
犬
亥
12
21:00 — 23:00
水
猪
0.3 标准模运算定义（写死）
古籍云：“卦以八除，爻以六除。如不满数，止用此数；如过数，则递除之；直除尽，以零数作卦/动爻；如得整除之数，卦取坤八，爻取上六。”
八数求卦函数 
mod8_gua(N)：
$$\text{mod8_gua}(N) = \begin{cases} N & \text{if } 1 \le N \le 8 \ 8 & \text{if } N > 8 \text{ and } (N \pmod 8 == 0) \ N \pmod 8 & \text{if } N > 8 \text{ and } (N \pmod 8 \ne 0) \end{cases}$$
六数求动爻函数 
mod6_yao(N)：
$$\text{mod6_yao}(N) = \begin{cases} N & \text{if } 1 \le N \le 6 \ 6 & \text{if } N > 6 \text{ and } (N \pmod 6 == 0) \ N \pmod 6 & \text{if } N > 6 \text{ and } (N \pmod 6 \ne 0) \end{cases}$$
模块一：起卦诸法（完整技术规则与算法）
梅花易数起卦两大门派为：先天起卦（先得数，以数起卦）与后天端法起卦（先见象，以象起卦）。
规则 1.1：年月日时起卦法（先天时间起卦）
出处：F1 卷一《象数易理篇之一·年月日时起例》；F2 卷之一《年月日时起例》。
输入参数：
农历年地支数 $Y \in [1, 12]$（子1至亥12，以正月初一或立春为界）
农历月份 $M \in [1, 12]$（正月1至十二月12）
农历日期 $D \in [1, 30]$（初一1至三十30）
发生时辰地支数 $T \in [1, 12]$（子时1至亥时12）
计算算法：
上卦数：$Num_{upper} = (Y + M + D)$；上卦经卦 $= \text{mod8_gua}(Num_{upper})$。
下卦数：$Num_{lower} = (Y + M + D + T)$；下卦经卦 $= \text{mod8_gua}(Num_{lower})$。
动爻数：$Dong = \text{mod6_yao}(Y + M + D + T)$。
特例与边界（农历闰月）：
[版本差异]：两底本皆未对闰月作显式注释。
[采信建议与工程实现决策]：默认支持通例“直接按本月数取（如闰四月作4数）”；在系统配置项中提供高级选项“按节气中气分前后半月归属”。
规则 1.2：物数起卦法（见单一可数之物）
出处：F1 卷一《物数占例》；F2 卷之一《物占数》。
输入参数：可数物体总数 $Count$（正整数），时辰地支数 $T \in [1, 12]$。
前置限制条件：群物散乱不可数者不可占；必须为目之所见、确凿之数。
计算算法：
上卦数：$Num_{upper} = Count$；上卦 $= \text{mod8_gua}(Count)$。
下卦数：$Num_{lower} = T$；下卦 $= \text{mod8_gua}(T)$。
动爻数：$Dong = \text{mod6_yao}(Count + T)$。
版本校勘：F1作《物数占例》，F2作《物占数》（附校勘记），算理完全一致。
规则 1.3：声音起卦法（闻声起卦）
出处：F1 卷一《声音占例》；F2 卷之一《声音占》。
输入参数：所闻声音次数 $SoundCount$（正整数），时辰地支数 $T \in [1, 12]$。
计算算法：
上卦数：$Num_{upper} = SoundCount$；上卦 $= \text{mod8_gua}(SoundCount)$。
下卦数：$Num_{lower} = T$；下卦 $= \text{mod8_gua}(T)$。
动爻数：$Dong = \text{mod6_yao}(SoundCount + T)$。
连续发声规则：若声音有停顿间隔，则以第一阵声数为上卦，第二阵声数为下卦，总声数加时数取动爻。
规则 1.4：文字起卦法（一字至百余字系统）
出处：F1 卷一《字占》《一字至十一字占》；F2 卷之一《字占》《一字占》至《十一字占》。
规则 1.4.1：一字占（楷书偏旁拆分笔画法）
输入参数：单个楷书汉字。草书混沌不可分者不占。
计算算法：
拆分该字为阳部（左/上/外）与阴部（右/下/内）。
左边（阳）笔画数 $P_{left}$，右边（阴）笔画数 $P_{right}$。
上卦 $= \text{mod8_gua}(P_{left})$。
下卦 $= \text{mod8_gua}(P_{right})$。
动爻 $= \text{mod6_yao}(P_{left} + P_{right})$（全字总笔画数求爻，严禁加时数）。
古籍偏旁判定准则：
左右结构：以“彳”、“丿”等为左部阳画；以“一”、“乙”、“丶”等为右部阴画。
上下结构：上部为阳取上卦，下部为阴取下卦，全画总数求动爻。
独体字/不可拆分字：以总笔画平分为上卦（少一画）、下卦（多一画），总画求爻。
规则 1.4.2：二字占（两仪平分法）
计算算法：
第1字笔画数 $W_1$；第2字笔画数 $W_2$。
上卦 $= \text{mod8_gua}(W_1)$。
下卦 $= \text{mod8_gua}(W_2)$。
动爻 $= \text{mod6_yao}(W_1 + W_2)$（严禁加时数）。
规则 1.4.3：三字占（三才拆分法）
计算算法：
第1字笔画数 $W_1$ 取上卦（天）：上卦 $= \text{mod8_gua}(W_1)$。
第2、3字笔画总和 $(W_2 + W_3)$ 取下卦（地与人）：下卦 $= \text{mod8_gua}(W_2 + W_3)$。
动爻 $= \text{mod6_yao}(W_1 + W_2 + W_3)$（严禁加时数）。
规则 1.4.4：四字至十字占（中古四声平仄调声法）
核心原则：“四字以上，不必数画数，只以平仄声音调之。平声为一数，上声为二数，去声为三数，入声为四数。”
声调常量表：平声（阴平/阳平） $= 1$；上声 $= 2$；去声 $= 3$；入声 $= 4$。
拆分逻辑：
偶数个字（4, 6, 8, 10字）：平分前后两半。
前半部字调数和 $Tone_{first}$，后半部字调数和 $Tone_{second}$。
上卦 $= \text{mod8_gua}(Tone_{first})$。
下卦 $= \text{mod8_gua}(Tone_{second})$。
动爻 $= \text{mod6_yao}(Tone_{first} + Tone_{second})$（严禁加时数）。
奇数个字（5, 7, 9字）：天轻清（少一字在上），地重浊（多一字在下）。
设字数为 $N$。前部字数 $= (N - 1) / 2$；后部字数 $= (N + 1) / 2$。
前部字调数和 $Tone_{first}$，后部字调数和 $Tone_{second}$。
上卦 $= \text{mod8_gua}(Tone_{first})$。
下卦 $= \text{mod8_gua}(Tone_{second})$。
动爻 $= \text{mod6_yao}(Tone_{first} + Tone_{second})$（严禁加时数）。
[版本差异与采信建议]：
古本使用中古平水韵四声（含入声）。
现代普通话无入声，程序应支持：① 中原音韵/平水韵古典声调模式；② 现代拼音四声映射模式（一声平1、二声平1、三声上2、四声去3）；③ 现代常见的汉字笔画拆分降级模式。
规则 1.4.5：十一字以上至百余字占（纯字数法）
核心原则：“十一字以上，又不用平仄声音调之，止用字数。”
计算算法：
设总字数为 $N$（$N \ge 11$）。
若 $N$ 为偶数：上卦 $= \text{mod8_gua}(N / 2)$；下卦 $= \text{mod8_gua}(N / 2)$；动爻 $= \text{mod6_yao}(N)$。
若 $N$ 为奇数：上卦 $= \text{mod8_gua}((N - 1) / 2)$；下卦 $= \text{mod8_gua}((N + 1) / 2)$；动爻 $= \text{mod6_yao}(N)$。
纯用字数，严禁加时数。
规则 1.5：丈尺与尺寸占法
出处：F1 卷一《丈尺占》《尺寸占》；F2 卷之一《丈尺之物》《尺寸物占》。
规则 1.5.1：丈尺之物（大物）：
丈数取上卦：上卦 $= \text{mod8_gua}(丈数)$。
尺数取下卦：下卦 $= \text{mod8_gua}(尺数)$。
动爻：$Dong = \text{mod6_yao}(丈数 + 尺数)$。
写死约束：“寸数不用，不加时数”。
规则 1.5.2：尺寸之物（小物）：
尺数取上卦：上卦 $= \text{mod8_gua}(尺数)$。
寸数取下卦：下卦 $= \text{mod8_gua}(寸数)$。
动爻：$Dong = \text{mod6_yao}(尺数 + 寸数 + 当时时支数)$。
写死约束：“分数不用，必须加时数取爻”。（因数小，加时以穷其变）。
规则 1.6：为人占与自己占（起卦触发源规则）
出处：F1 卷一《为人占》《自己占》；F2 卷之一《为人占》《自己占》。
输入特征提取规则：
听语声：一句者依字数起卦；两句者前句为上卦、后句为下卦；语多者取初听一句或末后一句。
观人品（万物类象）：老人为乾(1)、少女为兑(2)、中女为离(3)、长男为震(4)、长女为巽(5)、中男为坎(6)、少男为艮(7)、老母为坤(8)。以人品为上卦，加来方为下卦，加时数取动爻。
取诸其身：头动为乾(1)、足动为震(4)、目动为离(3)、耳动为坎(6)、手指为艮(7)、口齿为兑(2)。
取诸其物：圆形金玉为乾(1)、方形土瓦为坤(8)、水族为坎(6)、火器为离(3)。
服色取象：青为震/巽(4/5)、赤为离(3)、白为乾/兑(1/2)、黑为坎(6)、黄为坤/艮(8/7)。
自己占：以年月日时、闻声、所触外物起卦，与为人占同，但必须加时数。
规则 1.7：后天端法起卦（物卦起例）
出处：F1 卷一《物卦起例（端法后天起卦）》；F2 卷之一《物卦起例》。
核心定义：“以物为上卦，方位为下卦，合物卦之数与方卦之数加时数以取动爻。”
输入参数：
观察到的实体物象/人象（映射为八卦，取其先天数 $Gua_{obj} \in [1, 8]$）
物或人所在之后天方位（映射为该方位对应八卦之先天数 $Gua_{dir} \in [1, 8]$）：
离正南=3，坎正北=6，震正东=4，兑正西=2，巽东南=5，乾西北=1，艮东北=7，坤西南=8。
观测时辰地支数 $T \in [1, 12]$。
计算算法：
上卦 $= Gua_{obj}$。
下卦 $= Gua_{dir}$。
动爻 $= \text{mod6_yao}(Gua_{obj} + Gua_{dir} + T)$。
规则 1.8：起卦加数消除冲突法（并发/同时间多人去重算法）
出处：F1 卷二《起卦加数例》；F2 卷之二《起卦加数例》。
业务场景：同一时间（同年月日时）有多人求占同一事，若直接按时间起卦，则卦象完全一致，吉凶无从分辨。
算法模型：
引入求占者之特定特征标识（古法用求占者姓氏笔画数 $K$；现代程序可传入用户ID或姓名笔画数）。
上卦数：$Num_{upper} = (Y + M + D + K)$；上卦 $= \text{mod8_gua}(Num_{upper})$。
下卦数：$Num_{lower} = (Y + M + D + K + T)$；下卦 $= \text{mod8_gua}(Num_{lower})$。
动爻数：$Dong = \text{mod6_yao}(Y + M + D + K + T)$。
经典案例验证：
寅年(3)十二月(12)初一日(1)午时(7)：基数 $3+12+1=16$。
王姓（4画）：上卦 $(16+4)=20 \pmod 8 = 4$（震）；下卦 $(20+7)=27 \pmod 8 = 3$（离）；动爻 $27 \pmod 6 = 3$。得雷火丰变震。
田姓（6画）：上卦 $(16+6)=22 \pmod 8 = 6$（坎）；下卦 $(22+7)=29 \pmod 8 = 5$（巽）；动爻 $29 \pmod 6 = 5$。得水风井变升。
韩姓（21画）：上卦 $(16+21)=37 \pmod 8 = 5$（巽）；下卦 $(37+7)=44 \pmod 8 = 4$（震）；动爻 $44 \pmod 6 = 2$。得风雷益变中孚。
模块二：动爻求法与判定规则
动爻是决定重卦吉凶运动、体用划分及变卦演化的唯一动力核心。
规则 2.1：一卦一爻动原则（写死）
梅花易数算法体系严格限制一卦仅有一爻动。严禁出现大衍筮法或京房六爻中的多爻动或静卦无动爻。无论输入数字多大，经过模6运算后，必然锁定在第 1 至第 6 爻中的唯一爻位。
规则 2.2：动爻求法分类归纳表
起卦类型
动爻计算公式
是否加时数
边界特例（整除时）
年月日时起卦
$(年支 + 月 + 日 + 时支) \pmod 6$
包含时数
余0取第6爻（上爻）
物数占
$(物数 + 时支) \pmod 6$
必须加时
余0取第6爻（上爻）
声音占
$(声数 + 时支) \pmod 6$
必须加时
余0取第6爻（上爻）
一字至十字占
(字画总数 或 调声总数) $\pmod 6$
严禁加时
余0取第6爻（上爻）
十一字以上占
总字数 $N \pmod 6$
严禁加时
余0取第6爻（上爻）
丈尺占
$(丈数 + 尺数) \pmod 6$
严禁加时
余0取第6爻（上爻）
尺寸占
$(尺数 + 寸数 + 时支) \pmod 6$
必须加时
余0取第6爻（上爻）
后天端法（物卦）
$(物卦数 + 方位卦数 + 时支) \pmod 6$
必须加时
余0取第6爻（上爻）
同时间加数占
$(年+月+日+姓画+时支) \pmod 6$
包含时数
余0取第6爻（上爻）
规则 2.3：动爻状态翻转算法
若动爻原为阳爻（1 / 九），翻转为阴爻（0 / 六）；
若动爻原为阴爻（0 / 六），翻转为阳爻（1 / 九）。
模块三：体用判定、互卦与变卦推演算法
规则 3.1：体用判定规则（动静分体用）
出处：F1 卷二《体用总诀》；F2 卷之二《体用总诀》《断占总诀》。
定义：
重卦六爻分为下卦（内卦，爻1
3）与上卦（外卦，爻46）。
判定算法：
$$\begin{cases} \text{动爻 } Dong \in {1, 2, 3} & \implies \text{下卦为【用卦】（动），上卦为【体卦】（静）} \ \text{动爻 } Dong \in {4, 5, 6} & \implies \text{上卦为【用卦】（动），下卦为【体卦】（静）} \end{cases}$$
象征意义：体卦为主体（占者、己方、事物本体）；用卦为客体（所占之事、应事之人、外部吉凶动因）。
规则 3.2：互卦生成算法（取中爻交错）
出处：F1 卷一《互卦起例》；F2 卷之一《互卦止用八卦不必取六十四卦名》。
算法逻辑：
设本卦六爻自初爻至上爻分别为：$L_1, L_2, L_3, L_4, L_5, L_6$。
去除初爻 $L_1$ 与上爻 $L_6$，仅保留中间四爻 $L_2, L_3, L_4, L_5$。
下互卦（内互）：取第 2、3、4 爻组成新的三爻经卦，爻位为 $[L_2, L_3, L_4]$。
上互卦（外互）：取第 3、4、5 爻组成新的三爻经卦，爻位为 $[L_3, L_4, L_5]$。
组合而成的重卦即为“互卦”（上卦为上互，下卦为下互）。
体互与用互之权重划分（极关键）：
若体卦在上卦 $\implies$ 上互为**【体互】（与体同位，权重高），下互为【用互】**。
若体卦在下卦 $\implies$ 下互为**【体互】（与体同位，权重高），上互为【用互】**。
占断时体互关系最紧，用互次之（如观梅占恒卦，上互兑金克震木体卦，直接断少女折花，而不取下互乾金老人）。
规则 3.3：特殊边界：“乾坤无互，互其变卦”
出处：F1 卷一；F2 卷之一。
边界成因：
当本卦为纯乾（乾为天，111111）时，其中爻 2,3,4 与 3,4,5 仍为 111，互卦仍为纯乾；
当本卦为纯坤（坤为地，000000）时，其中爻 2,3,4 与 3,4,5 仍为 000，互卦仍为纯坤。无法形成阴阳消长信息。
算法分支规则：
if 本卦 is 乾为天 or 本卦 is 坤为地:
    # 触发 "乾坤无互，互其变卦" 特殊规则
    下互卦 = 变卦之 [爻2, 爻3, 爻4]
    上互卦 = 变卦之 [爻3, 爻4, 爻5]
else:
    # 常规互卦规则
    下互卦 = 本卦之 [爻2, 爻3, 爻4]
    上互卦 = 本卦之 [爻3, 爻4, 爻5]
[采信建议]：此规则是解决乾坤纯卦信息冻结的古法精髓，程序必须实现该分支。
规则 3.4：变卦生成算法
算法逻辑：
体卦所在的三爻经卦完全保持不变。
用卦所在的三爻经卦中，将动爻对应的爻位进行二进制翻转（$0 \to 1, 1 \to 0$），生成新的经卦。
将新经卦替换原用卦位置，与不变的体卦重新组合成六爻重卦，即为**【变卦】**。
时间演化三态模型：
用卦：主事之发端，即刻之应；
互卦：主事之中途，过程演变；
变卦：主事之末后，最终结局。
模块四：五行生克与四季旺相休囚死判定
规则 4.1：五行生克吉凶基础矩阵
设体卦五行为 $E_{ti}$，对应各应卦（用卦、体互、用互、变卦）五行为 $E_{other}$：
用生体（$E_{other}$ 生 $E_{ti}$）：大吉。主贵人相助，获益匪浅，求谋顺遂。
体用比和（$E_{other} == E_{ti}$）：吉。主同道相扶，百事亨通，主客融洽。
体克用（$E_{ti}$ 克 $E_{other}$）：小吉/次吉。事虽可成，但劳心费力，多所克制。
体生用（$E_{ti}$ 生 $E_{other}$）：不吉/泄气。主损耗盗泄，虚惊劳累，防破耗。
用克体（$E_{other}$ 克 $E_{ti}$）：大凶。主灾咎病祸，官非破败，若克体卦旺则立见危亡。
规则 4.2：四季与五行旺相休囚死完全状态矩阵（写死）
判定时令以月令（节气月支）为主：
春季（寅、卯月）；
夏季（巳、午月）；
秋季（申、酉月）；
冬季（亥、子月）；
四季末月（辰、戌、丑、未月）。
时令（月支）
旺（得令当权）
相（旺者所生）
休（生旺者退休）
囚（克旺者被囚）
死（旺者所克受刑）
春季（寅卯）
木 (震/巽)
火 (离)
水 (坎)
金 (乾/兑)
土 (坤/艮)
夏季（巳午）
火 (离)
土 (坤/艮)
木 (震/巽)
水 (坎)
金 (乾/兑)
秋季（申酉）
金 (乾/兑)
水 (坎)
土 (坤/艮)
火 (离)
木 (震/巽)
冬季（亥子）
水 (坎)
木 (震/巽)
金 (乾/兑)
土 (坤/艮)
火 (离)
四季月（辰戌丑未）
土 (坤/艮)
金 (乾/兑)
火 (离)
木 (震/巽)
水 (坎)
规则 4.3：体用乘旺消长评估权重算法
体卦乘旺衰权重判定：
体卦得【旺】、【相】之气：本体强固，纵有克体之卦，亦受害甚微，化险为夷。
体卦处【死】、【囚】之气：本体虚脱脆弱，若遇用卦或变卦克体，必主重厄、大病、破亡。
克体卦旺衰判定：
克体之卦乘【旺】、【相】：凶暴势大，其祸立应。
克体之卦处【休】、【囚】、【死】：虽克而无力，虚惊一场。
卦党众寡法则：
统计全卦（主卦、互卦、变卦共四个经卦：体、用、上互、下互、变）：
生体/比和之卦党多 $\implies$ 终吉；
克体/泄体之卦党多 $\implies$ 终凶。
模块五：断应期法则（克期数学模型）
出处：F1 卷三《占卜克应之诀》；F2 卷之三《占卜克应之诀》。
克期（确定吉凶应验的时间截点）是梅花易数中最具技术性的部分。分为两大模型：
规则 5.1：数理推应期模型（先天动静法）
核心全卦数计算：
$$Sum_{all} = \text{体卦先天数} + \text{用卦先天数} + \text{上互先天数} + \text{下互先天数} + \text{变卦用位先天数}$$
（注：部分古例亦取成卦之总数，如主卦上下数或年月日时数）。
占者动静状态折算系数：
行（走动中、在途）：事应速。
$$\text{期数 } TimeCount = \lfloor Sum_{all} / 2 \rfloor \text{ 或 } Sum_{all} / 2$$
坐（静坐中、安处）：事应迟。
$$\text{期数 } TimeCount = Sum_{all} \times 2$$
立（站立不移）：半迟半速。
$$\text{期数 } TimeCount = Sum_{all}$$
卧（睡眠、卧床）：应最迟，取三倍或更久。
规则 5.2：事端长短决定时间单位
根据被占事物的物理与社会生命周期，将 $\text{期数 } TimeCount$ 映射至时间颗粒度：
旦夕暴发之事（花卉、饮食、寻常争斗、鸟兽叫鸣）：
时间单位为：时辰 或 日。
近事/常事（寻人、买卖、婚姻订聘、谋差）：
时间单位为：日 或 月。
久远之事（营建屋宅、造葬坟墓、立业兴替）：
时间单位为：月 或 年。
规则 5.3：时令卦气生克定日辰模型（后天干支法）
当需要锁定具体天干地支日期时，采用此规则：
吉事生体之期：
寻找全卦中生扶体卦的五行。
应期必在该五行乘旺之日辰或月令（例如：金为体，土来生之，应在辰、戌、丑、未土日，或戊己日；若金为体见金比和，应在申、酉金日，或庚辛日）。
凶事克体之期：
寻找全卦中克害体卦的五行。
应期必在该克体五行乘旺之日辰或月令（例如：金为体，离火来克，卦无土解救，应在巳、午火旺之日，或丙丁日）。
行人归期：以生体卦、比和卦对应之五行日为归期。
模块六：三要十应外应推演系统
出处：F1 卷二《三要灵应篇》《十应奥论》《十应目论》；F2 卷之二《三要灵应篇》《十应奥论》《十应目论》。
规则 6.1：三要总括
耳（闻声）：凡听得之声音，喜笑乐声主吉，悲泣破裂争斗声主凶；
目（见物）：凡眼见之形象，物色圆完整洁主吉，残缺破损污秽主凶；
心（神悟）：心神灵动，方寸湛然，见兆应机而动。
规则 6.2：十应类属与卦象交互规则
十应作为主卦之外的“客卦/外应环境参数”，将其五行属性带入体用系统参断：
天时之应：晴明为离(火)，阴雨为坎(水)，雷霆为震(木)，风顺为巽(木)，雪霜为乾兑(金)。
地理之应：高冈丘陵为艮(土)，平地原野为坤(土)，江河溪流为坎(水)，道路森林为震巽(木)。
人事之应：士人官吏为乾，妇人阴柔为坤，长幼有序，喜庆谈笑为吉应，号泣怒骂为凶兆。
时令之应：详审当下月日时之五行衰旺。
方卦之应：来人之方位八卦。
动物之应：见龙马乾震为吉，见乌鸦坎离为非，见犬吠防盗，见鸡鸣主烹。
静物之应：见金宝钱帛主财，见刀剑绳索主损伤官非。
言语之应：旁人所吐言词，字字为谶。
声音之应：丝竹钟鼓乐声主喜，折木破碗声主凶。
五色之应：青碧主木，赤紫主火，黄赭主土，素白主金，玄黑主水。
规则 6.3：外应融入体用计算规则
若起卦完成后，突发外应（如忽闻犬吠、忽见红衣人走过）：
提取该外应之八卦/五行属性 $E_{ying}$；
$E_{ying}$ 生体卦 $\implies$ 吉庆加成；
$E_{ying}$ 克体卦 $\implies$ 灾患加剧；
$E_{ying}$ 与体卦比和 $\implies$ 外力相助。
模块七：两底本版本差异比对与工程实现采信决策汇总表
序号
规则模块
底本一（殆知阁三卷本系统）
底本二（故宫秣陵德聚堂五卷本）
[版本差异考订]
[工程实现采信决策]
1
全书体例
分卷一、二、三，共三卷。无字画拆字专卷。
分卷之一至五，共五卷。卷四五收大量拆字法。
底本一为早中期精简坊本；底本二为清代成熟五卷本。
采信底本一至三卷为核心卦法；卷四五拆字作为扩展子系统。
2
序言署名
卷端题“清黄宗羲撰序”。
卷端署“秣陵德聚堂谨订”。
底本一黄宗羲序系清中叶书坊伪托；底本二署德聚堂为正本。
采信底本二考订结论，元数据废弃黄宗羲作序说。
3
字占声调
记四声调声，未附入声判定。
正文注有校记，明确平仄调法。
两本皆基于中古平水韵四声体系。
程序提供双模式：默认古典平水韵；兼容现代拼音调值模式。
4
克应文字
记作“克则最难”、“以数而克之”。
记作“刻期最难”、“以数而刻之”。
底本一为音近传抄致讹；底本二作“刻期”字义精确。
采信底本二“刻期”，程序模块命名为 
calculate_keqi()。
5
物数占名
题《物数占例》。
题《物占数》（注：校本题物数占）。
篇名微异，正文除法与取爻规则完全一致。
功能命名为 
divine_by_object_count()。
6
乾坤无互
仅记“乾坤无互，互其变卦”。
同样记“乾坤无互，互其变卦”。
两本均列为重要推演口诀，但未加长篇注脚。
算法严格实现分支：遇纯乾纯坤取变卦之2,3,4与3,4,5爻为互。
7
四季旺衰
卷一仅列旺与衰（死）。
卷一列旺衰，卷五附五行四时旺相休囚表。
底本二图表虽残脱，但其理论框架完全合乎五行通论。
采用标准5x5旺相休囚死矩阵（见模块四表），完全固化。
8
加数起卦
卷二载寅年十二月初一日午时三家起造例。
卷二载同样案例，记述相同。
两本高度一致，确立了多人并发消除同卦的核心机制。
强制作为排卦引擎的多人去重接口。
模块八：程序实现伪代码（Python标准实现范式）
为便于工程师直接阅读与转化，提供核心调度与推演的完整伪代码模型：
# coding: utf-8
from dataclasses import dataclass
from typing import Tuple, List
# 八卦常量
BAGUA_NAMES = ["", "乾", "兑", "离", "震", "巽", "坎", "艮", "坤"]
BAGUA_ELEMENTS = ["", "金", "金", "火", "木", "木", "水", "土", "土"]
# 爻画定义（0: 阴, 1: 阳），自下而上列表：[初爻, 二爻, 三爻]
BAGUA_YAO = {
    1: [1, 1, 1], # 乾 (三阳)
    2: [1, 1, 0], # 兑 (初阳, 二阳, 三阴)
    3: [1, 0, 1], # 离 (初阳, 二阴, 三阳)
    4: [1, 0, 0], # 震 (初阳, 二阴, 三阴)
    5: [0, 1, 1], # 巽 (初阴, 二阳, 三阳)
    6: [0, 1, 0], # 坎 (初阴, 二阳, 三阴)
    7: [0, 0, 1], # 艮 (初阴, 二阴, 三阳)
    8: [0, 0, 0], # 坤 (三阴)
}
def mod8_gua(n: int) -> int:
    r = n % 8
    return 8 if r == 0 else r
def mod6_yao(n: int) -> int:
    r = n % 6
    return 6 if r == 0 else r
def get_gua_by_yao(yao: List[int]) -> int:
    for g, y in BAGUA_YAO.items():
        if y == yao:
            return g
    return 8
@dataclass
class HexagramResult:
    upper_gua: int       # 上卦先天数 (1-8)
    lower_gua: int       # 下卦先天数 (1-8)
    dong_yao: int        # 动爻位 (1-6)
    ti_gua: int          # 体卦先天数 (1-8)
    yong_gua: int        # 用卦先天数 (1-8)
    ti_is_upper: bool    # 体卦是否在上卦
    hu_upper: int        # 上互卦先天数 (1-8)
    hu_lower: int        # 下互卦先天数 (1-8)
    bian_upper: int      # 变卦之上卦先天数 (1-8)
    bian_lower: int      # 变卦之下卦先天数 (1-8)
def deduce_meihua(upper: int, lower: int, dong: int) -> HexagramResult:
    # 1. 组成本卦六爻 (自初爻至上爻, 索引0至5)
    six_lines = BAGUA_YAO[lower] + BAGUA_YAO[upper]
    
    # 2. 判定体用 (动爻在下卦则下用上体；在上卦则上用下体)
    if dong in [1, 2, 3]:
        ti_gua = upper
        yong_gua = lower
        ti_is_upper = True
    else:
        ti_gua = lower
        yong_gua = upper
        ti_is_upper = False
        
    # 3. 产生变卦 (仅动爻发生二进制翻转)
    bian_lines = list(six_lines)
    target_idx = dong - 1
    bian_lines[target_idx] = 1 if bian_lines[target_idx] == 0 else 0
    bian_lower = get_gua_by_yao(bian_lines[0:3])
    bian_upper = get_gua_by_yao(bian_lines[3:6])
    
    # 4. 产生互卦（包含“乾坤无互，互其变卦”边界处理）
    if (upper == 1 and lower == 1) or (upper == 8 and lower == 8):
        # 乾坤无互，互其变卦
        hu_lower = get_gua_by_yao([bian_lines[1], bian_lines[2], bian_lines[3]])
        hu_upper = get_gua_by_yao([bian_lines[2], bian_lines[3], bian_lines[4]])
    else:
        # 常规互卦 (取本卦二三四爻为下互，三四五爻为上互)
        hu_lower = get_gua_by_yao([six_lines[1], six_lines[2], six_lines[3]])
        hu_upper = get_gua_by_yao([six_lines[2], six_lines[3], six_lines[4]])
        
    return HexagramResult(
        upper_gua=upper,
        lower_gua=lower,
        dong_yao=dong,
        ti_gua=ti_gua,
        yong_gua=yong_gua,
        ti_is_upper=ti_is_upper,
        hu_upper=hu_upper,
        hu_lower=hu_lower,
        bian_upper=bian_upper,
        bian_lower=bian_lower
    )
本规格书结语：以上条目涵盖了《梅花易数》排卦、体用演化、旺衰克应及断期之全部数理骨架。开发者依据此规范可百分之百还原宋明清三代梅花数术推演体系。