系统分析师-数学与经济管理

系统架构设计师

系统架构设计师-软件开发模型总结


文章目录

  • 系统架构设计师
  • 前言
  • 一、最小生成树
  • 二、最短路径
  • 三、网络与最大流量
  • 四、不确定型决策


前言

数学是一种严谨、缜密的科学,学习应用数学知识,可以培养系统架构设计师的抽象思维能力和逻辑推理能力,在从事系统分析工作时思路清晰,在复杂、紊乱的现象中把握住事物的本质,根据已知和未知事物之间的联系推断事物发展趋势和可能的结果。


一、最小生成树

一个有 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,最终计算每种策略的可能收益。
在这里插入图片描述

后悔值准则选取每种市场情况下的最优决策的收益值作为锚点
计算各种情况的后悔值(后悔值为最优决策收益值-当前决策收益值),找出每种策略的最大后悔值,取最小。
在这里插入图片描述

  • 待更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/778757.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go中函数与方法的区别与go中关于面向对象理解

声明方法的区别 函数是一段可以独立调用的代码块,它可以有参数和返回值。函数的声明不依赖于任何类型,可以直接通过函数名进行调用。 函数的声明格式如下: func functionName(parameters) returnType {// 函数体 }示例: func A…

【Python】python+requests+excel+unittest+ddt实现接口自动化实例

目录 测试需求实现思路框架代码实例1. 环境准备和配置文件2. Excel接口数据及测试结果3. API封装4. 读取Excel数据5. 测试用例6. 日志和配置文件处理7. HTMLTestRunner生成可视化的html报告8. 报告通过飞书/邮件发送报告通过飞书发送报告通过邮件发送9. 入口函数10. 飞书Webhoo…

Git 命令总览

Git Git 是一个版本控制系统,用于管理项目代码。通过 Git 可以轻松地进行代码的提交、更新和合并,确保项目代码的安全性和稳定性。同时,Git 还提供了丰富的工具和功能,如分支管理、代码审查、版本回退等,帮助开发更好…

(含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现

原生写法 // 封装组件 import React, { useState, useRef } from react;const DraggableModal ({ children }) > {const [position, setPosition] useState({ x: 0, y: 0 });const modalRef useRef(null);const handleMouseDown (e) > {const modal modalRef.curre…

五种免费的Python开发环境及具体下载网址

五种免费的Python开发环境及具体下载网址 目录 五种免费的Python开发环境及具体下载网址1.Anaconda2.PyCharm Community Edition3.Visual Studio Code4.Jupyter Notebook5. WinPython Python编程可选择不同的开发工具环境进行,本文介绍五种常用的,读者可…

adb基本命令

下载安装 adb 概述: ADB 全称为 Android Debug Bridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是用来操作的电脑,服务端是 Android 设备。 下载地址: Windows版本:https://dl.google.com/android/repository/pl…

vue前端工程化

前言 本文介绍的是有关于vue方面的前端工程化实践,主要通过实践操作让开发人员更好的理解整个前端工程化的流程。 本文通过开发准备阶段、开发阶段和开发完成三个阶段开介绍vue前端工程化的整体过程。 准备阶段 准备阶段我将其分为:框架选择、规范制…

vue做移动端自适应插件实现rem

1.实现方式 postcss-pxtorem:将px转换为rem amfe-flexible:为html、body提那家font-size,窗口调整的时候重新设置font-size 2.安装与使用 npm install amfe-flexible --save npm install postcss-pxtorem --save-dev 1.再main.js入口文件…

FOC,即Field-Oriented Control

FOC,即Field-Oriented Control,也被称为磁场导向控制或矢量控制,是一种利用变频器(VFD)来控制三相电机的技术。以下是对FOC的详细介绍,涵盖了其基本概念、控制原理、应用领域以及优缺点等方面的内容。 一、…

算法——图论:路径,回溯

. - 力扣(LeetCode) 给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序) graph[i] 是一个从节点 i 可以访问的所有节点的列表&#xff0…

GEE训练——如何实现单景影像边界的提取以sentinel和Landsat数据为例(栅格转矢量)

本教程的主要目的是如何实现单景影像边界的提取以sentinel和Landsat数据为例,很多人是项通过GEE来实现单景影像的获取过程,所以这里最重要的就是首先根据点确定影像的范围,或者根据指定的单景影像的编号来获取指定的单景影像,然后将其矢量化即可。 简介 在Google Earth E…

mysql8.x在windows server2019安装并设置主从同步难点问题

1.MySQL服务无法启动并提示“MySQL8.x本地计算机上的MySQL服务启动后停止” 1)用notepad打开my.ini文件,重新保存为ansi编码格式。 2)右键windows图标,点击“计算机管理”,点击“本地用户和组”,双击“组…

JSP技术及其应用

目录 一、JSP 指令元素 1. page指令 二、JSP 注释 1. HTML注释: 2. Java注释: 3. JSP注释: 三、页面编码格式 1. pageEncoding: 2. contentType: 一、JSP 指令元素 JSP包含三种主要的指令元素:pag…

SQL-CRUD-2数据库实验

目录 第一关任务描述 相关知识 插入完整内容的行 插入选定内容的行 编程要求 测试说明 第一关代码 第二关任务描述 相关知识 删除表中的指定行 删除表中的所有行 编程要求 测试说明 第二关代码 第三关任务描述 相关知识 更新表中的指定行 编程要求 测试说明…

【Pytorch入门】小土堆PyTorch入门教程完整学习笔记(详细笔记并附练习代码 ipynb文件)

小土堆PyTorch入门教程笔记 最近在观看PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】顺便做点笔记,方便回看,同时也希望记录的笔记能够帮助到更多在入门的小伙伴~ 【注】仅记录个人觉得重要的知识&#xff0c…

cas学习2:idea里搭建cas项目

在上篇中介绍了cas服务在tomcat中怎么启动的及某j集成cas,这篇讲下idea怎么集成cas成一个项目,为后续的定制自己的项目做好铺垫。 1.下载CAS 模板 Overlay Template,我这里使用 Apereo CAS 5.3 版本,JDK需要1.8 地址&#xff1a…

JavaWeb后端——HTTP协议/Tomcat

HTTP HTTP协议:无状态,对事务处理没有记忆能力。每次请求-响应都是独立的。后一次请求不会记录前一次请求数据。缺点:多次请求之间不能共享数据,优点:速度快。 HTTP协议请求报文: HTTP协议响应报文&#x…

分布式算法 - 雪花算法

雪花算法是一种用于生成全局唯一ID的分布式算法,用于解决分布式系统中生成唯一ID的需求。 雪花算法的核心思想是将生成的ID分为不同的部分,每个部分代表不同的含义。通常情况下,一个雪花 ID由3个部分组成: 时间戳:时…

JVM篇详细分析

JVM总体图 程序计数器: 线程私有的,每个线程一份,内部保存字节码的行号,用于记录正在执行字节码指令的地址。(可通过javap -v XX.class命令查看) java堆: 线程共享的区域,用来保存对…

Java中的基本数据与运算(关键字、标识符、运算符)

目录 一、关键字 二、标识符 三、注释 四、变量 五、数据类型 六、运算符 6.1 算术运算符 6.2 比较运算符 6.3 逻辑运算符 6.4 位移运算符 一、关键字 在 Java 中内置了很多有特殊意义的单词,这些单词不能做为类名、方法名、变量名来使用。关键字必须是小…