分布式并行最短路径

此前我 “自然而然” 做了两个小算法,最短路径 和 最小生成树,我喜欢大自然的第一性原理,最小作用量,梯度下降,爆炸,河水泛滥,本质上都是一回事。

大自然另一风格是分布式并行,没外力的熵增本身就是分布式并行过程,它和上述那些例子殊途同归,但如果熵减过程也如此,就可用于自组织了。以最短路径为例,rip 路由协议就如此,但 ospf 不是,后者通过交互形成统一视图,再集中计算,颇具人为风格,并不自然。

如果时间精确任意小,sleep(v) 样式的排序算法最快,且完全可扩展,与排序规模无关,这是另一种自然而然的算法,与人类风格的串行 + 统筹方法的风格截然相反,计算机无疑模拟了人的风格。
推而广之,整个自然界一直在执行 sleep(v) 样式的算法。

今天(自入梅每天都冒大雨甚至暴雨跑环城河)冒大雨跑环城河一圈,途中想到一个自然风格的最短路径算法:
在这里插入图片描述

非常自然,用计算机做却非常笨拙,就像计算机做 sleep(v) 风格的排序一样被人诟病,因为太慢!难道不是因为计算机太笨了吗?如果计算机调度时间精度可低到冒泡,快排的指令时间,这种算法就能逞能了。

若用计算机做上面烧绳子算法,简单来讲也能 sleep:

  • 初始化,构建所有节点邻居表,设所有节点属性为 false,设 S 为 p;
  • 为 p 每个 false 邻居生成一个 thread,在 thread 中 sleep(边权重),若无邻居,终止;
  • thread wakeup 后:
    • 若邻居节点为 false,设为 true,重复上一步;
    • 若邻居节点为 true,将该边 block,终止 thread;

很简单,无需任何主动松弛操作,靠自然力松弛,但在计算机看来却非常笨拙。

计算机看它笨拙前面提到,是计算机的时间精度太粗糙,但在本身就更大的时间尺度,这种算法就高尚,类似 rip,stp 都是消息交换驱动的分布式算法,本算法也不例外,它的目标就是一棵最短路径树,天然解决了 rip 的环路问题,很高尚。

与这个类似的就是前面那个 最小生成树 算法,都是分布式并行操作。

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

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

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

相关文章

使用C#检查PPT中的视频

起因 有些PPT文件,视频没有打包在文件中,而是引用了本地的文件。在复制PPT时,有时会遗漏了视频文件。之前我经常给同事处理这个问题,就写了这个代码,用于检查PPT中的视频。代码比较简单 就是就2个遍历。 先循环 slid…

Java使用poi生成word文档的简单实例

Java使用poi生成word文档的简单实例 生成的效果如下: 用到的poi的简单的知识 新建一个word对象 //新建文件 XWPFDocument document new XWPFDocument();新建段落以及文字样式 //创建段落 XWPFParagraph paragraph document.createParagraph(); paragraph.se…

React学习(三)

React的核心理论主要围绕其构建用户界面的方式,下面将分点详细解释React的核心理论: 组件化: React的核心概念是组件化,即将UI拆分成多个独立、可复用的部分,这些部分就是组件。组件可以是class组件或函数组件&#x…

Idea启动服务报 Command line is too long

一、背景 合不同分支代码后,启动服务报 Error running Application, Command line is too long, Shorten the command line via JAR manifest or via a classpath file and rerun. 没有在意,然后点击了manifest 来进行 二、问题 然后自己在重新启动&…

单线程单元模型简述

单线程单元模型简述 单线程单元(Single-Threaded Apartment, STA)模型是Windows COM(Component Object Model)技术中定义的一种线程同步模型。在STA模型中,每个线程都拥有自己的独立地址空间,并且假设该线…

Linux网络编程:套接字编程

1.Socket套接字编程 1.1.什么是socket套接字编程 Socket套接字编程 是一种基于网络层和传输层网络通信方式,它允许不同主机上的应用程序之间进行双向的数据通信。Socket是网络通信的基本构件,它提供了不同主机间的进程间通信端点的抽象。一个Socket就是…

智能猫砂盆到底是不是智商税?解救上班族双手的测评合集来了

不得不说,像我这样的上班族真的是很需要一个智能猫砂盆了。普通的猫砂盆一天就要打扫3次,遇到很能拉的猫咪的时候,就不止是三次那么简单了。如果有个产品能帮我解决这个问题,让我能放心外出,那又何乐而不为呢&#xff…

马面裙的故事:汉服如何通过直播电商实现产业跃迁

【潮汐商业评论/原创】 波澜壮阔的千里江山在马面裙的百褶上展开,织金花纹在女性的步伐之间若隐若现,从明清到现代,如今马面裙又流行了回来,成为女性的流行单品,2024年春节期间,马面裙更是成为华夏女孩们的…

Halcon 如何根据特征过滤区域和XLD

一 如何跟进特征过滤区域和XLD dev_open_window(0,0,512,512,black,WindowHandle)read_image(Image,fabrik)threshold(Image,Region,128,255)connection(Region,ConnectedRegions)*根据面积范围[8000,9000] dev_display(Image)select_shape(ConnectedRegions,SelectedRegions,…

【Vue】集成富文本编辑器

这文章使用的是wangeditor插件&#xff0c;官网地址&#xff1a;wangEditor&#xff0c;这个比较简单 安装 npm i wangeditor --save 使用 <div id"editor"></div>import E from "wangeditor"const editor new E("#editor") e…

Modbus为何要转成EtherCAT

1. Modbus是什么&#xff1f; Modbus是一种工业通信协议&#xff0c;广泛应用于工业自动化领域。它支持多种通信方式&#xff0c;包括RS-232、RS-485和TCP/IP等。Modbus协议简单易用&#xff0c;能够实现设备之间的数据交换和控制命令的传输。然而&#xff0c;它在数据传输速率…

Tesseract OCR识图工具,通过composer接入hyperf使用

本文主要使用编译安装&#xff0c;yum安装未深入研究为何无法使用 一、下载依赖 sudo yum install -y gcc gcc-c make autoconf automake libtool pkgconfig sudo yum install -y leptonica leptonica-devel这里额外记录一下我踩的坑&#xff0c;第二个依赖安装的时候出现了一…

Mac电脑安装HomeBrew工具(100%成功)

1.Homebrew是什么&#xff1f; homebrew是一款Mac OS平台下的软件包管理工具&#xff0c;拥有安装、卸载、更新、查看、搜索等功能。通过简单的指令可以实现包管理&#xff0c;而不用关心各种依赖和文件路径情况。 2.homebrew常用命令 检测是否安装HomeBrew: brew -v卸载Hom…

【杂记-浅谈OSPF协议之Hello、DD、LSR、LSU、LSAck报文】

OSPF中的各种报文 一、Hello报文二、DD报文三、LSR报文四、LSU报文五、LSAck报文 一、Hello报文 Hello报文周期性发送&#xff0c;用来发现和维持OSPF邻居关系&#xff0c;其中&#xff0c;Hello报文包含的字段有&#xff1a; 1、Network Mask&#xff1a;发送Hello报文的接口…

8. Revit API UI: DockablePane(可停靠窗口)

8. Revit API UI: DockablePane&#xff08;可停靠窗口&#xff09; 接着前面的预览控件和外部事件&#xff0c;这一篇&#xff0c;我们来看看可停靠窗口DockablePane的实现。 实现流程 可停靠窗口相关的类与接口主要有DockablePane和IDockablePageProvider&#xff0c;都是…

具备生成自签名文档证书能力的印章管理软件_电子骑缝章软件

最新版的e-章宝具体生成自签名文档证书的能力&#xff0c;这种证书可用内部文档发布的签名&#xff0c;文档一旦用证书签名并发布&#xff0c;具有不可抵赖性&#xff0c;阅读者也能确认所发布的文档是否是发布者发布的&#xff08;即中途有没有被他人恶意修改过&#xff09;&a…

Qt样式表及相关案例

一.Qt样式表介绍 Qt样式表是一个可以自定义部件外观的强大机制&#xff0c;样式表的概念、术语、语法均受到HTML的层叠样式表(Cascading Style Sheets,CSS)的启发。 样式表可通过QApplication::setStyleSheet()函数将其设置到整个应用程序上&#xff0c;也可以使用QWidget::se…

*算法训练(leetcode)第十九天 | 77. 组合、216. 组合总和 III、17. 电话号码的字母组合

刷题记录 *77. 组合216. 组合总和 III*17. 电话号码的字母组合 *77. 组合 leetcode题目地址 回溯法。result记录最终结果&#xff0c;cur_result记录单个组合的结果。 比较难理解的地方在于回溯要撤销对于结点的处理&#xff0c;也就是cur_result.pop_back(); 在for循环中&a…

python Process 多进程处理单个文件

Python 的 multiprocessing 模块可以用来创建多进程以并行处理任务,从而加速对大文件或其他耗时操作的处理。处理单个文件时,可以将文件内容分割成多个部分,每个部分由一个单独的进程处理。以下是一个简单的例子,说明如何使用多进程处理单个文件中的数据行: 基本思路 1. 读…

第9关:索引(2024数据库期末综合)

第9关&#xff1a;索引&#xff08;注意看下面的温馨提示&#xff01;&#xff01;&#xff09; 任务描述 湖南人口hnpeople数据表结构如图所示&#xff0c;各字段含义如下 cs&#xff08;城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)…