本项目是一个基于 Python Dash 的交互式模拟平台,旨在探索和可视化一个原创理论:个体“现实”是如何由其内在的“本然”、“应然”与“或然”三个核心世界相互作用、共同塑造而成的。
该模型通过多主体演化系统,展现了在复杂社会互动、认知偏差、情绪波动、随机事件及环境因素影响下,个体多维度特征的动态变化与涌现行为。
核心世界 (Realm) | 代表意义 (Represents) | 模拟中的体现 (Implementation) |
---|---|---|
本然 (The Inherent) | 个体所拥有的客观物质基础、生理条件、既有技能,以及所处的环境中直接面临的限制与障碍。这是存在的基石。 | b1_resource (资源), b2_limit (限制) |
应然 (The Normative) | 个体的价值体系、内在驱动力、理想抱负、目标设定以及道德准绳。这是行动的内在罗盘与引擎。 | y1_clarity (价值清晰度), y2_drive (驱动力), y3_aspiration (理想高度) |
或然 (The Potential) | 个体所能感知的可能性空间、其创新与适应能力、对不确定性的探索意愿以及风险偏好。这是拓展边界的路径。 | h1_possibility (可能性广度), h2_innovation (创新能力), h3_risk_tolerance (风险承受) |
模型中的每一个“个体”均被赋予这三大核心世界下的多个可量化维度,并辅以“社交”维度(如可信度、声望)来调节其在社群中的互动。这些维度值遵循一套精心设计的演化算法进行动态调整,该算法融合了:
- 内部反馈 (如高驱动力促进资源获取)
- 认知与决策 (基于可能存在偏差的感知和情绪状态)
- 社会网络互动 (信任、联盟、对抗、规范压力)
- 外部影响 (环境因素、随机或条件触发的复杂事件)
用户可以通过浏览器界面,实时观察这些“世界状态”在三维空间中的演化轨迹,并通过交互式控件调整模型参数,深入探究“三世界”理论的动态表现和可能涌现的复杂社群现象。
- 🧬 多维度个体建模: 基于“本然”、“应然”、“或然”和“社交”四大领域构建个体特征。
- ⚙️ 复杂动态演化: 精细的内部逻辑驱动维度变化,体现相互促进、制约与非线性反馈。
- 🧠 认知与情绪建模: 个体拥有独立的感知模型和情绪状态,影响其风险决策、学习率和目标调整。
- 🎲 深化风险机制: 风险决策基于感知资源、情绪和风险偏好,结果对多维度产生连锁反应。
- 🤝 结构化社会交互: 动态的信任、联盟与对抗关系,以及社群规范、声望系统和信息共享。
- 🏛️ 社区共同项目: 个体可发起/参与合作项目,体现集体行动逻辑。
- ⚡️ 多层次事件系统: 支持随机、条件、定时及链式事件,事件效果考虑个体韧性。
- ⚖️ 数值极端化缓解: 引入维持成本、专业化惩罚、破产机制、维度软回归等机制,增强模型长期运行的合理性。
- 🎛️ 可调全局环境: 模拟宏观影响,并提供UI进行核心参数的实时调整。
- 📊 交互式三维可视化: 实时展示演化过程,并提供详细的日志追踪系统行为。
项目主要由单独一个Python脚本 (RX-GMQ.py
) 构成,其中包含了以下主要部分:
DIM_KEYS
,DIMENSION_LABELS_MAP_ZH
,AXIS_LABELS_ZH
: 定义维度、UI标签。MAX_LOG_LINES
: 日志行数。sigmoid
,scale_value
: 核心数学工具函数。SIMULATION_LOG
,log_message
: 日志系统。
定义和管理社区合作项目的属性与生命周期。
模型的核心实体,包含所有维度和核心演化逻辑。
__init__(...)
: 初始化个体所有属性,包括各维度、认知状态、社交关系、破产状态等。update_perception()
: 更新个体对资源、可能性、限制、声望及他人信任的感知。update_mood()
: 更新个体情绪,受风险结果、资源水平、社交关系等影响。_calculate_delta_X(...)
: 为每个维度计算基础变化量。_calculate_neighbor_effects(...)
: 计算邻居的社会影响(信任、规范压力、信息交换)。manage_social_relations()
: 动态处理联盟与敌对关系的形成与解除。decide_community_actions()
: 个体决定是否发起或加入社区项目。evolve(...)
: 核心演化方法,在一个时间步内按顺序驱动个体所有状态的变化。
Event
: 定义事件,支持链式触发和基于情绪的目标选择。EventManager
: 管理所有事件的触发与执行。
initial_states_templates_gm457c
: 预定义角色模板。neighbor_config_gm457c
: 角色间初始邻居关系。event_definitions_gm457c
: 预定义事件库。default_evolution_params_gm457c
: 核心参数字典。global_environment_factors_gm457c
: 全局环境因子。
定义了交互式Web界面的所有组件,如3D散点图、控制滑块、日志显示区等。
实现了UI组件与后台模拟逻辑的交互,是整个应用的“神经系统”。
-
安装依赖库:
pip install dash plotly numpy
-
保存代码: 将代码保存为
RX-GMQ.py
。 -
运行应用:
python RX-GMQ.py
-
访问浏览器: 在浏览器中打开命令行提示的地址 (通常是
http://127.0.0.1:8067/
)。
在 initial_states_templates_gm457c
列表中添加一个新的字典。
示例: 添加一个 "投机资本家"
# In initial_states_templates_gm457c list
{
'name_zh': "投机资本家",
'name_en': "VentureCapitalist", # 英文ID必须唯一
'b1_res': 7.0, 'b2_lim': 2.0,
'y1_cla': 6.0, 'y2_dri': 7.5, 'y3_asp': 8.0,
'h1_pos': 7.0, 'h2_inn': 5.0, 'h3_ris': 9.0,
's1_tru': 4.0, 's2_rep': 6.5
}
重要: 添加新角色后,别忘了在 neighbor_config_gm457c
字典中为其配置邻居关系。
在 event_definitions_gm457c
列表中添加一个新的字典。
示例: 添加一个 "学术交流会议" 事件
# In event_definitions_gm457c list
{
'name': "学术交流会议",
'trigger_type': "probabilistic",
'trigger_params': {'prob': 0.01},
'target_selector': {'type': 'random_n', 'n': 4}, # 随机选择4个参与者
'effects': [
{'dim': 'h2_innovation', 'type': 'add_abs', 'val': 0.5, 'rand_range': 0.2},
{'dim': 's2_reputation', 'type': 'add_abs', 'val': 0.3, 'rand_range': 0.1}
],
'duration': 2, # 效果持续2个回合
'one_time': False,
# 该事件还可以链接触发其他事件 (optional)
'chain_event_name': '技术突破新闻',
'chain_event_delay': 1,
'chain_event_prob': 0.5
}
“本然的,应然的,或然的,这三种世界构成了现实。……这三种世界通过我向它们讲解;你们就听我的故事入睡。”
本模拟项目将此抽象哲学构想转化为一个可计算、可观察的动态系统。
哲学概念 | 核心引言 | 模拟实现 |
---|---|---|
现实的构成 | “三种世界构成了现实。” | 每个WorldState 对象的所有维度向量构成了其“现实”。整个系统的状态集构成了“宏观现实”。 |
本然的基础性 | “本然的使世界成为世界,世界就藏于本然中。” | b1_resource 和b2_limit 是所有行动的基础和约束。低资源或高限制会直接压制“应然”的实现和“或然”的探索。 |
应然的驱动性 | “应然的使现实成为现实,现实就变于应然中。” | y1_clarity , y2_drive , y3_aspiration 是推动个体变化的核心引擎,直接驱动资源获取、限制克服和创新活动。 |
或然的创造性 | “或然的使成就变为世界,成就就孕育世界中。” | 风险项目 (h3_risk_tolerance ) 是最直接的体现:投入“本然”资源,其结果(受h2_innovation 等影响)重塑“本然”世界,即“成就变为世界”。 |
认知、情绪与社会的加入,使得模型超越了简单的物理规则,引入了“人性”的复杂性:
- 认知偏差: 个体基于感知到的而非客观的现实做决策。
- 情绪波动: 情绪成为连接内外世界的桥梁,影响决策的理性和冲动。
- 社群演化: 信任、联盟、声望等社会资本,将个体命运与社群动态紧密相连。
最终,这个模拟器本身,就是对该理论的一次动态“讲解”。用户通过观察和互动,亲身体验这三个世界如何交织运作,谱写出一曲曲复杂而生动的个体与社群的“故事”。