博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算机博弈研究——六子棋
阅读量:4330 次
发布时间:2019-06-06

本文共 1876 字,大约阅读时间需要 6 分钟。

1
void
Connect6Form::ComTurn()
//
进行空位估值计算
2
 
{
3
 
for
(i
=
0
;i
<=
18
;i
++
)
//
计算玩家在空格子上的获胜分数
4
for
(j
=
0
;j
<=
18
;j
++
)
5
{
6
pgrades[i][j]
=
0
;
7
if
(board[i][j]
==
2
)
8
for
(k
=
0
;k
<
924
;k
++
)
9
if
(ptable[i][j][k])
10
{
11
switch
(win[
0
][k])
12
{
13
case
1
:
14
pgrades[i][j]
+=
5
;
15
break
;
16
case
2
:
17
pgrades[i][j]
+=
50
;
18
break
;
19
case
3
:
20
pgrades[i][j]
+=
100
;
21
break
;
22
case
4
:
23
pgrades[i][j]
+=
600
;
24
break
;
25
case
5
:
26
pgrades[i][j]
+=
800
;
27
break
;
28
}
29
}
30
}
31
for
(i
=
0
;i
<=
18
;i
++
)
//
计算计算机在空格子上的获胜分数
32
for
(j
=
0
;j
<=
18
;j
++
)
33
{
34
cgrades[i][j]
=
0
;
35
if
(board[i][j]
==
2
)
36
if
(ctable[i][j][k])
37
{
38
switch
(win[
1
][k])
39
{
40
case
1
:
41
cgrades[i][j]
+=
5
;
42
break
;
43
case
2
:
44
cgrades[i][j]
+=
50
;
45
break
;
46
case
3
:
47
cgrades[i][j]
+=
100
;
48
break
;
49
case
4
:
50
cgrades[i][j]
+=
200
;
51
break
;
52
case
5
:
53
cgrades[i][j]
+=
400
;
54
break
;
55
}
56
}
57
}
58
if
((computer
==
1
&&!
start)
||
computer
==
2
)
//
取出 cgrades 与 pgrades 数组
59
中的最高分数
60
{
61
for
(i
=
0
;i
<
19
;i
++
)
62
for
(j
=
0
;j
<
19
;j
++
)
63
if
(board[i][j]
==
2
)
64
{
65
if
(cgrades[i][j]
>=
cgrade)
66
{
67
cgrade
=
cgrades[i][j];
68
mat
=
i;
69
nat
=
j;
70
}
71
if
(pgrades[i][j]
>=
pgrade)
72
{
73
pgrade
=
pgrades[i][j];
74
mde
=
i;
75
}
76
}
77
if
(cgrade
>=
pgrade)
//
cgrade>=pgrade 计算机攻击玩家
78
{
79
m
=
mat;
//
落子在对计算机方有利的位置
80
n
=
nat;
81
}
82
else
//
计算机防守
83
{
84
m
=
mde;
//
落子在对玩家有利的位置,进行防御
85
n
=
nde;
86
}
87
}
88
}
 

空位估值算法

void ParticleFly()//粒子飞行寻优{ srand((unsigned)time(NULL));static int k=10;w=Wmax-k*(Wmax-Wmin)/Kmax; //惯性权重采用线性递减方法k++;for (int i=0;i
=Parr.FitBest){ Parr.FitBest=Parr.Fit;for (int j=0;j
Parr[GBIndex].FitBest&&i!=GBIndex){GBIndex=i;}}}

粒子群优化算法的寻优过程

转载于:https://www.cnblogs.com/jianjungki/archive/2011/04/30/2033287.html

你可能感兴趣的文章
PAT 甲级 1096 Consecutive Factors
查看>>
拓扑排序
查看>>
rtf格式 C#设置字间距 CharacterSpacing
查看>>
JS Date格式化为yyyy-MM-dd类字符串
查看>>
win10安装.net3.5 报错解决
查看>>
福大软工 · 最终作业 - 软件工程实践总结(个人)
查看>>
SSM整合XML版(Maven Project)
查看>>
时间序列分析六:截面数据和时序数据结合的多变量时序分析
查看>>
oracle配置备份
查看>>
手游后台PVP系统网络同步方案总结
查看>>
luogu1979 华容道 (dijkstra+bfs)
查看>>
ADO.NET基础必备之DataSet
查看>>
Valid Palindrome
查看>>
Python 多线程应用
查看>>
默认函数及运用
查看>>
加班与效率
查看>>
js题集8
查看>>
Rancher 1.6 版本 只能在 linux 下用
查看>>
cocos2d-x游戏开发系列教程-中国象棋06-游戏规则
查看>>
拉马努金,天才之超越
查看>>