路由模拟——路由算法1的构想

原创 2004年04月19日 19:10:00

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

                                                                 路由算法的构想

2004-4-9

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

一,对于这个网络,有如下定义:

1,        nodeSet = { A,B,C,D,E,F,G }.

* 原操作 NEXTHOP() : NEXTHOP(node) = set with all the node’s adjacent-nodes.

* 原操作 RANDOM() : RANDOM(set of nodes) = one random node in set of nodes.

2,        gene : string of element in nodeSet.

           * 原操作 NODE() : NODE(gene) =  node set which constructs the string of gene.

           gene’: NODE(gene’) = nodeSet – NODE(gene).

3,        geneSet = 成熟态gene的集合.

* geneSet 的操作:

(1),    best = geneSet.GetBest();

(2),    worst = geneSet.GetWorst();

(3),    gene = geneSet.First();

(4),    gene = geneSet.Random();

(5),    geneSet.AddFirst(gene);

(6),    geneSet.AddRear(gene);

(7),    geneSet.RemoveFirst();

(8),    geneSet.RemoveRear();

(9),  geneSet.Sort();

         4,      from  , to    , pre  , next : node in nodeSet.

 

         e.g.             NEXTHOP(A) = { B,C,D };

                            gene = ABFC;

                            gene’ = DEG;

                            NODE(gene) = { A,B,F,C };

 

    二, 构想的算法过程为:

 

1,      gene.Init() : NODE(gene.Init) = { from ,to };

gene-set.Init() {

For i := 0 to gene number Do

         gene_i.Init();

}.

 

p.s. After gene.Init(),the rear of the gene is the element just before the last one, that is, the one before the ‘to’.

 

2,      (1),    gene.Builder1() { //保守成长

                   newNode = RANDOM( NEXTHOP( gene’s rear-node) );

                   ADJUST( gene’);

                   }.

         (2),    gene.Builder2() { //开明成长

                   newNode = RANDOM( NODE( gene’) );

                   ADJUST( gene’);

                   }.

         (3),    if ( gene is COMPLETE ) {

                   gene 进入成熟态;

                   geneSet.AddRear( gene );

                   }.

         //

         While( geneSet.geneNumber < MAX_GENE_NUMBER ) {

(1)     &  (2);

(3);

if (gene can’t be COMPLETE )

         random-delete some nodes from the rear of NODE(gene);

         }.

3,      geneSet : 成熟态的gene的集合.

4,      best = geneSet.GetBest();

         COPY( best );

         If( best is BEST)

                   停机.

 

5,      //

geneSet.ReBuilder() {

                   give up half genes of the geneSet which are not so good;

                   while( geneSet.geneNumber >0){

                            gene = geneSet. First();

                            (1) gene 演化;

                            存储 gene in another half genes’ set;

                            geneSet.RemoveFirst();

                   };

                   put another half genes into geneSet;

}.

 

         1继续填充geneSet.

 

(1)       gene演化 {

{ //保守变异

random-select two node XY in NODE(gene);

node = RANDOM( NEXTHOP( X));

change Y with node;

                            } & { //开明变异

random-select two node XY in NODE(gene);

node = RANDOM( NODE(gene’) );

change Y with node;

                            } & { //自舍一段

                                     random-delete some nodes in NODE(gene);

                            };

                            gene 成长至成熟.

}.

 

 

         注:& 是一种选择策略.

 

 

 

 

 

 

                                                                                                          <2004-4-12 完成草稿>

 

计算机网络1-距离矢量路由算法模拟

距离矢量路由算法实验 一、实验要求   网络拓扑图   实验过程描述 1、将上面的网络拓扑图保存待用 例如,可用二维数组保存,数组下标或索引可隐含表示网络节点。数组元素保存网络拓扑图边上的权值 2、...
  • bobo1356
  • bobo1356
  • 2016年06月16日 23:42
  • 1750

距离矢量路由算法实验

计算机网络实验:///Distance Vector routing #include #include #include #include #include #include #include #i...
  • algzjh
  • algzjh
  • 2017年06月01日 08:51
  • 506

模拟简单距离向量算法的更新——计算机网络作业

//2016.5.25 19:35 #include #include #include #include using namespace std; struct rtpkt{ //no节点编号...
  • Adieu_csdn
  • Adieu_csdn
  • 2016年06月12日 19:21
  • 728

用C语言实现距离向量算法的过程模拟

计算机网络的实验拖了好久了,内容是模拟RIP协议,一直想用纯面向过程的思路来写,其中原因并非不喜欢面向对象,而是博主的Java忘的差不多了。。。...
  • qq846294282
  • qq846294282
  • 2016年11月14日 16:53
  • 1913

多路径路由算法选择(3)——路由器的简单介绍

下面内容摘自《计算机网络,谢希仁》: 路由器的构成P160图4-42 路由器是一种具有多个输入输出端口的专用计算机,其任务是转发分组。 (注意这段的内容丰富,仔细阅读)路由器有两...
  • mmc2015
  • mmc2015
  • 2015年09月19日 21:40
  • 1234

第五章 路由算法

第五章 路由算法如果从路由选择算法能否随网络的业务量或者拓扑变化自适应地进行调整来划分, 可分为两大类: 非自适应的和自适应的。 非自适应路由算法:静态路由选择。 这种策略的最大优点是简单和开销小。...
  • tianlangxingwangye
  • tianlangxingwangye
  • 2016年07月05日 10:12
  • 2463

ZigBee路由协议分析(机制,算法,发现,建立)

一、ZigBee网络层次结构与地址分配机制 ZigBee网络中的所有节点都有两个地址:一个16位网络短地址和一个64位IEEE扩展地址。其中16位网络地址仅仅在网络内部使用,用于路由机制和数据传...
  • dsanmux
  • dsanmux
  • 2015年08月11日 10:51
  • 2424

路由算法总结

概述通信子网络源节点和目的节点提供了多条传输路径的可能性。网络节点在收到一个分组后,要确定向下一节点传送的路径,这就是路由选择。考虑的因素在数据报方式中网络节点要为每个分组路由做出选择;而在虚电路方式...
  • u010321471
  • u010321471
  • 2016年09月02日 14:50
  • 5368

路由算法入门

路由算法是提高路由协议功能,尽量减少路由时所带来开销的算法。 路由器使用路由算法来找到到达目的地的最佳链路。 网络可以抽象成图来理解 路由算法分类: 静态路由是指由用户或网络管理员...
  • qq_33936481
  • qq_33936481
  • 2017年01月12日 18:37
  • 2296

路由之路由表查找算法概述-哈希/LC-Trie树/256-way-mtrie树

转自:http://blog.csdn.net/dog250/article/details/6596046 引:路由是互联网的一个核心概念,广义的讲,它使分组交换网的每个节点彼此独立,通过路由耦合...
  • dalskjflaskjd
  • dalskjflaskjd
  • 2014年03月24日 22:10
  • 3075
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:路由模拟——路由算法1的构想
举报原因:
原因补充:

(最多只允许输入30个字)