大家听到他的话,这才明白,为什么刚开始的时候,己方坦克会持续中弹,并且消耗掉将近一半的血量。原来这是算法需要,正在利用中弹来获得对方的炮弹参数。
这种情况,就好像是两人比武,其中一个为了熟悉对方的套路,就不断地挨打,等熟悉了套路之后,在下半场便可以有效地针对这些套路进行相应的躲避,这样,就实现了绝地大反击。
道理其实很浅显、很简单,仔细想的话大家似乎都能想到,毕竟这种例子实在是太多了,可是真正想要灵活运用,就不是这么简单了,要不然也不会这么久从来没有人想过这个问题。
吴东和唐华鑫两人都若有思索地点点头,他们发现,生活中的很多规律,稍微变通一下,实际上就能应用到ank中来,从而达到意想不到的效果。
小规律大效果,这种从生活中得到灵感启发的乐趣,实在是太美妙了。
这件事情给大家的启发都非常的大,他们发现似乎一扇新的大门像他们打开了,算法似乎并不是什么高深的东西,道理其实大家都知道,关键是怎么灵活地运用。
林鸿一边说着,一边将代码改进了一下,加入了一些视觉效果。
“你们看……”他说道。
然后重新运行了两个实例,一红一蓝两辆坦克出现在竞技场上,红色坦克不断地随机游走,像蓝色坦克发出炮弹,而炮弹地周围,则不断发出一种蓝色的半透明图层,犹如一种波动,以红色坦克为中心向四周扩散。
“当敌人发射炮弹的时候,可以假设对方发出了一个冲击波,击中自己的概率越大,则冲击波的颜色就越深,反之则颜色越浅。而我们要做的,就是在颜色深度不同的冲击波上作冲浪运动,方向吗,自然是朝着颜色浅的地方前进。”
说道这里,林鸿停顿了一下,以便对方容易理解他的话。
“我们不断地朝着颜色浅的地方移动,这样被击中的概率是最小的,很显然,这种策略非常有效,最终的表现正如你们所看到这样……”林鸿指了指显示器中的蓝色坦克。
只见显示器中,蓝色坦克正在围绕红色坦克来回作着圆周运动,而红色坦克在击中几次蓝色坦克之后,就越来越难击中对方了。
通过林鸿的解释,大家终于明白了蓝色坦克为什么能够赢得比赛,并且是在自己丢失掉一半的血量之后才开始发起反击。
不知道是谁带头,当场大家都纷纷鼓起掌来,为林鸿的精彩讲解,也为林鸿在这么短的时间内就将一个如此优秀的算法给实现出来,更为他为水木大学保住了脸面。
在吴东的介绍之下,大家这才知道,原来……的诞生和眼前的这个同学有着极为密切的关系,可以说,他才是ank之父,为什么之前一直没有见过他?当然,也只是想想而已,并没有人当场问出。
这个算法,最终被林鸿命名为“冲浪算法”,因为坦克的运动,就是对着命中波浪不断地进行冲浪,避免被炮弹击中。
林鸿却摇摇头,说道:“我打算将这个算法公开。”
吴东闻言不由一愣。(未完待续)