银行 社区服务 每日签到 会员排行 网站地图
  • 3568阅读
  • 45回复

皮卡鱼2024-05-31源码编译

楼层直达
级别: 二级士官
[棋中红钻1级]发帖数量≥10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
33
金币
86
威望
0
贡献值
0
乐币
0
主题
1
只看该作者 40楼 发表于: 2024-06-07
回 37楼(六维演易) 的帖子
没有人提PR,主要原因是象棋圈真正懂引擎代码的不多,大部分稍懂一些的只不过是像你一样,只懂得Ctrl+C Ctrl+V罢了,大部分引擎代码都看不懂!还有就是缺乏类似Stockfish Fishtest这样的算力!Stockfish Fishtest昨天核心数巅峰的时候达到了114609核,请问象棋圈何人能及?Stockfish有来自全世界的开发者,又有雄厚的算力,这如何相比?

皮卡鱼作者本身也在尝试一些改进,比如说前几天提交了一个预计算将帅位置的commit,将将帅的位置提前存下来了,免去重复计算,本人亲测有少量速度提升!

btw,如果楼主不服,认为自己有实力,能改出比现有引擎更强的引擎,那大可给皮卡鱼提几个PR,看看能不能通过!
级别: 上等兵
[棋中红钻1级]发帖数量≥10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
10
金币
41
威望
0
贡献值
0
乐币
0
主题
0
只看该作者 41楼 发表于: 2024-06-07
回 40楼(反对六维) 的帖子
      既然你亲测了,那应该有数据吧?数据显示少量吗?Elo + 3,+ 5? 时间是stc还是ltc? 用的是什么开局书?总共测了几盘?
      还有,除了有关中象特有部分,其他只能在Stockfish拉取请求合并,合并了Pikafish也立马合并,鄙人虽不才,但是运气特別好,瞎貓碰死耗子合并过好几次呢!
       还有,关于提交,你最好交代Commits hash序列号前7位或相关链接,要不你自己作个说明,修改哪几个文件中的哪几处代码。
      
级别: 二级士官
[棋中红钻1级]发帖数量≥10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
33
金币
86
威望
0
贡献值
0
乐币
0
主题
1
只看该作者 42楼 发表于: 2024-06-07
回 41楼(专打无赖) 的帖子
拿bench测几十次,取个平均值就知道了,这种纯加速根本不需要对打测试。至于是哪个commit提速的,如果你真正懂代码的话,结合我刚刚提到的信息,亲自去翻一翻,很快就知道了!反正是最近的commit,没有必要说得这么详细吧?

你提到你自己提交的PR在Stockfish合并过好几次,那就应该放出链接来看看,眼见为实!我没有在GitHub上找到你提的PR!我不相信没有证据的陈述!
级别: 上等兵
[棋中红钻1级]发帖数量≥10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
10
金币
41
威望
0
贡献值
0
乐币
0
主题
0
只看该作者 43楼 发表于: 2024-06-07
回 42楼(反对六维) 的帖子
哦,      ,你是bench几十次就够了,那六维演易,真的太傻了!花那么多時间測試,还要被你如此攻击!我也学到了,那真的又快又不挨骂!在这论坛,你的方法好使,但在別的地方恐怕行不通啊!
      放出链接来让你bench? 凭什么?为什么要让你相信呢?你不信才好!让你都信了,我会伤心😢
级别: 上等兵
[棋中红钻1级]发帖数量≥10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
10
金币
26
威望
0
贡献值
0
乐币
0
主题
0
只看该作者 44楼 发表于: 2024-06-07
回 43楼(专打无赖) 的帖子
纯提速的更新,当然可以用bench来测速,就类似于不同机器同引擎之间可以通过NPS来判断强弱。对打测试可以测出特定条件下提升多少Elo,但单看有没有提速,对打测试完全是浪费时间,这样确实如你所说,太傻!bench下来,搜索的节点数是完全一样的,只是搜索的速度不同罢了!

当然,我的意思不是所有更新都可以用bench测速对比强弱,这仅限于Non-functional change!如果是功能性更新(functional change),连bench测出来的节点数改变了,就没有办法用此招测试强弱了,测出来也不准确!

你提的PR呢?为什么不敢放出来让大伙瞧瞧?这是不是心虚的表现?事实胜于雄辩!

这个“专打无赖”大概率是六维演易的马甲。希望站长在阅读2、3页内容后,能严惩这种人!

再把前面的内容复制一遍,坛友们可自行判断我说的话是否合理,同时略作修改:

没想到这位“大佬”这么快就破防了,为何不继续狡辩了?本来我是不想发言的,但是这位“大佬”屡次误导新手,甚至诋毁皮卡鱼团队,我觉得我有必要来说一说了。

PS:本人只是一个普通的象棋爱好者,只是对六维演易的这种行为感到恶心,才来这里反驳的!

话不多说,先指出一下这位“大佬”的关键问题:

1. Stockfish代码中的阈值是一个常数,是用constexpr修饰的。这意味着它在编译时就已经确定,并不会在运行时改变。这位“大佬”却非要说是动态的;而且这个值,只需要保证比绝杀值小就行了,实际上就是把绝杀的情况排除罢了;静态评估能达到一万多的局面已经极少了,略微调整一下又为何有宽松一说?看不懂代码非要说自己能看懂,这有什么意义呢?(PS:不少小白认为分析代码头头是道就是大佬了,实际上对方可能根本不知道代码的含义)

2. 测试的误差比Elo差的两倍还要大,这样的结果根本不能判断引擎的强弱,如果你观察Stockfish的Fishtest平台可以发现,有些时候即使Elo差超过了误差,盘数上去了结果也可能逆转,这是因为误差是在一定的置信区间上的,并非准确无误。

这里放上当时的测试结果:

排名    引擎    胜    和    负    胜率    ΔElo
1    P0530S    503    1019    478    50.63%    +4.3±10.7
2    PF0530    478    1019    503    49.37%    -4.3±10.7

很明显,这个结果是无法判断强弱的,而所谓的“大佬”六维演易则直接断定:即便不修改源码,我编译的也比自发编译的棋力稍强(原话)。本人很好奇,代码一样,编译器用的都是clang,优化都是O3,指令集都一样,凭什么你的引擎比官方版的强?两个相同引擎自战,完全有可能打出这样的结果。真实情况如何相信大家也能知道了。

发现六维演易很喜欢提Stockfish,那我也再插一句话,Stockfish Fishtest对于这种差距较小的更新,都是测试上万盘(差距略大)甚至上百万盘(差距略小)的!测试条件相同,差距越小,要测准引擎强弱需要的算力越多,这是不争的事实(当然也有一些运气成分存在)!再举个例子,皮卡鱼和326测试,只需要测试20盘以内就能看出强弱了,这就是本事实的鲜明体现!

3. 更新日志直接对皮卡鱼的commit注释进行拙劣的机翻,让人难以理解,实际上人家根本不是这个意思或者传达的意思不明确。这里放一段话,摘自“大佬”的某个帖子,大家可自行看看语句是否通顺:

使用更多的延续历史记录(允许统计数据更新和移动挑选器补偿,已持续历史深度3层,反复移动。与以往不同的是,更新和移动选择器是使用1/4的层数完成

本帖中的内容也是如此。这位“大佬”把“置换表”这种术语翻译成“转置表”和“tt”,不是机翻是什么?本人猜测六维大概率连皮卡鱼代码都没看懂,只知道复制粘贴代码,因此皮卡鱼官方仓库每个commit更新的内容,这位“大佬”都看不懂是怎么回事,只好机翻了。如果能看懂代码,那如何解释这位“大佬”连“tt”是什么都翻译不出来?“TranspositionTable”这个关键词在皮卡鱼代码应该经常出现吧?

4. 混淆编译的概念。 下面的一段话摘自某帖272楼,也是这位“大佬”的发言:

///
我最近上传的引擎早就不是“编译”范畴了,那是重构代码,性能优化,这是软件开发的范畴。
///

不管怎么样,你既然生成了皮卡鱼的可执行文件,必然要经过编译这个步骤。某大佬接下来可能又要声明“我的引擎不是编译出来的”,那你如何解释在你引擎里面输入compiler,显示的信息是什么?

5. 欺骗小白。GitHub编译根本不需要申请token,并且某大佬的发送所谓教程帖也不完整。要么就按照皮卡喵的视频,直接下载;要么就自己Fork一份,启用Actions,修改代码后会自动编译,再按照皮卡喵的视频下载。本人认为完全没有捧这不完整帖子的理由,不如去看皮卡喵发在B站上的下载教程,这样反而会有收获。

某些人认为帖子看着高深,发帖人一定是个大佬。这个结论在大多数时候都成立,但少数时候可能是不成立的。(某些人就是利用这个特性装“大佬”的)

6. 吹牛+诋毁皮卡鱼团队。同样先放一点经典言论(某帖子289楼):

///
超越0314对我来说易如翻掌,并且从218开始,我的版本始终领先,他们是一直追我,而不是相反,我追他们。
既然说了,也就不遮掩了,我想两小時代码,他們一周未必能想得到。

///

一个连变量和常量都分不清的人,一个没有测试常识的人,何德何能可以超过皮卡鱼官方的引擎?甚至还大放厥词声称皮卡鱼官方一直追赶自己。这位“大佬”大概率是被小样本测试数据误导了。既然说超过就能超过,让引擎提升的代码这么容易就能想到,那引擎开发者完全没必要进行各种试验了。在群里抽个时间,说几句大话即可,反正吹了就能提升,何必磨损机器,不断跑谱,干这些无意义的事情?况且,六维演易并无任何可靠证据说明自己的引擎比哪个引擎强。放出来的证据也只是不可靠的小样本数据,可以参考我的第2点。

7. 拿tune分支编译。tune分支应该是便于作者调节引擎参数的,拿这个分支编译没有任何意义,速度反而可能慢一些,因为这些值不是常量了,而是可以通过UCI选项进行修改的量。而且调整完参数之后也能观察到作者将新参数合并到master。

8. 再提一点,六维演易干的这些事情完全没有技术含量,长将长捉等情况实际上是皮卡鱼的“象棋程序竞赛规则”和平台规则不符,从之前的代码中把之前的亚规代码Ctrl+C Ctrl+V过来,再修改少许,就可以和平台规则更加兼容了,甚至还可以把老代码的中规也Ctrl+C Ctrl+V过来。我认为不需要半个小时就能搞定,Rule60也是一样。凭这个说自己技术强,这不是耍流氓吗?说到这里大家应该也懂了,那我就不继续往下谈了。

9. 事后补充一点,六维演易称自己给Stockfish提过PR,而且通过了。如果通过了,为什么不敢放个链接出来让大伙瞧瞧?这是不是心虚的表现?事实胜于雄辩!

总结一下,这位“大佬”完完全全就是冒牌的,这位专家其实是砖家。最后,希望站长能明鉴,不要给此类小人可乘之机!

有些坛友之前可能认为六维演易是大佬,我希望这些坛友在看了我的帖子后,能够意识到这个错误!

声明:我不是什么小老百姓版主,也不是什么lingshi、老伶,只是一个普通的爱好者而已,请某人不要随意揣测、强扣帽子!别人反对过你,未必所有反对你的人都是这个人!你公开所谓的私信记录,对本人也没有任何损失!

某“大佬”说要进行什么除草行动,在我看来还是把你自己除掉比较好!
级别: 禁止发言
[棋中红钻1级]发帖数量≥10篇 [未点亮棋中黄钻]金币数量<100枚 [未点亮棋中蓝钻]乐币数量<10枚 [未点亮棋中粉钻]贡献值数量<1点 [未点亮棋中彩钻]精华帖数量<1篇
发帖
27
金币
37
威望
0
贡献值
0
乐币
0
主题
0
只看该作者 45楼 发表于: 2024-06-07
用户被禁言,该主题自动屏蔽!
快速回复

限56 字节
请不要在回贴只采用字母:“ PP、asdfhjkl、HAO、OK、ddddddd ......”。  请不要在回贴过于简单的内容:“不错、顶、支持、厉害、呵呵、靠、晕........”
 
验证问题: 我们论坛是一个什么棋类为主的论坛?
上一个 下一个