“ 共渡难关”
01—k30与k99共渡难关
经过甄别,他们按照正确的指示来到了一个稀疏空间,之所以稀疏是因为k30在此处航行速度是同等能量消耗情况下的3倍,好像之前航行在水里,现在航行在空气里,阻力大大减小。接着,全息指示再次出现:“将40%的能量封存,将40%的能量用于长期维系舰船的运行,20%的能量通过大推力发动机一次性用尽,发射!”
看到这,众人甚是不解,发射?发射到哪里?怎么发射?朝哪发射?无数个问题萦绕在大家脑海。
就在此时,k30的正前方闪烁着紫色光芒,断断续续,好像是某种信号一样,k30的探测器及时捕捉了这种信息,破译之后的结果是:x1星,yu星,γ43q星,37°,同时结合附近的天体位置,定位出这是一个方位。而此时的k30背面射线暴也越来越强,眼看就要将k30所在的这片稀疏空间湮灭,bit提议大家朝这个破译之后的方向全力进发,出于对bit的信任及面临别无他法的窘境,k30通过大推力发动机猛地一下弹射出去... ...令他们没有想到的是,这个能量在稀疏空间产生的速度将空间花开一个口子,他们从裂缝中穿了过去,随后裂口自动闭合了,真的就像是来到了另一个空间!
显示所有大图
回头再看时,裂缝好像没有存在过,因为那个地方是“空间”,有着间隙和各种星体的空间。随后,全息信息以一种他们熟知的开普勒452b文字再次出现:“是我们,兄弟们!”。
就在大家费解的时候,不远处驶来一辆与k30类似的舰体,他们以为是遇到了未知文明,正准备与之较量,但是当看到对面发来的“握手”信号之后,k30所有人激动哭了,这是k99!k30所有人都没有想到还能在有生之年遇到开普勒452b的同类,更没想到他们会留下接应他们。
从k99的反馈得知,母舰和其他巡航舰当时顺利通过引力纠缠效应获得了10倍光速成功踏上了引力走廊。在出发之前,舰长安排k99尝试与k30重建沟通,但是一直不曾成功,随后不久便遇到了那个超强等离子体云的袭击,整个k99被一股强大的冲击波推了出去,等他们重新掌控k99这艘巡航舰,脱离等离子体云的束缚之后,他们发现来到了这片区域。
k99的探测人员补充道,他们探测到k30就在不远处,也知道k30即将面临射线暴的攻击,但是尝试发送任何信息全部失败,于是他们用引力对信息进行编码,然后利用周围天体之间的波动效应将消息“捎带”过去。受到k30附近射线暴的影响,信息肯定会有所丢失,但是这是唯一的方式,如果k30可以排除干扰,按照正确的方式进行操作,就可以与k99汇合... ...
说到这里,萦绕在k30所有人心头的那个神一般的存在终于揭晓,他们是k99!
随后k99也跟k30分享了一些信息:
【1】与母舰失联,是那种非正常失联:信号可以正常发送,但一直是石沉大海,要么是母舰遭遇不测,要么是因为一些干扰导致母舰未接收到信息,要么...是被母舰拉黑了
【2】k30穿越过来的那个入口非常神奇,从这边可以往另一侧传递引力信息,无法传递电磁信息;而且对方好像根本察觉不到这个“墙”的存在。这好像是两个空间的界!
k30也与k99分享了这段时间的经历,包括对地狱之门的一些猜测和关于开普勒452b星球上流传的寻找铬源的传说... ...很快两艘巡航舰达成了一致:合力探索通过地狱之门的路径,寻找终极自由之路!
bit首先给出了自己的想法,既然所处的空间是原来的镜面空间,那么为了到达γ75_3恒星大方向还是得和原来保持一致;然后k30和k99要做的就是沿着该路线重新上路,他们不知道的是,“地狱之门”,此名非虚。因为仅仅航行了3个开普勒星日,就发现了一个超大质量的中子星。
中子星是可以与黑洞一较高下的力量存在。黑洞大家都知道,是吸收一切的魔鬼,但超大质量中子星也绝非等闲之辈:它影响了引力的探测,违背了大家对于黑洞宇宙无敌的认知!也正由于它强大的引力存在,k30和k99所有检测设备都会出现严重偏差,就连飞船本身稍有不慎都会被中子星吞噬掉!
这颗中子星的影响范围之大,强度之强,以至于飞船刚发现他的存在就已经无法逃离!两艘飞船已经开启了紧急制动,但是飞船外表面的核能装置、飞船的补给装置等等还是一直不断地脱离船身被撕裂下来,被中子星吸了过去。这个过程不会持续很久,最终整个飞船包括飞船内部的所有队员都要么被吸入中子星怀抱,要么在此之前被撕裂。
在采取了核能制动之后,两艘巡航舰又苦苦坚持了3天,经过3天若干次的重复观测到(因为磁场变化实在是太快,若飞船的设备一次性捕捉周期内所有数据,需消耗巨量能量进行干扰信号的过滤,飞船将无法在合适的时机迅速通过中子星的束缚,只能通过间歇性的捕捉并将多次观测记录拼在一起),这颗中子星的磁场强度每隔3个小时就会发生变化,而且每三个小时的前后1.5小时是重复变化,也就是说后1.5小时完全重复前1.5小时的变化模式。1.5小时以内,整个磁场序列的时间长度为43789241个单位,也就是每隔0.000123秒就会发生一次磁场变化。
值得庆幸的是,这颗中子星的相邻两个周期的变化一模一样,也就是说第一个周期和第二个周期的磁场变化和对应的引力变化一模一样;第三个周期和第四个周期内磁场的变化和引力变化一模一样,以此类推… …这就为两艘飞船的通过提供了绝佳的条件:既然两艘飞船的能量储备无法再支撑在第一个1.5小时完整周期内将全部磁场状态测量完毕,那只能直接利用传感器感知引力大小,并将引力序列记录下来,然后根据观测到的引力序列将对应的磁场状态序列一一预测出来,进而在下一个时刻调整巡航舰磁场进而调整引力,精准躲过中子星的强大引力束缚。说话间,bit已经基于前三天的观测数据把模型训练完毕。
但还有一个问题横亘在大家面前:经过计算,这颗中子星一共有3.9x10的17次方种磁场状态,每个磁场状态会表现出5.88x10的4次方种引力大小,再加上周期一个时间周期有43789241个时刻,那么一个观测完毕的引力序列对应的状态序列可能有多少种呢?简单算一下:
第一个时刻t1有3.9x10的17次方种,t2有3.9x10的17次方种… …一共也就是3.9x10的17次方再乘以43789241这么多种可能的观测序列,如果通过出来每一个可能的序列的可能性大小,然后进行对比得到可能性最大的磁场状态序列,需要多久呢?最致命的是每一种可能性都要经过程序进行验证,降低预测错误的可能性,进而提高飞船通过的概率,在相邻两个中子星磁场变化周期的间隙,两艘飞船的计算资源可以完成这个任务吗——显然不可能!
bit早就想好了对策:穷举所有可能的状态序列肯定是比较直观的想法,但是这个目标太“大”!需要把问题分解一下,分解为一个一个的子任务。具体到现在的这个情况就是:最终目标我们要找到一个长度为43789241的状态序列,但是一下子找到这个序列太难了,所以不妨考虑一下先找到一部分序列。
其实就是把整个时间序列进行拆分,每个时刻都计算一下当前时刻达到该状态的所有可能并依次往下计算,可有效减少计算量。
如果从全局考虑,那么一共需要考虑27种路径,每个节点之间的距离不一样,我们需要找到最短的那一条路,那么我们现在的情况难道是把27种所有的路径的距离全都算一遍然后作比较吗?不,我们可以这么想,假设从s到e的最短路径经过c1,那么从这条最短路径从s到c1这段路径一定是从s到c时刻各个状态当中最短的路径。
有人可能会觉得是不是还存在其他路径比这个更短呢?
不会的,因为如果从s到c时刻存在比最短路径的这个子路径更短的路径,那么用这个更短的路径替换掉这段子路径,那么新形成的这个s到e的总路径就会比原来更短,这与我们的假设矛盾(假设就是最短路径,不存在更短的路径);以此类推,我们只需要找到从出发点开始到每一个时刻t的各个状态的最短路径状态x,然后从t时刻的状态x出发,考虑到t 1时刻的各个状态的路径长短就可以了,这样每个时刻我们都会选出最短路径经过的那个状态,放弃考虑其他所有状态,,,,一直到终点我们就可以大大减少计算量。
换到我们现在遇到的这个问题,我们就可以依次找到从周期开始的时刻到43789241个时刻的每一个时刻最大可能的状态序列的那个磁场状态,直到最后时刻,这样我们就可以找到我们想要的那个磁场状态序列, 然后考虑到每个时刻预测结果的验证过程,在下一个周期开始之后的每一个时刻根据预测的磁场状态有效的调节我们的磁场干扰装置,进而影响中子星对我们的飞创的引力束缚,使得我们的飞船与中子星保持相对的引力平衡距离,平稳驶过这一片空间。
说干就干,大家一致觉得bit的提议合理,飞船按照大家讨论的方案驶向经过中子星的——逃逸不可能范围——也就是说进入这片区域之后,一旦磁场预测失误,那么结果可能就是进入中子星的怀抱… …
第1个时刻顺利通过,第2个时刻顺利通过,第3个时刻顺利通过…第43789200个时刻顺利通过,就在大家为刚才的4000多万个成功预测感到庆幸,为即将度过的剩下41个时刻(也就是不到一秒钟的时间)期待不已紧张到窒息的时候,飞船突然发生了倾斜,所有人感受到了一股撕裂感的同时,飞船被吞没了… …
02—掉书袋
【1】 上述情节是对隐马尔科夫模型(hmm)算法的一个通俗演义。
【2】 hmm是典型的序列模型。
【3】 hmm模型有三个基本问题:
(1)评估问题,也被称为识别问题。给定模型λ(模型通常以一组参数的形式出现,比如<a,b,π>)和观测序列o,计算每个hmm模型产生当前观测序列的输出概率p(o|λ),通过对比各个模型输出概率,概率最大的模型即为识别结果。
(2)解码问题。给定模型λ和观测序列o,寻找最有可能产生观察序列o的隐含状态序列的过程,即寻找最佳状态序列 q = q1q2q...qt来最好地解释观测序列o。
(3)学习问题。已知观测序列o,估计模型参数(a,b,π),使p(o|λ)最大。
上述情节是针对问题(2)进行演义,磁场状态对应模型中的隐状态序列,引力序列对应模型中的观测序列;同时为了简化问题,模型参数未介绍详细参数。
【4】bit提出的解法是求解状态序列时典型的前向算法,就是为了计算效率问题,典型的动态规划思路,此处也不做详细介绍。
03—参考文献
1. 关键字:《统计学习方法》、李航
2. 关键字:《机器学习》、西瓜书、周志华
3. 关键字:coursera、hmm
01—k30与k99共渡难关
经过甄别,他们按照正确的指示来到了一个稀疏空间,之所以稀疏是因为k30在此处航行速度是同等能量消耗情况下的3倍,好像之前航行在水里,现在航行在空气里,阻力大大减小。接着,全息指示再次出现:“将40%的能量封存,将40%的能量用于长期维系舰船的运行,20%的能量通过大推力发动机一次性用尽,发射!”
看到这,众人甚是不解,发射?发射到哪里?怎么发射?朝哪发射?无数个问题萦绕在大家脑海。
就在此时,k30的正前方闪烁着紫色光芒,断断续续,好像是某种信号一样,k30的探测器及时捕捉了这种信息,破译之后的结果是:x1星,yu星,γ43q星,37°,同时结合附近的天体位置,定位出这是一个方位。而此时的k30背面射线暴也越来越强,眼看就要将k30所在的这片稀疏空间湮灭,bit提议大家朝这个破译之后的方向全力进发,出于对bit的信任及面临别无他法的窘境,k30通过大推力发动机猛地一下弹射出去... ...令他们没有想到的是,这个能量在稀疏空间产生的速度将空间花开一个口子,他们从裂缝中穿了过去,随后裂口自动闭合了,真的就像是来到了另一个空间!
显示所有大图
回头再看时,裂缝好像没有存在过,因为那个地方是“空间”,有着间隙和各种星体的空间。随后,全息信息以一种他们熟知的开普勒452b文字再次出现:“是我们,兄弟们!”。
就在大家费解的时候,不远处驶来一辆与k30类似的舰体,他们以为是遇到了未知文明,正准备与之较量,但是当看到对面发来的“握手”信号之后,k30所有人激动哭了,这是k99!k30所有人都没有想到还能在有生之年遇到开普勒452b的同类,更没想到他们会留下接应他们。
从k99的反馈得知,母舰和其他巡航舰当时顺利通过引力纠缠效应获得了10倍光速成功踏上了引力走廊。在出发之前,舰长安排k99尝试与k30重建沟通,但是一直不曾成功,随后不久便遇到了那个超强等离子体云的袭击,整个k99被一股强大的冲击波推了出去,等他们重新掌控k99这艘巡航舰,脱离等离子体云的束缚之后,他们发现来到了这片区域。
k99的探测人员补充道,他们探测到k30就在不远处,也知道k30即将面临射线暴的攻击,但是尝试发送任何信息全部失败,于是他们用引力对信息进行编码,然后利用周围天体之间的波动效应将消息“捎带”过去。受到k30附近射线暴的影响,信息肯定会有所丢失,但是这是唯一的方式,如果k30可以排除干扰,按照正确的方式进行操作,就可以与k99汇合... ...
说到这里,萦绕在k30所有人心头的那个神一般的存在终于揭晓,他们是k99!
随后k99也跟k30分享了一些信息:
【1】与母舰失联,是那种非正常失联:信号可以正常发送,但一直是石沉大海,要么是母舰遭遇不测,要么是因为一些干扰导致母舰未接收到信息,要么...是被母舰拉黑了
【2】k30穿越过来的那个入口非常神奇,从这边可以往另一侧传递引力信息,无法传递电磁信息;而且对方好像根本察觉不到这个“墙”的存在。这好像是两个空间的界!
k30也与k99分享了这段时间的经历,包括对地狱之门的一些猜测和关于开普勒452b星球上流传的寻找铬源的传说... ...很快两艘巡航舰达成了一致:合力探索通过地狱之门的路径,寻找终极自由之路!
bit首先给出了自己的想法,既然所处的空间是原来的镜面空间,那么为了到达γ75_3恒星大方向还是得和原来保持一致;然后k30和k99要做的就是沿着该路线重新上路,他们不知道的是,“地狱之门”,此名非虚。因为仅仅航行了3个开普勒星日,就发现了一个超大质量的中子星。
中子星是可以与黑洞一较高下的力量存在。黑洞大家都知道,是吸收一切的魔鬼,但超大质量中子星也绝非等闲之辈:它影响了引力的探测,违背了大家对于黑洞宇宙无敌的认知!也正由于它强大的引力存在,k30和k99所有检测设备都会出现严重偏差,就连飞船本身稍有不慎都会被中子星吞噬掉!
这颗中子星的影响范围之大,强度之强,以至于飞船刚发现他的存在就已经无法逃离!两艘飞船已经开启了紧急制动,但是飞船外表面的核能装置、飞船的补给装置等等还是一直不断地脱离船身被撕裂下来,被中子星吸了过去。这个过程不会持续很久,最终整个飞船包括飞船内部的所有队员都要么被吸入中子星怀抱,要么在此之前被撕裂。
在采取了核能制动之后,两艘巡航舰又苦苦坚持了3天,经过3天若干次的重复观测到(因为磁场变化实在是太快,若飞船的设备一次性捕捉周期内所有数据,需消耗巨量能量进行干扰信号的过滤,飞船将无法在合适的时机迅速通过中子星的束缚,只能通过间歇性的捕捉并将多次观测记录拼在一起),这颗中子星的磁场强度每隔3个小时就会发生变化,而且每三个小时的前后1.5小时是重复变化,也就是说后1.5小时完全重复前1.5小时的变化模式。1.5小时以内,整个磁场序列的时间长度为43789241个单位,也就是每隔0.000123秒就会发生一次磁场变化。
值得庆幸的是,这颗中子星的相邻两个周期的变化一模一样,也就是说第一个周期和第二个周期的磁场变化和对应的引力变化一模一样;第三个周期和第四个周期内磁场的变化和引力变化一模一样,以此类推… …这就为两艘飞船的通过提供了绝佳的条件:既然两艘飞船的能量储备无法再支撑在第一个1.5小时完整周期内将全部磁场状态测量完毕,那只能直接利用传感器感知引力大小,并将引力序列记录下来,然后根据观测到的引力序列将对应的磁场状态序列一一预测出来,进而在下一个时刻调整巡航舰磁场进而调整引力,精准躲过中子星的强大引力束缚。说话间,bit已经基于前三天的观测数据把模型训练完毕。
但还有一个问题横亘在大家面前:经过计算,这颗中子星一共有3.9x10的17次方种磁场状态,每个磁场状态会表现出5.88x10的4次方种引力大小,再加上周期一个时间周期有43789241个时刻,那么一个观测完毕的引力序列对应的状态序列可能有多少种呢?简单算一下:
第一个时刻t1有3.9x10的17次方种,t2有3.9x10的17次方种… …一共也就是3.9x10的17次方再乘以43789241这么多种可能的观测序列,如果通过出来每一个可能的序列的可能性大小,然后进行对比得到可能性最大的磁场状态序列,需要多久呢?最致命的是每一种可能性都要经过程序进行验证,降低预测错误的可能性,进而提高飞船通过的概率,在相邻两个中子星磁场变化周期的间隙,两艘飞船的计算资源可以完成这个任务吗——显然不可能!
bit早就想好了对策:穷举所有可能的状态序列肯定是比较直观的想法,但是这个目标太“大”!需要把问题分解一下,分解为一个一个的子任务。具体到现在的这个情况就是:最终目标我们要找到一个长度为43789241的状态序列,但是一下子找到这个序列太难了,所以不妨考虑一下先找到一部分序列。
其实就是把整个时间序列进行拆分,每个时刻都计算一下当前时刻达到该状态的所有可能并依次往下计算,可有效减少计算量。
如果从全局考虑,那么一共需要考虑27种路径,每个节点之间的距离不一样,我们需要找到最短的那一条路,那么我们现在的情况难道是把27种所有的路径的距离全都算一遍然后作比较吗?不,我们可以这么想,假设从s到e的最短路径经过c1,那么从这条最短路径从s到c1这段路径一定是从s到c时刻各个状态当中最短的路径。
有人可能会觉得是不是还存在其他路径比这个更短呢?
不会的,因为如果从s到c时刻存在比最短路径的这个子路径更短的路径,那么用这个更短的路径替换掉这段子路径,那么新形成的这个s到e的总路径就会比原来更短,这与我们的假设矛盾(假设就是最短路径,不存在更短的路径);以此类推,我们只需要找到从出发点开始到每一个时刻t的各个状态的最短路径状态x,然后从t时刻的状态x出发,考虑到t 1时刻的各个状态的路径长短就可以了,这样每个时刻我们都会选出最短路径经过的那个状态,放弃考虑其他所有状态,,,,一直到终点我们就可以大大减少计算量。
换到我们现在遇到的这个问题,我们就可以依次找到从周期开始的时刻到43789241个时刻的每一个时刻最大可能的状态序列的那个磁场状态,直到最后时刻,这样我们就可以找到我们想要的那个磁场状态序列, 然后考虑到每个时刻预测结果的验证过程,在下一个周期开始之后的每一个时刻根据预测的磁场状态有效的调节我们的磁场干扰装置,进而影响中子星对我们的飞创的引力束缚,使得我们的飞船与中子星保持相对的引力平衡距离,平稳驶过这一片空间。
说干就干,大家一致觉得bit的提议合理,飞船按照大家讨论的方案驶向经过中子星的——逃逸不可能范围——也就是说进入这片区域之后,一旦磁场预测失误,那么结果可能就是进入中子星的怀抱… …
第1个时刻顺利通过,第2个时刻顺利通过,第3个时刻顺利通过…第43789200个时刻顺利通过,就在大家为刚才的4000多万个成功预测感到庆幸,为即将度过的剩下41个时刻(也就是不到一秒钟的时间)期待不已紧张到窒息的时候,飞船突然发生了倾斜,所有人感受到了一股撕裂感的同时,飞船被吞没了… …
02—掉书袋
【1】 上述情节是对隐马尔科夫模型(hmm)算法的一个通俗演义。
【2】 hmm是典型的序列模型。
【3】 hmm模型有三个基本问题:
(1)评估问题,也被称为识别问题。给定模型λ(模型通常以一组参数的形式出现,比如<a,b,π>)和观测序列o,计算每个hmm模型产生当前观测序列的输出概率p(o|λ),通过对比各个模型输出概率,概率最大的模型即为识别结果。
(2)解码问题。给定模型λ和观测序列o,寻找最有可能产生观察序列o的隐含状态序列的过程,即寻找最佳状态序列 q = q1q2q...qt来最好地解释观测序列o。
(3)学习问题。已知观测序列o,估计模型参数(a,b,π),使p(o|λ)最大。
上述情节是针对问题(2)进行演义,磁场状态对应模型中的隐状态序列,引力序列对应模型中的观测序列;同时为了简化问题,模型参数未介绍详细参数。
【4】bit提出的解法是求解状态序列时典型的前向算法,就是为了计算效率问题,典型的动态规划思路,此处也不做详细介绍。
03—参考文献
1. 关键字:《统计学习方法》、李航
2. 关键字:《机器学习》、西瓜书、周志华
3. 关键字:coursera、hmm