‘壹’ 有什么介绍制作棋类游戏AI的书籍值得推荐
棋类游戏AI的范围还是挺广的,这里推荐一本讲解象棋和五子棋游戏的书籍《PC游戏编程》,这是王小春着作的一本书,里面讲的基本上是中国象棋人机博弈和五子棋人机博弈方面的内容,里面的算法结构相当经典,你可以仔细研究研究。
‘贰’ 在编程和算法领域,有哪些经典问题
转自知乎 作者:Clyde
排序
排序算法:http://ke..com/view/297739.htm
冒泡排序法:http://ke..com/view/1313793.htm
起泡法:http://ke..com/view/174304.htm
鸡尾酒排序:http://ke..com/view/1981861.htm
桶排序:http://ke..com/view/1784217.htm
计数排序:http://ke..com/view/1209480.htm
归并排序:http://ke..com/view/90797.htm
排序二叉树:http://ke..com/view/922220.html
鸽巢排序:http://ke..com/view/2020276.htm
基数排序:http://ke..com/view/1170573.htm
选择排序法:http://ke..com/view/1575807.htm
希尔排序:http://ke..com/view/178698.htm
堆排序:http://ke..com/view/157305.htm
快速排序算法:http://ke..com/view/19016.htm
插入排序法:http://ke..com/view/1443814.htm
树形选择排序:http://ke..com/view/3108940.html
========================================================
搜索
深度优先搜索:http://ke..com/view/288277.htm
宽度优先搜索:http://ke..com/view/825760.htm
启发式搜索:http://ke..com/view/1237243.htm
蚁群算法:http://ke..com/view/539346.htm
遗传算法:http://ke..com/view/45853.htm
========================================================
计算几何
凸包:http://ke..com/view/707209.html
========================================================
图论
哈夫曼编码:http://ke..com/view/95311.htm
二叉树遍历:http://ke..com/view/549587.html
最短路径:http://ke..com/view/349189.htm
Dijkstra算法:http://ke..com/view/7839.htm
A*算法:http://ke..com/view/7850.htm
SPFA算法:http://ke..com/view/682464.html
Bellman-Ford算法:http://ke..com/view/1481053.htm
floyd-warshall算法:http://ke..com/view/2749461.htm
Dijkstra算法:http://ke..com/view/7839.htm
最小生成树:http://ke..com/view/288214.htm
Prim算法:http://ke..com/view/671819.html
网络流:http://ke..com/view/165435.html
========================================================
动态规划
动态规划:http://ke..com/view/28146.htm
哈密顿图:http://ke..com/view/143350.html
递推:http://ke..com/view/3783120.htm
========================================================
动态规划优化
优先队列:http://ke..com/view/1267829.htm
单调队列:http://ke..com/view/3771451.htm
四边形不等式:http://ke..com/view/1985058.htm
========================================================
其他
随机化算法:http://ke..com/view/1071553.htm
递归:http://ke..com/view/96473.htm
穷举搜索法:http://ke..com/view/1189634.htm
贪心算法:http://ke..com/view/112297.htm
分治法:http://ke..com/view/1583824.htm
迭代法:http://ke..com/view/649495.htm
加密算法:http://ke..com/view/155969.htm
回溯法:http://ke..com/view/45.htm
弦截法:http://ke..com/view/768310.htm
迭代法:http://ke..com/view/649495.htm
背包问题:http://ke..com/view/841810.htm
http://ke..com/view/1731915.htm
八皇后问题:http://ke..com/view/698719.htm
百鸡问题:http://ke..com/view/367996.htm
二分法:http://ke..com/view/75441.htm
kmp算法:http://ke..com/view/659777.html
遗传算法:http://ke..com/view/45853.htm
矩阵乘法:http://www.douban.com/group/topic/12416781/edit
Floyd算法:http://ke..com/view/14495.html
路由算法:http://ke..com/view/2276401.html
ICP算法:http://ke..com/view/1954001.html
约瑟夫环:http://ke..com/view/717633.htm
约瑟夫问题:http://ke..com/view/213217.htm
AVL树:http://ke..com/view/414610.htm
红黑树:http://ke..com/view/133754.htm
退火算法:http://ke..com/view/335371.htm#sub335371
并查集:http://ke..com/view/521705.htm
线段树:http://ke..com/view/670683.htm
左偏树:http://ke..com/view/2918906.htm
Treap:http://ke..com/view/956602.htm
Trie树:http://ke..com/view/1436495.html
RMQ:http://ke..com/view/1536346.htm
LCA :http://ke..com/view/409050.htm
矩阵乘法:http://ke..com/view/2455255.htm
高斯消元:http://ke..com/view/33268.html
银行家算法:http://ke..com/view/93075.htm
‘叁’ 八皇后问题的遗传算法解法,c语言编写
#include <stdlib.h>
#include<math.h>
#include<conio.h>
#include<stdio.h>
int N=0;
int a[10][10];
int yp=1;
FILE * fp;
void main()
{
int *pa;
int m,n,f,aa;
int check(),reback();
int prt();
clrscr();
fp=fopen("data.dat","w");
printf("please input the number of queens(4--10):");
scanf("%d",&N);
for(m=0;m<N;m++)
for(n=0;n<N;n++)
a[m][n]=0;
m=0;n=0;aa=0;
do{for(n=0;n<N;n++)
{
f=check(m,n);
if(m==N-1 && f==1){a[m][n]=1; prt();f=0;a[m][n]=0;}
if(f==1){ a[m][n]=1; break;}
if(n==N-1&&f==0)
{
do{
m--;
n=reback(m);
if(m==0 && n==N-1 && aa==1) break;
}while(n>=N-1);
}
}
aa=1;
m++;
if(m>=N)m=0;
}while(m<N &&n<N);
printf("\n\n********IT'S OVER!!********");
fprintf(fp,"\n\n**********IT'S OVER!!*******");
close(fp);
getch();
}
int check(int x1,int y1)
{int a1,b1;
for(a1=0;a1<x1;a1++){
for(b1=0;b1<N;b1++){
if(a[a1][b1]==1){
if(a1==x1||b1==y1) return(0);
if((a1-b1)==(x1-y1)) return(0);
if((a1+b1)==(x1+y1))return(0);
}
}
}
return(1);
}
int reback(int w)
{
int x;
for(x=0;x<N;x++)
if(a[w][x]==1)
{
a[w][x]=0;
return(x);
}
}
int prt()
{int t,y;
clrscr();
printf("\n************ %d **************\n\n",yp);
fprintf(fp,"\n************ %d **************\n\n",yp);
yp++;
for(t=0;t<N;t++){
for(y=0;y<N;y++){
printf("%3d",a[t][y]);
fprintf(fp,"%3d",a[t][y]);
}
printf("\n");
fprintf(fp,"\n");
}
getch();
return(0);
}
‘肆’ 八皇后问题理论
其实你不用做八皇后的解释,完全可以解释遗传算法。就这样,我有资料。需要空间留言。
‘伍’ 用C语言编写三个算法,BFS或DFS,爬山算法,遗传算法实现八皇后问题
网络算法名,加上八皇后
比如
BFS 八皇后问题 C语言。
或者
遗传算法 八皇后问题 C语言
然后根据搜索结果 就可以得到算法和代码了。