在当天回到13楼之后,我一直沉迷于写一个像这样的模拟器的学位。
我已经编写了几个具有男性和女性子类的人类基类的模拟。他们有一个名为runYear的例程,他们互动。他们约会,工作,死亡,生孩子,伤心,自杀,离婚等等。
它将运行数千年“并且取决于种子参数变得非常大或死亡。
我的问题是:我真的已经完成了我可以做的事情,我希望从头开始重写,但我希望有一个基础继续前进。是否有任何好的书籍或文章可以帮助我更好地理解我需要如何设计这个或者应该包括哪些关键基础?
技术问题:
任何其他想法/建议都会很棒。
埃里克
答案 0 :(得分:2)
关于这种模拟器的最复杂的事情不是如何实现它,而是你如何为你的生物建模,以及它们与彼此和环境的相互作用。
只需使用您最熟悉的工具即可。我不太可能在开始时使用任何类型的数据库,我会使用我的编程语言使用的数据结构,并且可能在需要持久性时将数据结构写入和读取到普通文件。
以下是关于此类模拟的几个链接。他们中的大多数都不是人类水平,相反,他们的工作有点“较低”,想到昆虫,细菌和DNA。
关于现有系统的几个例子:
答案 1 :(得分:1)
答案 2 :(得分:1)
首先,您需要从创建World类开始。你的世界级将包含一个世界可以做的一切。你会想要引入重力,空气,地面,墙壁等等。你可能想要开始给天空一个极限,因为你不希望别人离开你的世界并在记忆中做自己的事情某处。
完成World设置后,创建一个Abstract Human类。这门课将具备基本的人类能力。你可以指定身高,体重,年龄等等......
从那里,你继承了Human类,并创建了Woman和Man类,每个类都有自己的专用属性。女子课可以有BreastSize,CookingSkill,SexualPrownessLevel等等...... Man课程主要用于跟踪谁是秃头。
从那里,你可以更进一步,分为亚洲,印度等民族。每个民族都有自己的特点。
一旦你完成所有这些,你就可以开始研究有趣的东西了。你可以制造物品来破坏他们的生活,例如疾病,宗教,金钱,犯罪,贫穷,饥饿,洪水,龙卷风等。
答案 3 :(得分:1)
我认为第一步是首先能够以描述性方式描述您的问题。
我喜欢将其视为System-of-Systems
问题。为此,请查看SysML。这样,您可以从较高级别开始,然后随着系统的发展添加越来越多的保真度。
答案 4 :(得分:0)
你应该看看discrete event simulation框架(最后是列表的链接)。我只知道SimPy用于Python,但还有其他的,开源和商业。基本框架也很简单,所以应该很容易“编程练习”。