先解決老師留的幾個問題再說吧,23333 XD.
Giraffe 是一個將 Deep Reinforcement Learning 和 Neural Network 结合到一起的Chess AI 程式。
作者 Matthew Lai 是一個了不起的人,目前就職於 Google Deepmind.

隨著AlphaGo席捲全球,隨著Deep learning在這幾年越炒越熱,幾乎同一時間所有其他game AI都在尋求新的突破辦法或者是嘗試。

但是有些許不同的是AlphaGo由於狀態空間太大幾乎無法用傳統的heuristic function來搜尋,前些年甚至連9*9的棋盤也很難有突破,不得不說,MCTS的出現以及CNN的崛起,造就了AlphaGo的成功,另外一個不得不提的就是,AlphaGo團隊的每一位都是在這個領域研究了幾年甚至十幾年,他們應該獲得足夠的尊重,老實說,現在終於明白,其實如果僅僅讀一個碩士的話,,基本上在學術上不會有太大的建樹,但是如果要繼續讀博的話,時間,經歷,以及是否真的願意投身科研,都是需要考慮的問題,在這個浮躁而又金錢至上的社會,沉下心來搞學術的人真的不多了。

Investigate features (363) related to bitboard (or map), rules?

作者在bitbucket上最新的Version,總共有368個features.
大致來看確實僅僅包括一些簡單的Rule.

  • number of each piece
  • static exchange evaluation material tables
  • check or not
  • side to move
  • king's position
  • castle right
  • White/Black pawn's position & threat \[[5*2*8]\]
  • White/Black queen's position & threat \[[(5+9)*2]\]
  • White/Black rook's position & threat & castle \[[((5+5+1)*2)*2]\]
  • White/Black bishop's position & threat \[[((5+1)*2)*2]\]
  • White/Black knight's position & threat
  • Attack Map \([64*2]\)

Search nodebudget (256? Quiescence search? Probabilistic Search?), epoch moves (64? or 12?)

  • 在進行TDLeaf(lambda)的training的時候,最多會走64個move, 也就是TDLeaf的\(D=64\)。
    另外search時候的限制的節點數SearchNodeBudget確實是\(256\),新版的code是\(512\)

  • 在實際search中,使用的是Iterative Deepning,步長擴大倍數SearchNodeBudget為\(4\)

  • Quiescence search? 答案是有用到Q-Search

    //NumIterations = 1000000000;//TDLambda = 0.5f//PositionsPerIteration = 1000000;//HalfMovesToMake = 64;  (12)//SearchNodeBudget = 512; (256)// PositionsFirstIteration = 100000;//const static int64_t SearchNodeBudget = 512;//const static float NodeBudgetMultiplier = 4.0f;

Verify whether it does run Probabilistic Search?

我的理解是訓練的時候沒有Probabilistic Search,或者是可用也可不用?
因為如果沒有訓練好的net的話,使用的是static evaluation。

转载于:https://www.cnblogs.com/BigBallon/p/6533831.html

Something about Giraffe (II)相关推荐

  1. 剑指offer:面试题32 - II. 从上到下打印二叉树 II

    题目:从上到下打印二叉树 II 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行. 例如: 给定二叉树: [3,9,20,null,null,15,7], 3    / \ ...

  2. 剑指offer:面试题14- II. 剪绳子 II

    题目:剪绳子 II 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m.n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m] .请问 k[0]* ...

  3. 递归/回溯:Combination Sum II数组之和

    问题如下: 已知一组数(其中有重复元素),求这组数可以组成的所有子集中,子 集中的各个元素和为整数target的子集,结果中无重复的子集. 例如: nums[] = [10, 1, 2, 7, 6, ...

  4. 递归/回溯:Subsets II求子集(有重复元素)

    上一篇描述了针对数组中没有重复元素进行子集的求取过程递归/回溯:subsets求子集 但是当出现如下数组时: 例如: nums[] = [2, 1, 2, 2] 结果为: [[], [1], [1,2 ...

  5. HDU 2080 夹角有多大II

    夹角有多大II Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  6. 了解ES6 The Dope Way Part II:Arrow功能和'this'关键字

    by Mariya Diminsky 通过玛丽亚·迪明斯基(Mariya Diminsky) 了解ES6 The Dope Way Part II:Arrow功能和'this'关键字 (Learn E ...

  7. Leetcode 213.大家劫舍II

    打家劫舍II 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相互连通的防盗系统,如果两 ...

  8. 用Quartus II Timequest Timing Analyzer进行时序分析 :实例讲解 (一)

    一,概述 用Altera的话来讲,timequest timing analyzer是一个功能强大的,ASIC-style的时序分析工具.采用工业标准--SDC(synopsys design con ...

  9. 数据结构与算法:04 C#面向对象设计 II

    04 C#面向对象设计 II 知识结构: 5.属性 例1:属性概念的引入(问题) public class Animal {public int Age;public double Weight;pu ...

最新文章

  1. Windows图标:有一些你未必知道的东西
  2. Python自动化开发学习2
  3. 蓝桥杯:入门训练 序列求和
  4. 【剑指offer-Java版】27二叉搜索树与双向链表
  5. Microsoft Visual Studio Learning Pack 2.0
  6. luogu P2679——子串
  7. 经验分享:布线测试关键步骤有哪些 ?
  8. gns3中两个路由器分别连接主机然后分析ip数据转发报文arp协议_关于TCP/IP,必知必会的十个问题!...
  9. 深度学习-Tensorflow2.2-深度学习基础和tf.keras{1}-优化函数,学习速率,反向传播,网络优化与超参数选择,Dropout 抑制过拟合概述-07
  10. mysql循环load data_TP5框架下MySQL通过LOAD DATA INFILE批量导入数据详细操作
  11. ftp文档服务器设置,ftp服务器基本设置
  12. 整理一个双向链表list.h
  13. FastDfs工作笔记001---Centos下安装FastDfs进行文件存储
  14. 【知识索引】【李宏毅机器学习】
  15. 新能源电动汽车的充电
  16. 开发谷歌浏览器翻译插件
  17. bootmgr快速修复win7_「科普」UEFI+GPT、Legacy+MBR引导模式介绍 引导修复
  18. 仿淘宝商品详情页[带有视频和图片的轮播功能]
  19. dnf剑魂buff等级上限_DNF:护石2.0副本将至!新增“金币燃烧机”,30W点一下
  20. 【UEFI】---关于BIOS,EIST和PStateCState和CPU主频变化得关系

热门文章

  1. windows上的python能否在unix上使用_怎么用python在Windows系统下,生成UNIX格式文件
  2. java多线程编程_阿里P8熬到秃头肝出来的:Java多线程+并发编程核心笔记
  3. openlayers地图旋转_地图切换动画#openlayers入门笔记#
  4. python与sqlite3_sqlite3与python2.5,pysqlite和apsw有什么区别
  5. 用matlab解一维单势垒波函数,一维多势垒结构准束缚态的MATLAB分析计算
  6. python举两种字符串引号的例子_python里的单引号和双引号的有什么作用
  7. app http routes.php,Laravel:我的应用程序没有被路由(Laravel : My app doesn't get routed)
  8. go语言mysql操作_使用Go语言操作MySQL数据库的思路与步骤
  9. pat 乙级 1021 个位数统计(C++)
  10. 什么是工业光纤收发器,工业收发器的作用是什么?