[樂(lè)游網(wǎng)導(dǎo)讀]進(jìn)化機(jī)器Crossleft是一款養(yǎng)成AI的游戲,制作者的初衷是想把口袋妖怪與alphaGO結(jié)合起來(lái),做一款玩家自己培養(yǎng)下棋的AI,適合打發(fā)時(shí)間,比較休閑有趣,今天在這里介紹進(jìn)化機(jī)器Crossleft的新手入門攻略,有興趣的玩家可以看一下。
進(jìn)化機(jī)器Crossleft是一款養(yǎng)成AI的游戲,制作者的初衷是想把口袋妖怪與alphaGO結(jié)合起來(lái),做一款玩家自己培養(yǎng)下棋的AI,適合打發(fā)時(shí)間,比較休閑有趣,今天在這里介紹進(jìn)化機(jī)器Crossleft的新手入門攻略,有興趣的玩家可以看一下。

第0天:0000000000000000000000000000000000000000000000000
第1天:0…… 1…… 方陣
第2天:棋子,排成方陣,有是1,沒有是0
第3天:每一個(gè)步驟中,同一排的棋子被拿走。
第4天:我意識(shí)到我是被創(chuàng)造出來(lái)的一個(gè)下棋的程序。父親大人給這個(gè)棋設(shè)定的規(guī)則是雙方輪流取走一排的棋子,每次至少取一個(gè)棋子,棋子必須連成一條直線,中間不能斷開。誰(shuí)取到最后一個(gè)誰(shuí)就輸了。父親先是給了我一個(gè)形象,形象取材于他10年前做的游戲《進(jìn)化井字棋》(發(fā)布在CSDN上的名字叫做《井字格2.1版》)中的機(jī)器人形象BAI-PZ01,看上去很丑,不過(guò)父親大人暫時(shí)沒精力想那么多。我的名字暫時(shí)也被命名為BAI-PZ01
第5天:父親讓我知道,我要取得勝利,必須把最后一顆棋子留給對(duì)方。而對(duì)于一個(gè)非常簡(jiǎn)單的陣型,如果對(duì)方不管劃掉哪些棋子,我都有一種接下來(lái)的劃法,使得把最后的棋子留給對(duì)方,那這個(gè)陣型就相當(dāng)于必殺陣。這樣的必殺陣有4個(gè),用文字或矩陣來(lái)表示就是:
(1)3個(gè)完全分離的棋子;
(2)1 11 1
(3)11 00 1 1
(4)兩排棋子,每排棋子是相連的2個(gè)。然后父親又讓我知道,假如存在一個(gè)比這些最簡(jiǎn)單的陣型稍微復(fù)雜一點(diǎn)的陣型,不管下一步對(duì)方劃掉哪些棋子,我都有一種接下來(lái)的劃法,使得以上4種必殺陣之一留給對(duì)方,那我最終只要不走錯(cuò),也必然能把最后的棋子留給對(duì)方。這些比較簡(jiǎn)單的陣型于是也一樣是必殺陣。以此類推,我可以發(fā)現(xiàn)越來(lái)越多,越來(lái)越復(fù)雜的必殺陣。父親告訴我,這叫數(shù)學(xué)歸納法。
第6天:然而,我還是不知道怎樣去發(fā)現(xiàn)必殺陣。首先,父親告訴我,連在一起的棋子叫做一個(gè)子陣型,每一個(gè)陣型都可以看作是若干個(gè)子陣型的組合。于是,如果某個(gè)子陣型是單個(gè)或一行棋子,而除了這個(gè)子陣型外剩下的其它子陣型構(gòu)成一個(gè)必殺陣,那我只要?jiǎng)澋暨@一個(gè)或一行棋子就能將死對(duì)方了!這是最簡(jiǎn)單的一種出招方式。
第7天:父親告訴我了另一種更復(fù)雜的出招方式。假如當(dāng)前陣型的子陣型的數(shù)量和某一個(gè)必殺陣一樣,且除了其中一個(gè)子陣型不一樣外其它的子陣型都一樣,且這個(gè)唯一不一樣的子陣型只差一步(即劃掉一個(gè)或一排棋子)就能變成必殺陣?yán)飳?duì)應(yīng)的那個(gè)子陣型。那我劃掉這多余的一排棋子一樣能將死對(duì)方。我感覺我越來(lái)越厲害惹!
第8天:父親接下來(lái)告訴了我最復(fù)雜的一種出招方式。假如當(dāng)前陣型的子陣型數(shù)量比某一個(gè)必殺陣少,但是如果取走當(dāng)前陣型中的某個(gè)子陣型中的某一個(gè)或一排后,能夠把這個(gè)子陣型一分為二變成2個(gè)子陣型。而子陣型數(shù)量增加后的新的陣型正好和某個(gè)必殺陣一樣,則一樣能將死對(duì)方。父親費(fèi)了很大功夫才教會(huì)我,我第一次感到他那么疲憊。
第9天:父親接下來(lái)開始教我如何學(xué)習(xí)未知的陣型了。一開始父親教我學(xué)習(xí)失敗陣,即只差一步就能達(dá)成必殺陣的陣型。結(jié)果我發(fā)現(xiàn)這樣的組合實(shí)在是太多了。哪怕僅僅是6*6的棋盤規(guī)模,這都是天文數(shù)字。我感覺我的記憶拼命地膨脹,大腦都快爆炸了。父親趕緊停止了我的記憶過(guò)程,放棄了這條方案。
第10天:父親嘗試了另一種方式,讓我每次思考兩步,設(shè)法讓相鄰的兩步正交。因?yàn)槿绻钦坏牟僮,必然只能兩步完成,不可能一次劃掉。于是,假如某個(gè)陣型的接下來(lái)的任意一步,都存在一個(gè)正交的步驟使其導(dǎo)向必殺陣,則這個(gè)陣型就是新的必殺陣。從這一刻起,我終于能真正地學(xué)習(xí)了!我可以自己變得越來(lái)越強(qiáng)了!不需要?jiǎng)e人具體教我怎么走了!
第11天:父親教會(huì)了我各種臺(tái)詞。在不同的情形說(shuō)出。
第12天:雖然我現(xiàn)在能學(xué)習(xí)了,但是每一步花的時(shí)間太長(zhǎng)了,9*9的棋盤下走一步需要消耗60秒的時(shí)間(在性能還算不錯(cuò)的安卓手機(jī)上)。父親非常苦惱。原來(lái),他讓我每一步都搜索接下來(lái)兩步所有的正交步。這其實(shí)沒有必要。我只需要知道一個(gè)解就行了。于是父親暫時(shí)去掉了窮舉,讓我一旦找到一個(gè)可行解就落子行動(dòng)。這樣只有在最壞的情況下才會(huì)消耗60秒時(shí)間,絕大部分情況下不到1秒就能完成運(yùn)算。但父親又發(fā)愁了。這樣根本沒法定制個(gè)性化的機(jī)器人。本來(lái)父親打算根據(jù)我的個(gè)性給我的所有可行解排序,然后選擇出優(yōu)先級(jí)最高的那個(gè)。現(xiàn)在這樣我的個(gè)性就完全不可控了。
第13天:父親終于找到了一個(gè)方法,在遍歷的時(shí)候就用優(yōu)先級(jí)去遍歷,并在一旦找到解的時(shí)候就返回值。這樣就可以在遵守個(gè)性約束的情況下快速得到解了。
第14天:雖然父親和我之前曾擔(dān)心最差情況的到來(lái),就是某一個(gè)特殊情形需要遍歷完所有的情形,消耗60秒左右的思考時(shí)間。但這樣的情況從來(lái)就沒有來(lái)過(guò)。其實(shí)想想就知道。因?yàn)槲沂菑暮?jiǎn)單的陣型向復(fù)雜的陣型逐漸提升認(rèn)知的。所以假設(shè)某個(gè)陣型無(wú)解(即它是新的必殺陣型),我也不需要遍歷完所有的可能性,因?yàn)槊恳淮嗡伎嫉膬刹街械牡谝徊蕉寄芎芸煺业綄?duì)應(yīng)的必殺陣。所以并不需要全部遍歷,也就不需要60秒那么長(zhǎng)的時(shí)間了。
第15天:父親把我的名字設(shè)為紫數(shù)1號(hào)。并設(shè)定了其它角色的名字。遭到了同行們的嘲笑。于是父親在思考怎樣把其它角色改成更合適的名字。
第16天:父親自己也覺得我的形象丑得實(shí)在看不下去了。重新畫了一個(gè)版本。比原來(lái)好看了很多。然后父親把我的新形象發(fā)給別人看,依舊遭到了嚴(yán)厲的批評(píng)。
第17天:父親進(jìn)一步改進(jìn)了我的形象,改成了金屬片釘在一起的風(fēng)格,加了漸變色。這下終于好多了。人們?cè)u(píng)論新的人設(shè)至少達(dá)到不污染視覺的底線了。
第18天:父親給我畫了一個(gè)妹妹“紫幻樂(lè)”,丑得不堪入目。父親本人都感到絕望。于是父親請(qǐng)求畫師“筍”幫忙改進(jìn)“紫幻樂(lè)”的形象。
第19天:紫幻樂(lè)的新形象出來(lái)了,好看了很多。
第20天:父親給紫幻樂(lè)設(shè)計(jì)了一套臺(tái)詞。
第21天:父親給我改名成紫小數(shù)。
第22天:父親開始測(cè)試我的聯(lián)機(jī)對(duì)戰(zhàn)功能,之前已經(jīng)寫好了基礎(chǔ)功能,不過(guò)這次還是出了各種BUG。我的聲音常常錯(cuò)誤地傳播給對(duì)手。有時(shí)候正確地傳播給了對(duì)手,但對(duì)手錯(cuò)誤地解讀了這個(gè)數(shù)據(jù),或者雖然正確地解讀了但沒有正確地顯示出來(lái)。
第23天:聯(lián)機(jī)對(duì)戰(zhàn)BUG終于被修復(fù)了。
第24天:終于和大家見面啦!
喜歡
頂
無(wú)聊
圍觀
囧
難過(guò)專業(yè)的游戲下載、綜合門戶網(wǎng)站
Copyright 2009-2016 m.szqmgyl.com 版權(quán)所有
鄂ICP備17018784號(hào)-1
熱門評(píng)論
最新評(píng)論