我试图找出如何创建一个蒙特卡洛模拟的游戏在R。
在这个游戏中,你有两个玩家,P1和P2。在每一轮中,一个玩家可以采取行动。P1采取行动的时间为60%。P2采取行动的时间为40%。
游戏中有3个动作:A、B和C。A得3分。P1执行A的可能性为20%,P2执行A的可能性为40%。B得1分。P1执行B的可能性为30%,P2执行B的可能性为50%。C得1分。P1执行C的可能性为50%,P2执行C的可能性为10%。
当一个玩家达到10分时游戏结束。
我想在1000场游戏结束时看到:
- P1和P2的获胜计数
1.所有游戏中动作A、B和C的计数
我已经能够编写代码来计算获胜的数量和所采取的行动的计数,如果: - P1和P2采取行动的可能性相等(即50%)
1.每个动作奖励相同的点数
1.每一个动作都有相同的可能性(即,任何一个玩家的任何动作都有33%的可能性)
1条答案
按热度按时间rkue9o1l1#
像这样?
创建于2023年3月5日,使用reprex v2.0.2
注解
在问题末尾定义了参数的游戏可以用
Players <- list(player = c("P1", "P2"), prob = c(0.5, 0.5))
Points <- c(A = 1, B = 1, C = 1)
Probs <- list(P1 = rep(1, 3)/3, P2 = rep(1, 3)/3)