一、实验目的及内容
使用Matlab软件对TopDisc算法中的三色算法进行仿真实现,利用颜色标记传感器节点状态,形成传感网拓扑结构。
三色算法的具体过程:
1.黑色节点向邻居发送查询消息。
2.白色节点接收到黑色节点的消息后,将自身变为灰色并开始等待,等待时长与信息来源的黑色节点的距离成反比。等待结束后,向邻居节点发送查询消息。
3.白色节点接收到灰色节点的消息后,开始等待,等待时长与信息来源的灰色节点的距离成反比。若在等待时间内收到黑色节点信息,则执行步骤2,否则自身变为黑色节点,并向邻居发送查询消息。
仿真要求:设置节点数、节点分布区域、节点位置和单跳传输距离等,输出标记前的节点分布图与标记后的节点状态图或拓扑结构图。
二、仿真结果及分析
仿真参数设置:节点设置与分布:500个节点随机分布在10*10的范围内,但在此基础上删去了相距过近的部分节点。节点传输距离为1个单位。


仿真结果分析:图2-1标出了传感器节点的分布(用蓝色小圆圈表示),其大致均匀分布在10*10的矩形范围内。图2-2标出了经过三色算法计算后传感网的节点状态,黑色小圆圈代表黑色节点,绿色小圆圈代表灰色节点。初始黑色节点为(6.6695,2.1528),从图2-2来看,算法执行完成后黑色节点与灰色节点均匀相间分布。
三、实验总结
三色算法标记完成后,通过反向查找查询消息的传播路径形成骨干网黑色节点成为簇头节点,灰色节点成为簇内节点。
优点:不需要知道全局的节点信息即可生成完整的簇,并且生成的开销较低。
缺点:建成的网络灵活性不强,一旦某些节点失效,网络必须重新拓扑。且算法中能量消耗不均匀,使得网络中部分节点因能量消耗过快而失效,这种能量消耗不均衡会影响整个系统的正常运行,缩短网络生命周期。