※ 引述《PlanktonEvil (邪惡皮老闆)》之銘言:
: 圍棋的AI確實不難寫阿! =.=a
: 只是電腦計算能力有限,要幫電腦判斷分析哪些路徑是比較重要的,
: 而那就是人類把自己的一些經驗傳給電腦,好增加電腦的分析效率。
: 所以如果讓職業棋手先分析某個棋手的下棋習慣,
: 讓職業棋手指導電腦分析各路徑的權重應該怎麼分配,
: 電腦就可以學會怎樣更有效率的計算路徑,然後去下贏某個特定棋手。
: 我覺得真正難寫的AI反而是難以被量化的東西,所以電腦視覺的AI進步的很慢,
: 要讓電腦學會生物視覺的分辨能力,這種小貓小狗都能辦到的能力,才是最複雜的,
: 反而那種不見的是每個人都會下的圍棋,要寫一個下贏初學圍棋者的AI,
: 就容易非常多了,至少程式設計師知道問題在哪裡,該怎麼去改善,
: 但是電腦視覺的AI... 連怎麼著手,可能都不太知道...
之前我說圍棋跟圖形辨識很像的原因就在這邊
例如說一個簡單的死活題
若白下於A點,黑必死
若黑下於A點,則活
┌┬○●┬┬┬
A┼○●┼┼┼
├○○●┼┼┼
○○●●┼┼┼
●●●┼┼┼┼
├┼┼┼┼┼┼
├┼┼┼┼┼┼
├┼┼┼┼┼┼
一般而言,學到上面那個基本型
不論是在實戰中學的,或是別人教的
就應該能自動推演出下面這幾種
┌┬○●┬┬┬
A┼○●┼┼┼
├○┼●┼┼┼
○○●┼┼┼┼
●●┼┼┼┼┼
├┼┼┼┼┼┼
├┼┼┼┼┼┼
├┼┼┼┼┼┼
┌┬○●┬┬┬
A┼○●┼┼┼
├○●┼┼┼┼
○○●┼┼┼┼
●●┼●┼┼┼
├┼┼┼┼┼┼
├┼┼┼┼┼┼
├┼┼┼┼┼┼
┌┬○●┬┬┬
A┼○●┼●┼
├○┼┼┼●┼
○○┼●┼┼┼
●●┼●┼┼┼
├┼┼┼┼┼┼
├┼┼┼┼┼┼
├┼┼┼┼┼┼
┼┼┼┼┼┼┼┼┼┼
┼┼┼○┼○○┼┼┼
┼┼○●┼┼┼○┼┼
┼○●┼●●┼○○┼
┼┼○●┼┼●┼┼┼
┼○┼●┼┼●○○┼
┼○┼●┼●┼●┼┼
┼┼●┼●┼○○○┼
┼○○●○○┼┼┼┼
┼┼○┼○┼┼┼┼┼
┼┼┼┼○┼┼┼┼┼
其餘略
「人」會把這個棋型的特徵給識別出來
把不重要的資訊給忽略掉
然後會記住,單一個五空格的眼中,點A點必死
旁邊長怎麼樣沒差,只要旁邊做不出眼,怎麼排都一樣
但是AI嘛.....
得先教它去把特徵抓出來
雖然,要專門寫個演算法去判斷這個棋型很簡單
但是.....
看一下裡面的題庫
http://www.weiqiok.com/asp/ShowAllProblems.asp
嗯.... 到底該怎麼去抓每種棋型的「特徵」?
總不可能一種一種的特別去寫吧?
在中段以上的對弈中,下棋不會下出死活題
而是早在好幾步前就算出.....
「如果我下那一步,就會被點A殺死一大片棋」
所以會避開那種棋部
所以在出現那種棋型之前,就得判斷出來了
有點像是
我拿出幾張「花」的圖片
這裡面有向日葵、玫瑰花、薰衣草花、鬱金香、九重葛
教一個小朋友說「這是花花」
當我拿出一張「百合花」時
小朋友也要回答出「這是花花」
即使一開始給他看的圖中,沒有「百合花」的圖片也一樣
雖然
象棋、西洋棋中也有這種狀況
但是麻煩的地方在於,合法的棋步太多
而且單子的威脅比象棋跟西洋棋還難以判斷
還有,剛剛去抓了GUN GO的圍棋來下
我認得這個AI的下棋模式,之前抓來的軟體就是這種下法
只要包AI的棋包的緩一點,就可以吃掉AI的大龍了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.134.248