有向图的负权值边与建模

server/2024/10/17 20:19:38/

参见 dijkstra 算法为什么高效

昨天的文字最后提到 “经理办公桌上有一堆报表,让工人拟合一份最佳收支方案,工人用图论建模,就要使用 floyd,bellman-ford 算法。”,为什么工人的建模的熵减过程会出现负权重边,而自然的熵增过程不会出现负权重边,本文解释一二。

自然的过程如爆炸,河水泛滥,昆虫无意识漫游等,这些都遵循第一性原理,而人为的过程比如金融投资,成本估算,道路交通网络行为分析等,都需要注入能量,它们不是自然的过程,背后的原理不再是最小作用量,分析求解的方式自然不同。

以跑步为例来建模。

跑步需要付出成本,但它也能获得收益,将收益看作负成本,最终我们追求目标的就是 “一段周期内的跑步总成本最小”,以此来安排跑步计划,跑 x 休 y:
在这里插入图片描述

设跑步一天的成本为 a,收益是 b,而收益每天衰减系数为 c,跑 x 休 y 的总成本就是:

A = a ∗ x − b ∗ x − b ∗ c ( 1 − c y ) 1 − c A=a*x-b*x-\dfrac{b*c(1-c^y)}{1-c} A=axbx1cbc(1cy)

基于此,我们可以规划一个比较久的跑步时间,比如一年,然后在这一年中按固定跑 1 休 0,或跑 1 休 1,或跑 3 休 1,或跑 5 休 2,或在一长段时间随机 x,y,调节参数 a,b,c。

将每个计划的每一个跑休周期看做一条边,该周期的总成本 A 视为该边权重(它可能为负数),每个计划的起点视作顶点,跑步开始时间视作源顶点 S,结束时间视作目标顶点 D,事情就变成了求 S 到 D 的最短路径问题:
在这里插入图片描述

找到的最短路径就是最佳的跑步计划。类似的还可以用这个模型规划读书计划,生意买卖等和收支有关的计划,其中的关键在于边权重可以是负数。

负数权重显然是一种附着 “人为解释” 的权重,而不是 “自然的距离”,比如路由器之间链路的长度,传输 delay 都是自然距离,但如果规定何时走某条路有收取拥塞税进而增加 cost 度量,或奖励突发令牌,则属于人为附加权重了。

图论算法中,自然的最短距离,比如求物理最短距离或可划归为物理最短距离,那非 dijkstra 算法莫属,但人为建模的应用题,则要考虑边的负数权重,这种情况下必须通过遍历松弛来求解,而不能使用 “利用自然熵增” 的算法,因为假设不再成立了。至于单源还是多源最短路径,属于问题空间之外的话题,与本文讨论关系不大。

经常见到负权值边的讨论,无非就是说了一下为什么 dijkstra 不能处理这种情况,然后必须使用 floyd,bellman-ford 算法,而几乎没有说清本质的。

浙江温州皮鞋湿,下雨进水不会胖。


http://www.ppmy.cn/server/48668.html

相关文章

【全开源】旅行吧旅游门票预订系统源码(FastAdmin+ThinkPHP+Uniapp)

🌍旅游门票预订系统:畅游世界,一键预订 一款基于FastAdminThinkPHPUniapp开发的旅游门票预订系统,支持景点门票、导游产品便捷预订、美食打卡、景点分享、旅游笔记分享等综合系统,提供前后台无加密源码,支…

TCPListen客户端和TCPListen服务器

创建项目 TCPListen服务器 public Form1() {InitializeComponent();//TcpListener 搭建tcp服务器的类,基于socket套接字通信的//1创建服务器对象TcpListener server new TcpListener(IPAddress.Parse("192.168.107.83"), 3000);//2 开启服务器 设置最大…

Linux 防火墙 Firewall 和 Iptables 的使用

如果我们在Linux服务器的某个端口上运行了个服务,需要外网能访问到,就必须通过防火墙将服务运行端口给开启。Linux中有两种防火墙软件,CentOS7.0以上使用的是firewall,CentOS7.0以下使用的是iptables(使用较少且不建议…

游戏心理学Day09

动机 动机是一个概括性术语,是对所有引起支配和维持心理生理活动的过程的概括 所有生物都有趋向于某些刺激而远离某些刺激,这由它们的本能所决定 通过考虑动机可以解释和预测个体的行为,这显然对于游戏设计来说是件很重要的事情&#xff0…

什么是电脑监控软件?六款知名又实用的电脑监控软件

电脑监控软件是一种专为监控和记录计算机活动而设计的应用程序,它能够帮助用户(如家长、雇主或系统管理员)了解并管理目标计算机的使用情况。这些软件通常具有多样化的功能,包括但不限于屏幕捕捉、网络行为监控、应用程序使用记录…

计算机网络 —— 网络层 (路由协议)

计算机网络 —— 网络层 (路由协议) 什么是路由协议内部网关协议RIP关键特性 OSPF主要特点 外部网关协议BGP关键特性 我们今天来看路由协议: 什么是路由协议 路由协议是网络设备(主要是路由器)用来决定数据包在网络中…

Java的集合框架总结

Map接口和Collection接口是所有集合框架的父接口: Collection接口的子接口包括:Set接口和List接口 Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等 Set接口的实现类主要有:HashSet、Tr…

什么叫做数据字典

数据字典是数据库或信息系统中用来存储关于数据的信息的集合。它包括了数据项、数据结构、数据流、数据存储、处理逻辑等方面的定义和描述。数据字典为系统的分析、设计和维护提供了有关数据的信息,是数据管理和数据维护的重要工具。 通俗地说,数据字典就像是一本“字典”,…