博弈论中的简单合作博弈 C#实现
2010-09-30 21:00:00 来源:WEB开发网我的另一个舍友的策略是通过以往所有的合作记录来决定,如果合作次数大于不合作的,则合作,如果小于,则不合作,等于也不合作,代码如下:
1 public bool Gamble(string name)
2 {
3 int z = 0, c = 0;//z是合作次数,c是不合作次数
4 if (!Record.ContainsKey(name))
5 {
6 return true;
7 }
8 else
9 {
10 foreach (bool b in Record[name])
11 {
12 if (b) z++;
13 else
14 {
15 c++;
16 }
17 }
18 if (z == c)
19 {
20 return false;
21 }
22 if (z > c)
23 {
24 return true;
25 }
26 if (z < c)
27 {
28 return false;
29 }
30 }
31 return false;
32
33 }
更多精彩
赞助商链接