video游戏机器人和NPC是“人工智能”的程度如何?

维基百科说:

在电子游戏中,这通常意味着通过人工智能由计算机控制的角色。
〜https ://en.wikipedia.org/wiki/Non-player_character

在video游戏中,bot是一种弱的AI专家系统软件,对于程序的每一个实例来说,
〜https ://en.wikipedia.org/wiki/Video_game_bot

然而据我所知,这样的机器人和NPC太难以编码或者明确地编码以准确地称为“人工智能”。

主要是他们缺乏从玩家dynamic学习的能力。 亚瑟·塞缪尔(Arthur Samuel)把“人工智能”称为“ 使计算机没有明确程序地学习的能力的学习领域 ”(1959)。

那么,如果机器人和/或NPC被指定为“人工智能”(如果它们(或者它们的一个子集)),那么到什么程度呢?

人工智能是一个非常模糊的概念,没有明确的界限。 牛津英语词典只是将其定义为:

能够执行通常需要人类智能的任务的计算机系统的理论和发展,诸如视觉感知,语音识别, 决策以及语言之间的翻译。

随着时间的推移,“正常需要人类智力”的定义已经发生了变化。 显然,在人工智能的诞生过程中,从简单的加法向上的任何事情都需要人的智慧。 自从他们之后,门柱已经变得越来越复杂。 我强调了“决策”,因为对我来说这是NPC人为智能的最明显的例子。 在我看来,今天几乎所有的软件在OED描述的意义上都是人为智能的。

还要注意,在亚瑟·塞缪尔的时代,“学习”意味着与今天完全不同的东西。 塞缪尔指的是“专家系统”,通过使用基本逻辑推断来确定查询的答案。 当时这被认为是“学习”,因为答案并没有被硬编码到机器中。 计算机必须通过概括现有事实来学习答案。 今天,“学习”一般被认为是“数据的统计推断” – 一个完全不同的概念; 使用基本逻辑的符号操作被认为是“编程”。 30年来,“学习”可能意味着完全不同的东西。 “深度学习”已经重新定义了我们说一个程序“学习”了一个概念的意思。

包括(我们现在称之为)计算器的最早,最广泛的人工智能的定义。 这被细化为排除计算器,因为他们不能“教”如何执行新的计算。 然后,(我们现在所说的)计算机被发明出来,可以重新编程来执行任何可以想象的algorithm。 再次,我们排除了计算机的基础上,他们不能编程自己,但必须指示。 因此,我们假设一旦创建了一个可以自己完成任务的系统(就像这个可以学习玩某些经典的NES游戏的程序一样 ),我们就已经征服了AI。

机器学习是自己的高度发展的领域,但通常很难实施或很慢。 对于可以实时轻松运行的游戏来说,游戏经常会让游戏变得难以驾驭 。

所以为了保护我们自己的自我,我们把它称为定义的问题。

正如你已经从其他答案中猜到的那样,“人工智能”只是松散的定义,与智力没有多大关系。 就个人而言,我不会把学习作为调用AI的要求。

在人工智能中,共同的目标是产生合理的代理。 理性,因为理性可以被定义和实现,聪明不能。 合理性被定义为在给定可用信息的情况下做出最佳select来实现某个目标。 模型是一个“代理人”,一个接受某种感官input并能够行动的代理实体。 中间什么都可以是基于规则的硬编码系统,规划系统和机器学习。 一个代理可能是一个机器人(带有传感器的照相机,许多执行器的电机),一个安全系统,一个维基百科的机器人,一个扑克AI,或一个游戏NPC。

是的,NPC是人工智能,但重点是人为的而不是智力。

关于这个主题的一本很好的书是Russel和Norvig的“人工智能:现代方法” http://aima.cs.berkeley.edu/

作为一个在游戏领域以外从事人工智能应用的人,我可以告诉你,好莱坞说服人们AI应该是什么是完全错误的。 任何基于学习启发式的决策都是AI的应用。 所以被教导一些基本的游戏规则的机器人客观地被认定为人工智能。

传统上,游戏AI使用的规则集非常简单,并且是通过人工方式devise的。 然而,随着云计算的出现,我们开始看到复杂的游戏AI,它使用从大量现实世界玩家样本中收集的数据来生成许多人类可能从未想到的新规则。 Forza 5和Forza Horizo​​n 2的“drivatar”系统是我目前唯一可以提供的具体例子。 然而,据说EverQuest Next正在使用“emergent AI”,它也将在每个服务器的基础上使用数据挖掘来在每个服务器上建立独立的AI行为。