【发布时间】:2020-05-10 12:06:00
【问题描述】:
我是一名计算机工程专业的学生,但我一生中从未编程过(我只学过物理、运筹学、数学等),但我正在学习一些逻辑(命题,一阶,模糊和时间逻辑)。我已经读过人工智能中使用了逻辑,但究竟如何呢?比如说,你是用编程逻辑编程机器人还是什么?
【问题讨论】:
标签: logic artificial-intelligence
我是一名计算机工程专业的学生,但我一生中从未编程过(我只学过物理、运筹学、数学等),但我正在学习一些逻辑(命题,一阶,模糊和时间逻辑)。我已经读过人工智能中使用了逻辑,但究竟如何呢?比如说,你是用编程逻辑编程机器人还是什么?
【问题讨论】:
标签: logic artificial-intelligence
是的,我们有。基本上,机器人只不过是浪费的金属,除非它们能够做某事,这可能包括移动、感知外部世界等。这意味着就像人类一样,就像你自己一样,机器人也有来自外部世界的信息。
您可以看到、听到、触摸、闻到和品尝事物。外部世界的信息就是这样进入你的神经系统的。你的大脑必须处理这些信息并将冲动转化为思想。
机器人也会发生类似的情况。让我们假设一个机器狗,它必须四处走动并守卫给定的区域。
现在,这只狗必须对要保护的区域有一个准确的逻辑定义,它定义了它的工作领域。此外,狗必须实时感知运动(可能使用相机和声音传感器),热传感器和化学传感器也不会受到伤害。现在,无论对这只机器狗应用什么传感器,它都能将运动感知为事件,并且必须实时区分以下类型的运动:
它必须应用逻辑才能做出这种区分,如果它恰好是敌对运动,那么狗必须守卫领土,所以,如果运动在领土之外是敌对的,机器狗需要保持关注它。如果给定的动作具有严重的威胁性,那么机器狗将不得不保护自己,即使在明确定义的工作领域之外。如果敌人在要保护的领域内,那么即使动作只是轻微的威胁,狗也必须采取行动。
所有这些行为都需要逻辑,我们可以将逻辑应用于其他无生命的对象的唯一方法是对其进行编程。通常我们应用源代码来编写这样的行为,尽管源代码可能非常抽象,但最终它最终成为机器代码,它以二进制为基数进行操作,特别是因为二进制形式的数字由位(可能是 1 或 0)组成,因此我们可以将逻辑应用于任何事物。
即使是电路也有logic gates,这就是我们可以编程所需行为的方式。
当然,我们编程的方式并不是唯一可能的方式,我们人类也被 DNA 编程,考虑到我们的属性,甚至我们的固有行为。我们发展个性的事实只是我们有限的能力之上的一层。
因此,我们打算实现的任何行为都需要定义。定义需要逻辑。逻辑可以通过电路和/或源代码进行编程。
至少在编程时,目前不能绕过二进制逻辑(除非使用量子计算机,但我们暂时忽略它)。当然,也可以应用模糊逻辑。让我们想想perceptrons,让我们想想机器人试图从像素马赛克中读取文本的例子。图像可能是模糊的,文本可能是任何角度、任何大小。我们的机器人仍然需要阅读文本,因此,它需要区分 A 和 H。如果它看到这个怎么办:
. .
. .
. .
. .
. .
...................
. .
. .
. .
. .
. .
是H还是A?它不是完美的 H,也不是完美的 A。它介于两者之间。因此,我们的机器人将需要查看这个字母距离 A 或 H 有多远,然后选择更近的一个。现在,我们的狗可能会通过感知器感知图像,并且必须区分强盗和鹦鹉。应用模糊逻辑以确保狗机器人正确。然后,在任何情况下,都需要进行逻辑处理,以确保狗在其感知到的任何情况下都具有适当的行为。我们可以通过编程将逻辑应用于其他无生命的对象。所以,如果你想定义机器人的行为,你可能想学习编程。
【讨论】: