发明名称 一种基于伪随机数的网络无向通信模拟方法
摘要 本发明提供的是一种基于伪随机数的网络无向通信模拟方法。该方法在拓扑网络中使用随机数生成模拟网络结点通信,突出模拟网络的随机性,将同时刻开时的网络通信进行合并,仅使用通信开始时刻和网络结点编号来记录通信信息,减少了网络通信模拟的内存使用和操作时间。
申请公布号 CN103457798A 申请公布日期 2013.12.18
申请号 CN201310395276.X 申请日期 2013.09.03
申请人 北京邮电大学 发明人 姚文斌;韩司;王真
分类号 H04L12/26(2006.01)I;H04L12/24(2006.01)I 主分类号 H04L12/26(2006.01)I
代理机构 代理人
主权项 一种基于伪随机数的网络无向通信模拟方法,其特征在于:本发明的目的是这样实现的:设网络拓扑中共存在N个网络结点,随机数M为未来将有M对结点之间进行通信;使用数据通信记录Note{A,B,Time}来记录M次随机通信的通信结点A、B和通信开始时刻Time;生成M对随机数{A1,B1,Time0}…{Ai,Bi,Timei}…{Am,Bm,Timem},其中,Ai,Bi∈{1,...,N}且Ai≠Bi;{Ai,Bi,Timei}表示结点Ai和结点Bi间从时刻为Timei开始进行一次通信;将通信结点{Ai,Bi,Timei}插入到通信链表NoteList中,由于生成的随机数中可能存在两对随机数{Ai,Bi},{Aj,Bj}有Ai=Bj,Bi=Aj的情况,即生成的通信记录有时间相同通信结点相同的记录,因此需要将两个通信记录进行合并,删除NoteList中重复的结点;删除重复的结点后,统计所有通信记录的Note中通信次数并记录到变量NUM中,如果NUM<M则需要重新生成M‑NUM对随机数结点和通信开始时刻,重复上述过程,直至NUM=M,得到有效M个随机通信记录,这样根据NoteList记录通信可以模拟一种基于伪随机数的网络无向通信模拟方法;具体步骤为:(1)用户输入网络结点数N,生成随机数M表示网络中将有M对结点进行通信,初始化有效通信数NUM=0;初始化通信记录链表NoteList为空;(2)随机生成一个三元组{A,B,Time};(3)如果满足条件A≠B,则执行步骤4;否则执行步骤2;(4)如果满足条件1≤A≤N,则执行步骤5;否则执行步骤2;(5)如果满足条件1≤B≤N,则执行步骤6;否则执行步骤2;(6)如果NUM=0,执行步骤12,否则执行步骤7;(7)i=1;(8)取出NoteList的第i个元素{Ai,Bi,Timei}如果Time=Timei,执行步骤9,否则执行步骤11;(9)如果A=Ai并且B=Bi,执行步骤13,否则执行步骤10;(10)如果A=Bi并且B=Ai,执行步骤13,否则执行步骤11;(11)i值加1,如果i>NUM,执行步骤12,否则执行步骤8;(12)将{A,B,Time}加入NoteList,NUM值加1;(13)如果NUM<M,执行步骤2,否则执行步骤14;(14)NoteList中保存了基于伪随机数的网络无向通信信息,生成程序结束。
地址 100876 北京市海淀区西土城路10号