hslogic_A*算法
这几组公式对应的代码为:
整个算法的核心思想为,合理进行频段的分配,使延迟达到最小值,这里,我们将通过循环迭代的方法,即通过计算不同的频段下整个系统的总延迟值的大小,然后取最小值。
这个部分对应的代码:
DN最小值的搜索:
DP最小值的搜索:
2.2算法的流程图
2.3代码逐句解析
以上的代码是一些参数的设置,其中第6行代码为随机数种子,确定一组随机数的产生。
第8行的代码为设置实际的拓扑结构,分别为单数据流,并行的数据流以及交叉的数据流;
第10行的代码为设置两个场景,1的时候为标准的算法A的场景,即带宽一致,且不考虑传输路径的延迟,信噪比等因素,而2的时候为实际的仿真场景。
第11行为网络节点的个数,这里,根据文献的意思,设置一个正方形的矩阵拓扑结构,为了方便,所以设置为n平方个即,9,16,25,36,49,等。。。。。可以调整设置。
后面几个参数比较容易理解,不说明了。
17,18,19这几行,是初始化随机产生每个节点的附近的可用频段。
K为常数,即10ms/10Mhz。
21,22,23这几行的参数后来的最终代码没有用到,这里没使用,可删除。
后面几行,就是设置场景,1的时候即为理想的场景,即带宽都为2M,而2的时候,则设置为实际的厂家,考虑的不通过的带宽,SNR以及Pi概率。
之前,你说的几个参数需要做统计分析得到,但是这些参数看过几篇文献,基本都是根据现存的资料设置的,这里根据一般的情况,做了如上的设置。
43行,为仿真次数,由于每次产生的随机的初始参数,为了更加精确的反应其实际的曲线变化,则进行多次的仿真,最后求平均即可,这里100就是仿真的次数,最后对100个仿真结果进行求平均。
初始化节点的可视坐标以及标号,
初始化节点的实际坐标以及标号,
产生不同结构的拓扑的数据流模式
在选择实际场景的时候,对每个节点的带宽,节点之间的路径SNR值以及传输成功概率进行初始化。
计算初始条件的整个网络的不同交叉节点的冲突数。
在不是目标节点的情况下,进行DN的计算,这里计算就是前面的介绍的公式进行的。
如果是目标节点,进行计算对应的DN值。
计算其最小值。
计算路径延迟的最小值。
最后得到的延迟值。
对前面100次进行的仿真结果进行求平均,得到最后的最小时延值。
其余几个代码均和A相似。
三、算法的仿真说明
算法性能的对比是‘对比算法A’,‘基础算法A’,‘基础算法A的改进算法’这3个算法的性能对比。以及‘对比算法B’,‘基础算法B’,‘基础算法B的改进算法’这3个算法的性能对比。以及‘基础算法A的改进算法’‘基础算法B的改进算法’的对比。
‘对比算法A’,‘基础算法A’,‘基础算法A的改进算法’这3个算法的性能对比
从上面的仿真对比可知,基础算法和改进后的算法,在延迟上基本相同,但是改进后的算法考虑了实际网络环境中的节点路径传输延迟,因此其时延是提高了,即其节点切换延迟和避退延迟比基础算法有了进一步的提高,此外,对比算法由于其采用了随机的频段,因此,其延迟较大,性能较差。
‘对比算法B’,‘基础算法B’,‘基础算法B的改进算法’这3个算法的性能对比
从上面的仿真对比可知,基础算法和改进后的算法,在延迟上基本相同,但是改进后的算法考虑了实际网络环境中的节点路径传输延迟,因此其时延是提高了,即其节点切换延迟和避退延迟比基础算法有了进一步的提高,此外,对比算法由于其采用了随机的频段,因此,其延迟较大,性能较差。
对比算法A和算法B,由于B算法简化了其路径避退延迟,将其等效成了节点规避延迟的累加,所以,算法的B的性能差于算法A的性能。