matlab人检测设计GUI代码-DiamondKnife:MATLAB中的国际象棋引擎

时间:2024-06-17 03:49:09
【文件属性】:

文件名称:matlab人检测设计GUI代码-DiamondKnife:MATLAB中的国际象棋引擎

文件大小:159KB

文件格式:ZIP

更新时间:2024-06-17 03:49:09

系统开源

matlab人检测设计GUI代码钻石刀 MATLAB的象棋引擎。 这是一个功能齐全的国际象棋引擎。 DiamondKnife在免费的Internet Chess Server上获得1700的快速(15 | 10)评分。 算法: DiamondKnife使用树搜索设计。 它采用了“主变量搜索”算法,其中使用空窗口调用非PV节点。 启发式职位评估器计算材料,并为以下各项增加奖励:主教对; 在打开的文件上漫游; ling 高级典当; 控制中心; 简化在最终游戏中占优势; 和别的。 DiamondKnife使用迭代加深方法,在该方法中,随着深度的不断增加,将调用主例程。 通过换位表和杀手移动表可以提高效率。 杀手的动作放置在最后一次捕获之后,或排名第5,以先到者为准。 DiamondKnife还使用后期移动减少方案,其中顺序> = 8,深度> = 3(不捕获)的移动,并且在没有检查的情况下,可以用深度-2而不是深度-1来调用。 执行: 使用MATLAB的Coder功能将位置评估器和移动生成器移植到C。 这大大提高了效率。 每个节点都保留了游戏中和游戏树中所有先前访问的节点的历史记录,从而可以轻


【文件预览】:
DiamondKnife-master
----orchestrateMove.m(3KB)
----manageTranstable.m(8KB)
----enpCapture.m(854B)
----chessMain.m(512B)
----reorderMoves.m(2KB)
----gameOrganizer.m(688B)
----retrievePlayerIdentity.m(382B)
----generateMoves_mex.mexw64(148KB)
----isInCheck.m(424B)
----processMove.m(4KB)
----isRepeat.m(131B)
----populateTTentry.m(890B)
----postProcessRook.m(1KB)
----processHistory.m(264B)
----postProcessKing.m(998B)
----generateMovesWrapper.m(778B)
----humanMateCheck.m(924B)
----pullPV.m(2KB)
----moveByTwo.m(469B)
----squares2string.m(934B)
----keyGen.m(553B)
----iterativeDeep.m(874B)
----generateDummyArray.m(995B)
----RenderBoard.m(1022B)
----generateMoves.m(13KB)
----README.md(2KB)
----prepareFirstNode.m(2KB)
----diamondKnife_mex.mexw64(146KB)
----positionEvaluator.m(6KB)
----processCastle.m(3KB)

网友评论