|
[技术]我和pptacgfans的探讨.精 (9/1131) |
|
|
|
|
pptacgfans:一位在wom活动,来自宝岛的胜率,效率以及zini研究者,算法编写者,还写了好几篇文章。B站21年百大up主:稚晖君。github:https://github.com/peng-zhihui/ 林艺海:本人,竞速玩家,效率中级世界纪录保持者,人送外号海大师。因出道效率太高被扫雷吧吧主,扫雷群管理员误认为是高手小号炸鱼。其实都是自己孤零零练的,方法是标到低效的雷立刻取消,改标更好的雷或单机点开。我刚出道没几天就破了kamil霸占了许久的高级效率纪录,高达1.951的中级效率更是让追赶者望尘莫及,甚至只用了41次点击解决80个3bv,比zini算法得到的43还少两次点击,上1.5如喝水,上1.6如便秘(几天一次),低于zini的中级也有不少,高级也有sup1.4的好成绩,众多效率优化理论提出者,擅长用自己编写的复盘软件研讨zini,在B站有个视频主要复盘讲解效率,其中的内容悟性极佳者也要啃大半天才能懂,初级首个ioe=2创造者,也有sup2的成绩。竞速技巧也不遑多让,最好成绩51+,但现在变菜了,sup80如喝水,sub80难如登天,偶尔也有sup90的成绩,都是新冠害的。判雷也优于大多数人,发布了拐角判雷法,本人觉得实用,但高手不知为什么都不用。路线也有sub4000的好成绩,还写了计算路线计盒维数,相当于复杂程度,或粗糙度,曲折度的算法并画出来,和路线长度并列,也很有参考价值。还是菜鸟玩家的同情者,发了一篇文章向竞速圈宣战。 21 June, 18:30:31 林艺海: 我想请你锐评一下我做的效率攻略视频 21 June, 18:30:36 林艺海: 【海大师扫雷复盘-哔哩哔哩】 https://b23.tv/HPxPMhm 21 June, 18:30:56 林艺海: 特别是第5篇 21 June, 18:31:30 林艺海: 还有你看我这个视频 21 June, 18:31:35 林艺海: 【30名B站扫雷up主高级纪录计盒维数排名-哔哩哔哩】 https://b23.tv/oVPWr0B 21 June, 18:31:54 林艺海: 对于评估路线复杂度有参考价值吗? 21 June, 20:54:36 PTTACGfans: 你好,你的影片我之前就已拜讀過了,不過我也不敢說我有什麼評論。 畢竟效率這種東西,你也知道很多時候沒有所謂正確答案,不同的地雷密度、能容許的風險、目標的效率成績、盤面目前的完成率等等,有太多因素都會影響下一步的點法。 所以我覺得很多走法在我看來都ok,畢竟我也不清楚對方心裡有什麼盤算,除非是某些地方明顯有更好的走法。
我自己的終極目標是希望能夠算出,例如走了這一步會有 X% 風險會失敗,但有 Y% 機會能夠省1步,Z% 機會能夠省2步...之類的,將數值量化藉此來比較每個選擇。不過太複雜了我是還沒有打算下去做,就我所知 MSCoach 的 AI 效率模式好像有類似的東西,不過他的都是0風險跟我想要的還是有些差別。
關於計盒維數,這還滿有意思的,之前也沒有想過要怎麼拿來利用,我不確定是否能用來評估路線複雜度,不過或許能說維數越低的玩家,在打大圖時應該會越有利? 21 June, 21:38:23 林艺海: 还有可能以为是标一开四,结果是op边缘,反而亏2次,或一个落单数字加op边缘,或两个落单数字加op边缘,分别亏一次点击或不亏不赚 21 June, 21:39:21 林艺海: 哦,大概算在失败里了 21 June, 21:40:45 林艺海: 还有冒险有多大概率会炸,多大概率破空,多大概率出1,多大概率出二 21 June, 21:42:32 林艺海: 反正我扫了大半盘,效率比pty高多了,还是不小心点炸了,没心气再开一盘了 21 June, 21:42:57 林艺海: 对了,可以重开。不过也找不太到了 21 June, 21:44:15 林艺海: 计盒维数有不少研究生来问我,说是研究岩石的纹理和裂缝 21 June, 21:45:36 林艺海: 计盒维数还是和3bv以及路线有区分度的,都有排名相反的情况出现 21 June, 21:55:49 林艺海: http://saolei.wang/Player/Index.asp?Id=7277 21 June, 21:57:35 林艺海: 不知你知道吗?我在10.92秒的一局初级展示了先点开所有op可能造成的亏损,而且也是电脑zini算法的硬伤
    
    
    
    
     21 June, 21:57:54 林艺海: 按时间排序第二页就是 21 June, 22:04:10 林艺海: 还有9.29秒的一个四次点击开五格的小技巧,靠边限定,猜一个2。很容易nf点了,忽略掉
   
   
   
    21 June, 22:06:06 林艺海: 说错,第一个录像按成绩排序,第二个录像按成绩排序第一页,不过反正总共就两页,看评论区也看得出来 21 June, 22:09:58 林艺海: 其实我初中级还有不少神作,按评论排序有写效率分数 21 June, 22:11:31 林艺海: 啊不是,是比zini低多少点击 21 June, 23:06:06 PTTACGfans: 看到了,先點開所有op也就是類似 Human ZiNi,確實大多數情況 Human ZiNi 都比 Greedy ZiNi 還差。我之前有寫過一篇關於 ZiNi 的文章,有興趣的話也可以參考看看。 https://docs.google.com/document/d/1Ve1gfaxZcgabvkAusIDzPVK0RMSpCdmgD_8TruhE28g/edit?usp=sharing 00:55:47 林艺海: 我不是在我的视频里都提到了嘛 00:57:19 林艺海: 还有靠边猜二,四次点击开五格怎么看? 04:37:58 林艺海: 哦搞错了,我以为效率 04:54:12 林艺海: 提高标雷优先度是因为可能和其他雷双击覆盖到的格子冲突,还有有可能破空 04:54:33 林艺海: 提高标雷优先度不好的原因 04:58:00 林艺海: 我想过一种算zini的算法 04:58:22 林艺海: 先用hzini过一遍 05:00:21 林艺海: 然后选取一组操作为入基变量,被替换掉的操作作为出基变量。确保替换后还是能清扫整个盘面。 05:01:22 林艺海: 当然步骤越少越好。还有考虑标雷的操作优先入基。 05:01:50 林艺海: 循环直至没有能替换的为止。 05:02:30 林艺海: 这种思想参考了运筹学,准确的说是决策论。 05:04:13 林艺海: 具体参考的是线性不等式的约束条件下求极值的问题 05:05:49 林艺海: 画出来就相当于在约束的多边形的边缘上从一个顶点移动到另一个相邻的顶点,直至不能往极值的正方向移动 05:06:47 林艺海: 扫雷和线性方程组也有关,这个方法应该靠谱 05:07:14 林艺海: 其实就是线性规划 05:20:11 林艺海: 一个经典案例 Game #1732690801 05:21:56 林艺海: 从44秒到52秒 05:22:41 林艺海: 入基变量三个要标的雷和一连串双击操作 05:23:35 林艺海: 出基变量中心的雷和围绕他的双击,以及一些零散的左键 05:24:36 林艺海: 因为就算标了中心的雷,其他三个雷仍然需要标,不如直接标,反倒能省下中心的标雷 05:27:11 林艺海: 之前搞错了,效率视频重点是第六篇 05:32:32 林艺海: http://saolei.wang/BBS/Title.asp?Id=22513 05:33:24 林艺海: 我这篇靠后写到的猜雷直接标双也适用于效率
|
|
14:42:44 PTTACGfans: >>还有靠边猜二,四次点击开五格怎么看?
我的看法嗎?我覺得可以跟另一個還滿常見的模式來相比。 https://i.imgur.com/AxyxeJl.png 在情況A時,常常會面臨到底要直接雙鍵開兩格,或是要黃色試圖點空的抉擇。選擇點空並成功的話(三個橘色都是安全格),就能比雙鍵開兩格省下一步。
   
   
   
   
   
   
   
   
而在情況B時,會發現其實也很類似,黃色順利打開時,且三個橘色都是安全格,此時就能四次點擊開五格,一樣省下一步。
   
   
   
   
   
   
   
   
   
   
   
    不過這兩個情況還是有點小差別,當三個橘色包含地雷時,情況A選擇黃色點空可能反而倒虧一步,https://i.imgur.com/OH1A76n.png,例如左圖情況,直接兩次雙鍵開兩格為最佳解,點了黃色就失去最佳解的機會。但情況B就沒有這種倒虧的可能性。
也就是說這兩個情況點黃色的風險相同,但以效益來說,情況B反而更好一些。因此如果某個人會在情況A選擇黃色點空的話,在遇到情況B時,理應也要選擇點黃色,試圖四次開五格才對。不過這個情況也是比較少見很容易漏看,以上大概就是我的看法。 15:18:49 林艺海: 还有我后面说的一大堆呢? 15:19:07 林艺海: 虽然看不到图但能理解 15:20:44 林艺海: 还要一步才双击出空,不是亏两步嘛
|
|
22 June, 23:46:49 PTTACGfans: ZiNi 的改良我差不多都統整到我寫的那篇文章了,對我來說也已經告一段落,除非是有bug之類,不然我也不太想多花時間下去思考繼續改善。程式碼也都放在Github上可供人參考,如果有其他人想改良我也是樂見其成。
>>你乐不乐意我把对话发到中国扫雷网? 沒問題
>>还要一步才双击出空,不是亏两步嘛 不知道是不是沒看到圖造成的誤解,我換另一個圖床試試 https://pasteboard.co/dQjCQ6BtStp7.png https://pasteboard.co/x4JiZ17PZcPy.png 01:05:14 林艺海: 看到图了,和我想的差不多,只不过你的横着,我的竖着 01:06:22 林艺海: 一右二左合计三次点击开一个空,不就是亏二嘛 01:11:42 林艺海: 还有怎么看我的反正不得不猜,不如标双的操作?
|
|
14:47:18 PTTACGfans: >>你github地址? https://pttacgfans.github.io/Minesweeper-ZiNi-Calculator/
>>还有怎么看我的反正不得不猜,不如标双的操作? 不是很清楚這個指的是什麼 16:17:03 林艺海: https://pasteboard.co/LefwjkASQhaP.jpg 16:18:04 林艺海: 因为如果棋子处已经标出,那么只要再标一个雷就可以标二开二接可能的标二开三 16:18:21 林艺海: 而且如果是后两种情况 16:18:58 林艺海: https://pasteboard.co/D7mTsfS9exCb.jpg 16:19:14 林艺海: https://pasteboard.co/cOjRxqx3Dx4l.jpg 16:19:47 林艺海: 那么如果猜右边的另一个,接下去还是要猜 16:20:12 林艺海: 那么还不如直接标双解决 16:20:56 林艺海: 可能的标二开三和你那个也类似,不过不会亏 16:21:29 林艺海: 话说你看懂为什么亏二了吗? 16:24:03 林艺海: 我以为你的github是代码页,还去搜 github.com/pptacgfans 了 16:30:36 林艺海: 请问怎么改成不使用human zini算? 16:31:19 林艺海: 因为我输入了经典漏洞的图,还是先点开op,多一次点击 16:32:43 林艺海: 还有我很好奇,数组照理来说,[0][0]应该对应的是左上角的格子,为什么会先从左下角开?
|
|
23 June, 17:06:34 林艺海: 朱耀宇说的模拟退火算法算zini也挺好的。 23 June, 21:31:53 PTTACGfans: >> https://pasteboard.co/LefwjkASQhaP.jpg >> 因为如果棋子处已经标出,那么只要再标一个雷就可以标二开二接可能的标二开三 這個情況不是應該打開綠色格,https://pasteboard.co/iG1Hoz2BJ4H8.png,標紅色雷,試圖標二開四會比較好?這樣走效益看起來相同,但風險更低一些。
>>话说你看懂为什么亏二了吗? 應該只是雙方認知的基準點不同,感覺不是什麼大問題。
>>我以为你的github是代码页,还去搜 github.com/pptacgfans 了 搜pttacgfans應該就有了
>>请问怎么改成不使用human zini算? 我的網頁演算法只有使用 Random ZiNi ,沒有用 Human ZiNi,會覺得像 Human ZiNi 可能是我為了增加使用者體驗,把某些步移到開頭呈現,但這不影響總步數。
>>因为我输入了经典漏洞的图,还是先点开op,多一次点击 ZiNi 演算法只能求得最少步數的估計值,沒辦法每次都保證找到最佳解。
>>还有我很好奇,数组照理来说,[0][0]应该对应的是左上角的格子,为什么会先从左下角开? [0][0] 是對應左上角沒錯,從左下角開應該只是剛好輸入的盤面 Random ZiNi 隨機選到左下角開始吧。 23 June, 23:12:22 林艺海: 不好意思,我混乱了 23 June, 23:12:28 林艺海: https://pasteboard.co/D7mTsfS9exCb.jpg 23 June, 23:12:42 林艺海: 这张图不可能,因为数字就错了 23 June, 23:14:45 林艺海: 那么猜雷的优点就只剩猜一个后续有可能赚的 23 June, 23:19:35 林艺海: 我还是觉得random zini这么简单的题目都解决不了,太差劲了 23 June, 23:23:24 林艺海: 我试了一下,开局还是只会点左下角 23 June, 23:24:24 林艺海: 以及只放四个3bv,仍然先开空,用四次点击 23 June, 23:27:55 林艺海: 绿点你是正确的 23 June, 23:28:51 林艺海: 还有发超链接要后面跟空格
|
|
2023年 06月 26日, 08:36:00 林艺海:对了,我试验zini计算器,试了几次还总是从左下角开。你还没回我。而且左下op只占三个格子,不会运气这么差吧? 2023年 06月 26日, 20:45:49 PTTACGfans:>>牛啊,21年B站百大 不好意思,你應該認錯人了,我沒在用B站。抱歉你打了這麼多,不過我應該幫不上什麼忙,
>>对了,我试验zini计算器,试了几次还总是从左下角开。你还没回我。而且左下op只占三个格子,不会运气这么差吧? 按了計算之後,網址會改變,你可以直接貼網址給我,我這邊看一下有什麼問題。 2023年 06月 27日, 00:45:04 林艺海:https://pttacgfans.github.io/Minesweeper-ZiNi-Calculator/?b=1&m=00000002001800080 2023年 06月 27日, 00:54:10 林艺海:对不起,认错人了。 2023年 06月 27日, 01:03:13 林艺海:四次点击开五格得到了正确答案 2023年 06月 27日, 15:37:23 PTTACGfans:https://pttacgfans.github.io/Minesweeper-ZiNi-Calculator/?b=1&m=10000002001800080 上面這個網址顯示還是有機會從左下角以外的開,不過就算都從左下角開始感覺也不是什麼問題,總步數也不會改變。 2023年 06月 28日, 00:34:14 林艺海:我明白了。是同一张图只有固定的一种点击次序吗,因为随机数种子不同。我总是以为用系统时间做随机数种子。 2023年 06月 28日, 00:34:44 林艺海:我还是对先点开空没有最优解颇有微词。 2023年 06月 28日, 14:04:18 PTTACGfans:>>我明白了。是同一张图只有固定的一种点击次序吗 是的,為了讓不同人輸入同樣網址(同一張圖),能看到相同的結果,所以我種子是用固定的,這樣子彼此間在溝通也才不會有誤差。
>>我还是对先点开空没有最优解颇有微词。 沒有最優解是指什麼?我看你給我的網址應該已經是最少點擊數了。 01:39:45 林艺海:抱歉,我画错图了。你的程序能得到最优解
|
|
现在对mincl的研究很少了,但是相关算法一直都很有必要,也很有意义。即使没有任何改进,只是用js重写一遍,帮助也是很大的。
|
|
|
|