第八讲matlab在通信网中的应用.pptVIP

  • 7
  • 0
  • 约7.45千字
  • 约 51页
  • 2021-04-16 发布于浙江
  • 举报
初始化:j?0, T??, c?0, k?0; 对所有i ,t(i)?i . j?j+1 t(B(1,j))?t(B(2,j)) T?T?(B(1,j),B(2,j)), c?c+B(3,j),k?k+1,i ?0 t(i)=max{t(B(1,j)), t(B(2,j)) t(i)? min{t(B(1,j)), t( B(2,j)), k=n-1或j=n T, c 整理边权矩阵 N Y i=n 终止 N Y Y i ? i+1 N Y N 主 页 上一页 下一页 Kruskal算法 例:用Kruskal算法求引例中的加权图的最小生成树。 1 2 3 4 5 8 6 9 1 5 7 10 3 b=[1 1 1 2 2 3 3 4; 2 4 5 3 5 4 5 5; 8 1 5 6 7 9 10 3]; 边权矩阵: b=[1 1 1 2 2 3 3 4;2 4 5 3 5 4 5 5;8 1 5 6 7 9 10 3]; [B,i]=sortrows(b,3);B=B’; m=size(b,2);n=5; t=1:n; k=0; T=[]; c=0; for i=1:m if t(B(1,i))~=t(B(2,i)) k=k+1; T(k,1:2)=B(1:2,i), c=c+B(3,i) tmin=min(t(B(1,i)),t(B(2,i))); tmax=max(t(B(1,i)),t(B(2,i))); for j=1:n if t(j)==tmax t(j)=tmin; end end end if k==n-1 break ; end end T,c 主 页 上一页 下一页 程序运行结果: T = 1 4 4 5 2 3 2 5 c = 17 Kruskal算法 1 2 3 4 5 6 1 7 3 返 回 主 页 上一页 下一页 最小生成树算法的背景聚焦 1956年,美国ATT利用最小生成树来计算出对几家商业客户的索价。 一张大比例的美国地图铺在地板上,寻找联结所有站点的总长度最小的网络。 用手工(并且跪着)操作的方式完成的问题很有限。 历史 手工操作 主 页 上一页 下一页 最小生成树算法的背景聚焦 Kruskal算法刚发表,它的第一步是整理所有站点对间的距离表 500个站点的边数: 500*499/2=124750, 计算机不具有处理这样大规模数据集的能力 需要另一种算法 大规模问题犯难 主 页 上一页 下一页 最小生成树算法的背景聚焦 1957年,领导贝尔实验室数学研究室的Prim,得到了他的算法。 Prim 算法优于Kruskal算法之处是Prim算法一次处理的数据不超过n,Prim算法所需的存储器比Kruskal算法小。 历史 柳暗花明 返 回 主 页 上一页 下一页 Prim算法 任选一个顶点v1,将其涂红; 在一个端点为红色,另一个端点为黄色的边中,找一条权最小的边涂红,把该边的白端点也涂成红色; 重复2) 直到所有顶点都成红色为止。最终的红色边和顶点便是最小生成树. 算法的手工操作 主 页 上一页 下一页 Prim算法 算法的手工操作 1 2 3 4 5 8 6 9 1 5 7 10 3 主 页 上一页 下一页 ? Kruskal算法和Prim算法都蕴涵了贪婪法的思想; 贪婪法的基本思想:把解看成是由若干个部件构成,每一步求出解的一个部件(不是从整体或长远的角度考虑,只是局部或当前的最好选择)。求出的一个个部件组合而作为最终的解。 主 页 上一页 下一页 贪婪法可被用于各种各样问题的处理。 贪婪法只是一种试探法,计算上简便,有效,可提供正确解的一个近似。但一般情况下,不能保证输出的解是正确的。其正确性需要证明,这往往比较困难。 ? 返 回 主 页 上一页 下一页 分组技术是设计制造系统的一种方法,它把生产零件的机器分组,相应地把需生产的零件分类,使零件跨组加工的情形尽量少,最理想的情况是使每个零件的加工,都在组内完成。 假设有13种零件,需在9台机器上加工。在各台机器上加工的零件号在下表中给出。

文档评论(0)

1亿VIP精品文档

相关文档