自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 用秩的定义求矩阵的秩

#include<iostream>#include<algorithm>  using namespace std;int Reverse(int a[],int N) //求几个数的τ {     int sum=0; for(int i1=1;i1<N;i1++) {     for(int i2=0;i2<i1;i2++) { if(a[...

2018-04-12 19:55:52 7657 3

原创 python 编写有道词典实时翻译

import urllib.requestimport urllib.parseimport jsonline = input('你想翻译啥:')url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&sessionFrom='data={}data['i'] = linedata['from...

2018-03-03 17:08:58 2386 2

转载 中国象棋软件-引擎实现(七)测试程序

之前我们已经讲了实现一个中国象棋软件的所有要素,本篇我们只是粗略地建一个工程再添加一点文件使得我们能看到程序的运行情况如何。在界面完成之前,我先建了一个Win32控制台项目(学生朋友们对这个最熟悉也最容易理解)。根据前面所讲的我们已经有了CChessDef.h CChessMove.h CChessSearch.h HistoryHeuristic.h SortMove.h CChessEvalu...

2018-02-20 19:21:09 1326

转载 中国象棋软件-引擎实现(六)局面评估

前面已经讲过了棋局表示、着法生成、搜索算法(包括搜索辅助), 在象棋程序中如果说搜索算法是心脏,那么局面评估就是大脑。搜索算法负责驱动整个程序,而局面评估则负责对搜索的内容进行判断评价。因而搜索与局面评估是整个程序的核心。首先,先介绍一下在局面评估中需要考虑的因素。就不同的棋类可能要考虑的因素略有差异。在中国象棋中所要考虑的最基本的几个因素包括如下四点:1、子力总和子力是指某一棋子本身所具有的价值...

2018-02-20 19:19:46 3266 1

转载 中国象棋软件-引擎实现(五)历史启发及着法排序

既然Alpha-Beta搜索算法是在“最大-最小”的基础上引入“树的裁剪”的思想以期提高效率,那么它的效率就取决于树的结构——如果搜索了没多久就发现可以“裁剪”了,那么需要分析的工作量将大大减少,效率自然也就大大提高;而如果直到分析了所有的可能性之后才能作出“裁剪”判断,那此时“裁剪”也已经失去它原有的价值(因为你已经分析了所有情况)。因而,要想保证Alpha-Beta搜索算法的效率就需要调整树的...

2018-02-20 19:18:05 1220

转载 中国象棋软件-引擎实现(四)搜索算法

对于棋类软件的搜索算法经前人的努力已形成了较为成熟的Alpha-Beta搜索算法以及其它一些辅助增强算法。所以小生在自己的程序中直接借鉴了Alpha-Beta搜索算法并辅以了历史启发。对此两者王小春的《PC 游戏编程(人机博弈)》和ElephantBoard的主页 http://www.elephantbase.net/上都有非常详细的介绍,所以这里我只简单介绍一下算法的主体思想:首先对于棋类游戏...

2018-02-20 19:17:03 1875 2

转载 中国象棋软件-引擎实现(三)着法生成

我们的程序需要让电脑能够在轮到它走子的时候执行一个它认为对它最有利的着法,那前提就是它要有诸多(也可能是唯一)可供选择的着法,提供所有可选着法的“清单”就是我们的着法生成器所要完成的。之后用搜索函数来搜索“清单”,并用局面评估函数来逐一打分,最后就可以选择“最佳”着法并实施了。在着法生成器中,我采用的基本思想就是遍历整个棋盘(一个接一个地看棋盘上的每个位置点),当发现有当前下棋方的棋子时就根据它是...

2018-02-20 19:14:10 1209

转载 中国象棋软件-引擎实现(二)棋局表示

对于棋盘的表示当前比较先进的思想是“位棋盘”。“位棋盘”用于国际象棋非常便捷,因为国际象棋的棋盘正好有64个格子,可以将一个棋盘的信息用一个64位的变量来表示。其基本思想就是用位上的值是1或0来表示棋子在棋盘相应位置上的存在与否,这样做的好处是可以通过位操作运算来加快局面评估和着法生成的速度。当用于中国象棋时需要进行拼凑以表示中国象棋棋盘的90个格子……由于考虑到本人目前水平精力均着实有限。当前应...

2018-02-20 19:10:18 1239

转载 中国象棋软件-引擎实现(一)概述

程序的基本框架:从程序的结构上讲,大体上可以将本程序划分为四大部分:棋局表示、 着法生成、 搜索算法、 局面评估程序的大概的思想是:首先使用一个数据结构来描述棋局信息,对某一特定的棋局信息由着法生成器生成当前下棋方所有合法的着法并依次存入着法队列。然后通过搜索算法来逐一读取着法并调用局面评估函数对该着法所产生的后继局面进行评估打分,从中选出一个最有可能导致走棋方取胜的着法。在搜索的过程中还可以采用...

2018-02-20 19:08:12 5035 1

原创 一个小白写的控制台的俄罗斯方块

我闲来无事,把俄罗斯方块也给写了,还是用Dev c++,控制台上的#include<iostream>#include <conio.h>#include<windows.h>#include<time.h> #include<stdlib.h>#include<stdio.h>struct point{ int x,y;};...

2018-02-19 21:46:16 541

原创 一个小白写的控制台的贪吃蛇

我已经一个学期没编程了,这日心血来潮,编了一个贪吃蛇,我的代码质量不高,不过应有的还是有的,下面我把代码贴出来给大家瞧瞧哦。#include<iostream>#include <conio.h>#include<windows.h>#include<time.h> #include<stdlib.h>#include<stdio....

2018-02-19 21:32:52 273

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除