系统架构设计师
系统架构设计师-软件开发模型总结
文章目录
- 系统架构设计师
- 前言
- 一、最小生成树
- 二、最短路径
- 三、网络与最大流量
- 四、不确定型决策
前言
数学是一种严谨、缜密的科学,学习应用数学知识,可以培养系统架构设计师的抽象思维能力和逻辑推理能力,在从事系统分析工作时思路清晰,在复杂、紊乱的现象中把握住事物的本质,根据已知和未知事物之间的联系推断事物发展趋势和可能的结果。
一、最小生成树
一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。 [1]最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。
- 某小区有七栋楼房1~7(见下图),各楼房之间可修燃气关掉路线的长度(单位:百米)已标记在连线旁。为修建联通各个楼房的燃气管道,该小区内部燃气关掉的总长度至少为多少百米?
克鲁斯卡尔算法:最短边
克鲁斯卡尔(Kruskal)算法从另一途径求网的最小生成树。其基本思想是:假设连通网G=(V,E),令最小生成树的初始状态为只有n个顶点而无边的非连通图T=(V,{}),概述图中每个顶点自成一个连通分量。在E中选择代价最小的边,若该边依附的顶点分别在T中不同的连通分量上,则将此边加入到T中;否则,舍去此边而选择下一条代价最小的边。依此类推,直至T中所有顶点构成一个连通分量为止
普里姆算法:最近顶点
它规定图G = (V,E)是一个带权无向连通图,其中V表示所有顶点的集合,E表示边与顶点之间的关系。算法的目标是从图中的一个顶点出发,构建一颗包含所有顶点的最小生成树。在算法的每一步中,会选择一条连接已选顶点和未选顶点的边,这条边的权值最小。这个过程会一直重复,直到所有顶点都被包含在最小生成树中。
普里姆算法的特点是它只选取最小权值的边,且不会形成回路。在一个有n个顶点的图中,普里姆算法会选取n-1条边来构成最小生成树。
实现普里姆算法时,需要记录哪些顶点已经并入最小生成树(集合U),以及哪些边属于最小生成树(集合TE)。此外,还需要记录最小边在U和V-U中的顶点和权值,以便在每一步中选择正确的边。
最终答案: 3+6+4+2+3+5 = 23
二、最短路径
- 有一批货物要从城市S发送到城市T,线路上的数字代表这条路的费用(单位:万)。那么运送这批货物,至少需要花费多少元
假设5/6/9的最小分别为 f(5) f(6) f(9),那么求得到t的最小就是 min(f(5) + 21, f(6) + 12, f(9) + 19 ),5/6/9的最小有需要借助他们各自的节点推导得到。这就是动态规划的递推思维
到1的最小为 min(25, 21+23),也就是25
到2的最小为min(21, 25+23),也就是21
到3的最小为min(21+20, 21+25+12),其他的路径就不需要看了,肯定比这两个大。
依次类推…
最终求得s到t的最小值为 81
三、网络与最大流量
什么是网络流
在一个有向图上选择一个源点,一个汇点,每一条边上都有一个流量上限(以下称为容量),即经过这条边的流量不能超过这个上界,同时,除源点和汇点外,所有点的入流和出流都相等,而源点只有流出的流,汇点只有汇入的流。这样的图叫做网络流。
所谓网络或容量网络指的是一个连通的赋权有向图 D= (V、E、C) , 其中V 是该图的顶点集,E是有向边(即弧)集,C是弧上的容量。此外顶点集中包括一个起点和一个终点。网络上的流就是由起点流向终点的可行流,这是定义在网络上的非负函数,它一方面受到容量的限制,另一方面除去起点和终点以外,在所有中途点要求保持流入量和流出量是平衡的。
网络流最大流的求解
网络流的所有算法都是基于一种增广路的思想,下面首先简要的说一下增广路思想,其基本步骤如下:
1.找到一条从源点到汇点的路径,使得路径上任意一条边的残量>0(注意是小于而不是小于等于,这意味着这条边还可以分配流量),这条路径便称为增广路
2.找到这条路径上最小的F[u][v](我们设F[u][v]表示u->v这条边上的残量即剩余流量),下面记为flow
3.将这条路径上的每一条有向边u->v的残量减去flow,同时对于起反向边v->u的残量加上flow
4.重复上述过程,直到找不出增广路,此时我们就找到了最大流
这个算法是基于增广路定理(Augmenting Path Theorem): 网络达到最大流当且仅当残留网络中没有增广路
- 下图标出了某地区的运输网,各节点之间的运输能力如下表所示。那么,从节点1到节点6的最大运输能力(流量)可以达到多少万吨/小时?
尽可能的考虑网络上的流量路径,求出每个路径的最大流量(路径最大流量是由路径上的最小流量路径决定的);每次都抽取出最大流量路径流量,将流量从路径中抽离;对于0流量的路径进行删除;反复操作直到节点路径穷尽。下方求得网络最大流量 = 10 + 6 + 5 + 1 + 1 = 23
四、不确定型决策
不确定型决策所处的条件和状态都与风险型决策相似,不同的只是各种方案在未来将出现哪一种结果的概率不能预测,因而结果不确定。
-
等可能性法
也称拉普拉斯决策准则。采用这种方法,是假定自然状态中任何一种发生的可能性是相同的,通过比较每个方案的损益平均值来进行方案的选择,在利润最大化目标下,选取择平均利润最大的方案,在成本最小化目标下选择平均成本最小的方案。 -
保守法
也称瓦尔德决策准则,小中取大的准则。决策者不知道各种自然状态中任一种发生的概率,决策目标是避免最坏的结果,力求风险最小。运用保守法进行决策时,首先在确定的结果,力求风险最小。运用保守法进行决策时,首先要确定每一可选方案的最小收益值,然后从这些方案最小收益值中,选出一个最大值,与该最大值相对应的方案就是决策所选择的方案。 -
冒险法
也称赫威斯决策准则,大中取大的准则。决策者不知道各种自然状态中任一种可能发生的概率,决策的目标是选最好的自然状态下确保获得最大可能的利润。冒险法在决策中的体运用是:首先,确定每一可选方案的最大利润值;然后,在这些方案的最大利润中选出一个最大值,与该最大值相对应的那个可选方案便是决策选择的方案。由于根据这种准则决策也能有最大亏损的结果,因而称之冒险投机的准则。 -
乐观法
也称折衰决策法,决策者确定一个乐观系数ε(0.5,1),运用乐观系数计算出各方案的乐观期望值,并选择期望值最大的方案。 -
最小最大后悔值法
也称萨凡奇决策准确性则,决策者不知道各种自然状态中任一种发生的概率,决策目标是确保避免较大的机会损失。运用最小最大后悔值法时,首先要将决策矩阵从利润矩阵转变为机会损失矩阵;然后确定每一可选方案的最大机会损失;再次,在这些方案的最大机会损失中,选出一个最小值,与该最小值对应的可选方案便是决策选择的方案。 -
决策矩阵
乐观主义准则取出每种策略的收益最大数,再比较三种策略中收益最大策略。
悲观主义准则取出每种策略的收益最小数,再比较三种策略中收益最大的策略。
等可能准则假设市场趋势的每种可能性都是一致的,即不景气1/3,不变1/3,景气1/3,最终计算每种策略的可能收益。
后悔值准则选取每种市场情况下的最优决策的收益值作为锚点
计算各种情况的后悔值(后悔值为最优决策收益值-当前决策收益值),找出每种策略的最大后悔值,取最小。
- 待更新