让计算机思考?

引言:从一个简单的猜拳小游戏来窥探 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;
 }
}
}

确实对程序的整体运行模式有了更多的了解,计算机看上去不像个黑盒子了,在进行平常的电脑操作时,也许会深入到操作系统层面去进行思考,似乎多了一层看不见的东西
– 威少

发布了239 篇原创文章 · 获赞 78 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/weixin_39966065/article/details/104207013
今日推荐