Rumor谣传路由协议

 Rumor协议是在DD路由协议的基础上演化而来的,有的场合中,如果需要进行的消息查询是少量的,那么DD路由协议的路由建立开销太大就会造成资源浪费。因此,Braginsky D.等人针对少量数据传输提出了Rumor谣传路由协议。该协议采用随机的单播查询消息给某个邻居节点,这样就会使得路由建立开销大大减少。    当节点检查到目标事件后,将其保存并创建一个Agent消息(包括名称、到事件起源地的跳数、事件起源地的下一跳地址等)。将其按一条或者多条随机路径在网络中转发,中间节点收到此Agent消息后,在节点的事件列表中建立一个表项,收到Agent消息的节点根据事件和源节点信息的轨迹建立反向加强路径,再次发送前在Agent中增加已知的事件信息,并将 Agent再次随机地发送到相邻节点。汇聚节点Sink的查询请求则沿着一条随机路径发送,当查询消息的路径相交叉时,路由就建立起来了,否则以泛洪的方式查询。Etumor协议采用随机方式建立路径,传播路径可能会较长而有所延时,适合于数据传播很少且时延性要求低的应用场景,但是路由建立开销较小。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是使用MATLAB实现的基于Levy噪声的随机谣言传播模型仿真代码: ``` matlab % 模型参数 N = 1000; % 总人数 I0 = 10; % 初始感染人数 T = 200; % 模拟时长 beta = 0.3; % 传播率 gamma = 0.1; % 恢复率 mu = 0.01; % 媒体报道强度 alpha = 1.5; % Levy指数 D = 1; % 扩散系数 dt = 0.1; % 时间步长 % 初始化 S = N - I0; I = I0; t = 0:dt:T; x = zeros(size(t)); y = zeros(size(t)); z = zeros(size(t)); x(1) = S; y(1) = I; z(1) = 0; % 模拟 for i = 2:length(t) % 计算Levy步长 r = trnd(1, 1); theta = unifrnd(0, 2*pi, 1); l = (abs(r)^(-1/alpha)) * exp(1j*theta); dx = real(l) * sqrt(2*D*dt); dy = imag(l) * sqrt(2*D*dt); % 计算SIR模型变化 dS = (-beta*S*I/N - mu*S) * dt; dI = (beta*S*I/N - gamma*I - mu*I) * dt + dx; dR = gamma*I*dt + dy; % 计算媒体报道变化 dM = -mu*z(i-1)*dt + sqrt(mu*z(i-1)*dt)*randn(); S = S + dS; I = I + dI; R = N - S - I; z(i) = z(i-1) + dM; % 保存结果 x(i) = S; y(i) = I; end % 绘制结果 plot(t, x, 'b-', 'LineWidth', 2); hold on; plot(t, y, 'r-', 'LineWidth', 2); plot(t, R, 'g-', 'LineWidth', 2); xlabel('Time'); ylabel('Population'); legend('Susceptible', 'Infected', 'Recovered'); ``` 该模型考虑了媒体报道的影响,其强度由参数mu控制。我们同样使用Levy噪声来模拟谣言的随机传播过程。最终,我们通过绘制S、I、R三个变量随时间的变化曲线来观察疫情的传播趋势。另外,我们还可以绘制媒体报道随时间的变化曲线,来了解媒体报道对谣言传播的影响。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值