Skip to content

Commit b1080af

Browse files
committed
代码
1 parent 294fa5e commit b1080af

1 file changed

Lines changed: 67 additions & 42 deletions

File tree

RX-GMV.py

Lines changed: 67 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1107,127 +1107,152 @@ def process_step(self, all_states_objects_dict, global_metrics, global_env_facto
11071107
'b1_res': 3.5, 'b2_lim': 6.0, 'y1_cla': 7.0, 'y2_dri': 5.0, 'y3_asp': 7.5,
11081108
'h1_pos': 4.0, 'h2_inn': 5.5, 'h3_ris': 3.0, 's1_tru': 4.0, 's2_rep': 5.0},
11091109
### END ADDED ###
1110+
### ADDED: 进一步新增的角色 ###
1111+
{'name_zh': "和平缔造者", 'name_en': "Peacemaker",
1112+
'b1_res': 5.0, 'b2_lim': 3.0, 'y1_cla': 7.5, 'y2_dri': 6.5, 'y3_asp': 7.0,
1113+
'h1_pos': 5.0, 'h2_inn': 4.0, 'h3_ris': 2.5, 's1_tru': 8.5, 's2_rep': 7.0},
1114+
1115+
{'name_zh': "资源掌控者", 'name_en': "ResourceBaron",
1116+
'b1_res': 8.5, 'b2_lim': 5.0, 'y1_cla': 7.0, 'y2_dri': 9.0, 'y3_asp': 7.5,
1117+
'h1_pos': 5.0, 'h2_inn': 6.5, 'h3_ris': 7.5, 's1_tru': 3.0, 's2_rep': 6.0},
1118+
1119+
{'name_zh': "传统守护者", 'name_en': "GuardianPreserver", # 区别于保守长者,更强调“守护”特定事物
1120+
'b1_res': 6.0, 'b2_lim': 2.0, 'y1_cla': 8.5, 'y2_dri': 5.5, 'y3_asp': 5.0,
1121+
'h1_pos': 2.5, 'h2_inn': 1.5, 'h3_ris': 1.0, 's1_tru': 8.0, 's2_rep': 7.0},
1122+
1123+
{'name_zh': "边缘艺术家", 'name_en': "MarginalArtist",
1124+
'b1_res': 2.5, 'b2_lim': 5.5, 'y1_cla': 8.0, 'y2_dri': 6.0, 'y3_asp': 8.5,
1125+
'h1_pos': 8.0, 'h2_inn': 7.0, 'h3_ris': 5.0, 's1_tru': 4.5, 's2_rep': 3.0},
1126+
### END ADDED ###
11101127
]
11111128

11121129
neighbor_config_gm456 = {
11131130
# 原有角色
1114-
"Loner": ["Opportunist", "WanderingExplorer"], # 孤僻者可能只与少数特定类型的人有联系
1115-
"CollaborativeLeader": ["Opportunist", "DiligentArtisan", "ConservativeElder", "VisionaryInnovator",
1116-
"PragmaticBuilder"], # 领导者连接广泛的建设性角色
1117-
"Opportunist": ["CollaborativeLeader", "Loner", "VisionaryInnovator", "WanderingExplorer", "CynicalCritic"],
1118-
# 投机者寻找各种可能性
1119-
"DiligentArtisan": ["CollaborativeLeader", "PragmaticBuilder", "ConservativeElder"], # 工匠与务实和传统角色
1120-
"ConservativeElder": ["CollaborativeLeader", "DiligentArtisan", "PragmaticBuilder"], # 长者与稳定和传统角色
1121-
1122-
# 新增角色
1123-
"VisionaryInnovator": ["CollaborativeLeader", "Opportunist", "WanderingExplorer"], # 创新者可能寻求领导者、吸引投机者,或与探索者交流
1124-
"WanderingExplorer": ["Loner", "Opportunist", "VisionaryInnovator", "CynicalCritic"], # 迷茫者可能与孤僻者、投机者、创新者或批评家有交集
1125-
"PragmaticBuilder": ["CollaborativeLeader", "DiligentArtisan", "ConservativeElder", "VisionaryInnovator"],
1126-
# 建设者与领导者、工匠、长者,也可能与创新者合作将其理念落地
1127-
"CynicalCritic": ["Loner", "Opportunist", "WanderingExplorer"] # 批评家可能与孤僻者、投机者(发现可批评之处)、迷茫者有联系
1131+
"Loner": ["Opportunist", "WanderingExplorer", "CynicalCritic", "MarginalArtist"],
1132+
"CollaborativeLeader": ["Opportunist", "DiligentArtisan", "ConservativeElder", "VisionaryInnovator", "PragmaticBuilder", "Peacemaker"],
1133+
"Opportunist": ["CollaborativeLeader", "Loner", "VisionaryInnovator", "WanderingExplorer", "CynicalCritic", "ResourceBaron", "MarginalArtist"],
1134+
"DiligentArtisan": ["CollaborativeLeader", "PragmaticBuilder", "ConservativeElder", "GuardianPreserver"],
1135+
"ConservativeElder": ["CollaborativeLeader", "DiligentArtisan", "PragmaticBuilder", "GuardianPreserver", "Peacemaker"],
1136+
1137+
# 第一批新增角色
1138+
"VisionaryInnovator": ["CollaborativeLeader", "Opportunist", "WanderingExplorer", "PragmaticBuilder", "MarginalArtist"],
1139+
"WanderingExplorer": ["Loner", "Opportunist", "VisionaryInnovator", "CynicalCritic", "MarginalArtist"],
1140+
"PragmaticBuilder": ["CollaborativeLeader", "DiligentArtisan", "ConservativeElder", "VisionaryInnovator", "Peacemaker", "ResourceBaron"],
1141+
"CynicalCritic": ["Loner", "Opportunist", "WanderingExplorer", "MarginalArtist"],
1142+
1143+
# 第二批新增角色
1144+
"Peacemaker": ["CollaborativeLeader", "ConservativeElder", "PragmaticBuilder", "GuardianPreserver", "WanderingExplorer"], # 调解者需要广泛联系
1145+
"ResourceBaron": ["Opportunist", "PragmaticBuilder", "CollaborativeLeader"], # 资源掌控者与能带来利益或需要其资源的角色
1146+
"GuardianPreserver": ["ConservativeElder", "DiligentArtisan", "Peacemaker"], # 守护者与传统、稳定角色
1147+
"MarginalArtist": ["Loner", "VisionaryInnovator", "WanderingExplorer", "CynicalCritic"] # 边缘艺术家的小圈子
11281148
}
11291149

11301150
### MODIFIED: Enriched event_definitions_gm456 ###
11311151
event_definitions_gm456 = [
11321152
# --- 经济与资源类事件 ---
11331153
{'name': "经济繁荣周期", 'trigger_type': "probabilistic",
1134-
'trigger_params': {'prob': 0.02, 'env_prob_mod_key': 'econ_cycle_event_mod'}, # OK
1154+
'trigger_params': {'prob': 0.02, 'env_prob_mod_key': 'econ_cycle_event_mod'}, # OK
11351155
'target_selector': "all",
11361156
'effects': [{'dim': 'b1_resource', 'type': 'multiply_abs', 'val': 1.15, 'rand_range': 0.05},
11371157
{'dim': 'mood', 'type': 'add_abs', 'val': 0.2, 'rand_range': 0.1}],
11381158
'duration': 3, 'chain_event_name': "投资机会涌现", 'chain_event_delay': 1, 'chain_event_prob': 0.6},
11391159

11401160
{'name': "经济衰退周期", 'trigger_type': "probabilistic",
1141-
'trigger_params': {'prob': 0.025, 'env_prob_mod_key': 'econ_cycle_event_mod'}, # OK
1161+
'trigger_params': {'prob': 0.025, 'env_prob_mod_key': 'econ_cycle_event_mod'}, # OK
11421162
'target_selector': "all",
11431163
'effects': [{'dim': 'b1_resource', 'type': 'multiply_abs', 'val': 0.85, 'rand_range': 0.05},
11441164
{'dim': 'mood', 'type': 'add_abs', 'val': -0.25, 'rand_range': 0.1},
11451165
{'dim': 'h1_possibilities', 'type': 'multiply_abs', 'val': 0.9, 'rand_range': 0.05}],
11461166
'duration': 4, 'chain_event_name': "社会动荡加剧", 'chain_event_delay': 2, 'chain_event_prob': 0.3},
11471167

11481168
{'name': "资源意外发现", 'trigger_type': "probabilistic",
1149-
'trigger_params': {'prob': 0.01}, # OK
1169+
'trigger_params': {'prob': 0.01}, # OK
11501170
'target_selector': {'type': 'random_n', 'n': 2},
11511171
'effects': [{'dim': 'b1_resource', 'type': 'add_abs', 'val': 2.5, 'rand_range': 0.3},
11521172
{'dim': 'h1_possibilities', 'type': 'add_abs', 'val': 1.0, 'rand_range': 0.2}]},
11531173

11541174
# --- 技术与创新类事件 ---
11551175
{'name': "颠覆性技术突破", 'trigger_type': "probabilistic",
1156-
'trigger_params': {'prob': 0.008}, # OK
1157-
'target_selector': {'type': 'conditional_individual', 'dim': 'h2_innovation', 'op': '>', 'val': 7.0, 'max_targets': 1},
1176+
'trigger_params': {'prob': 0.008}, # OK
1177+
'target_selector': {'type': 'conditional_individual', 'dim': 'h2_innovation', 'op': '>', 'val': 7.0,
1178+
'max_targets': 1},
11581179
'effects': [{'dim': 'h2_innovation', 'type': 'set_abs', 'val': 9.5},
11591180
{'dim': 'h1_possibilities', 'type': 'add_abs', 'val': 2.5, 'rand_range': 0.2},
11601181
{'dim': 's2_reputation', 'type': 'add_abs', 'val': 2.0, 'rand_range': 0.2}],
11611182
'one_time': True, 'chain_event_name': "行业格局重塑", 'chain_event_delay': 3, 'chain_event_prob': 0.8},
11621183

11631184
{'name': "行业格局重塑", 'trigger_type': "none",
1164-
'trigger_params': {}, # OK (added in previous fix)
1185+
'trigger_params': {}, # OK (added in previous fix)
11651186
'target_selector': "all",
11661187
'effects': [{'dim': 'b2_limitation', 'type': 'add_abs', 'val': 0.5, 'rand_range': 0.3},
1167-
{'dim': 'h1_possibilities', 'type': 'add_abs', 'val': 0.5, 'rand_range':0.2}],
1188+
{'dim': 'h1_possibilities', 'type': 'add_abs', 'val': 0.5, 'rand_range': 0.2}],
11681189
'duration': 5},
11691190

11701191
# --- 社会与认知类事件 ---
11711192
{'name': "信任重建倡议", 'trigger_type': "conditional_global",
1172-
'trigger_params': {'dim': 'avg_s1_trust', 'op': '<', 'val': 3.5, 'source': 'metrics'}, # OK
1193+
'trigger_params': {'dim': 'avg_s1_trust', 'op': '<', 'val': 3.5, 'source': 'metrics'}, # OK
11731194
'target_selector': "all",
11741195
'effects': [{'dim': 's1_trustworthiness', 'type': 'add_abs', 'val': 0.3, 'rand_range': 0.1},
11751196
{'dim': 'mood', 'type': 'add_abs', 'val': 0.1, 'rand_range': 0.05}],
11761197
'duration': 4, 'one_time': True},
11771198

11781199
{'name': "谣言与误解", 'trigger_type': "probabilistic",
1179-
'trigger_params': {'prob': 0.02}, # OK
1200+
'trigger_params': {'prob': 0.02}, # OK
11801201
'target_selector': {'type': 'random_n', 'n': 3},
11811202
'effects': [{'dim': 's1_trustworthiness', 'type': 'add_abs', 'val': -0.8, 'rand_range': 0.2},
11821203
{'dim': 'perception_accuracy', 'type': 'multiply_abs', 'val': 0.7, 'rand_range': 0.1}],
11831204
'duration': 3, 'chain_event_name': "信任危机加剧", 'chain_event_delay': 1, 'chain_event_prob': 0.25},
11841205

11851206
{'name': "信任危机加剧", 'trigger_type': "none",
1186-
'trigger_params': {}, # OK (added in previous fix)
1207+
'trigger_params': {}, # OK (added in previous fix)
11871208
'target_selector': "all",
1188-
'effects': [{'dim': 's1_trustworthiness', 'type': 'add_abs', 'val': -0.3, 'rand_range':0.1}],
1209+
'effects': [{'dim': 's1_trustworthiness', 'type': 'add_abs', 'val': -0.3, 'rand_range': 0.1}],
11891210
'duration': 2},
11901211

11911212
{'name': "外部共同威胁", 'trigger_type': "probabilistic",
1192-
'trigger_params': {'prob': 0.012}, # OK
1213+
'trigger_params': {'prob': 0.012}, # OK
11931214
'target_selector': "all",
11941215
'effects': [{'dim': 'b2_limitation', 'type': 'add_abs', 'val': 1.0, 'rand_range': 0.2},
1195-
{'dim': 'mood', 'type': 'add_abs', 'val': -0.3, 'rand_range':0.1}],
1216+
{'dim': 'mood', 'type': 'add_abs', 'val': -0.3, 'rand_range': 0.1}],
11961217
'duration': 5},
11971218

1198-
{'name': "社会思潮启蒙", 'trigger_type': "probabilistic", # Changed from conditional_individual to simplify trigger
1199-
'trigger_params': {'prob': 0.005}, # OK
1200-
'target_selector': {'type': 'conditional_individual', 'dim':'y1_clarity', 'op':'<', 'val':5.0, 'max_targets':2},
1219+
{'name': "社会思潮启蒙", 'trigger_type': "probabilistic", # Changed from conditional_individual to simplify trigger
1220+
'trigger_params': {'prob': 0.005}, # OK
1221+
'target_selector': {'type': 'conditional_individual', 'dim': 'y1_clarity', 'op': '<', 'val': 5.0,
1222+
'max_targets': 2},
12011223
'effects': [{'dim': 'y1_clarity', 'type': 'add_abs', 'val': 2.0, 'rand_range': 0.3},
1202-
{'dim': 'y3_aspiration', 'type': 'add_abs', 'val': 1.5, 'rand_range':0.2}],
1224+
{'dim': 'y3_aspiration', 'type': 'add_abs', 'val': 1.5, 'rand_range': 0.2}],
12031225
'one_time': True},
12041226

12051227
# --- 个体特殊机遇/危机 (原有事件的调整或保留) ---
1206-
{'name': "投资机会涌现", 'trigger_type': "none", # Triggered by chain
1207-
'trigger_params': {}, # OK
1208-
'target_selector': {'type': 'conditional_individual', 'dim':'h3_risk_appetite', 'op':'>', 'val':5.0, 'max_targets':3},
1228+
{'name': "投资机会涌现", 'trigger_type': "none", # Triggered by chain
1229+
'trigger_params': {}, # OK
1230+
'target_selector': {'type': 'conditional_individual', 'dim': 'h3_risk_appetite', 'op': '>', 'val': 5.0,
1231+
'max_targets': 3},
12091232
'effects': [{'dim': 'b1_resource', 'type': 'add_abs', 'val': 1.0, 'rand_range': 0.5},
12101233
{'dim': 'h1_possibilities', 'type': 'add_abs', 'val': 0.5, 'rand_range': 0.3}]},
12111234

1212-
{'name': "社会动荡加剧", 'trigger_type': "none", # Triggered by chain
1213-
'trigger_params': {}, # OK
1214-
'target_selector': {'type': 'conditional_individual', 'dim':'s1_trustworthiness', 'op':'<', 'val':4.0, 'max_targets':2},
1235+
{'name': "社会动荡加剧", 'trigger_type': "none", # Triggered by chain
1236+
'trigger_params': {}, # OK
1237+
'target_selector': {'type': 'conditional_individual', 'dim': 's1_trustworthiness', 'op': '<', 'val': 4.0,
1238+
'max_targets': 2},
12151239
'effects': [{'dim': 's2_reputation', 'type': 'add_abs', 'val': -1.0, 'rand_range': 0.3},
12161240
{'dim': 'b2_limitation', 'type': 'add_abs', 'val': 0.7, 'rand_range': 0.2}]},
12171241

12181242
{'name': "资源枯竭警告", 'trigger_type': "conditional_individual",
1219-
'trigger_params': {'dim': 'b1_resource', 'op': '<', 'val': 1.0}, # OK
1220-
'target_selector': {'type': 'conditional_individual', 'dim': 'b1_resource', 'op': '<', 'val': 1.0, 'max_targets': 3},
1243+
'trigger_params': {'dim': 'b1_resource', 'op': '<', 'val': 1.0}, # OK
1244+
'target_selector': {'type': 'conditional_individual', 'dim': 'b1_resource', 'op': '<', 'val': 1.0,
1245+
'max_targets': 3},
12211246
'effects': [{'dim': 'b2_limitation', 'type': 'add_abs', 'val': 0.5, 'rand_range': 0.2},
12221247
{'dim': 'y2_drive', 'type': 'add_abs', 'val': -0.3, 'rand_range': 0.1}],
12231248
'duration': 2, 'one_time': False},
12241249

12251250
{'name': "极端情绪爆发", 'trigger_type': "conditional_individual",
1226-
'trigger_params': {'dim': 'mood', 'op': '<', 'val': -0.85}, # OK (was fixed)
1251+
'trigger_params': {'dim': 'mood', 'op': '<', 'val': -0.85}, # OK (was fixed)
12271252
'target_selector': {'type': 'mood_based', 'op': '<', 'val': -0.8, 'max_targets': 2},
1228-
'effects': [{'dim': 'h3_risk_appetite', 'type': 'add_abs', 'val': random.choice([-1.0, 1.5]), 'rand_range':0.3},
1253+
'effects': [{'dim': 'h3_risk_appetite', 'type': 'add_abs', 'val': random.choice([-1.0, 1.5]), 'rand_range': 0.3},
12291254
{'dim': 'y2_drive', 'type': 'multiply_abs', 'val': random.choice([0.7, 1.3])}],
1230-
'one_time':True }]
1255+
'one_time': True}]
12311256

12321257
default_evolution_params_gm455_complete = {
12331258
'learning_rate': 0.05, 'noise_level': 0.015,

0 commit comments

Comments
 (0)