Giter VIP home page Giter VIP logo

gofive's Introduction

GoFive

下个版本:

多线程优化
后台思考
UI支持20*20棋盘

v 0.7.0.0

实现dbsearch,大幅提升算杀效率,降低准确性
实现pnsearch(效果不好,未使用)
优化alphabeta剪枝算法,提升效率
优化底层算法,大幅提升效率
重新实现置换表,大幅提升查表效率,加强内存控制
优化局面评估模型,提升棋力
动态延伸,缓解水平线效应
增加stop功能
调整级别设置
优化代码,修复bugs

v 0.6.1.0

支持20*20棋盘
多线程优化(由于gomocup规则,暂不启用)
添加内存控制
添加时间分配算法
优化置换表内存占用
改进剪枝算法
完善棋型识别
优化悔棋、换方逻辑
添加局面棋型显示模式
支持长连不胜(standard)规则
兼容读取psq格式的棋局
优化调试信息输出方式(回调)

v 0.6.0.0

[重要]新增宗师级别AI
去除大师级别AI的一些严重影响效率的策略
优化提示功能的处理逻辑
更多AI参数设置
新的调试信息输出系统
优化UI的一些展现细节
添加gomocup支持
添加64位程序支持

v 0.5.9.0

重新实现AI底层算法,大幅提升效率
去除长尾优化

v 0.5.3.0

调整策略,修复BUG

v 0.5.2.0

修复一系列新剪枝算法的BUG
增加搜索范围,增强棋力
优化剪枝条件,减少计算节点数
优化长尾算法,能动态更新alphabeta值
现在内存占用取决于置换表中的数据,可能会超过100M,博弈树建立过程不再消耗额外内存

v 0.5.1.0

重构代码
扩大搜索范围,提升AI棋力
优化棋型匹配算法
优化置换表,全局锁拆分为层锁
添加AI计算计时功能
优化剪枝算法,实现alphabeta剪枝
彻底解决由于搜索博弈树过于庞大导致的内存占用超过100M的问题
优化搜索长尾处理,识别到长尾场景后智能增加并发
根据CPU线程数智能调整搜索深度
[重要]修复剪枝过程中无法识别禁手的BUG,现在AI会充分利用禁手取胜了

v 0.5.0.1

添加大师AI,将新算法归入此等级
进攻算法找到杀着后会保留搜索记录,加速其后的落子
修复一些新算法的BUG
优化内存占用

v 0.5.0.0

重构代码,并减少冗余计算
[重要]添加进攻搜索算法,大幅加强AI进攻性,略微降低效率
修复剪枝可能多剪掉的一些分支,增强AI综合棋力,大幅降低效率
[重要]添加置换表,并借鉴alphabeta优化剪枝算法,大幅提升效率
此版本AI平均步长较上一版本降低80%
进攻算法中,同样的结果,步数越多优先级越低

v 0.4.9.1

减少多线程调度优化后的内存占用
修复一些剪枝BUG,改善了AI的进攻性,避免了重复节点

v 0.4.9.0

重构代码,改善代码结构和运行效率,分离UI和AI,AI部分基于标准C++11,不再依赖WIN32
[重要]实现基于字典树的棋型匹配算法,完善棋型模型,棋型识别更为全面准确,效率大幅提升
优化多线程调度,大幅提升并发效率,大幅提升线程利用率,大幅减少竞争消耗
AI学会利用禁手获胜
恢复AI提示功能,优化提示功能展现逻辑
优化AI等级策略,使等级划分更为合理,降低初级AI难度,初级AI默认无禁手
修复高DPI下的提示字体显示过大的问题,修复落子时概率闪白屏的问题
修复一个BUG,导致进攻策略生效时会忽略最优解
修复一个BUG,随机化算法导致,当有未搜索过的解和最优解相等时,会概率选取未搜索过的解

v 0.4.4.3

修复进攻搜索时的一个BUG,导致已有杀着时不该冲四却冲四
添加逻辑防止AI后手开局被布局(AI后手时开局优先防御)

v 0.4.4.2

修复棋型判定不完整的BUG,如oo?ooo在禁手条件下应等同于xooo而非oo?oo或o?ooo(2015.4.19)
优化进攻策略,放宽进攻选择条件(2015.4.18)
修复一些历史遗留问题(修改了一些判定条件)(2015.4.18)
(感谢陈旋同学的倾力相助)

v 0.4.4.1

修复进攻时活三误判为死四的BUG(2015.4.18)
修复进攻时顺水推舟的行为(进攻后把自己送上死路)(2015.4.18)
(感谢陈旋同学的倾力相助)

v 0.4.4.0

优化数据结构,减少内存占用(2015.4.16)
修复一个BUG,导致进攻策略无法在玩家威胁高(10000)的情况下生效(2015.4.17)

v 0.4.3.1

死四策略进一步优化(2015.4.15)
大幅调整高级AI策略(2015.4.12)
添加“显示步数”功能(2015.4.11)
存档标准化(不再兼容此版本之前的存档,但此版本以后的存档可兼容至高版本)(2015.4.11)

v 0.4.3.0

暂时禁用“提示”功能(2015.4.10)
死四策略优化(平时不走,留作绝杀)(简单优化,还有后续)(2015.4.10)
修复一个bug,导致进攻AI可能会不顾失败的局面(2015.4.10)

v 0.4.2.0

加强AI进攻性(防守变差)(2015.4.2)
进一步优化内存占用(优化数据类型)(2015.4.1)
开局默认禁手开、高级AI(2015.4.1)
必输局面跟随玩家的落子去堵(防止提示玩家)(2015.4.1)
进攻得分权重和防守得分权重分离(解决全局威胁权值过大的问题)(2015.2.28)
修复禁手判定的一个BUG(禁手同时形成5连,禁手依然有效)(2015.2.28)

v 0.4.1.0

加入多线程支持,界面线程与后台运算线程分离
禁手系统全局可控化
多线程优化高级AI计算
修复玩家后手AI会走禁手的BUG
修复活三判定(假活三不在内)?ooo? -> ?ooo?? (能形成活四的才是活三)
高级AI添加随机性

v 0.4.0.0

添加高级AI(算四步,防御性)
添加人人对战模式
优化数据结构,生成博弈树的时候占用内存大幅减小(对于高级AI)
优化棋型的判定算法
加入禁手系统(仅高级AI)

v 0.3.2.0

重新设计数据结构,重写算法
为高级AI做准备
代码结构优化,更加面向对象

v 0.3.1.0

添加伪高级AI(中级AI多算了1步)
重写算法(kmp),效率大幅提高
修复一些AI bug
修改换方功能,使得对局中随时可以换方而不用重新开局
添加棋局保存读取功能
添加AI提示功能

v 0.3.0.0

重构部分代码,添加中级AI(考虑全局)

v 0.2.9.0

按照面向对象的**重构了代码,使扩展更容易(为更新AI做准备)

v 0.2.0.0

增加换方功能
修正棋型检测代码
增加33,34,44检测机制
修正权重值

v 0.1.0.1

修复左上方向检测五连的错误

gofive's People

Contributors

huangxin666 avatar huangxinjb avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.