成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Python實(shí)現(xiàn)AI五子棋

Yangder / 750人閱讀

摘要:可以說(shuō),每個(gè)評(píng)估函數(shù)就是一個(gè)選手,對(duì)不同的棋型每個(gè)選手自然有不同的看法和應(yīng)對(duì)措施,當(dāng)然他們的棋力也就因此各不相同了。方搜索最大值,人類(lèi)方搜索最小值。了解了上述原理之后,就可以自己寫(xiě)代碼實(shí)現(xiàn)了。

公眾號(hào):Charles的皮卡丘
作者:Charles

開(kāi)發(fā)工具:
Python版本:3.6.4
相關(guān)模塊:
graphics模塊。

環(huán)境搭建:
安裝Python并添加到環(huán)境變量即可。

原理簡(jiǎn)介:
對(duì)于五子棋這樣的博弈類(lèi)AI,很自然的想法就是讓計(jì)算機(jī)把當(dāng)前所有可能的情況都嘗試一遍,找到最優(yōu)的落子點(diǎn)。這里有兩個(gè)問(wèn)題:
(1)如何把所有可能的情況都嘗試一遍;
(2)如何定量判斷某落子點(diǎn)的優(yōu)劣。
對(duì)于第一個(gè)問(wèn)題,其實(shí)就是所謂的博弈樹(shù)搜索,對(duì)于第二個(gè)問(wèn)題,其實(shí)就是所謂的選擇評(píng)估函數(shù)。評(píng)估函數(shù)的選取直接決定了AI算法的優(yōu)劣,其形式也千變?nèi)f化??梢哉f(shuō),每個(gè)評(píng)估函數(shù)就是一個(gè)選手,對(duì)不同的棋型每個(gè)選手自然有不同的看法和應(yīng)對(duì)措施,當(dāng)然他們的棋力也就因此各不相同了。
但博弈樹(shù)搜索就比較固定了,其核心思想無(wú)非是讓計(jì)算機(jī)考慮當(dāng)前局勢(shì)下之后N步所有可能的情況,其中奇數(shù)步(因?yàn)楝F(xiàn)在輪到AI下)要讓AI方的得分最大,偶數(shù)步要讓AI方的得分最?。ㄒ?yàn)閷?duì)手也就是人類(lèi),也可以選擇最優(yōu)策略)。
當(dāng)然這樣的搜索其計(jì)算量是極大的,這時(shí)候就需要剪枝來(lái)減少計(jì)算量。例如下圖:

其中A代表AI方,P代表人類(lèi)方。AI方搜索最大值,人類(lèi)方搜索最小值。因此Layer3的A1向下搜索的最終結(jié)果為4,Layer3的A2向下搜索,先搜索Layer4的P3,獲得的分值為6,考慮到Layer2的P1向下搜索時(shí)取Layer3的A1和A2中的較小值,而Layer3的A2搜索完Layer4的P3時(shí),其值就已經(jīng)必大于Layer3的A1了,就沒(méi)有搜索下去的必要了,因此Layer3到Layer4的路徑3就可以剪掉了。
上述搜索策略其實(shí)質(zhì)就是:
minimax算法+alpha-beta剪枝算法。
了解了上述原理之后,就可以自己寫(xiě)代碼實(shí)現(xiàn)了。當(dāng)然實(shí)際實(shí)現(xiàn)過(guò)程中,我做了一些簡(jiǎn)化,但萬(wàn)變不離其宗,其核心思想都是一樣的。

視頻演示:
https://mp.weixin.qq.com/s/Y9...

源代碼:
關(guān)注公眾號(hào):Charles的皮卡丘,回復(fù)“AI五子棋”獲取。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41942.html

相關(guān)文章

  • BetaMeow----利用機(jī)器學(xué)習(xí)做子棋AI

    摘要:簡(jiǎn)言之,機(jī)器學(xué)習(xí)是內(nèi)功,而數(shù)據(jù)挖掘則是機(jī)器學(xué)習(xí)的一種用途。但本質(zhì)上是我在學(xué)習(xí)機(jī)器學(xué)習(xí)方面的實(shí)戰(zhàn)項(xiàng)目,所以我想辦法利用機(jī)器學(xué)習(xí)的方面的算法實(shí)現(xiàn)。 BetaMeow的起源 前段時(shí)間AlphaGo和李世石廣受關(guān)注,作為人工智能的腦殘粉,看完比賽后激動(dòng)不已,因?yàn)橛幸欢ǖ臋C(jī)器學(xué)習(xí)的基礎(chǔ),便打算擼一個(gè)棋類(lèi)的AI,但我還算有點(diǎn)自知之明,圍棋AI,甚至google打算做得通用AI是做不出的了,所以打算...

    bingchen 評(píng)論0 收藏0
  • python有趣的小項(xiàng)目匯總

    摘要:作者微信公眾號(hào)的皮卡丘歡迎大家搜索關(guān)注知乎圖像類(lèi)畫(huà)畫(huà)實(shí)現(xiàn)手寫(xiě)筆記的壓縮與增強(qiáng)實(shí)現(xiàn)簡(jiǎn)單的車(chē)牌檢測(cè)算法類(lèi)實(shí)現(xiàn)版貪吃蛇實(shí)現(xiàn)五子棋初版信息安全類(lèi)簡(jiǎn)單實(shí)現(xiàn)隱寫(xiě)術(shù)使用破解滑塊驗(yàn)證碼其他制作簡(jiǎn)易瀏覽器實(shí)現(xiàn)浪漫表白實(shí)現(xiàn)地理信息可視化簡(jiǎn)單分析高考數(shù)據(jù)制作簡(jiǎn)易 作者:Charles微信公眾號(hào):Charles的皮卡丘(歡迎大家搜索關(guān)注)知乎:https://zhuanlan.zhihu.com/p/... ...

    yiliang 評(píng)論0 收藏0
  • 練習(xí)項(xiàng)目備選清單

    摘要:練習(xí)項(xiàng)目備選清單文件下載器功能概要設(shè)計(jì)實(shí)現(xiàn)新建下載功能以為基礎(chǔ)給出下載鏈接可以啟動(dòng)下載任務(wù)實(shí)現(xiàn)局域網(wǎng)內(nèi)下載傳輸文件以單線程下載方式實(shí)現(xiàn)附加功能支持?jǐn)帱c(diǎn)續(xù)傳實(shí)現(xiàn)多線程下載實(shí)現(xiàn)下載參考技術(shù)套接字編程多線程編程音視頻播放器功能概要設(shè)計(jì)實(shí)現(xiàn)播放常見(jiàn) 練習(xí)項(xiàng)目備選清單 Utilities 1. 文件下載器 功能概要設(shè)計(jì): 實(shí)現(xiàn)新建下載功能(以ftp為基礎(chǔ)) 給出下載鏈接可以啟動(dòng)下載任務(wù) 實(shí)現(xiàn)局...

    guyan0319 評(píng)論0 收藏0
  • 練習(xí)項(xiàng)目備選清單

    摘要:練習(xí)項(xiàng)目備選清單文件下載器功能概要設(shè)計(jì)實(shí)現(xiàn)新建下載功能以為基礎(chǔ)給出下載鏈接可以啟動(dòng)下載任務(wù)實(shí)現(xiàn)局域網(wǎng)內(nèi)下載傳輸文件以單線程下載方式實(shí)現(xiàn)附加功能支持?jǐn)帱c(diǎn)續(xù)傳實(shí)現(xiàn)多線程下載實(shí)現(xiàn)下載參考技術(shù)套接字編程多線程編程音視頻播放器功能概要設(shè)計(jì)實(shí)現(xiàn)播放常見(jiàn) 練習(xí)項(xiàng)目備選清單 Utilities 1. 文件下載器 功能概要設(shè)計(jì): 實(shí)現(xiàn)新建下載功能(以ftp為基礎(chǔ)) 給出下載鏈接可以啟動(dòng)下載任務(wù) 實(shí)現(xiàn)局...

    peixn 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<