有时候需要以机器的方式思考问题

来源:互联网 发布:网络摄像头客户端下载 编辑:程序博客网 时间:2024/05/19 12:41

以机器的方式去思考问题,不就成了 机械化思考么?倒也没错,就是机械化思考,不过机械化并不等同于僵化。

随着技术的越来越进步,现在的机器已经能帮人类完成越来越多的问题,从加减乘除的简单计算,到飞至火星上去完成的自动探测等等等等,所有这些问题的解决无不应归功于机器。不过机器虽然能够解决如此量大类多的问题,但就目前来看,它们还不能像人类那样的去思考,去演绎归纳。

上面这些问题的解决,均是因为强大无比的人类为其设定了某些个算法,机器循此算法替人类完成解决问题的任务。机器所能做的仅仅是按照算法的框框去遍厉,去判断和去循环。呵呵,这样看来,把机器看成是人类的奴隶也不为过。

为了高效率的利用机器,人类首先的也是最重要的就是尝试设计种种简单的或者复杂的算法。那人类在进行这种尝试的时候,应该如何去思考呢?

假如不打算交给机器去做,那人类自己可能就依靠自己的“感觉”去完成问题。比如,要求两个处于任何相对位置的矩形的覆盖面积,这里我们为了简单点,先假定两个矩形的边都是平行于X轴或者Y轴的,这两个矩形或者相互分离,或者相互交叉,或者相互包含。对于这样一个问题,人类的“感觉”就告诉自己要首先判断两矩形的相对位置,即先判断出或分离,或交叉,或包含,然后在依不同情况计算出如下阴影部分的覆盖面积:

但是机器不行,机器没办法聪明到像人类那样去演绎归纳出不同的相对位置,正如前面所说,他们只能完成遍历,判断和循环,那怎么办?除非人类能够顺着机器的脾气给他提供由遍历,判断和循环等基本功能组成的算法,否则,机器就没办法解决这样的问题。一个可行的符合机器脾气的算法思路可能就是分成数个小块矩形来求,大体思路像这样:

a,先在x轴和y轴上求出合适的小块矩形的长和宽,使用的方法可能是求数个长度的最小公约数;

b,然后在x轴和y轴两个方向上去遍历,从而以求得这样的小块的个数;

c,最后将小块个数和小块面积相乘即可得到最终的结果。

对于由以上三步组成的算法来说,机器是完全可以明白的,也就是说机器完全可以组合遍历,判断和循环去完成这些步骤得出最终结果。所以这里成功的关键是人类要从机器的角度去思考,替机器找出这样“机器可行”的方法,而达到此目的关键也许就是人类要时刻牢记自己也仅仅能够遍历,判断和循环,呵呵,未免有些可笑。

另外,随着技术的发展,也许不久的将来,机器就能够像人类那样去做演绎和归纳,达到一定的智能程度。这里给出一种方法,权当是脑力激荡,:),这个方法依赖于颜色的识别(呵呵,当然,机器是能够区分不同的颜色的):

a,在机器自己的大脑中(即内存中)依据读入的四点坐标画出两个矩形;

b,机器在这两个矩形中填入一种稍浅点的颜色,比如就是浅灰色,这样显然的,如果有交叉或者包含,那交叉部分或者被包含部分就会有更深一点的灰色,即深灰色;

c,依据颜色的识别从一个更大的矩形(即能包含这两矩形的更大矩形)的边界处开始向内逼近,看能不能找到有深灰色的矩形,如果不能找到,两矩形的面积之和就是最终结果,否则将两矩形的面积之和减去深灰色矩形的面积就是最终结果。

显然吧,这些个步骤机器能自己完成么?当然能,他能画矩形,能填充颜色,也能识别颜色。呵呵,这样机器就能够通过自己的演绎和归纳识别出两矩形的不同相对位置,进而求出覆盖面积。这时候,人类就省心了,我们只需要喂给他构成两矩形的四个点坐标即可。

 

原创粉丝点击