《互联网的世界》第二讲-最短路径优先

昨天讲 dns 时讲过,“你问一个当地人最近的厕所在哪,路人给你一个地址…”,可是只有地址还不够,如何到达那里呢?这是本节的内容。
在这里插入图片描述

自然的方式是,一边走一边问,根据路人的指示继续一边走一边问,这就是逐跳转发。问题的核心在于,当地为你指路的人如何知道到达目的地最短的路径。
这里面并没有什么高科技,我尝试从蜜蜂找花蜜来解释:
在这里插入图片描述

蜜蜂不停找距离蜂巢最近的花蜜,一旦找到就占作根据地,从而可嗅到其它距离更远的花蜜,这过程基本保证了蜜蜂每占领一块花丛,都是从最短距离逐步过来的,如果不是最短,蜜蜂肯定在更早时通过其它被占领的花蜜丛嗅到了。
不光蜜蜂采蜜,蚂蚁找食物,树根的生长,甚至包括侵略战争的以战养战策略,都遵循最短路径优先。特别是树根生长最具代表性,树根从近处吸取营养,为了从更远处吸取,它需要不断延伸生长,每延伸所到处,这就是根的一部分,作为继续感知更远处营养的前沿,最终的树根就是一棵最短路径树。
包括河流泛滥渗透在内,大自然中无论生物还是非生物,都遵循最小作用量原则,生物更是将其装备在了嗅觉,触觉等感知器官上,不停地自动计划着最短路径优先的生命调度。
这确实没什么大不了的,只是为了将其在更狭窄的工业领域运用,人们将其抽象成固定步骤的算法以便实际操作,狄杰斯特拉算法就算其一。
互联网的连通性便构建在这个最短路径优先算法之上,dns 指路,spf(即:最短路径优先) 寻址,因此我觉得这个也比较核心,就安排在第二讲。
我问孩子们,这个算法有问题吗?

将所有过境流量引入同一条最短路径,势必会造成拥堵,度量为 11 和度量为 12 相差不几的两条路径在数值上显然并不等价,但在自然的情况下,两者显然可以分担流量。
女儿提出不停递增一条路径的度量,直到它过大时,流量就会自动被调度走,好像是这么一回事,但我反问,这样的话流量岂不是会在不同路径乒乓颠簸吗,此外,路由器需要不停重新计算最短路径,仅这些流量就非常可观了
为什么不能在两条不等价但差不多的路径上做加权负载均衡呢?比如总流量 11/(11+12) 的流量走路径 1,12/(11+12) 走路径 2?
如果一列婚车车队在一个十字路口被拆散驶入两条道路,这合适吗?当然,这对交通状况的改善肯定没问题,信号灯看不懂车队,但对婚礼当事人却并不友好,如何做才能让各方满意?这是明天第三课的内容。
总之,最短路径优先依然是高效连通性的根本,作为一个贪心策略可以获得全局最优解,背后还是最小作用量在起作用,如果仅从数学归纳法来看其正确性,可能并不高雅,但考虑到它的物理意义,就非常精美了。
回到最初的蜜蜂找花蜜丛,不是蜜蜂的聪明才智起了作用,而是花蜜散发的信息素被距离越近的蜜蜂感知越强烈,同时蜜蜂之间会进行信息传递,此二者就是最短路径优先的保证,关键就是信息的传递,这得益于蜜蜂和花都在这个最小作用量的世界进化了千万年,一切完美适应最小作用量。考虑网络中的最短路径优先实例的狄杰斯特拉算法,“信息素被距离越近的蜜蜂感知越强烈” 表现为路径度量的松弛操作,这就是算法的全部。
浙江温州皮鞋湿,下雨进水不会胖。

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

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

相关文章

德人合科技 | 天锐绿盾终端安全管理系统

德人合科技提到的“天锐绿盾终端安全管理系统”是一款专业的信息安全防泄密软件。这款软件基于核心驱动层,为企业提供信息化防泄密一体化方案。 www.drhchina.com 其主要特点包括: 数据防泄密管理:天锐绿盾终端安全管理系统能够确保数据在创…

CUMT---图像处理与视觉感知---期末复习重点

文章目录 一、概述 本篇文章会随课程的进行持续更新中! 一、概述 1. 图像的概念及分类。  图像是用各种观测系统以不同形式和手段观测客观世界而获得的、可以直接或间接作用于人的视觉系统而产生的视知觉实体。  图像分为模拟图像和数字图像:(1) 模拟图…

51单片机(6)-----直流电机的介绍与使用(通过独立按键控制电机的运行)

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。 目录 一. 直流电机模块介绍 1.直流电机介绍 2.电机参数 二. 程序设计…

JAVA泛型浅析

Java范型generics,是JDK1.5引入的新特性,是一种编译时类型安全检测机制,可以在编译时检测到非法的类型。范型的本质是将类型参数化,将类型指定成一个参数。java中的集合就有使用,并且对外提供的三方库和SDK中使用也极为…

返回数据(返回视图所需要的数据)

在上篇文章中,小编带领大家了解到:返回静态数据-CSDN博客,但是,仅仅返回一个静态页面,对于静态页面的数据没正常返回! 所以,本篇文章便讲述如何返回数据?? 还是先不管前…

从win11切换到ubuntu20的第1天

我不想做双系统,反正win11也没有意思,打游戏直接去网吧,所以电脑直接重装了ubuntu20,为什么不是ubuntu22?因为版本太新,很多东西不支持。为什么不装ubuntu18?因为我电脑装完了之后不支持外界显示…

react 路由的基本原理及实现

1. react 路由原理 不同路径渲染不同的组件 有两种实现方式 ● HasRouter 利用hash实现路由切换 ● BrowserRouter 实现h5 API实现路由切换 1. 1 HasRouter 利用hash 实现路由切换 1.2 BrowserRouter 利用h5 Api实现路由的切换 1.2.1 history HTML5规范给我们提供了一个…

Android studio (一) 新建一个Android项目 编程语言为Java

一、下载Android studio 下载 Android Studio 和应用工具 - Android 开发者 | Android Developers 这里我下载的是2023年的 二、新建项目 选择如下模板。 填写项目名、项目保存位置、编程语言、最低支持Android API的版本、打包编译模式 三、报错Connection refused: no …

进程的通信以及信号的学习

一,进程的通信: 种类:1.管道 2.信号 3.消息队列 4.共享内存 5.信号灯 6.套接字 1.管道: 1.无名管道 无名管道只能用于具有亲缘关系的进程间通信 pipe int pipe(int pipefd[2]); 功能: 创建一个无名管道 …

机器学习——CBOW基于矩阵(手动实操)

基于矩阵的CBOW基础算法,其实是负采样的前提算法。 主要是根据 预测准确率为22%左右 说实话。。。我已经很满意了,至少这个东西是可以去预测的,至于预测为什么不正确,我目前猜测主要还是跟词频有关。 在结果中,an…

uniapp:启动图 .9png 制作教程

1、工具安装:自行下载Android Studio 2、制作.9png 注意上图3条黑线的位置,意思是:标注黑线的位置可以进行缩放。 对其大多数启动图来说,标注以上3条黑线即可。

ETH开源PPO算法学习

前言 项目地址:https://github.com/leggedrobotics/rsl_rl 项目简介:快速简单的强化学习算法实现,设计为完全在 GPU 上运行。这段代码是 NVIDIA Isaac GYM 提供的 rl-pytorch 的进化版。 下载源码,查看目录,整个项目…

创新之巅 健康之选 森歌集成灶智能水洗新揭秘

2024年2月27日,一场引领智能厨电风潮的盛会在杭州隆重召开。森歌集成灶以“勠力同心 共生共歌”为主题,成功举办了2024森歌智能厨电优秀经销商峰会。此次峰会上,森歌集成灶发布了令人瞩目的奥运冠军同款智能厨电新品——森歌鲸洗小灶Z60&…

前端架构: 脚手架之多package项目管理和架构

多package项目管理 1 )多package项目管理概述 通常来说,当一个项目变大了以后,我们就要对这个项目进行拆分在前端当中,对于项目进行拆分的方式,通常把它称之为javascript包管理需要使用一个工具叫做 npm (Node Packag…

Java开发的核心模式 - MVC

文章目录 1、MVC设计模式2、Web开发本质3、服务器的性能瓶颈 1、MVC设计模式 MVC设计模式示意图 在整个Java学习之旅中,MVC(Model-View-Controller)设计模式无疑占据着极其重要的地位,堪称理解和掌握Java项目开发精髓的钥匙。如…

IP源防攻击IPSG(IP Source Guard)

IP源防攻击IPSG(IP Source Guard)是一种基于二层接口的源IP地址过滤技术,它能够防止恶意主机伪造合法主机的IP地址来仿冒合法主机,还能确保非授权主机不能通过自己指定IP地址的方式来访问网络或攻击网络。 2.1 IPSG基本原理 绑定…

关于delphi6提示[Fatal Error] File not found: ‘System.pas‘

关于delphi6提示[Fatal Error] File not found: System.pas 一、[Fatal Error] File not found: System.pas的原因 1、System.dcu的输出没有覆盖项目引用路径..\..\dcu下 2、注意事项:System.pas等源码不能赋值到..\..\dcu 3、下述控件的Tools-Environment Optio…

如何利用ChatGPT搞科研?论文检索、写作、基金润色、数据分析、科研绘图(全球地图、植被图、箱型图、雷达图、玫瑰图、气泡图、森林图等)

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮,可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

深入浅出JVM(十七)之并发垃圾收集器CMS

上篇文章介绍用户线程与GC线程并发执行时可能产生的问题以及使用三色标记法演示原始快照和增量更新两种解决方案 这篇文章将主要介绍并发垃圾收集器中的CMS,其中CMS使用增量更新来解决对象消失问题,如果不了解增量更新的同学可以查看上篇文章深入浅出JV…

【k8s 高级调度--污点和容忍】

1、调度概念 在 Kubernetes 中,调度(scheduling)指的是确保 Pod 匹配到合适的节点, 以便 kubelet 能够运行它们。 抢占(Preemption)指的是终止低优先级的 Pod 以便高优先级的 Pod 可以调度运行的过程。 驱逐…