Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

八卦物理推演引擎(Bagua Physics Engine)

DOI

让信号通过物理冲刷自然形成沟壑,让答案自然浮现。


这是什么

一个基于中国传统八卦演化的智能体架构

输入一段中文文本,引擎把它当作物理信号注入八卦空间,让八条物理力量(级联追逐、物极必反、冷却衰减、蒸汽凝结、地震重置……)在空间中自然演化,最终浮现出卦象分布和结晶词。

不需要任何大语言模型在线运行。嵌入表是静态几何数据,只做空间计算。

它不是占卜工具,也不是 LLM 插件。它是一个独立的物理格式文本感知器。


核心思想

一、物理传力,不语义映射

传统 NLP:文本 → 分词 → 特征提取 → 分类 → 匹配 → 答案。每一步都是人为定义的映射。

这个引擎反过来:不做任何映射,让场自己决定结果。

  • 八卦不是 8 个语义标签(乾 ≠ 天 ≠ 领导 ≠ 刚健)
  • 八卦是物理空间的 8 个方位
  • 文本是注入这个空间的物理信号
  • 卦象分布是物理演化后的浮现结果,不是预定义的分类

二、七条铁律

引擎的每一行代码遵守同一条原则——不替场做决定

# 铁律 含义
1 不筛选 所有信号都进场,不丢弃
2 不特征提取 不从信号里抽取人工统计量
3 不投影 不把高维信号压到低维空间
4 不匹配 不做信号与卦位的对应匹配
5 不量化 不把连续信号离散化
6 不加权 不做线性加权合并
7 不仲裁 场自决,没有裁判

违反任何一条 → 结果就不是物理浮现,而是人为定义。这是整个项目最硬的设计约束。

三、浮现而非定义

卦象分布是物理演化的浮现结果。答案不是算出来的,是浮现出来的。

引擎内部是一个完整的动力学系统——有自己的吸引子、相变和稳态。输入相同文本,输出确定一致(同输入 → 同输出,无采样随机性)。

四、三条线,一场演化

文本输入
  │
  ├── 线① 汉字物理(硬物理)
  │     码点差 → 方向角
  │     位图密度 → 气量
  │     标点/数字 → 辅助角度
  │     → qi_physics(8维物理向量)
  │
  ├── 线② 词网络(软物质)
  │     分词 → 7B嵌入表(3584D) → PCA(256D)
  │     → 词间语义距离图 → 热扩散
  │     → qi_semantic(8维语义向量)
  │
  └── 线③ qi_field(背景温度)[可选]
        外部传入的背景温度梯度
        不传则均匀 = 无信号
  
  三条热源各自独立注入 v94 气场演化
  → 隔离演化(互推互拉,不先加总再缩放)
  → 场自决收敛方向
  → 卦象分布 + 结晶词

三条线不做加权合并——它们在 v94 物理场里隔离演化,各自作为热源参与级联追逐和蒸汽凝结,场自己决定哪条更热、哪个卦位胜出。


物理演化:水循环

v94 气场的物理图像是一个水循环系统

物理过程 机制 效果
冲刷(flow) 每卦独立 flow_rate × depth × factor 深者更深(正反馈)
衰减(decay) 常数衰减 防无限增长
级联追逐(cascade) 相邻卦位差值驱动流转 强者带动弱者
物极必反(sin) sin(极端度 × π) 触发地震 极端状态自动重置
冷却(cooling) 主导卦自冷 防一卦垄断
蒸汽凝结(softmax) 深度 → 概率分布 最终输出卦象

怎么跑

环境

  • Python 3.10+
  • Windows(位图渲染依赖宋体字体,Linux 需替换字体路径)

依赖

pip install numpy Pillow tokenizers gguf

数据

引擎需要预训练词嵌入表做语义空间几何计算:

文件 大小 说明
data/qwen7b_embed_tokens.npy ~2GB Qwen2.5-7B 的词嵌入权重表
data/pca_256_proj.npz ~3MB PCA 投影矩阵(3584D → 256D)
data/tokenizer.json ~数MB 分词器配置

嵌入表来自 Qwen2.5-7B 开源模型。引擎只做静态几何计算(余弦距离、PCA 投影),不需要模型在线运行。这不是"接模型推理",是"用模型的权重做空间里的距离计算"。

最小示例

from engine_v9 import EngineV9

engine = EngineV9(hour=14)  # hour 用于时间偏置,可选

# 纯物理推演(不需要任何外部服务)
result = engine.perceive("今天升职了很开心!")

print(f"胜卦: {result.winner}")           # e.g. "乾"
print(f"分布: {result.distribution}")      # 8卦概率分布
print(f"CV: {result.cv:.2f}")             # 集中度(越高越确定)
print(f"结晶词: {result.word_crystal}")    # e.g. ["升职", "开心", "今天"]

带河图增强(可选)

河图是多模型信号源,提供额外的语义热源。不是核心依赖,是可选增强。

hetu_texts = [
    "升职意味着新的责任和挑战",
    "这是一个值得庆祝的时刻",
    # ... 多段来自不同模型/温度的视角
]

result = engine.perceive("今天升职了很开心!", hetu_texts=hetu_texts)

测试

cd finding-order/engine
pytest test_framework/ -v                    # 全量(97条)
pytest test_framework/ -v -m "not slow"      # 跳过嵌入表加载的慢测试
pytest test_framework/test_core.py -v        # 仅核心物理验证

架构

                    ┌──────────────────┐
                    │    文本输入       │
                    └───────┬──────────┘
                            │
              ┌─────────────┼─────────────────┐
              │             │                 │
     ┌────────▼──────┐ ┌───▼──────────┐ ┌────▼──────────┐
     │  汉字物理      │ │  词网络       │ │ qi_field      │
     │  码点→方向角   │ │  嵌入→PCA→图  │ │ (背景温度)    │
     │  位图→密度     │ │  →热扩散      │ │ [可选]        │
     └────────┬──────┘ └───┬──────────┘ └────┬──────────┘
              │             │                 │
              └─────────────┼─────────────────┘
                            │ 隔离演化(互推互拉)
                    ┌───────▼──────────┐
                    │   v94 气场演化    │
                    │  冲刷·级联·物极   │
                    │  冷却·凝结·地震   │
                    └───────┬──────────┘
                            │
              ┌─────────────┼─────────────┐
              │             │             │
     ┌────────▼──────┐ ┌───▼───────┐ ┌───▼──────────┐
     │  卦象分布      │ │  结晶词    │ │  外围层       │
     │  8卦概率      │ │  top-k词   │ │  记忆·C层·    │
     │  + 胜卦       │ │  (热场浮现)│ │  观察者       │
     └───────────────┘ └───────────┘ └──────────────┘

核心文件

engine/
├── engine_v9.py           # 交汇处理器(三条线 + 词网络 + 结晶)
├── core_enhanced.py        # v94 气场演化核心(水循环动力学)
├── bagua_nn.py             # 八卦神经网络(64卦路径映射)
├── language_qichang.py     # 语言气场(结晶词 → 自然语言句子)
├── mouth.py                # 嘴巴(卦象 → 路径 → 文本输出)
├── memory_layer.py         # 记忆层(初态微偏置,不改场)
├── c_layer.py              # C层推理(旁路日记,不碰场)
├── observer_layer.py       # 指涉层(跨轮观察,只读)
└── test_framework/         # 97条自动化测试

河图信号源(可选增强)

hetu/
├── pipeline.py             # 多模型信号管线
├── backend.py              # 模型管理(llama-server 启停切换)
├── bridge_v3.py            # 蒸汽桥接(多源信号 → 8卦qi)
├── cluster.py              # 信号聚类(TF-IDF 语义向量 K-means)
└── breathing.py            # 呼吸回路(回答回灌 → 场更新 → 再推)

与 LLM 的关系

这个引擎不是 LLM 的替代品,也不是 LLM 的插件。它是一个平行的感知格式

LLM 八卦物理引擎
输入 token 序列 物理信号
处理 注意力机制 物理演化(冲刷/级联/凝结)
输出 下一个 token 卦象分布 + 结晶词
可解释性 低(黑箱) 高(每一步物理过程可追踪)
确定性 低(采样随机) 高(同输入 → 同输出)

它可以作为 LLM 的物理格式化前层——先跑引擎得到卦象分布,再把分布信息注入 LLM 的 prompt 上下文。但引擎本身完全独立运行,不依赖任何 LLM。


已发现的现象

龙战

高极端度 + 低 CV + 河图高度共识但 qi 不够陡峭。物理类比:满油箱没火花塞。

场自决

某些卦位(兑/离/震/巽)在特定输入分布下可能永不成为胜卦。这不是 bug,是场的自然行为——所有 8 卦都有非零分布参与计算,只是能量最集中的卦位更容易胜出。

枕边风效应

暴力洗脑触发免疫反应(级联高烧),温柔渗透绕过免疫。河图的多模型多样性是天然免疫层。


开发方式

本项目由人类与 AI 智能体协作开发完成。

人类负责物理直觉、架构约束和铁律审查。AI 智能体负责代码实现、测试验证和架构审计。两者在同一工作空间中持续对话,每个设计决策都经过物理讨论而非工程妥协。

这种开发方式本身也是引擎思想的一部分——人定义物理约束,机器负责在约束内探索,场自决结果。


版本历史

日期 里程碑
2026-06 v91 铁律公式确立(冲刷动力学基石)
2026-06 v92 多模型异构信号 + 诚实感中间件
2026-06 v93 物极必反 + 太极完整架构 + 敏感性验证
2026-07 v94 气场演化 + 汉字物理 + 词网络 + 铁律审查
2026-07 engine_v9 三线汇合 + 隔离演化 + 97条测试全绿

许可

待定


八卦不是坐标系。八卦是描述语言。 场不是工具。场是物理实体。 答案不是算出来的。答案是浮现出来的。

Releases

Packages

Contributors

Languages