标题: 经过测试发现,兵役人口跟城市人口数量好象没有联系, 前几天玩新野剧本太郁闷了,所以做了个测试
性别:男-离线 快哉风
(由拳县令)

Rank: 7Rank: 7Rank: 7Rank: 7
组别 校尉
级别 左将军
好贴 1
功绩 48
帖子 1333
编号 4988
注册 2004-2-4
来自 谭仙岭上有石城


希望对大家有用,偶也是转的

1、人口变动模型
只有都市才具有人口属性,因此人口的变动仅针对都市而言。人口的变动主要包括非兵役人口增量和增加兵役两个方面。基本的变化规律及影响因素不难知道,大体上民心越高则越有利,士兵越多则兵役人口增长越缓慢。然而准确的公式我还没有见到有人给出过。
程序在计算每个城市的人口变动时,首先计算出总非兵役人口增量、总增加兵役人口及总民心等几个中间参数,然后再分配到各个都市,这几个中间参数的计算如下:
总非兵役人口增量=总非兵役人口/20
总增加兵役=max(总非兵役人口-总兵力+99999,0)/100000×总非兵役人口/100/10
总民心=所有都市民心之和
总非兵役人口=所有都市非兵役人口之和
总兵力=所有都市兵役人口之和+所有士兵+所有伤兵

假定初始时每个都市民心为100,人口为30000,并且假定10年内所有都市只搞内政,不征兵则10年内总人口及总兵役人口的变化如下:
  
有了以上中间参数,则每个都市的人口变动计算如下:
非兵役人口增量=max(民心×总非兵役人口增量/总民心-非兵役人口/20,30000-非兵役人口)
增加兵役=民心×总增加兵役/总民心

如果非兵役人口增量为负,则人口流失,都市非兵役人口减少,反之则增加。由于总增加兵役不可能为负,因此增加兵役不可能为负。
关于人口计算模型的几点评注:
l        考察都市非兵役人口增量,如果忽略max函数的后一项,则容易得到人口流失的条件是非兵役人口/总非兵役人口>民心/总民心,即当一个城市的人口所占比例太大时,就会流失。因此,即便是民心1000,也有可能出现人口流失。假定所有都市民心一样,那么人口流动的最终结果将是所有都市非兵役人口都一样;
l        考察都市的增加兵役,由于总增加兵役可能会是一个很大的数,又因为32bit数的限制,因此实际上前面两项的乘积可能已经溢出了,这意味着总增加兵役越多,都市的增加兵役未必就越多。假定所有都市民心为1000,那么不溢出的条件是总增加兵役不超过430万左右;
l        总非兵役人口的增长率是固定数字,即5%。虽然程序中并未对总非兵役人口作限制,但由于每个都市非兵役人口最多为100万,因此总非兵役人口最多为5000万。还有一个隐性限制来自于32bit数;
l        总增加兵役由总非兵役人口和总兵力共同决定。当总非兵役人口很大而总兵力很少时,总增加兵役可能很大,极限情况下,总增加兵役=(总非兵役人口/10000)2;而当总兵力超过总非兵役人口时,总增加兵役为0。


顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2025-8-1 17:41
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.008246 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP