本项目是一个基于 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 (风险承受) |
模型中的每一个“个体”均被赋予这三大核心世界下的多个可量化维度,并辅以“社交”维度(如可信度、声望)来调节其在社群中的互动。这些维度值遵循一套精心设计的演化算法进行动态调整,该算法融合了:
用户可以通过浏览器界面,实时观察这些“世界状态”在三维空间中的演化轨迹,并通过交互式控件调整模型参数,深入探究“三世界”理论的动态表现和可能涌现的复杂社群现象。
项目主要由单独一个Python脚本 (RX-GMQ.py
) 构成,其中包含了以下主要部分:
DIM_KEYS
, DIMENSION_LABELS_MAP_ZH
, AXIS_LABELS_ZH
: 定义维度、UI标签。MAX_LOG_LINES
: 日志行数。sigmoid
, scale_value
: 核心数学工具函数。SIMULATION_LOG
, log_message
: 日志系统。CommunityProject
类定义和管理社区合作项目的属性与生命周期。
WorldState
类模型的核心实体,包含所有维度和核心演化逻辑。
__init__(...)
: 初始化个体所有属性,包括各维度、认知状态、社交关系、破产状态等。update_perception()
: 更新个体对资源、可能性、限制、声望及他人信任的感知。update_mood()
: 更新个体情绪,受风险结果、资源水平、社交关系等影响。_calculate_delta_X(...)
: 为每个维度计算基础变化量。_calculate_neighbor_effects(...)
: 计算邻居的社会影响(信任、规范压力、信息交换)。manage_social_relations()
: 动态处理联盟与敌对关系的形成与解除。decide_community_actions()
: 个体决定是否发起或加入社区项目。evolve(...)
: 核心演化方法,在一个时间步内按顺序驱动个体所有状态的变化。Event
类 和 EventManager
类Event
: 定义事件,支持链式触发和基于情绪的目标选择。EventManager
: 管理所有事件的触发与执行。..._gm457c
后缀)initial_states_templates_gm457c
: 预定义角色模板。neighbor_config_gm457c
: 角色间初始邻居关系。event_definitions_gm457c
: 预定义事件库。default_evolution_params_gm457c
: 核心参数字典。global_environment_factors_gm457c
: 全局环境因子。app.layout
)定义了交互式Web界面的所有组件,如3D散点图、控制滑块、日志显示区等。
@app.callback
)实现了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 等影响)重塑“本然”世界,即“成就变为世界”。 |
认知、情绪与社会的加入,使得模型超越了简单的物理规则,引入了“人性”的复杂性:
最终,这个模拟器本身,就是对该理论的一次动态“讲解”。用户通过观察和互动,亲身体验这三个世界如何交织运作,谱写出一曲曲复杂而生动的个体与社群的“故事”。