>真理是简单的,它就是这种东西,让你听到后奇怪当初自己怎么就发现不了它。 ;;# //——《黑暗森林》// ;;# ====== 零度三连 ====== 零度三连是指[[重定向:零度]]在贴吧发布的关于[[攻略:冰骨架]]理论的三个贴子。 全文中 笔者 均为零度的自称 ===== Part 1 ===== [[https://tieba.baidu.com/p/5601494658|【Endless】夜间极限超多炮通论及轨道分析]] ==== 所谓真理 ==== 游戏设定:任意一门炮两次发射间隔不能小于炮3475。 推论:不记铲种,任取一个长度为3475的时间片段,这段时间使用/生效的炮的数量不能大于阵型的炮数。 推论的证明:使用反证法,假设场地炮数为n,某长度为3475的时间片段共使用m次炮,且m>n。由抽屉原理,至少存在一门炮,它在这3475内发射不少于两次,这不符合游戏设定,产生矛盾,故假设不成立。推论证毕。 游戏设定:任意一张卡片两次使用间隔不能小于卡片CD。 推论:不记巨人敲击和车子碾压,任取一个长度为5000的时间片段,这段时间每张I/N/A/A'/P'最多可以使用/生效一次。 证明:此结论非常显然,留给读者自行证明。 僵尸会在刷新一段时间后对阵型造成致命伤害,玩家可以采取手段延迟该时间直到其晚于僵尸死亡时间从而保护阵型。 通过直接使用这些结论再加上一定的经验,我们便可以较为容易地解出各种夜间极限超多炮,并且加深对一些夜间常规超多炮的理解。 直接使用?是的直接使用。真理不但正确还能够被直接使用,这真的是一件十分幸运的事情。 ==== 冰骨架公设 ==== 在超多炮领域,P发射一次或者A释放一次往往对应一个运算量,N释放一次一般对应两个运算量,而I释放一次往往可以节省相当多的运算量。其中只有I能够按比例节省运算量,在炮数多时优势明显,即便炮数不多也能极大地提升压制强度,因此冰经常成为超多炮节奏的核心。在这种情况下,我们往往在卡槽内携带双冰,并以用冰波为基础来制定节奏。以下的讨论多以此公设为前提,脱离此公设则结论可能损失一部分价值。在夜间,卡片无法储存,因此以INA为核心区别不大,在此统一称为冰骨架,与炮骨架对应。而白天IPNA极限透支率各不相同情况较为复杂,这里不予深入讨论。 特别地,冰骨架相对于炮骨架还有一个更为本质的区别,那就是冰骨架以I为主,PNA为辅,而后三者在对僵尸作用方面并没有本质区别。这意味着,I的使用方式已经彻底决定了一列轨道除垫材外的所有性质甚至几乎所有细节,而这有可能正是逐波的敲门砖。 ==== 例阵分析1 ==== [[阵型:fe_九列二十四炮|Fe九列24]]([[http://www.bilibili.com/video/av20547795|视频]]) 其节奏本体为C8u-5128,由C8u-4800拉长用冰波得到:''|I+P|P|P|I+P|P|P|'',波长13.64/6/6/13.64/6/6 上半场实际节奏为:''|IP+BPD|PA'SA|PSD|IP+BPD|PND|PSD|'' 下半场实际节奏为:''|IPcc+PD|PD|PDcc|IPcc+PD|ND|PDcc|'' 上半场每一加速波的第一个运算量都于刷新后218生效以减少梯子啃炮。梯子啃食九列炮最早时机为184,足以对九列炮造成一定伤害,但每f更换一次炮基本可以保证炮不会被吃掉。如果不够,其实每f更换两次炮也是能够做到的。PND波运算量不足,九列炮会受到红眼敲击,这里利用铲种炮躲过并更换低伤九列炮。红眼对九列炮举锤最早时机为470,若受到瞬间预判冰则变为1340,减速波较快的红眼受到B的伤害并由1164的P激活投掷从而失去威胁,较慢的红眼由1374生效的D激活投掷从而失去威胁。PSD波红眼击中炮所需时间为470+142+134=746,红眼会被下波冰住并由热过渡带走。PA'SA波红眼瞬杀无威胁。PND波不使用NSD的原因是四路N无法处理一路小鬼,因此N无法胜任P的工作。这里的D要收撑杆因此最早368生效,N最早大约258生效。 下半场ND的N于258生效,所幸N的判定范围足够大,可以对上波红眼投掷的小鬼进行拦截。PD/ND波撑杆没有进行处理,最早将会在607+180+112=899后啃炮。而负责收掉这些撑杆的下波拦截炮最早可以于600+218+106=924后生效。考虑到撑杆速度差异及出生点差异,下半场56列炮仅受微伤。视频中未进行更换,但实际上铲种炮CD充裕,足够进行微伤换炮。 此外,无论是上半场还是下半场,用冰波的小丑都有小几率炸炮,未发现有效解决方案,只能予以无视。 实战中W1对应循环第一波,这样做则每f只使用一次N,弹坑足够使用,并且收尾有I,较为轻松。W10对应循环第六波,这样做既可以消除中场延迟,又可以使偶数f与奇数f使用相同的相位,保证稳定性的同时可以减少工作量。 ==== 从3/2倍参数到4/3倍参数 ==== 什么是3/2倍参数?这里,我们要从最早的双冰变奏讲起。 双冰变奏的起源便是三大参数,Ch456: ''|I+P|I+P|,18/18'' ''|I+P|I+P|P|,15/15/6'' ''|I+P|P|I+P|P|,12/6/12/6'' 它们巧妙利用白天可以存冰的特性高效用冰,以炮CD的约数3600为循环,极大地提高了压制强度。但在夜晚无法存冰,循环长度势必要达到5000以上,因此只有前3600可以使用三大参数,后面无法用冰只得连续加速凑到5000以上。而压制强度能够比肩三大参数的几乎只有P6,这也就几乎完全决定了Ch456的夜间延拓,Ch789((现名C7u,C8u,C9u,下同)): ''|I+P|I+P|A|N|P|,18/18/6/6/6'' ''|I+P|I+P|P|A|N|P|,15/15/6/6/6/6'' ''|I+P|P|I+P|P|N|P|P|,12/6/12/6/6/6/6'' 我们先抛开Ch8不谈,观察Ch4与Ch7、Ch6与Ch9的关系。 我们先假设手里有三张I卡,那么在夜间完全可以打C6i/C9i((C9i本质上是ch6,下同)): ''|I+P|I+P|I+P|,18/18/18'' ''|I+P|P|I+P|P|I+P|P|,12/6/12/6/12/6'' 来达到与Ch4/Ch6相同的压制强度。遗憾的是我们最多可以有两张I。不过I能做到的事情,其他卡片也能做到一部分!如果我们用AN代替I,把18的I+P波替换成6/6/6的A,N,P三波,或者用单N代I,把12/6的I+P,P两波替换为6/6/6的N,P,P三波,便可以达到相似的压制强度。这种基于灰烬代冰的理解方式揭示了一件其实很显然的事情:Ch7/Ch9中,无论是卡CD还是炮CD,浪费程度都非常低! 当然我们甚至可以考虑C6u,它在压制强度需求不高的时候以9/9的N,P两波代替18的I+P波,以单N代I。它也有非常广泛的应用,但9s的波长极大地限制了它的发挥。 但这仅仅意味着Ch7适合四炮,Ch9适合八炮,仅此而已。这如何解释Ch7/Ch9在含有大量附加轨的多炮阵中的大规模应用呢? 我们再从Ch6出发。我们先不加太多的附加轨,仅考虑拦截小鬼,则Ch6的操作轨为: ''|I+PD|PD|I+PD|PD|'' 任意一门炮两次发射的间隔都是3600,因此炮CD几乎没有浪费。这是很自然的事情。那么我们再考虑Ch9: ''|I+PD|PD|I+PD|PD|N(D)|PD|PD|'' 不难看出,除了(D)外的任何一门炮,两次发射的间隔也几乎都是3600,(D)则是5400。这里炮CD仅存在极小的浪费,这对于需要费力协调卡炮CD的夜间节奏而言非常地难得,因此Ch9即便在带有附加轨的情况下,也仍然因为高效而受到欢迎。在这一点上,Ch7甚至C6u也是一样的。事实上,如果以灰烬代冰的视角来看,这一切也是非常自然的,因为除了少数与灰烬共同生效的炮外,其余炮几乎都是满效率。而我们能够从灰烬代冰的视角看问题,其直接原因是无论Ch4还是Ch6,它的最小正周期实际上是1800——3600的因数,600的倍数。我们将三个而非两个1800叠置,就能得到3/2×3600=5400三冰变奏而非3600双冰变奏。在这个基础上,灰烬代冰视角的形成,其实也是非常自然的。 既然如此,找到下一个既是3600因数又是600倍数的时间长度,会不会有一些奇妙的发现?于是我们找到了1200。以3600为周期,1200为最小正周期的变奏,我们只发现了C6i-3600: ''|I+P|I+P|I+P|,12/12/12'' 虽然1200的五倍6000有些过大会浪费卡片CD,其实我们可以取1200的四倍4800,这便是4/3倍参数。这个循环长度略小于5000,但实战中我们往往可以稍微拉长用冰波的长度,从而在几乎不影响压制强度的前提下使卡片CD足以完成循环。现在我们得到了C8ii-4800: ''|I+P|I+P|I+P|I+P|,12/12/12/12'' 实际上我们只有两张I卡,因此需要两次灰烬代冰。这样我们可以得到一个C8u-4800: ''|I+P|A|P|I+P|N|P|,12/6/6/12/6/6'' 当然只代一次冰就可以得到白天使用的节奏C8i-4800((现名C6i-N,下同)): ''|I+P|I+P|I+P|N|P|,12/12/12/6/6'' 类似于Ch7/Ch9以炮阵二循环为核心,C8u以炮阵三循环为核心,因此同样拥有很高的炮CD利用效率,卡CD利用率则是接近百分百。上文提到的Fe九列24炮,就是在此基础上得到的。 我们忽略垫材操作并将上下半场的节奏整合起来,Fe九列24应为: ''|IPP+BPPDD|P(PS)AA'D|PPSDD|IPP+BPPDD|NS(D)D|PPSDD|,13.64/6/6/13.64/6/6'' 其中炮阵三循环之外的炮用括号括出。 尽管附加轨非常多,C8u节奏仍然保持了一个相当高的炮CD利用率。三循环由21门炮分6/15两组构成,剩下需要的3炮由3门炮每51.28s发射一次做到。实战中由于红眼问题中途强制引入了铲种,顺便利用铲种炮调和CD,不过不影响整体节奏。 此外C8u还有一个重要性质:压制强度近似于Ch9而比Ch9少一个加速波,这使得保护九列炮的运算量需求大幅下降。这一点的实质,则是通过接近百分百的卡片利用效率进一步提升了冰效率,符合冰骨架思想,进而达成的减少运算量需求的作用。 ==== 真理——循环复用定理 ==== 看过Fe九列24炮视频的读者一定会发现,24门炮的炮组分配根本看不出什么所谓的“三循环”在里面。那难道笔者上面啰嗦一大堆所谓CD利用效率都是瞎说的? 当然并不。视频中使用的炮组分配方案称作“循环复用”,容易观察到除铲种炮外,其他所有炮都是按照一定顺序顺次发射的。每当最后一门炮发射完毕,循环回归零相位,从第一门炮开始重新发射。为什么不使用可能更加方便理解的三循环+炮代灰烬形式,而非要搞一个既不方便观看又不容易写脚本的循环复用? 当然是因为它优。下面我们来证明循环复用定理: \\ 在所有炮等价的前提下,若一定数量的炮能够通过至少一种方式填充某列轨道,则循环复用必然是这些方式之一。 === 证明 === 假设场地上的''n''门炮的确能够填充某一轨道,那么在该轨道中任取长度为''3475''的片段,该片段中所需炮数必然不大于''n''。 否则与推论:“不记铲种,任取一个长度为''3475''的时间片段,这段时间使用/生效的炮的数量不能大于阵型的炮数”矛盾。 记轨道中第''s''次发射一门炮的时刻为''T(s)'',有''T(i)≤T(i+1)''。而上文提到的推论等价于“任取''i'',''j''使得''T(j)-T(i)<3475'',则''j-i896+142+134=1172,有几率砸炮。最后dd尾炸。 从第五波回到第一波的衔接时,由于45路存在三血红,第一波需要使用第三波的处理方式,不再赘述。 之后是逐波讲解。W1使用PPSSDD,这里真的要感谢mj,没有他在这里的点拨我真的不知道自己还要在收尾磨叽多久。从W2开始由第一波进入循环,之后无脑照循环炸下去。W10同样使用PPSSDD起手消除延迟,一直炸到W18后进入收尾。这时我们发现手头还有五个P和一个A'可以使用,其中一个P基本只能在600之后生效作为尾炸。在I'于1160再次生效之前,我们只会有两门极晚恢复的炮作为补充,而我们要面对的是上波145路跳跳,45路三血红和本波全部僵尸。其中,由于弹坑,上三路红眼必须投掷才能坚持达到1160不砸炮,全场撑杆必须炸掉否则必然啃炮,还要抽出一两个运算量处理后场跳跳,45路减速三血红也给拦截带来了极大的不便。最重要的是我们还必须清光至少一路红眼以确保I'的安全,何解? 318生效三路P,全收mj并激活上波四路红本波中三路白。350生效二路P,激活一路白23路红。360生效四路P,全收下两路撑杆并激活上波五路红本波四路红五路白。380时45路上波红解冻。460生效二路D,全收上三路撑杆并拦截二路红眼小鬼,激活一路红眼投掷并杀死中路红保护I'。570生效一路A',烧上波跳跳并同时拦截本波红白投掷的小鬼。610生效四路d,收上波撑杆((文本修正:610生效四路d,收上波跳跳)),并统一尾炸上波四路红、上波五路红与本波巨人分别于454、475和465投掷出的小鬼。740I'CD恢复且中路弹坑刚好恢复,由于事先清空了三路巨人因此I'可以释放,45路运算量不足靠四垫顶住。至I'生效后迅速恢复六门炮,足以轻松完成后续收尾。 ==== 真理——精密炮数计算 ==== 之前我们已经讲解过Me20炮的炮数论证。但该论证方法存在两个显而易见的缺点:一是它对与600倍数相去甚远的波长无能为力。二是它的误差过大,对如新Ne20炮之类更为极限的阵型而言,可能直接造成致命后果。因此,我们在这里给出一个完美的炮数计算公式: 在一列轨道中任取时间区间A:[t, t+3475],并计算区间中需要发射的炮数f(A)。f(A)的最大值即该轨道所需炮数。 没错,这就是开头出现的游戏第一推论。它不仅不再有以上两个缺点,甚至可以直接用于非循环轨道,也就是所谓逐波。下面我们讲解该公式在循环轨道中如何使用。 设循环长度为T,一个循环内需要的灰烬运算量数量为N,阵型可用炮数为n,则任取区间A:[t, t+3475],我们有f(A)≤n。这等价于公式的变形: 任取A*:[t+3475, t+T],必有f(A*)≥N-n。 变形的优点当然不仅限于A*往往比A短因此易于计算,还有一个优势在于它将n取负,因此插入代奏只要满足以下原则: 插入代奏后,f(A*)不变,而N-n减小,则代奏是有效的。 用Ne20举一个小小的例子,每个用冰波的前一个加速波放弃了对红眼压制全部使用尾炸。为什么?代入公式,对Ne20而言,T=5040,N=28,n=20,能够产生运算量的代奏为NA,因此N应该修正为28-3=25,我们需要f(A*)≥5。以用冰波对应的刷新时间为时间原点,取t=-144,有A*为[-144, 1419]这段时间内可以生效的只有上波尾炸d,本波热过渡PP,和本波分离炸B。为使f(A*)达到5,必须在上波使用双边尾炸。尽管这直接导致了每选卡一次的二路红眼几率砸炮,但由于无法找到有效解决方案,笔者只能表示遗憾。 变形后的公式无法用于逐波,因为它需要计入循环。它虽然是实用的,但在逻辑上并不是无懈可击的,因为我们无法严格证明一个阵型在T之内不可能使用同一张卡片两次。在更为苛刻的条件下,我们必须使用原公式: 将所有的炮生效时机按时间顺序列出,观察以每一个时机为左边界的长度为3475的区间A,若f(A)≤n,则阵型成立。代奏方式为,括出所有不满足f(A)≤n的区间,并通过将特定的炮时机改为灰烬时机从而使A满足条件。嗯,听起来就是一段废话。这东西距离所谓真理并没有进行太多步的推断,因此肯定过于抽象难以使用?笔者表示局部用过几次其实用起来挺爽的,大概还是要看经验吧( ==== 什么是C7u ==== 是时候真正定义一下新意义下的C7u了w: 在双冰意义下,在周期T≥5000内使用双冰过五波怪的节奏为C7u。 没错这就是C7u,一个完备的循环式C7u。我们甚至可以同样得到任意的完备循环式Cxu。由于承认极限波长猜想,解出一个夜间超多炮的可用循环事实上极为容易: 以运算量下限为标准找出一组可用的极限波长,用两个极限长波与若干极限短波拼凑成一个超过5000的循环,验证循环所需炮数并通过代奏或调整时机的方式使阵型足以支持输出。 没错就是这么简单。我们甚至可以将前两步合并,改为: 找出一个可用循环轨道,判断该轨道是否可以支持。 容易看出改动后的解法不再局限于循环,这又是逐波的一块敲门砖。 现在解一个夜间超多炮只需要两步了,而两步都存在非常系统的方法!想想还真是有些小激动w在这里,笔者再凭借微薄的经验给出一些小小的建议吧( 双冰连用有时的确不错,但若要支撑循环则双冰连用所省出的运算量往往不够它自己浪费的。用上一节的说法来解释,双冰连用减小N的能力往往赶不上减小f(A*)的能力,因此在追求循环时笔者强烈不推荐双冰连用。然而在不追求循环时,双冰连用就很好了。常见用法是开场一堆加速波,之后双冰拖时间,再之后一堆加速波直接炸到收尾。这种做法在老Ne20得到极大的发挥,在许多夜间极限超多炮中也有着很高的潜在价值。 能用高参数就不要用低参数。最浅显的区别,参数6每f两个弹坑少不了,参数7每f一个弹坑勉勉强强,而参数8每f一个弹坑轻轻松松。此外在守八列时,参数8可以碾过几乎不需要关心任何问题,而参数7则可能要考虑小丑炸炮、垫材受啃、变速分离炸刷新、跳跳甚至红眼等一系列麻烦。因此在使用极限波长时也要加一些考虑,能用短波就不要用长波,甚至在轨道已经确定完的情况下,尽可能压短之前设定的极限波长以减小小丑炸炮几率也是十分值得的。很可惜笔者自己并没有这个习惯却在这里瞎建议( ==== 起手与收尾 ==== 下面将要讲解的是对一切阵型而言都十分重要的因素:起手与收尾。我们先从收尾开始。收尾比起普通波有一个重要的特点,即无论怎么炸都不会直接刷新。这时,我们往往可以大量使用分离快速等原本可能导致非定态的炸法。一个简单的例子,在不考虑倒数第二波且巨人砸炮威胁小的情况下,收尾我们当然可以PPDD,PPDD,PP结束。但有没有更省运算量的炸法呢?PSD/p,/PSD,PP。事实上这种处理方式主要针对红眼,本质为减少PD时D虚炸所造成的浪费。还有自然就是在炮不够的情况下,pp清快速然后一直拖了。 但这远远不是收尾的最重要性质。经验告诉我们,在处理极限超多炮时,尤其是使用上文所介绍的体系时,经常会有一门炮恢复却迟迟不发射,理由是如果它这时发射就无法在下一次需要时及时装填。此现象往往发生于连续加速波的开头。很显然的是,如果这时恰恰在收尾,那么我们就可以随意地将这些炮打出去而不必担心下次恢复。 但是这又有什么用呢?收尾往往是不缺运算量的啊!但不要忽略了时间轴的可逆性。收尾能用的招数,起手也可以用!事实上当初笔者并没有意识到这一点,这里要再次感谢mj让我们可以再凑出一节的字数了(。如果起手对应连续加速波的末尾,这时往往也有大量运算量可供挥霍。在其他波无法使用这些运算量的理由是这是它们本应还在CD中。这经常很好地解决W10的刷新延迟问题。此外,由于N的收上波撑杆特性,它经常被安置于连续加速波的末尾,因此排布轨道时便可以在起手用N,并在实际运阵时用P代替!Ne20的新解便由此使用PPSSDD起手。它与C7u有着极高的相容性,在C7u的排布里,无论邻位冰还是间位冰,减速区间的运算量需求往往都十分均匀,从而给了它稳定的发挥空间;而正是它允许了C7u循环每f只使用单N,也正是它使得许多C7u被误认作Ch8。 这种在起手或者收尾位置上“浪一波”的做法,实质上是跳脱循环视角以充分利用红字前4500+720恢复的炮CD。对于夜间的高参数,一个循环5到6的过怪量,加上起手一波收尾一波已经达到7到8波,接近1f的波数。实际上这已经接近夜间变奏的终极目标——逐波。 ==== 终极?——逐波初步 ==== 夜间超多炮的终极目标便是逐波了,因为如同循环复用、极限波长等,它是真理——假设一个阵型有解,则它必然有逐波解!不过在这里笔者与mj产生了一定的分歧,笔者认为很可能找到一种方法,证明若一个阵型有解,则必然有循环解,进而证明循环在实战意义下的完备性,而mj坚持将夜间炮阵的下一步直接推向逐波,并且目前关于逐波的大多数工作其实都由mj完成,笔者建立许多东西后甚至连它们可以用于逐波都没有意识到(。显然逐波才是真正终极的理论,而笔者之前的看法就带有一些侥幸心理了,因此我们在这里对逐波进行初步论证。 我们在之前进行了若干推导,其中有一些是不需要循环作为先决条件的:循环复用定理,炮数计算公式,和极限波长猜想。因此逐波体系的建立可以以这三条理论为基础。目前的逐波体系框架为通过极限波长猜想找出若干可用的波长,排布这些长短波产生一列轨道,最后判断冰和灰烬是否可以支持这列轨道。现在笔者的主要研究方向为找出一些较长基本单元并将逐波轨道视作这些基本单元的拼接,而mj倾向于找出一部分解使其在所有方面优于另一些解,进而否认后者的必要性。不难看出在缺少后续理论的情况下,现在的逐波体系是效率低下的,缺乏实战价值,但一个刚出生的婴儿能做什么呢? 关于逐波的后续工作还在进行,但已经没必要再写入本帖了。毕竟那可是可以秒杀一切的存在,逐波一出本帖作古( 事实上如果你能看懂本帖的内容,再随便做一两个极限超多炮积累一点点经验,你的解阵能力大概已经超过笔者了( ==== 尾声 ==== Fe小电视真乃神阵,不信?你看看极限波长猜想、灰烬代炮理论,再看看人家的轨道...另外据笔者所知该阵是真正意义上的C7u首发...当年大家根本看不懂,连这是参数7还是参数8都要争论半天...简直超前了一整个时代啊( mj是第二作者,不接受任何反驳。 ===== Part 2 ===== [[https://tieba.baidu.com/p/5837175986|【Endless】夜间循环炮阵通论及新的节奏体系]] === 前言 === 在上一个贴子中,我们系统地给出了夜间极限超多炮的解阵方式,提出了冰骨架、极限波长、高等代奏等概念。由于仓促成贴,在上一个贴子中,我们仅给出了严格的逻辑推导,这种表述方式虽然能够较为精确地阐述观点,但理解起来较为困难,并且若要切入问题本质,需要读者额外付出大量的精力反复推敲。因此,在这篇贴子,我们会以一种较为直观的方式揭示以上种种概念的本质,并引入一些新的概念,笔风不会太过严肃(大概,希望能够帮助各位更为直观或者深入地理解夜间炮阵的运行模式,进而促进夜间复杂轨阵型的发展。 === 冰骨架体系 === 冰骨架体系是什么?其实冰骨架什么也不是,什么用处也没有,而且不便于思考。实际上其价值完全建立在极限波长和高等代奏等概念之上,仅仅是一个合适的载体而已,因此不必过于纠结。 传统炮骨架体系想必大家都是理解的,能够尽力压榨炮CD的节奏屈指可数,大家耳熟能详的夜间节奏有C6uCh7Ch8Ch9。普通的邻位C8u和对位C8u也算,因为它们和传统变奏的区别只是二循环和三循环,本质上是共通的。 与之对应的冰骨架,自然要压榨冰CD了。但如果仅仅满足于压榨CD,冰骨架的潜力极为有限,它真正提供给我们的是"简洁"。炮骨架的另一面是,节奏以炮为基底,灰烬甚至冰只不过是给炮补漏的罢了。而在冰骨架体系,我们可以只关心减速波,剩下的加速波,甚至减速波激活炸,乃至一切加速运算量,都可以当作给I补漏的。加减速运算量泾渭分明,唯有在这冰骨架体系下,才有高等代奏体系的生存空间。 ---- 以下是[[人物:平渊|平渊]]对本段的批注: 本处需要补的一些基础知识,不同的减速波时长上限(区分冰骨架节奏的根本出发点),不同加速波的时长上限(冰骨架节奏的必要补充)。这块[[社群:补锅群]]应该有比较丰富的数据只需要归纳就行。 如此,冰骨架体系的核心构架就可以概述为,基于必要的减速波波长上,由不同的双减速波次序安排为框架,填补以必要的加速波波长,构成一个以用冰效果最大化轨道为目的轨道理论体系。此体系可以应用于夜晚场合的常规轨道构架,以及一些基于高精度数值下的超多炮/拦截炮设计。 那么。相较于由炮位→压制强度→炮骨架体系的传统轨道。冰骨架的思路从观察到设计可以总结为炮位+植物(右极限)位置→冰波波长→冰骨架体系。 在整个轨道描述上,因为NIAA的CD一致,格格不入的P(a)运算在冰骨架上,我建议是完全拆解掉,用新的语言描述。在炮骨架下,其他运算处于不足状态,冰骨架则相反,炮运算始终存在盈余(复用)。那么一个完整的冰骨架轨道,应该包括本体轨道,以及P运算复用循环证明。 === 高等代奏体系 === 首先明确一个前提,铲种炮记作代奏。若始终作用于同一门炮,其CD为3475+750+650+202=5077,基本符合冰骨架要求,若出现不得已的情况还有位移铲种可供选择。由于其周期长,节奏中较难多次出现,但仍需注意。若阵解中出现一门铲种炮,应当视作炮数-1,例如一个Ne15炮,若是使用了一次铲种,则于节奏中应当认为是14炮。铲种与核弹类似,均能作为两个运算量使用,不过核弹的两个运算量必须同时生效,而铲种炮的两个运算量应当按照一点间隔使用。下面正文。 既然冰骨架和极限波长已经帮我们决定好了冰的用法,并给出了轨道,那我们只需用运算量填充这列轨道就好了。能填满就解阵完毕,填不满换一列轨道,就这么简单。冰骨架体系决定了循环长度无法大幅超过50s,因此灰烬代奏每个循环恰能使用一次。 我们都知道,只要炮数充裕,任何轨道都是肯定能填满的。那么我们考虑问题时可以换一个角度,不去思考"这些炮够不够填满轨道",而是去计算"填满轨道至少需要几炮"。不用灰烬代奏时需要的炮数轻易就能算出来,计算"任取3475时间,所需运算量数目的最大值"即可。那么我们关心的问题只剩下了,一个灰烬可以代几炮。 一个很显然的事实是,不记高级代奏,两炮完爆一个核弹,一炮完爆一个樱桃。那么如果一个核弹能代三炮,为什么当初不用两炮去代这三炮?因此一个核弹至多代两炮,同理一个樱桃至多代一炮。能做到吗?还真就能。 我们随意找一列轨道,再胡乱塞进去一些代奏,比如两个樱桃啦三个核弹啦,开心就好。这列轨道每个循环所需的加速运算量数目是确定的,我们称之为运算量总数。代奏已经塞进去了,这些运算量的数目我们称作代奏数,在刚刚的例子中就是2×1+3×2=8。那么剩下的运算量只能用炮顶了,如果这个数字小于等于阵型炮数,那这个阵显然随便解了,因此我们假设它大于阵型炮数。我们把这个数字减去炮数,得到的数字称为复用数。于是我们得到了一条公式: 运算量总数=炮数+复用数+代奏数 ---- 平渊批注:对于大多数人来说。读到这里就断了。运算量总数的计算和判定方法要做示例性补齐才行,不然阅读跳跃幅度太大,骨架不一样,运算量直接搬过来其数学含义还是要讲清楚的 ---- 对Ne20炮而言,这条公式就是28=20+5+3,辣椒仅作为补位拦截用,樱桃则认为参与实际输出,因此代奏数为3。28=20+5+3,这个式子称为Ne20炮的运算量组成。 下面我们来看一下一个阵解的代奏方式如何影响其运算量组成。若轨道确定,则运算量总数确定。若阵型确定,则炮数确定。若带卡确定,则代奏数确定。因此我们能够左右的因变量仅仅是复用数而已。在冰骨架体系下,唯一掌握在手中的自变量是代奏方式,即"这张卡用在哪里",因此任务十分明确:找到一种代奏方式,使复用数尽可能大。 上文原话,〖不用灰烬代奏时需要的炮数轻易就能算出来,计算"任取3475时间,所需运算量数目的最大值"即可〗。那么用了灰烬代奏该怎么办呢?很简单,哪些运算量是用灰烬代的,就把它们在轨道中直接抹去!但这和所谓复用数又有什么关系呢?若是直接用这种方式计算炮数需求,较简单的方式为"对每个运算量,求出以它为起点长度为3475的片段所需的运算量总数。找出总数超过炮数的那些片段,并插入代奏使它们小于炮数"。执行起来很麻烦,并且并不包含什么额外价值。 而对于一列已经剔除代奏的轨道而言,所谓复用数,也就是运算量总数-炮数,不正是"运算量总数-任取3475片段所需炮数最大值",也就是"任取(循环长度-3475)片段所需炮数的最小值"吗?于确定代奏方式后计算运算量组成的环节,在冰骨架体系下,循环长度不会大幅超过50s,因此新的片段长度一般不超过20s,远小于3475,计数繁琐程度骤降,这是其一。于选择合适的代奏方式的环节,若要降低3475片段炮数需求,就要对每个片段的超额需求进行统计,并规划灰烬分配使它们尽可能均匀地降低,非常麻烦;而"任取(循环长度-3475)片段所需炮数的最小值"这种东西显然不会因代奏而上升,我们只要尽力保证其不下降即可,而夜间节奏的加减速脱节几乎总能给我们这样的机会,我们要做的,只是数出那些已经是最小值的片段,并且不去碰它们不让它们进一步变小。至于"将本来并非最小值的片段过度代奏成为新的最小值"这种意外,处理起来也要轻松很多,这是其二。甚至在选择极限波长排列轨道的环节,我们都可以计算出当前的复用数,而几乎总有代奏方式能够不减小复用数。因此那些先天复用数高的节奏,即便运算量总数更高,也经常是有着更大的优势。能够直接反哺布轨环节,这是其三。 === 新的节奏体系 === 在冰骨架体系下,传统节奏命名方式应付新的节奏体系已经变得吃力。因此在这里提出一种新的参数体系,为I系变奏,代表冰骨架。例: Ne20炮: ''I7-50.40s;16.2/6/16.2/6/6;28=20+5+3'' Me20炮: ''I8u-50.42s;13.28/6/13.14/6/6/6;30=19+6+5'' 新的节奏表述方式分为三部分,第一部分仅仅粗略地给出主参数,第二部分给出具体波长,而第三部分给出运算量组成。其必要性依次递减,详细度则是递增,三部分给出的信息已经基本足够逆推完整轨道。 这种表述方式有着更强的包容性,甚至原本存在的各种不同体系节奏也可以成为其子集。例如原C5u-50s: ''I+pD+PPDA,I+pD+NS'DD,PPD'D'' 可以表示为: ''I5-50s,20/20/10,17=10+2+5'' 原C2f-42s: ''IPP+PP,IPP+PP'' 可以表示为: ''I4-42s,21/21,8=8+0+0'' 原C8i-48s: ''I+PP,I+PP,I+PP,N,PP'' 可以表示为: ''I8i-48s,12/12/12/6/6,10=6+2+2'' 没办法,简单轨经典变奏毕竟是冰骨架和炮骨架的交集,容易被冰骨架同化其实挺自然的( === 白昼的拓展 === 是的.如同黑夜双冰节奏,白昼三冰节奏的循环长度往往也能达到50s...那么冰骨架体系是否适用呢?很遗憾,恐怕是的...冰骨架与C8i的兼容性非常显然,并且允许了另一种形式I8i的存在,如I+PP,I+PP,PP,I+PP,PP。同时它也赋予了长循环参数6以价值,16/19/19这样波长的I6i有可能比Ch4u更加平滑。而获益最大的可能就是参数7了...获得冰骨架加持的I7i,完全可以闹一出13.5/15.25/15.25/6这样的微妙波长,从传统C7i脱胎换骨,压制强度超过Ch4,不弱于Ch5!如果更进一步的话,I5-30s,12/12/6这种节奏也有可能找到高效的炮组复用方式! 当然笔者实际上是并不希望发生这种事情的...白昼冰透支率极限接近1.5,那老老实实打34.75s双冰变奏就好了,为什么非要搞50s三冰变奏啊...比如上文的I7i,直接截取子循环,打15.25/15.25/6的Ch5有何不可?笔者也认为理应可以,但考虑到代奏问题,实在是无力证明。并且例如泳池场合56路1-6列的纯六炮,据我所知I6i的确是最优解...我也很绝望啊,希望Ch系变奏能最终翻盘的,但还要靠将来的探索了。 === 后记 === 诚然,随着冰骨架体系的完善,夜间炮阵甚至一些白昼炮阵的解阵过程都在不断变得明晰,但更多事情还是难以完善的,比如高级代奏,比如红眼跳跳等需要特化处理的僵尸,比如垫材细节处理,又比如f间弹坑冲突甚至卡片CD冲突。如果说白昼炮阵需要的是解阵者对冰透支的调节和对各种科技的微观把握,则夜间冰骨架体系需要的除了科技之外还有对节奏整体把控有着很强的意识,还要能够编写复杂的脚本...不管怎么说,至少像样的夜间复杂轨炮阵越来越多了不是吗( ===== Part 3 ===== [[https://tieba.baidu.com/p/5864240416|【Endless】节奏体系通论Part3(逐波体系初步)]] Part1是冰骨架体系的系统化提出,Part2则是高等代奏体系的系统化提出。这个系列将会继续持续下去,终点不明。废话不多说,开始正文。 在许多极限超多炮阵型中,我们会发现它们使用了类似逐波的节奏。但若的确是逐波节奏,理应无法用传统节奏的方法来命名。而我们都知道,老Me20解为C5u-3475,新Ne20则是I7-5040,这些命名隐含着极为明显的循环倾向。这真的仍然符合逐波的初衷,还是说其实都是披着逐波外衣的循环?本帖将会对此做出初步的讨论。 === 节奏定义的明确 === 先说说太祖双冰变奏帖子。这是非常推荐新人阅读的教程,能够让人轻松地从零开始迅速理解经典的双冰变奏节奏。但是就此打住,这个帖子实际上还是并不严谨,至少说,它的表述是不利于进一步深究的。 我们重新审视一下,节奏是什么。同样的生效时间,IPIPNP和IPIPPP是否是相同的C6u?热过渡Ch7与简单轨Ch7又是否是相同的节奏?想必大部分人会得出肯定的答案,即使不完全同意,但也是必然无法彻底否定的。节奏的本质是僵尸刷新的节奏,也就是"用于控制僵尸刷新的操作"的节奏。我们知道运算量分为加减法,同时分为基础运算量与附加运算量。这样就形成了激活炸,附加炸,变奏冰和减压冰的四宫格。在现有体系下,我们完全可以给出更为精确的定义。由于我们认为必须有两个半场的完全激活才确认刷新,因此两个半场的最早完全激活运算量即是激活炸的最佳人选。而"变奏"的作用是【拉长极限波长】,因此影响了极限波长的冰应当视为变奏冰。剩下的运算量自然要划入附加炸与变奏冰((此处应为减压冰))了。 值得一提的是,垫材作为较冰低级的减法运算量,也同样拥有拉长极限波长的变奏效果和削弱僵尸威胁的减压效果,同样可以分为两类,但考虑到其较高的灵活度和较低的优先级,暂时不予讨论。 回到正题,如果说上文提到的两种C6u,两种Ch7都是同一种节奏的话,我们已经不难找出节奏的明确定义了:在误差范围内,基础运算量相同的节奏为相同的节奏。这里的误差主要是极限加速的不同时机激活炸,以及基本不影响压制强度的不同波长造成的。例如6/12/6/12和6/11.5/6/11.5两种Ch6,应当视为相同的节奏。 === 轨列概念的提出 === 我们知道,"轨道"概念包含了一切的操作,其中冰炸运算量不可省略,加法的操作方式也要具体给出,只有垫材操作可以酌情省略。因此,排除垫材操作(还真是炮灰无人权啊),在误差范围内,所有操作相同的轨道为相同的轨道。但实际上在节奏与轨道两种概念之间仍然有着较大的空白,在一些情况下两者的使用都不能尽如人意。因此,我们追加轨列的概念,及其定义: 在误差范围内,加减法运算量相同的轨列是相同的轨列。 为了帮助理解,我们在这里给出一些例子: Ne12矩形炮,节奏为: ''I6-5300,1900/750/1900/750'' 轨列为: ''I+PPDD,PPdd,I+PPDD,PPdd'' 轨道为: ''I+PPDD,PPdd,I+PPDD,Ndd'' 如若增加樱桃代奏,轨道变为: ''I+PPDD,PAdd,I+PPDD,Ndd'' 此时轨列仍然不变。 如若炮数非常充裕,轨列可能变为: ''I+PPDD,PPSSdd,I+PPDD,PPSSdd'' 此时节奏仍然不变。 轨列的出现是冰骨架体系逐渐成熟的标志,也是冰骨架体系发展的必然结果,更是冰骨架体系的真正优势。冰骨架的确能够充分压榨冰CD,但实际上这种收益微乎其微;且是量变,难有质变。冰骨架最大的收益是孤立冰减法运算量,将炮加法运算量与代奏加法运算量同化,为高等代奏体系打下坚实的基础。 === 逐波?循环? === 我们曾经讨论过一列循环轨道的运算量组成,实际上运算量组成是连接轨列与轨道的重要桥梁。运算量组成明确了代奏方式,这正是轨列与轨道的主要区别。下面,我们来试分析Me20炮的轨道: ''NSSDD,PPDD,IPP+PPDD,P'ADD,IPP+PPD'D,PPDD,NSSDD,PPDD,ICE2PA'a+pDp+PPDDDD'' 由于P'ADD,IPP片段的存在,不难看出复用数为4。而代奏数为NAP'P'共计5,炮数为19。易知运算量总数为30,于是我们得到运算量组成:30=19+4+5... 等式不成立,这是为什么?原因很简单,轨道不循环!但掐去收尾特化,轨列为: ''PPSSDD,PPDD,IPP+PPDD,PPDD,IPP+PPDD,PPDD,PPSSDD,PPDD'' I8u无误。 也就是说这列轨道,虽然本身无法达成循环,却也与传统逐波节奏相去甚远。 因此,这里我们又要追加一组定义了: 一个阵解,若轨道可循环,称为循环解;若轨道不可循环而轨列可循环,称为弱逐波解;而若轨列不循环,称为强逐波解。 此循环即彼循环,此强逐波即彼逐波,而新定义的弱逐波体系,则点亮了长久以来循环体系与逐波体系之间的迷雾。 === 弱逐波体系通论 === 我们虽然定义了弱逐波,但它的本质是什么?它有什么能力,又该怎么发挥出来?这一系列的疑问,我们将一一解答。 实际上,一直以来最为经典的弱逐波,正是八炮双核代奏P6。没错,许多人认为这是循环,也有不少人坚持这是逐波,看来这种争论可以告一段落了。 节奏P6无误,无论是循环还是弱逐波,轨列都必然是循环的。但这里,轨列周期是多少却出现了争议。若是计作P6-36s,则运算量组成是12=8+0+4,无误。但若计作C8-48s,运算量组成却要变为16=8+0+4了...简直迷一样。实际上,若是计作C8-48s,轨道为PP,PP,PP,PP,PP,PP,N,N的循环,实际上炮数需求为12,运算量组成是16=12+0+4才对。 虽然强行将周期规定为36s可以解决这种分歧,但这是牵强附会罢了。由于炮的数量众多且有着高度同一性,夜间即使不用冰,也是核骨架为优,因此48s或者50s要更加适合作为周期。那该如何解决等式不成立的问题?很简单,等式本就不应该存在! 运算量组成公式的作用是通过在循环域进行取补操作,将重复的计算合并抵消,进而方便理解,那么在循环之外显然不应成立。问题自然是出在复用数上面了,最小复用片段的意义在于"若是将该片段向某一方向延伸3475,则必可以找到炮数的极限",而弱逐波体系根本不给它延伸的机会。弱逐波的本质,正是通过代奏列的强逐波,变奏列的循环结合炮列的填充,打破复用壁垒,进而为轨道多省出来命门所在的那么两三炮(有时可能有五六炮哦)。 那么我们就已经了解了弱逐波体系的作用了——在已经决定使用冰效率更高的循环轨列而非逐波轨列时,即便复用程度不够高,也完全可以坚持使用。弥补差额的方法有三,相位截取,起手收尾特化,时机微调。由于对于循环轨列而言,相位截取(即决定从第几波切入循环起手)可能的情况非常有限,并且其结果直接影响后两者的施行,因此应当首先决定。在确定相位后,再考虑所有的"运算量数超额的3475片段",通过适当插入代奏的方式省炮。若是仍然不够,考虑微调次要加法的生效时机并进行起手收尾特化处理。若是总结完整的解阵流程,大概就是计算极限波长-选取节奏-排出轨列-截取相位-初步代奏-起手收尾特化处理-完善代奏-时机微调-得出完整轨道。嗯,非常意识流的东西,然而其实实战手感出奇地好,多练吧( 好的,下面是练习题,Ne20炮: 首先敲定I7循环轨列,''IPP+BPPDD,PPSdd,IPP+BPPDD,PPdd,PPSdd''。考虑到收撑杆的作用,N必须用在循环第五波。这时若是直接插入代奏AA',我们发现列出循环轨道是可能的!然而由于受制于弹坑,每f仅可以使用一核,因此布轨仍然很有难度。为减少核弹的使用,我们在截取相位时从循环第一波切入,完整轨列变为''IPP+BPPDD,PPSdd,IPP+BPPDD,PPdd,PPSdd,IPP+BPPDD,PPSdd,IPP+BPPDD,PPdd,PPSdd'',会需要两次核弹,不能接受。观察起手特化处理,我们发现若在起手插入一波PPSSDD,不会对之后的节奏运行产生任何影响,因此就采取这种方法,将轨列变为''PPSSDD,IPP+BPPDD,PPSdd,IPP+BPPDD,PPdd,PPSdd,IPP+BPPDD,PPSdd,IPP+BPPDD,W19'',这时插入代奏已经没有任何问题,因此可以列出逐波轨道: ''PPSSDD,IPP+BPPDD,PPAdd,IPP+BPPDD,PPA'dd,NSdd,IPP+BPPDD,PPAdd,IPP+BPPDD'',W19进行收尾特化处理BPPDA'+PDI。为迎合W19的操作,W16的B时机会提前,虽然不排除漏橄榄的风险,但到时用垫材即可。如此,我们便成功在运算量本不够的情况下解出了阵型。 注意,在写出弱逐波轨列时,可以仅写出排除起手收尾的一个周期。但需要写出轨道时,除非确认对方有能力轻松解开代奏列,否则请写出完整逐波轨道以帮助理解。 === 强逐波体系初步 === 虽然我们知道,弱逐波体系有着相较循环体系高得多的完备性,但追求完美是人的天性,完备性最高的强逐波体系乃是大势所趋。不幸的是,目前为止定态领域【从未出现任何具有必要性的强逐波阵解】。因此,虽然弱逐波是强逐波的子集,但要问起强逐波究竟能做哪些弱逐波做不到的事情,恐怕没人回答得出来。正是因为这样,强逐波的研究目前为止还没有好的切入点。高参下的强弱逐波很容易同化,并且由于单f时长短,暴力强解强逐波并无不可。而在低参情形,考虑到冰的实用性,强行强逐波压低冰效率能够取得多大的收益也难以估计。但即便如此,我们也是有办法使用抽象的方法来总结强逐波体系的。我们知道,减速波的压力往往大幅低于加速波,且其激活到刷新间隔永远是2s。因此,可以判断,一个减速波激活炸之前所积累的压力是不会积累到之后的,若是从减速波的激活处将完整轨道分割则可以得到相当整齐的片段,且各片段之间并很少互相干扰,仅需要考虑加减速同时拦截问题即可。这样,我们便可以得到一系列加速段,加法段之间由减速波衔接。在确定极限波长后,只要在不违背冰CD的前提下合理地组装加速段,形成轨列,再用弱逐波的方法进行下去直到形成轨道即可。如果说极限波长-节奏-轨列的路线更为符合弱逐波思想,那么极限波长-加速段-轨列就是符合强逐波特点的处理方式。 也许这样真的可以系统性地解出强逐波轨道?笔者无从得知,只知道虽然摸索到了屠龙之技的一式,却是无龙可屠,更是无法验证其有效性。也许强逐波体系的发展和夜间定态体系的真正完备,还是要看后人了。 === 附:白昼冰骨架体系初步 === 冰骨架体系在夜间大杀特杀,难度白昼没了冰CD的限制也就没了冰骨架的容身之所?非也。冰骨架的本质是加减法剥离,是轨列的提纯,和CD没有任何关系。但尽管如此,冰透支仍然是不能忽视的重要问题。 叶在冰透支演算贴中一针见血地指出,冰是白昼一切节奏的根本,节奏之间的区别只不过是波长的不同和代奏省冰方式的不同而已。在这种思想的引导下,白昼冰骨架体系的引入其实非常自然。对于只存在两种极限波长的阵型,实际上已经找到了解析化的冰骨架通解——减速的运算量需求低于加速,而压制强度高于加速,因此无限减法必然是阵解之一,但这样的解冰透支率极难达标,因此代奏省冰必不可少。我们的选择是,在不影响阵型稳定性的前提下,找出冰透支率最低的解。操作上非常简单,首先假设每一波都是减速波,之后从第一波开始观察,如果这波改为加速波,阵型会不会告破?运算量能否填补缺口?如果两个问题都得到了肯定的答案,放心大胆地换吧,之后再去观察下一波。由于只存在两种极限波长,任取仅包含两个实数的两个序列,将两者分别排序并补齐后,两者之间是必然存在优超关系的——听不懂不要紧,重要的是一旦出现第三个实数,这条规律无法成立,因此通解才会限制两种极限波长。由于这个解法的可拓展性不强,因此距离白昼冰骨架体系的完善还有很长的一段路要走。但白昼不存在弱逐波情形,一旦引入就可以直达强逐波,大概算是不幸中的万幸吧。这条不成功的通解权当抛砖引玉,希望能够刺激相关领域的进一步研究。