工欲善其事必先利其器-科技论文性能分析篇
通信和计算机领域的科技论文,究竟该如何将实际问题进行抽象并建模,从而形成具有一般性的方法论?
本篇主要介绍科技论文写作中主流的性能分析工具,主要搬运自《科研有方-“想好再做”》,该书作者有着十几年科研经验,曾辗转于香港、加拿大、澳大利亚等名校,具有深厚的理论功底和出色的科研能力,除此之外,也是一位极具理想主义色彩的学者,更为重要的是其对本篇作者在科研道路上的启蒙极为重要。
面向科研入门者,在众多经典的数学工具中选取一种或几种来解决自己所研究问题,
性能分析工具,
在通信或计算机领域,通常各类IEEE Transactions论文对数据分析要求极高,具有较高的理论价值。而在具体的问题分析中各类方法层出不穷,本篇主要针对随机建模的方法,使用概率论、排队论、马尔科夫链等数学工具。而在这些工具中,许多国外经典教材,理论阐述由浅入深、举一反三,阅读该类书,会感觉仿佛有位老师在面对面对你讲述,非常适合自学。
- 概率论,Sheldon M. Ross. Introduction to Probability Models. Tenth Edition, 2009;
- 排队论与马尔科夫链, Leonard Kleinrock Queueing Systems. Volume 1: Theory, 1975;
- 再生过程,Robert G. Gallager. Discrete Stochastic Process. Kluwer, Boston, 1996;
上述分析方法通常可用于分析随机系统,也就是分析通信过程中的随机事件,如用户请求、通信噪声与不稳定因素造成的随机系统性能。其中,随机过程主要研究随机变量的建模和分析,是排队论、马尔科夫链等更高级工具的基础。
数学规划或优化
数学规划或优化有很多不同的类别,如凸函数优化、整数优化等。不同的优化方法,主要是通过所要优化的系统的不同特性来采用的。比如系统是否是个非常动态的系统,是否存在随机变化的系统参数量,是否有集中的控制等。以下对此进行简单比较:
- Markov Decision Process(MDP)与Network Utility Maximization(NUM),NUM是在跨层优化的背景下提出,以网络Utility作为优化对象,采用凸函数优化等数学规划的方法,设计最优的网络协议。MDP和NUM的区别在于,MDP是针对动态系统,优化系统随时间变化的平均性能。所谓动态系统,就是指系统中有不断的参数变化。而NUM研究的静态系统主要是设计,在固定的一个时间点,系统参数已知且确定的情况下,如何优化选择要设计的参数。因此,MDP是动态优化(Dynamic Programming)NUM是静态优化(Static Programming)。NUM或凸函数优化等静态优化方法通常需要采用数值方法求解,通过多次尝试修改参数选择来逼近最优值。因此,NUM设计的赛诺菲需要花时间去收敛到最优值。如果系统变化过快,UNUM可能永远无法收敛。因为算法刚刚找到接近最优的解时,由于系统发生变化,最优解也相应变了,从而使算法需要重新找新的最优解。但是理论上讲,如果一个系统同时采用MDP和NUM求解,NUM的解法会得到更优化的解。因为NUM的解会让系统在每个时刻都有最好的性能,而MDP只是保证平均的性能优化。但是从复杂度来讲,NUM由于要根据系统变化不断地进行调整,因此对于变化频繁的系统,如果计算机同时运行MDP和NUM的解,那么NUM的计算机会不停的运作,CPU会很烫。MDP的解可能会更自如地应对系统变化,但是MDP不适用于系统状态过多的情况,这就是著名的Curse of Dimesion(维度诅咒)。
- Game Theory(博弈论)和Convex Optimization(凸优化),Game Theory与Convex Optimization的根本区别在于优化系统的方向不同,Game Theory的问题通常会转换为凸函数优化问题,主要用户分析当网络中没有中心控制,网络内节点处于自治的情况下如何设计网络协议。更进一步,Game Theory假设节点是理性的自私(Rational Selfish)。所谓理性,是指一个节点都是以最大化自身利益为目标,不回去干损人不利己的事情。所谓自私,指每一个节点不会去管别人死活,只关心自己的利益。在通信网络中,因为这种理性自私的存在,节点间可能存在一种互相的牵制,而这种牵制可能最终导致系统的平衡或节点相互制约。例如,如果一个节点为了自己的利益而去伤害其他节点的利益,那么其他节点也会采取相应的行动来维护自己的利益。这种其他节点的行动可能会最终导致这个节点自身的利益受损。出于对这种结局的考虑,节点就会接收目前的状态而不去伤害其他节点来攫取自身的利益。核武器的震慑作用就是这样体现的。
虽然Convex Optimization也多用于设计分布式系统,但是与Game Theory的根本不同在于,Convex Optimization假设网络节点都是“良民”,绝对服从组织安排,没有自私性。由于对节点的假设不同,Game Theory的设计主要目标是网络稳定性,或者追求纳什均衡(Nash Equilibrium)。因为在一个完全自治、节点各自为政的网络中,稳定的工作是首要的保证和最低要求。当采用Game Theory设计的协议被证明可以达到纳什均衡时,下一步才是分析这个系统的性能,或者叫Price of Anarchy。如果该性能和采用Convex Optimization设计的网络性能一致,那么就说明这个设计达到了最优,或者说又稳定,又不会因为节点的自私性对系统性能有损。因此,Convex Optimization一定可以达到系统的最优性能。Game Theory设计的终极目标是获得和Convex Optimization一样的性能,但是前提是达到纳什均衡。 - Convex Optimization与Stochastic Optimization,二者类似,与Convex Optimization不同的是,Stochastic Optimization允许系统中有参数是随机变化的。这个随机变量可以出现在目标函数(Objective Function)中,也可以出现在限制条件的不同位置。根据具体出现的位置,可能解法会相应调整,因此,Convex Optimization是Stochastic Optimization的基础,而原本是Convex Optimization的问题,当考虑到某些参数是随机变量时,很有可能转化为Non-Convex Optimization,因此需要引入随机变量的概率密度函数,而这个函数通常结构复杂,不是Convex Function。因此,Stochastic Optimization更复杂,但是对系统的建模更准确。有时我们知道系统存在噪声和误差,我们可以把这个误差和噪声建模城随机变量引入Convex Optimization,使问题变为Stochastic Optimization,这时,Stochastic Optimization获得的解就会比较保守,因为需要考虑系统出现偏差时的对此(Worst Cast Analysis),因此Stochastic Optimization也常作为Robust Optimization使用。
- 稳态和瞬态分析,对于通常的通信系统,我们都关心的是稳定性能或者稳态解。换句话说,我们关心当时间趋近于无穷大时系统的性能。此时,我们可以采用马尔科夫链建模和排队论。与排队论这样的动态系统分析工具相对应的是Network Calculus,这是一种静态的网络分析方法。
很多情况下 ,我们还需要分析网络的瞬态性能。因为现在的网络由于节点的移动性,变得更为动荡。此时,一方面我们可能会关心当时间不趋近于无穷大时的性能,另一方面我们会关心系统是以什么样的速度达到稳态的。因为了解了这个,我们可以分析系统是否有足够的时间达到稳态。另外,我们可以优化这个达到稳态的时间,让系统尽快收敛到稳态。
对于稳态分析,通常使用的方法是微分方程建模,因为微分方程可以将系统参数与时间的变化联系起来,通过微分方程的求解,我们可以获取参数随时变化的表达式,在该表达式中,让时间取无穷大,就是系统的稳态性能。具体例子可以参考《Adaptive Topology Formation for Peer-to-Peer Video Streaming》(Springer International Journal of Peer-to-Peer Networking and Applications (PPNA), Vol.3, No.3, September, 2010)。
对于微分方程,有些论文还会采用随机微分方程(Stochastic Differential Equation)来对系统建模。与一般微分方程的区别是,随机微分方程考虑了系统参数可能是随机变量。
引自Prof. Luan的话,“我曾经在有些排队论的书中看到过瞬态马尔科夫分析,基本上是用微分方程来取代马尔科夫中的状态平衡方程。对于数学工具,我们需要掌握的是其名称、功能及特点。这样当我们拿到一个问题时,分析了问题的性质就可以知道去学习哪种工具来求解。”摘自《科研有方-“想好再做”》P63。
不同数学工具,其中总有更好、更准确和更高级的。比如Convex Optimization的分析,总可以用Stochastic Optimization来做的更好,因为系统误差或者其他因素导致的随机参数总是不可避免的。在这种情况下,我们应该量力而为,选择自己能掌握的数学工具,这样,一方面我们可以更主动、有效地控制科研时间;另一方面,过于深入、高级或细致的数学可能让你很难得到问题的有效解,同时也会引入大量不太人性化的数学公式。这种枯燥的数学可能很难让审稿人和论文的读者领悟,影响了知识的传播。
更多科研学术交流,可email至yaozh.g@foxmail.com
作者研究领域为车联网、边缘计算、网联自动驾驶、边缘智能等。