- 玩家vs人机
- 玩家vs玩家
可以选择白棋或黑棋,先下或后下,与机器人进行五子棋练习
电脑只搜索当前最佳一点,速度快
电脑搜索4步之后的最佳子,但是速度慢,尤其手机速度感人
-
利用了博弈树的极大极小值的思想,分数越高,电脑越有利,玩家越不利
即电脑从所有低分结果中选出最高分,玩家假设聪明到能从所有高分结果中选出最低分
-
由于博弈树的分支会越来越大,呈指数型增长,所以采用AlphaBeta剪枝算法
即假设min层中,已得最大值为a,则之后遍历的兄弟节点中的子节点一旦出现小于a的值,该兄弟节点就会被裁剪掉
因为兄弟节点会选择子节点中最小的值作为自己的值,而兄弟节点的上一层需要最大的值,所以该兄弟节点已无用
-
虽然有了剪枝,但是速度依旧不快,而且AlphaBeta剪枝依赖遍历所得的最优解,但是从头开始遍历的要很久才会找到最优解,所以我们需要先找到一个最优解,然后再对其兄弟节点计算,这样会剪枝掉更多的节点,这就是所谓的启发式搜索
-
关于棋盘评分函数,也就是是各个点的得分总和,每个点的评分函数则是关键,有模式匹配的,有赢法加权的
- 查看玩家
- 邀请玩家
- 修改昵称
- 悔棋功能
- 认输功能
- 标记新棋
- 智能提醒
vue2+vue-router2+iview+socket.io+webpack+nodejs+express+typescript
cnpm install
//debug
npm run dev
//product
npm run build