我是一名计算机工程专业的学生,但在我的生活中我从未编程过(我只学习过物理、运筹学、数学等),但我正在学习一些逻辑(命题、一阶逻辑、模糊逻辑和时态逻辑)。我读过这种逻辑在人工智能中的应用,但它到底是如何实现的呢?你会编程吗,比如说,有编程逻辑的机器人吗?
发布于 2020-05-10 12:37:03
是的,我们有。基本上,机器人只不过是浪费掉的金属,除非它们能够做一些事情,比如移动、感知外部世界等等。这意味着,就像人类一样,就像你一样,机器人也有来自外部世界的信息。
你看,听,摸,闻,尝东西。外部世界的信息就是这样进入你的神经系统的。你的大脑必须处理这些信息并将冲动转化为思想。
类似的事情发生在机器人身上。让我们想象一下,作为一个例子,一只机器人狗,它必须移动和守卫一个给定的区域。
现在,这只狗必须对要保护的区域有一个精确的逻辑定义,这就决定了它的工作范围。此外,狗必须实时感知运动(可能使用相机和声音传感器),热传感器和化学传感器也不会受到伤害。现在,无论什么传感器应用到这只机器人狗身上,它都将运动视为事件,并必须实时区分以下几种类型的运动:
它必须运用逻辑来区分这一点,如果它碰巧是敌对运动,那么狗必须保卫领土,所以,如果运动在境外是敌对的,那么机器人狗就需要注意它。如果给定的动作具有严重的威胁性,那么机器人狗将不得不保护自己,即使是在明确界定的工作范围之外。如果敌人是在领土内保护,那么狗将不得不采取行动,即使动议只是轻微的威胁。
所有这些行为都需要逻辑,而我们可以将逻辑应用于否则没有生命的对象的唯一方法是对其编程。通常,我们应用源代码来对这些行为进行编程,尽管源代码可能非常抽象,但最终它是机器代码,它以二进制基的数字操作,特别是因为二进制数字的二进制形式由位(数字可能是1或0)组成,所以我们可以将逻辑应用于任何东西。
即使是电路也有逻辑门,这就是我们如何编程所期望的行为。
当然,我们编程的方式并不是唯一可行的方法,我们,人类也被DNA编程,考虑到我们的属性,甚至我们固有的行为。我们发展个性的事实仅仅是我们有限的能力之上的一层。
因此,我们想要达到的任何行为都需要一个定义。定义需要逻辑。逻辑可以通过电路和/或源代码来编程。
二进制逻辑现在不能通过(除非一个人使用量子计算机,但现在让我们忽略它),至少在编程时是这样。当然,模糊逻辑也可以应用。让我们考虑一下感知器,让我们考虑一下机器人试图从像素拼接中读取文本的例子。图像可能是模糊的,文本可能在任何角度,任何大小。我们的机器人仍然需要阅读文本,所以,它需要区分A和H。如果它看到这个:
. .
. .
. .
. .
. .
...................
. .
. .
. .
. .
. .是H还是A?它不是一个完美的H,也不是一个完美的A,它介于两者之间。因此,我们的机器人需要看看这封信离A或H有多远,然后选择一个更近的字母。现在,我们的狗可能会通过感知器感知图像,并且必须区分强盗和鹦鹉,例如。将模糊逻辑应用于狗机器人的设计中,保证了机器人的正确性。然后,在任何情况下,逻辑处理是必要的,以确保狗有正确的行为,无论它认为。我们可以通过编程将逻辑应用于其他无生命的对象。所以,如果你想定义机器人的行为,你可能想学习编程。
https://stackoverflow.com/questions/61711686
复制相似问题