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的性能。

猜你喜欢

转载自blog.csdn.net/ccsss22/article/details/108503455