首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模拟人生人格多样性的计算

模拟人生人格多样性的计算
EN

Stack Overflow用户
提问于 2021-03-12 16:34:20
回答 1查看 63关注 0票数 2

假设我们在玩“模拟人生”。我们必须从10个独特的性状(A- J)中挑选出5个特征,这5个特征构成了sim的个性。我们如何计算一个代表多个sims之间多样性水平的数字?理想情况下,这个数字从0到1不等,0代表无多样性,1代表高度多样性。

为了清楚起见,让我们想象一下下面的场景以及由此产生的多样性指数是什么。

场景一:

  • Sim 1具有A、B、C、D、E
  • Sim 2性状A、B、C、D、E

多样性指数=0

场景二:

  • Sim 1具有A、B、C、D、E
  • Sim 2性状F、G、H、I、J

多样性指数=1

场景三:

  • Sim 1具有A、B、C、D、E
  • Sim 2性状A、B、C、D、E
  • Sim 3性状F、G、H、I、J
  • Sim 4性状F、G、H、I、J

F 227

多样性指数= .5 (?)

我们如何利用上述信息来计算多样性指数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-12 17:01:54

您可以轻松地定义Sims之间的距离(0到1之间),然后计算Sims集合中的平均距离。

在您的示例中,它将给出2/3的多样性(每个Sim位于另一个Sim的距离,另两个Sims中的一个)。

关于两个Sims之间的距离:计算不同性状的数量,除以对每个Sim影响的性状数。

关于集合{S1, S2, ..., Sn}的多样性,只需计算

代码语言:javascript
复制
diversity = 2/n(n-1) sum{i = 1 to n} sum{j = i+1 to n} distance (Si, Sj)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66603728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档