讓計算機思考?

引言:從一個簡單的猜拳小遊戲來窺探 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;
 }
}
}

確實對程序的整體運行模式有了更多的瞭解,計算機看上去不像個黑盒子了,在進行平常的電腦操作時,也許會深入到操作系統層面去進行思考,似乎多了一層看不見的東西
– 威少

發佈了240 篇原創文章 · 獲贊 91 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章