笨笨的AI:
int main (/* daviddr 081226 */) { int you, com, i,j=0, *k; t[9]={0},p[3]={0}; char* h = "剪刀\0石頭\0布"; char* r = "\n平手\0 \n電腦贏了\0\n妳贏了"; for (;;p[i]++, t[j*3+you]++, j = you) { cout <<"請輸入 (1=剪刀 2=石頭 3=布): "; cin >> you; you--; if (you<0 || you>2) break; k = t + j*3; com = *k>k[1] && *k>k[2]?1: k[1]<k[2]?0:2; cout <<"\nYou: "<< h +you*5; cout <<"\nCom: "<< h +com*5; i = (3+com-you) % 3; puts (r + 10*i); } }
也可將藏鬮視為 non-cooperative 的 zero-sum game,
由於沒有純粹的 Nash equilibrium,故採混合策略以同等機率出
scissors, rock, 或 paper 總獲益較大。
技巧方面:雖然佳士得採用「先出剪刀」策略,
贏得了橋山高吉名畫拍賣會主持權,但那是「一次」且偏理性的賽局。
多次情況下,可嘗試假設以 7+-2 局作為人腦 Memory cache 數,
在此有限記憶下,自行構思 game matrix 進行動態策略機率估算。
沒有留言:
張貼留言