计算机是一种计算机器,可以用于处理数据,无法量化的事物就不能用计算机来处理。因此,跟程序算法一样,发出指令的人也需要比以前更懂得进行量化。那么,应该怎样去进行量化呢?
现在需要设定一个能让机器人过马路的程序算法。算法的出发点设定为:判断能否过马路。
要思考如何判断能否过马路的话,需要考虑两点,“需要获得什么信息”和“如何进行量化”。
首先,思考一下“需要获得什么信息”。我们列举出所需的信息,需要走过的马路的距离应该是必要的。另外,过马路的前提是需要有信号灯的信息。
除此以外,过马路还与路面的情况相关,也需要知道天气的信息。此外,是否有车或有人,要过马路的人的密集程度等,似乎都需要考虑。
现在我们已经列举出道路的宽度、信号灯的信息、路面的情况、天气、是否有车或人、人流密集程度等必要的信息。
接下来尝试思考,这些信息能够怎么量化?首先,我们想一想道路的宽度,要怎样量化呢?
肉眼就能够大致判别,但机器人无法以人的判断方式来判断。虽然不清楚道路实际的构造,但大体来说有两个方法。
一种方法是事前存入数据,即提前把道路的宽度作为数据保存在机器人里面。另外,也可以通过GPS等方式辨识现时的所在地,结合这些信息去识别道路的宽度。
另一种可以考虑的方法是,每次进行测量。虽然机器人视觉功能的水平有所不同,但应该可以通过用摄像头拍下道路的照片,利用图像识别技术计算出距离。当然,这需要同时具备能够通过图像信息测算距离的程序。如果能够对马路的黑白条纹进行计数,也可以通过这个数字测算出距离。又或者,可能还有通过发出电波或超声波,根据接收反射波的时间算出距离等手法。
如上所述,即便是能够找出所需的各个要素的信息,在此基础上还要思考对这些信息如何进行量化。我们梳理一下到目前为止所了解的内容。
1. 找出所有必要的信息(对象)
2. 思考能够对每个信息进行量化的方法
1. 找出所有必要的信息(对象)
计算机本身是不知道应该参照哪个信息的,因此,要仔细罗列出人是通过什么信息进行判断的。
反过来说,在这一步如果有些要素没被罗列出来,就难以让计算机为我们做事了。也就是说,关键在于人所凭借的感觉或经验能否作为信息具体表现出来。
2. 思考能够对每个信息进行量化的方法
对罗列出来的每个信息,要思考如何进行具体的数值化。流程如刚才的例子,有两种方向,即一开始就存入数据,或者每次都进行测量。
后者有可能随着传感器技术的发展而进一步进化。
对于道路的宽度,人看一眼就能大致估算,但如果给计算机的指令是“请看看然后尝试判断能否过马路……”,计算机是无法运作的,指令要详细到具体是看什么、如何去判断的程度。
练习题
接下来,我们思考一下信号灯的问题。请思考,对于那种不显示剩余时间的信号灯,怎样做才能知道绿灯剩余几秒呢?获得哪些信息会有帮助呢?另外,那些信息可以怎样进行量化呢?
解答
要把绿灯的剩余时间进行量化,实际上很难。能有所帮助的是,参考人是怎样进行判断的。那么,我们是怎样判断的?
一方面,“有多少人在过马路”似乎可以作为判断材料。如果有很多人在过马路,那么可以推测是刚刚变为绿灯;如果有不少人在快速赶着过马路,那么应该可以判断快要变成红灯了。
另外,也可以用同样的思路,确认一下与马路交叉侧的道路交通状况。交叉侧的道路是红灯、车刚停下来,还是可能马上变成绿灯的情况,也可以根据这些信息进行综合判断。
如上所述,我们可以想象通过瞬时取得各种信息来进行判断,但要把这些信息转为数据,则是难度非常高的事。
还有,在没有人的情况下应该如何判断,这还需要另外考虑。必须给这个“综合判断”分步骤,这正是信号灯剩余时间量化的难点所在。
另一方面,如果是以保证能够过马路为目的,虽然需要花点时间,但如果按照以下的步骤操作,就可以进行判断。
1. 一开始,刚刚到达斑马线时,即使是绿灯也不过马路
2. 下一次绿灯还是不过马路,而是测量绿灯有几秒
3. 通过第2步知道了绿灯的持续时间,再结合道路的宽度和自身的步行速度判断,如果能在绿灯持续时间内过完马路,那就过马路
STEP UP!
道路的宽度、信号灯的信息、路面的情况、天气、有没有车或人、人流密集程度等,在这些最开始罗列出来的信息中,我们已经选了道路的宽度、信号灯的信息来思考量化的方向性,而事实上其他信息也是需要量化的。
现在尝试具体考虑路面的情况。假设分为结冰、有积雪、有积水、一般情况四种状态。那么请思考一下要判断“结冰”的话,需要哪些信息?路面的温度、水量、摩擦系数等可以作为备选信息。另外,还有一个需要提前定义的是基准。在获得数据之后,根据什么来判断是结冰状态,这就需要提前制定基准值。
关于有没有车或人,单单判断有或没有,是没有意义的。在很远的地方有车或有人,与过马路没有关系;远距离的车或者人,也关系不大。至少要对距离和方向(向哪个方向前进)进行量化。而且,对于数量也要有所斟酌,因为在车或人的数量不同的情况下,判断也会发生变化。
大家要知道,像这样仅仅是想让机器人过马路,也需要各种各样的信息。而且,信息如何获取、如何计算,实际上都需要进行恰当的设计。
光是让机器人过马路,就需要考量这么多的问题。如果是自动驾驶,其复杂程度和难度肯定高得多。而事实上,这种难度高又复杂的事情,正逐步被应用到实际生活中。
这种量化的思路,将会成为今后迈进新世界的基础,大家一定要掌握好。
小结
√ 计算机需要数据
√ 无法数据化的事情,就借助不了计算机的力量
√ 要点是信息的全面罗列以及具体的量化方法
√ 细致罗列出人的思考方法是关键
√ 现在能否在这个时代立足,就取决于能否进行量化