奶奶的机器人九号
繁体版

第十四章.大头机器人艾久的走路算法

    今天是休息日,林久浩在学校宿舍与几个兄弟解决程序的问题,丁琪琪在家里倒腾艾久三号。

    “哥。哥。哥。。。老哥。。老哥”林久浩的微信跳出丁琪琪的微信信息。

    “怎么了,琪琪”林久浩。

    “我做好地图了,你把地图输进去吧,这样艾久就可以在屋里行走了”丁琪琪。

    “是按照平面坐标系做的吗?就是所有路径是按照坐标点标识出来的?”林久浩。

    “是呀,我把客厅中心作为原点标注的,怎么样?”丁琪琪。

    “客厅中心,怎么样个头,这么标注就有房间在负的象限里了”林久浩。

    “不行吗?”丁琪琪

    “可以呀,行走无所谓,距离都可以计算,不过风水不好呀!”林久浩。

    “风水,我们伟大的科技人员要这么迷信吗?”丁琪琪。

    “你想让奶奶住在负的象限里面?嗯?”林久浩。

    “啊,那你说怎么标原点?”丁琪琪。

    “二维坐标正象限只有第一象限,为了方便象限方向与图纸重合,西南角那个点作为原点吧”林久浩。

    “西南角,原点,艾久到不了,是桌子”丁琪琪。

    “谁说原点就必须能够到达,艾久的休息点,也是初始点在充电点,没有必要必须是原点”林久浩。

    “哦,我标尺按照一分米可以吗?一分米为一个单位,这样充电的地方就是南边靠墙,坐标(5,20)”丁琪琪。

    “可以,你干吗哪?”林久浩。

    “我正在改哪,改完了,而且标注了充电点(5,20)”丁琪琪。

    “你手好快呀!”林久浩。

    “虽然充电点有了,但是,需要奶奶手动充电”丁琪琪。

    “这就要麻烦奶奶了,每次要充电的时候,让艾久提醒奶奶”林久浩。

    “能自动提醒吗?程序里有设置吗?”丁琪琪。

    “这是电源驱动的管理模块里面自带的功能,对了,你可以编辑充电提醒用什么话,例如。。。艾久饿了!艾久饿了!”林久浩。

    “哦,这么简单就解决了,编辑一下,琪琪大人救命呀,哈哈哈”丁琪琪。

    “算了,忘了我说的话吧,你还是别编辑了”林久浩。

    “哥,充电点标注了,其他怎么做”丁琪琪。

    “琪琪,你要知道一个原理,就是艾久在屋里走,需要标注它的路径点,这些路径点是艾久走路的计算依据”林久浩。

    “哥,我没有太明白,你再讲解一下”丁琪琪。

    “好的,比如艾久现在在充电点(5.20),它要去厨房的最深可到达处”林久浩。

    “厨房最深可到达处,这里坐标(10,150),差不多吧,是不是不要太紧凑,还要保留一些空余空间”丁琪琪。

    “对呀,你还要把橱柜部分排除,艾久可爬不上橱柜”林久浩。

    “好了,就(12,145)吧,直接定位目标点,出发”丁琪琪。

    “不行,慢,停,不能这么做,你要先做出从充电点到屋子门口的点,然后再做出从门口到厨房口的点,然后再做出到厨房深处的点,把这些点标为ABCD”林久浩。

    “为什么?”丁琪琪。

    “然后给艾久输入一条路径,叫去厨房深处,然后这个行走动作指向路径策略ABCD”林久浩。

    “这么复杂?”丁琪琪。

    “对,而且还不止这些点,如果去别的房间还需要增加点,比如客厅你需要停留的地方都是标注点,在你的地图上会有ABCDEFGH....不够用就A1B1,一堆点”林久浩。

    “干什么?”丁琪琪。

    “例如,你要让在充电点的艾久去客厅,艾久会记忆自己在A点,然后用坐标计算跳点路径ABCF”林久浩。

    “不能直接去吗?”丁琪琪。

    “不能,因为这些跳点让艾久规避了障碍物,例如墙体和门框等,如果走两点直连线会撞上的”林久浩。

    “不是有雷达吗?避开障碍物”丁琪琪。

    “嗯,确实,考虑到雷达避开障碍物的功能,你的跳点之间的连线都不能距离障碍物太近,否则就停下来了”林久浩。

    “哦,就是艾久是靠跳点计算路径的,如果去奶奶屋里,它会计算一条最短的跳点路径”丁琪琪。

    “是的,不一定是最短的线,是最短的路由,我们把这个叫路由”林久浩。

    “那。。艾久怎么走到跳点呀?我现在把跳点都标注完成了,三十几个,每一个屋子都有驻足点”丁琪琪。

    “好的,不过我们在这里需要说明一下,所谓的驻足点、跳点和路径点都是一个概念”林久浩。

    “知道了,我就是这么理解的,所以我设计的这些点就是为了行走用的”丁琪琪。

    “琪琪,你是一个嘴上傻乖,手底飞快的大聪明,这里需要你做一件事情,我做一件事情”林久浩。

    “谢谢夸奖,一共两件事情,都哪两件事情”丁琪琪。

    “第一件事情,建立一套算法,就是艾久所在跳点,到达下一个跳点的路途到达算法,根据你的二维坐标,例如充电点(5,20)到最近的跳点,所在房屋的中央点(20,20),算法会计算出两个点的距离,以及矢量连线的角度,然后艾久会计算自己现在的方向,如果去(20,20)点,需要转多少角度,走多远的路,然后把参数传给传动系统”林久浩。

    “我觉得,哥,我还做第二件事情吧。”丁琪琪。

    “好的,就喜欢你勇挑重担的决心”林久浩。

    “什么?第二件事情更难呀?”丁琪琪。

    “第二件事情要先把所有的点就近连接起来然后做路由,例如,去奶奶屋里驻足点H点,需要计算自己所在点位,然后从所在点向所有的直接连接的点发一个假的走路信息,每一个假的走路信息标注一个编号例如R1或者R2,然后每一个假的走路信息R1或R2继续向直接连接的跳点发假的走路信息,但是永远不走回头路,例如R1直连点有三个,包括返回点,由于不返回,所以就向其他两个直连点发送假的走路信息,这样R1就分叉为R11和R12,然后。。”林久浩

    “然后哪,我估计,我还是试试第一个算法吧!”丁琪琪。

    “然后,直到你走到奶奶屋里的驻足点H,这样你会记录下好几条路由,然后,比对,找跳点最少的,如果同样长的就选第一个,这样按照这组路径点行走,就到奶奶屋里了,然后”林久浩

    “还然后,还有”丁琪琪

    “对,然后你把这些最终选择的路由保留起来,以后如果碰到相同情况,先检查一下你保留的表里有没有,有就可以直接用了”林久浩。

    “没有呢,如果没有哪?”丁琪琪。

    “没有,就再做一遍选路,这样就有了”林久浩。

    “哥,我能做第三件事吗?”丁琪琪。

    “唉!可以,两件事我都做了”林久浩。

    “欧耶,等你做好”丁琪琪。

    林久浩做好了两个算法程序,加入了艾久三号的系统里面,过了没有多久。。。

    “老哥,艾久在客厅里转圈哪,好几圈了,怎么回事”林久浩手机上突然出现丁琪琪的信息。

    “转圈?客厅,我看看”林久浩看着丁琪琪现场录制的视频,看到艾久确实在客厅里面转圈,于是打开服务器,检查艾久的路径。

    “老哥,是我做错了什么算法吗?”丁琪琪

    “老妹,两个算法都是我做的,要错也是我做错的”林久浩。

    “哦,说的也是。”丁琪琪。

    “不会呀,我设定的是如果路径没有选择出来,艾久是不行动的”林久浩。

    “老哥,我做了一个改动,就是艾久选路的时候,让它先到客厅里,我想看看它傻乎乎的怎么选路,结果就转圈了”丁琪琪。

    “你改的,但是你这个改动只会让艾久先走几步,不至于转圈呀,应该不是你改动的问题”林久浩继续查找。

    “哦,那我就放心了”丁琪琪。

    “第二个选路的路由算法有问题,琪琪,你怎么在客厅标注了这么多驻足点,太多了”林久浩。

    “老哥,我说是我的错吧!”丁琪琪。

    “不是,不是,我只是说太多了,你看,我们路由策略是不返回原出发点,例如B到C点,C点连接BDE三个点,由于B点是C点的出发点,所以不返回B点,只向DE发出,但是”林久浩。

    “但是什么,是不是我的错?”丁琪琪。

    “不是,不要这么勇于承担错误,但是D点的临近点也有B点,而且D的出发点是C,所以B点不是返回,所以D点又向B发出路由,然后。。。”林久浩

    “然后,B又向C发出,C又向D发出,D又向B发出,这样艾久就转圈了,怎么解决呀?”丁琪琪。

    “对的,你理解很快,必须解决,可能有更好的办法?但是我不知道”林久浩。

    “解决不了了?”丁琪琪。

    “更好的办法不知道,但是现在实用的办法有,就是被使用过的点不再使用,因为B点已经在路由里面,所以就排除掉它,不重复使用”林久浩。

    “老哥,厉害,我还以为你要让我减少客厅的驻足点哪!”丁琪琪。

    “不用,不过这样可能会减少可达路径的选择,就好比原来四条路径成立,在四条里面择优,现在只有三条,而且排除的大概率是长路径,也不错~~哈!”林久浩。

    “不错~~哈!不过,老哥,你看看我做了什么事情。。。老哥~”丁琪琪。

    “你做了什么?哪里?”林久浩。

    “老哥,你看看地图,我在驻足点之间直接建立了直连关系,而且B和D之间直连关系删除了,这个就不会出现转圈圈的事情了”丁琪琪。

    “确实,你这个像干旱的大地一样的龟裂分叉纹路,这种单一连线的连接关系,确实可以避免转圈圈”林久浩。

    “老哥,怎么样,帅吧,我的方法和你的方法哪个更好?”丁琪琪。

    “嗯,你的方法得出的路径单一,不用选路,我的方法是复杂的计算得出的最优结果”林久浩。

    “到底哪个好呀?。。。老哥”丁琪琪。

    “嗯,你听过一个故事吗?一群高材生讨论一滴水从高处落下,在重力和阻力作用下,向下的速度能不能击穿人的脑袋,然后一个阿姨进群说,你们没淋过雨吗?”林久浩

    “知道,没淋过雨吗?那又怎么了”丁琪琪

    “我就是高材生,而你,丁琪琪就是那位聪明的阿姨”林久浩。

    “哥,你又损我,我听出来了。。。哇~听~出~来~了”丁琪琪。

    。。。。。

    “艾久,要是能长出眼睛就好了”丁琪琪自言自语。

    入夜了,丁琪琪还是和奶奶一起睡觉。

    奶奶看着丁琪琪:“你这个小东西,大眼睛咕噜咕噜的,是不是又不睡觉了?”

    “奶奶,您前几天说,要且听下回分解,您说的话要讲诚信呀”丁琪琪又躺奶奶床上了。

    “我说什么了?我说,讲故事了,谁当真谁就是小傻子,你是小傻子呀?”奶奶

    “您说的故事呀,无始无终,也是,时时是开始,时时是终结,今天要告诉我,否则不睡觉了”丁琪琪。

    “嘿,小东西,还反了教了,好”奶奶。

    “好,全程认真听讲”丁琪琪睁着大眼睛。

    “世界轮转永无休止,种种取舍皆是轮回,所以无始无终”奶奶。

    “那为什么时时是开始,时时是终结哪?”丁琪琪。

    “法界一切法相,皆是一念无明而生,无明止则幻象灭,故【时时是开始,时时是终结】”奶奶。

    “不懂,什么是无明而生,生了又怎么样?”丁琪琪。

    “无明缘行,行缘识,无明生起,行与识藏中的法种子相应,在因缘聚合的时候就生出了幻象呀”奶奶。

    “还是不明白,无明缘行,行缘识的”丁琪琪。

    “嗯,用咱们老子的话解释的更好,道生一,一生二,二生三,三生万物,这个一,就是无明”奶奶。

    “这个一是无明?”丁琪琪。

    “对呀,一是无明,无明生起了二,二就是能与所,也是阳与阴,也是心与法”奶奶

    “奶奶,阴阳我知道,能所是什么?”丁琪琪。

    “能与所,是一对产生的,能与所能,就是当无明一动,能会在识藏中对应到相应的法,形成法相,他们是成对出现的”奶奶。

    “那阳与阴,心与法,也是成对出现的吗?”丁琪琪

    “你理解错了,能与所就是阳与阴就是心与法,能是心是阳是动,所是法是阴,所以就是这么两个东西,一生二的二”奶奶。

    “奶奶,那三是什么呀?”丁琪琪。

    “就是你呀,你这个法相,就是你,无明生的能对应到丁琪琪的法,然后就出现了你这么个不睡觉的小东西”奶奶。

    “哦,我是阿三。那三生万物是什么意思?”丁琪琪

    “三既是万物,因为每一个颠倒众生的法都不一样,所以生出的法相也不一样,万法必有万物的法相”奶奶。

    “哦。我还以为是阿三像哪!”丁琪琪。

    “可以睡觉了吗?”奶奶。

    “奶奶,下一个问题又来了,识藏是什么?”丁琪琪。

    “阿陀那识甚深细,一切种子如瀑布,我与凡愚不敢讲,恐彼分别识为我,就是这个阿陀那识,也叫阿赖耶识,也叫种子识,也叫第八识。一切法种子藏识”奶奶。

    “奶奶,【我与凡愚不敢讲】,你是不是不想对我讲呀?”丁琪琪问道。

    “那是佛陀说的偈语,不是我不对你讲,我惹不起你,你说吧,说够了睡觉”奶奶。

    “哦,奶奶什么是明呀?”丁琪琪继续,看来是不想睡觉。

    “明对无明,无明就是入颠倒法的缘起,以法为我,法相生灭,以生老病死为苦,是轮回相是凡夫相是颠倒相”奶奶。

    “那,明呢?”丁琪琪。

    “不生起无明呗,就是念念觉觉常于明中,常静我乐,永断轮回烦恼呗”奶奶。

    “无明不能常静我乐吗?”丁琪琪。

    “不能,因为无明入的颠倒法,颠倒法法相无常,生老病死是无常的现象,烦恼与无常如影相随不离不弃”奶奶。

    “哦,奶奶,你说佛陀、老子、孔子谁厉害呀?”丁琪琪。

    “都厉害,老子开示道帮人破初关,孔子开始中庸导人破重关,佛陀开示菩提心,令众生破牢关永断轮回烦恼,而入涅槃心法”奶奶。

    “不明觉厉呀?”丁琪琪。

    “可以睡觉了吧”奶奶。

    “奶奶,您的意思是老子、孔子、佛陀都是圣人,讲的是一件事情?”丁琪琪。

    “对呀,东方出圣人,西方出圣人,此心同、此理同呀。。”奶奶。

    “奶奶,西方还有圣人哪?”丁琪琪。

    “琪琪,你想歪了吧,这个西方不是指现在的西方国家”奶奶。

    “那这个西方指的什么地方”丁琪琪。

    “喜马拉雅山西边山坡,现在的尼泊尔,古时的伽皮罗卫国,圣人就是释迦牟尼,不是现在的所谓的西方”奶奶。

    “哦,那现在的所谓的西方有圣人吗?”丁琪琪。

    “没有,假的有,真的没有,后来好不容易出来一个,还被他们联手杀害了”奶奶。

    “谁呀?奶奶”丁琪琪。

    “耶稣基督呀”奶奶。

    “没有圣人会怎么样,他们有科学”丁琪琪。

    “没有圣人就没有解脱的智慧法,只有工巧学,科学我们也有,当魔加持的力量过去以后,我们的科学会超越他们”奶奶。

    “魔?”丁琪琪。

    “就是持邪见的妖怪”奶奶。

    “妖怪。。。。。。师父~~~~~~~~”丁琪琪。

    “你不睡觉了,且听下回分解吧”奶奶。

    下一章节===《第十五章.信息元捕捉算法和预测算法》