引言:從一個簡單的猜拳小遊戲來窺探 AI,人們對於 AI 的認知是從什麼角度出發的?又是從什麼角度對自己來認知的?
–本文參照於《程序是怎麼跑起來的》
AI
Artificial Intelligence(英 [ˌɑːtɪˈfɪʃl]人造的 | 英 [ɪnˈtelɪdʒəns] 智力 )
整體思路
1:直覺 、想法 、
2:習慣 、 概率
3:經驗 、通過結果進行預測
4:思考方式 、
思考方式是思考方法
的節奏。人類大腦中有類似於“石頭、石頭、布、剪刀”或“剪刀、石 頭、石頭、布”這種具有節奏感的短語,人類會在此基礎上做出判斷,
這就是思考方式。
#include <stdio.h>
#include <stdlib.h>
void main() {
// 表示思考方式的 2 維數組
int pattern[2][4] = { { 0, 0, 2, 1 }, { 1, 0, 0, 2 } };
// 連續輸的次數
int lose = 0;
// 用來切換思考方式的變量(0 和 1 之間切換)
int p = 0;
// 根據思考方式決定出拳信息
int n = 0;
// 對手的出拳
int human;
// 計算機的出拳
int computer;
// 設定隨機數的種子
srand(time(NULL));
// 重複猜拳
while( -1 ) {
// 對手決定出拳信息
printf(" 石頭剪刀 (0= 石頭,1= 剪刀,2= 布,其他 = 退出遊戲)...");
scanf("%d", &human);
printf(" 布 \n");
// 輸入 0、1、2 以外的數值時遊戲結束
if(human < 0 || human > 2) break;
// 計算機決定出拳信息
computer = pattern[p][n];
n = (n + 1) % 4;
// 輸出計算機的出拳信息
if (computer == 0) {
printf (" 計算機的出拳是:石頭 \n");
} else if( computer == 1 ) {
printf (" 計算機的出拳是:剪刀 \n");
} else {
printf (" 計算機的出拳是:布 \n");
}
printf("\n");
// 記錄計算機連續輸拳的次數
if ((human == 0 && computer == 1) ||
(human == 1 && computer == 2) ||
(human == 2 && computer == 3)) {
lose ++ ;
} else {
lose = 0;
}
// 連續輸拳時變換思考方式
if (lose >= 2) {
p = (p + 1) % 2;
n = 0;
}
}
}
確實對程序的整體運行模式有了更多的瞭解,計算機看上去不像個黑盒子了,在進行平常的電腦操作時,也許會深入到操作系統層面去進行思考,似乎多了一層看不見的東西
– 威少