1. 程式人生 > >在寫德州撲克AI的時候想到的一種實現模糊決策的方法

在寫德州撲克AI的時候想到的一種實現模糊決策的方法

目前的AI決策方式是線性的,給定了一個條件X,代入一條曲線獲得一個Y後直接作為決策值。略略靈活一點的,從兩條曲線中取得兩個值Y1,Y2,然後隨機從兩者中間的區域中取得一個值。
但是,這樣做會使AI表現出非常明顯的“邊界”,與AI交流能夠明顯的感覺的AI的限度在哪裡。感覺會比較“僵硬”。原因在於人類的決策過程並沒有這種邊界。當我們面對某一個條件X的時候,我們的決策“曲線”應該是這個樣子的
如圖,人類的決策沒有明顯的邊界,所以看起來非常的模糊。模糊處理貌似是一個非常普遍的,在AI領域研究的比較多的內容。 我最近也一直在想如何能夠實現這種模糊決策邏輯。最近忽然想到它既然能被表示成模糊的影象,為何不直接使用影象。 這種思路是從一張圖片開始,為了簡單,我們假設是一張32*32的圖。
我們假設左下角為0點,橫向為X縱向為Y。將這個圖片讀到計算機裡面,讀取每一個畫素的紅色色值,組成一個32*32的矩陣。矩陣橫向表示條件引數X,縱向表示Y值可能的概率分佈。 這樣對應與每一個X值,我們都能夠獲得一個數列。在這個簡單的例子裡面,我們假設X=18,獲得下面這樣一條曲線。

這個曲線中,橫座標表示可能取到的Y值,縱座標表示一個與Y值出現的概率成正比的數值,我們姑且稱之為F(Y). 假設對圖上這一系列離散的點進行求和得到的值為Σ,那麼Y的概率分佈函式P(Y)就可以表示為P(Y)=F(Y)/Σ。我們暫且不管他,就直接用這個F(Y)。我們把這些數值拼接在一起,並且記住每一個F(Y)所對應的Y值。
上面的餅圖很好的說明了這種操作,這個餅一週的刻度是Σ即3009,右邊的顏色表表明瞭餅上面每一個顏色區域表示的Y值。接下來的工作就所剩無幾了。我們沿順時針方向隨機一個0~3009之間的數值,你會發現這個隨機過程恰恰滿足了我們所要追求的P(Y)概率分佈函式。 這樣,經過切片,排序,隨機這三個過程,我們就從一個給定條件X獲得了一個“模糊”的Y值。這種方式遠遠比用包絡線來定義上下界要科學的多,我想如果用這種原理構建AI的決策系統,必然會讓其非常的靈活,自然又不失規律性。