最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

玩掃雷還有什么技巧?科學(xué)家的玩游戲方法你絕對想不到

2019-04-17 11:28 作者:二次元的中科院物理所  | 我要投稿

有時(shí),小編回憶起童年和青春,眼前總是浮現(xiàn)出一片碧藍(lán)碧藍(lán)的天空嫩得出水的草地,以及以前在那上面和小伙伴們度過的愉快的時(shí)光……

當(dāng)然,你們別想錯(cuò)了

我說的藍(lán)天和草地是指這個(gè) ??

為了防止被打小編選擇提前爆頭蹲防

Windows?XP?確實(shí)承載很多的記憶,而且?XP?這個(gè)系統(tǒng)也是真的經(jīng)用。Windows?XP?于?2001?年?8?月?24?日正式發(fā)布,微軟在?2014 年 4 月 8 日才停止了對 Windows XP 桌面版系統(tǒng)的支持服務(wù),一直到這周二,2019 年 4 月 9 號,運(yùn)行在嵌入式設(shè)備上的最后的一批?Windows?XP?才失去微軟的官方支持。XP?們終于正式對我們?say?goodbye?了。[1]

經(jīng)典的掃雷游戲

提起 XP,不得不說操作系統(tǒng)自帶的諸如掃雷,紙牌這一類的經(jīng)典游戲真的經(jīng)典,好玩又殺時(shí)間。如果可以統(tǒng)計(jì)全人類花在這上面的時(shí)間,估計(jì)肯定是一個(gè)天文數(shù)字。。。不過盡管掃雷大家玩的時(shí)間很長,玩的次數(shù)也很多,但是我猜?99%?的玩家肯定沒思考過,自己玩掃雷為啥那么容易就死了。。。

對比一下別人家的孩子玩掃雷的速度

圖片經(jīng)過加速。如果你想看真正目前世界上掃雷最快的記錄的話,可以去 [2] 圍觀

再看看自己玩掃雷的樣子...

差不多就是這種水平,剛點(diǎn)到掃雷圖標(biāo)雷就已經(jīng)炸了

雖然?XP?已經(jīng)離我們而去,但是萬幸的是?Win10?系統(tǒng)還能夠在商店中直接搜索「minesweeper」下載官方重置了的掃雷游戲,重新體會以前的經(jīng)典。

其實(shí)吧,掃雷這個(gè)游戲很多科學(xué)家也愛玩。不過一般人玩掃雷如果死得快,就不斷重開重開重開直到碰到一個(gè)好的開局(然后又快速地死掉)。科學(xué)家就不一樣,如果他們玩掃雷死得快,他們不會重開,他們會直接證明「這個(gè)游戲通關(guān)概率為 0」

掃雷畢竟已經(jīng)有這么長的歷史了,分析掃雷游戲求解概率的論文都有一大堆。作為一個(gè)熟練點(diǎn)擊掃雷重開鍵的手殘掃雷玩家,今天我就來和大家系統(tǒng)地聊一聊掃雷的背后的故事。


掃雷秘籍

天下武功,無堅(jiān)不摧,唯不破!

從數(shù)學(xué)上來看,掃雷就相當(dāng)于一個(gè)不斷給你已知條件不斷求解的過程,就像一個(gè)不斷增加條件的應(yīng)用題。你可以通過左鍵點(diǎn)開確定不是雷的塊,右鍵標(biāo)記你認(rèn)為是雷的區(qū)域。如果你點(diǎn)開的這一塊不是雷,那么它會告訴你這塊區(qū)域周圍八格內(nèi)有幾顆雷。只要你點(diǎn)得足夠快,雷就追不上你。

通過很簡單的反證法,我們可以推出來很大一部分雷所在的位置。[3]

角落上的情形

所謂反證法,就是反過來想這個(gè)問題。如果存在這么一個(gè)向內(nèi)凹的角,內(nèi)部的都是空白,但是角落上是一個(gè)?1,那么這個(gè)角上一定會有一顆雷。因?yàn)槿绻@個(gè)地方再不是雷的話,那中間的?1?所指的雷就只能去流浪了。。。同理,一條邊上如果有?3?的話,那和?3?挨著的這三個(gè)一定是雷。畢竟地雷兄弟們也不能擠一擠挪到一個(gè)格子上去。

位于邊界時(shí)候的情形

除了這個(gè)反證法以外,在掃雷里還有很多固定的「套路」。學(xué)會這個(gè)套路,保證你掃雷功力大增,殺進(jìn)小區(qū)掃雷五百強(qiáng)。

聽起來好像很厲害的樣子

在掃雷的時(shí)候其實(shí)經(jīng)常會遇到一些固定的數(shù)字,比如三個(gè)連續(xù)的數(shù)字為 121,此時(shí)想都不用想,就可以直接在 121 兩個(gè) 1 的正對方向標(biāo)上雷。或者四個(gè)連續(xù)的數(shù)字?1221,此時(shí)兩個(gè) 2 的正對方向上也一定是雷。

121 情形下,由于左側(cè) 1 的限制,在黃色區(qū)域內(nèi)只能有一格雷,但是中間的 2 至少要求 2 格雷,所以粉色的那顆一定是雷。同理證明另外一側(cè)
1221 情形下,和上面證明過程相同,由于 1 的限制導(dǎo)致在黃色區(qū)域內(nèi)只能有 1 格雷,所以另一個(gè) 2 正對的方格一定是雷。

「小編小編,我有個(gè)問題,那?121221?呢?按照秘籍填雷的話中間那個(gè)?1?附近有兩顆雷誒?」

似乎有問題的秘籍?

「這種情況是不可能的!左邊數(shù)起三個(gè)?1?已經(jīng)覆蓋了上面的所有未知空格,所以地雷數(shù)至多只有?3?個(gè)。但下方顯示地雷數(shù)為?1+2+2+1+2+1,在只有中間?5?個(gè)格子重復(fù)計(jì)數(shù)的情況下都到了?7,大于?3?的?2?倍。所以這種圖形是不可能存在的!」

咳咳,把思路收回來,如上所述,掃雷確實(shí)是有一些套路的。每日熟讀此掃雷秘籍,假以時(shí)日,掃雷技藝必將大成。


掃雷還是運(yùn)氣活

玩掃雷,你必須要接受,這是一款拼人品的游戲。

雖然人生已經(jīng)如此地艱難,但我還是要無情地拆穿這一點(diǎn)。想必你此時(shí)已經(jīng)熟練掌握了掃雷的套路,不過在有些時(shí)候你還是要面對猜雷這種事情,而且一招不慎,滿盤皆輸。。。

猜猜黃色部分的雷應(yīng)該是怎么分布的?

圖中黃色部分就是典型的需要猜的掃雷難題。根據(jù)角落里面的數(shù)字,我們都只能知道 1×2 的黃色部分里面一定只有一個(gè)雷,不過我們并不知道哪個(gè)才是雷。如果沒有其它信息的話,我們辛辛苦苦大半個(gè)棋盤,最后通過這個(gè)地雷陣的概率還是只有?1/8。

這種簡單的判斷還好,有些時(shí)候還會遇到一些藏得更加隱晦的猜的時(shí)候。

掃雷判斷題

假設(shè)在我們的掃雷過程中遇到了這么一個(gè)圖案,確實(shí)是一件欲哭無淚的事情。不知道怎么哭的可以先把眼淚準(zhǔn)備好,小編馬上就告訴你們?yōu)樯兑?。。。從左邊開始,假設(shè)第一個(gè)空位有雷,那么第二個(gè)空位沒有雷,因?yàn)榭瘴恢虚g?1?的存在從而第三個(gè)空位有雷,依次類推。但是如果是第一個(gè)空位沒有雷,而第二個(gè)空位有雷,我們也說得通。都要踩地雷了,還整個(gè)這么復(fù)雜的難題,至于么。。。

別急,后面還有更加復(fù)雜的。這里的?x?和之后的?*?號上是否有雷的情況一直相同,所以這個(gè)地雷陣就像一根傳遞信號的導(dǎo)線一樣。在掃雷的地圖上,我們不僅僅能夠做出這種簡單的傳遞信號的導(dǎo)線,其實(shí)還能夠?qū)崿F(xiàn)所有的電子電路中的邏輯門的操作。[4,5]

非門電路
或門電路

這是兩個(gè)「簡單」的邏輯門,分別實(shí)現(xiàn)了將信號翻轉(zhuǎn)的非門將兩路信號做或操作的或門。在另一個(gè)也很著名的沙盒游戲——《我的世界(Minecraft)》里面,玩家也可以通過游戲中的材料,紅石(其實(shí)在此之前的 Windows 10 操作系統(tǒng)的每一年的更新代號就是用紅石來命名),實(shí)現(xiàn)各種各樣的復(fù)雜邏輯操作,更有玩家利用紅石在?Minecraft?里制造出了真正能運(yùn)行的計(jì)算機(jī)。。。

紅石計(jì)算機(jī),具有完整的寄存器,加法器等部件 [6]

算了,我已經(jīng)不敢想象掃雷會變成什么樣了。。。


判斷有沒有解都是一件很難的事情

回到文章最開始,我們?nèi)巳テ平庖粋€(gè)掃雷問題的話,很容易就會死掉了,那把這個(gè)問題交給計(jì)算機(jī)來做會怎么樣?然而很遺憾的是,一般情況下,計(jì)算機(jī)目前對掃雷這個(gè)問題還是無能為力。。。

難過

稍微值得慶幸的是,在我們平時(shí)玩的比較小的棋盤下,計(jì)算機(jī)還可以通過搜索得到答案。

為了了解計(jì)算機(jī)處理問題難度的幾個(gè)級別,有必要先知道一個(gè)概念——多項(xiàng)式時(shí)間。對于同一個(gè)算法,根據(jù)處理問題大小的不同,計(jì)算機(jī)一般來說需要不同的時(shí)間進(jìn)行計(jì)算。用最直觀的例子來說,小明要去洗衣服,他洗 1 件衣服的時(shí)間為 2 分鐘,洗 5 件衣服的時(shí)間為 10 分鐘,洗 10 件衣服的時(shí)間為 20 分鐘,處理問題的時(shí)間隨問題規(guī)模的變化為線性關(guān)系,一次多項(xiàng)式?,F(xiàn)在我們假設(shè)小明還是要洗衣服,只不過現(xiàn)在的衣服比較特殊,他洗?1?件這種衣服的時(shí)間為?2?分鐘,但洗?5?件的時(shí)間變?yōu)?32?分鐘,洗?10?件的時(shí)間變?yōu)?1024?分鐘,這個(gè)時(shí)候就是指數(shù)關(guān)系的,而不再是多項(xiàng)式了。評價(jià)一個(gè)算法,隨著問題規(guī)模的增大,計(jì)算時(shí)間怎么增長是一個(gè)十分重要的指標(biāo)。

在計(jì)算機(jī)里面,對于多項(xiàng)式級別的時(shí)間,我們還是認(rèn)為很快的。如果把問題按照求解的難度來進(jìn)行分類的話,P 是指能夠用多項(xiàng)式時(shí)間求解的問題,俗話說就是算起來很快的問題。NP 是指算起來不一定快,但是任何答案我們都可以檢查起來很快的問題。NP?完全問題,是比所有?NP?問題都要難的?NP?問題。雖然人們有個(gè)美好的想法,總覺得驗(yàn)算起來很快的應(yīng)該可以找到辦法讓他算起來很快,但目前還是個(gè)未知數(shù)。。。[7]

很不幸,求解一個(gè)掃雷游戲的解,正好是一個(gè)?NP?完全問題——在能夠輕松驗(yàn)證結(jié)果是否正確的問題里面最難的那一類?這一類問題目前為止人們還沒有發(fā)現(xiàn)多項(xiàng)式時(shí)間的求解算法,通常只有指數(shù)級甚至階乘級的搜索算法來解決。

用來顯示液晶數(shù)字的邏輯電路。我們可以很方便地一個(gè)一個(gè)試,但是反過來卻很難,尤其是在這個(gè)邏輯電路非常龐大的時(shí)候

掃雷游戲?qū)儆谝粋€(gè)如此困難的問題,其原因就出在上一章提到的,可以把掃雷游戲看做一個(gè)個(gè)邏輯門進(jìn)行運(yùn)算的邏輯電路。給定一個(gè)邏輯電路,在已知輸出結(jié)果的情況下,能否確定每個(gè)輸入的值?這個(gè)問題被稱為?SAT 問題,是世界上第一個(gè)被證明其為 NP 完全的問題[8]這種問題驗(yàn)證起來非常容易,你只需要把結(jié)果代入到邏輯電路中,馬上能知道是否符合要求,但倒過來想要計(jì)算符合結(jié)果的輸入就極端地麻煩。

求解掃雷游戲的結(jié)果,利用那些構(gòu)造的邏輯門,恰恰等價(jià)于求解?SAT?問題。[9]

掃雷還和滲透有關(guān)系

其實(shí)我們在玩掃雷游戲的時(shí)候覺得很難,其實(shí)還有另外一個(gè)原因。這個(gè)原因和物理里面的滲透還有關(guān)系。

液體,圖片來自 Giphy,Michael Shillingburg

在上個(gè)世紀(jì) 60 年代,科學(xué)家們 [10] 發(fā)現(xiàn)在流體流過多孔的介質(zhì)的時(shí)候,介質(zhì)中的空洞總是會被堵塞,有時(shí)候就會影響流體流出。更為奇怪的是,當(dāng)這些多孔的介質(zhì)的孔隙被隨機(jī)堵塞的比例逐漸增大而達(dá)到某一值時(shí),一開始一直能夠流動(dòng)的流體就突然被完全堵住。在孔洞被隨機(jī)堵住的概率發(fā)生變化時(shí),液體流過的比率也會發(fā)生一個(gè)突變。

這種現(xiàn)象被稱為逾滲(percolation)。[11]

遇到這種情況,你該怎么下手

在掃雷里面,也存在類似逾滲的現(xiàn)象。當(dāng)一盤游戲里面的地雷密度特別低的時(shí)候,我們差不多隨便點(diǎn),都不會點(diǎn)到地雷,而是點(diǎn)到大片大片的空白,一下子就把問題解決了。但是當(dāng)?shù)乩酌芏仍龈咭院?,在增大到一定程度以后,即使我們理性地分析,從不瞎猜,也不可能把掃雷問題做對了。

針對不同的棋盤大小,有人計(jì)算了在不同地雷密度情況下獲勝的概率。三角形對應(yīng)的曲線為初級 8×8,正方形為 15×13,菱形為高級,30×16。這里的能否求解實(shí)際上不包括第一次隨機(jī)點(diǎn)擊的時(shí)候踩中雷的概率。[12]

我們把流體通過多孔介質(zhì)逾滲的模型抽象出來的話,其實(shí)對應(yīng)著點(diǎn)逾滲,也就是把整個(gè)介質(zhì)想象成一個(gè)網(wǎng)絡(luò),流體在經(jīng)過每個(gè)網(wǎng)格時(shí),有概率?p?的可能通過。如果不能流過的網(wǎng)格在網(wǎng)絡(luò)中連成了片,流體就不能流過了。

不嚴(yán)格地來說,求解掃雷問題其實(shí)和逾滲模型很類似,我們求解的過程其實(shí)也像推土機(jī)一樣,不斷地利用已有的知識將已知區(qū)域向外一層一層地推進(jìn)。如果游戲中某處雷的密度越大,那么越有可能出現(xiàn)可解部分被雷分開的情況,地雷密度和逾滲參數(shù)起到了一樣的作用。如果被分隔到無法連接整個(gè)棋盤,那就無法繼續(xù)推理了。更為嚴(yán)格的證明可以參考?Elchanan?Mossel?的論文。[13]

推土機(jī),圖片來自網(wǎng)絡(luò)

隨著網(wǎng)格的不斷增大,這條勝率曲線中間部分也變得越來越陡峭,掃雷問題越來越向兩個(gè)極端發(fā)展:要不就根本解不出來,要不就是很容易地就能解出來在高級模式下,地雷的密度其實(shí)已經(jīng)到了?99/480?=?0.2,能夠解出來的概率已經(jīng)不到?1/4,這還不算手抖了點(diǎn)錯(cuò)了,開局不好重開之類的情況,真的不算是友好了。


結(jié) 論

emoji 版本掃雷 [14]

相信看到這里的人

一定已經(jīng)躍躍欲試想要玩一下掃雷了

我相信你們

天下無難事,只要肯放棄

卸載也行


* 封面圖修改自周星馳電影《功夫》

*?參考文獻(xiàn)以及鏈接:

[1]?最后的 Windows XP 退役 ( https://www.pconline.com.cn/win10/1247/12470057.html

[2] Minesweeper Game World Ranking?(www.minesweeper.info/worldranking.html?ranking=1

[3] 更詳細(xì)的掃雷教程可以點(diǎn)擊閱讀 Strategy - MinesweeperWiki(http://www.minesweeper.info/wiki/Strategy),對更具體的細(xì)節(jié)感興趣的,可以閱讀 掃雷游戲有些什么技巧嗎??-?張砷鎵的回答?-?知乎(https://www.zhihu.com/question/19730159/answer/15836781)

[4]?Minesweeper and logical circuits (http://www.formauri.es/personal/pgimeno/compurec/Minesweeper.php)

[5]?要成為掃雷高手,先練好邏輯吧 - Albert_JIAO,果殼 (https://www.guokr.com/article/47846/)

[6]?Quad-Core Redstone Computer - YouTube(https://www.youtube.com/watch?v=SPaI5BJxs5M)

[7]?什么是P問題、NP問題和NPC問題(http://www.matrix67.com/blog/archives/105),以及怎么理解?P?問題和?NP?問題?-?知乎

[8]?布爾可滿足性條件 - 維基百科 (https://en.wikipedia.org/wiki/Boolean_satisfiability_problem)

[9]?Circuits, Minesweeper, and NP Completeness - Richard Carini (59.80.44.49/web.math.ucsb.edu/%7Epadraic/ucsb_2014_15/ccs_problem_solving_w2015/NP3.pdf)

[10]?S?R?Broadbent?and?J?M?Hammersly,Percolation?processes.?Proceedings?of?the?Cambridge?Philosophical,1957,53?:629-641.

[11]?Percolation - wikipedia (https://en.wikipedia.org/wiki/Percolation)

[12]?Minesweeper as a Constraint Satisfaction Problem - Chris Studholme (http://www.cs.utoronto.ca/%7Ecvs/minesweeper/minesweeper.pdf)

[13]?The?Minesweeper?game:?Percolation?and?Complexity?-?Elchanan?Mossel (https://pdfs.semanticscholar.org/0032/6ba639bf3895e90df80342658225c0b40991.pdf)

[14]?emoji - minesweeper - muan, github (https://github.com/muan/emoji-minesweeper)

[15]?看B站學(xué)物理:掃雷里的相變?-?梁昊,知乎(https://zhuanlan.zhihu.com/p/25488265)

>>熱門文章推薦<<


玩掃雷還有什么技巧?科學(xué)家的玩游戲方法你絕對想不到的評論 (共 條)

分享到微博請遵守國家法律
卢氏县| 库尔勒市| 江安县| 都兰县| 曲阳县| 饶平县| 北宁市| 浦江县| 新巴尔虎右旗| 孟州市| 焦作市| 四子王旗| 枣强县| 洱源县| 吉木萨尔县| 新化县| 湟中县| 盐津县| 玉树县| 北碚区| 吉隆县| 临洮县| 阿勒泰市| 观塘区| 大化| 淮北市| 菏泽市| 长岛县| 新民市| 尼勒克县| 万年县| 青岛市| 通辽市| 富蕴县| 喜德县| 新乡市| 财经| 扶风县| 乐亭县| 宁波市| 永兴县|