雅虎香港 搜尋

搜尋結果

  1. 2021年8月6日 · 使用python画出逻辑斯蒂映射 (logistic map)中的分叉图案例. 作者:NullObjectError 时间:2021-08-06 18:09. 逻辑斯蒂映射在混沌数学中是一个很经典的例子,它可以说明混沌可以从很简单的非线性方程中产生。. 逻辑斯蒂映射公式如下:. x_n表示当前人口与最大人口 ...

    • 问题来了
    • 丢包问题
    • 效率问题
    • 顺序问题
    • 流量问题
    • 拥塞问题
    • 连接问题
    • 总结
    • 后记

    前三层协议只能把数据包从一个主机搬到另外一台主机,但是,到了目的地以后,数据包具体交给哪个程序(进程)呢? 所以,你需要把通信的进程区分开来,于是就给每个进程分配一个数字编号,你给它起了一个响亮的名字:端口号。 然后你在要发送的数据包上,增加了传输层的头部,源端口号与目标端口号。 OK,这样你将原本主机到主机的通信,升级为了进程和进程之间的通信。你没有意识到,你不知不觉实现了 UDP 协议!(当然 UDP 协议中不光有源端口和目标端口,还有数据包长度和校验值,我们暂且略过)就这样,你用 UDP 协议无忧无虑地同 B 进行着通信,一直没发生什么问题。 但很快,你发现事情变得非常复杂......

    由于网络的不可靠,数据包可能在半路丢失,而 A 和 B 却无法察觉。 对于丢包问题,只要解决两个事就好了。第一个,A 怎么知道包丢了?答案:让 B 告诉 A第二个,丢了的包怎么办?答案:重传于是你设计了如下方案,A 每发一个包,都必须收到来自 B 的确认(ACK),再发下一个,否则在一定时间内没有收到确认,就重传这个包。 你管它叫停止等待协议。只要按照这个协议来,虽然 A 无法保证 B 一定能收到包,但 A 能够确认 B 是否收到了包,收不到就重试,尽最大努力让这个通信过程变得可靠,于是你们现在的通信过程又有了一个新的特征,可靠交付。

    停止等待虽然能解决问题,但是效率太低了,A 原本可以在发完第一个数据包之后立刻开始发第二个数据包,但由于停止等待协议,A 必须等数据包到达了 B ,且 B 的 ACK 包又回到了 A,才可以继续发第二个数据包,这效率慢得可不是一点两点。于是你对这个过程进行了改进,采用流水线的方式,不再傻傻地等。

    但是网路是复杂的、不可靠的。有的时候 A 发出去的数据包,分别走了不同的路由到达 B,可能无法保证和发送数据包时一样的顺序。 在流水线中有多个数据包和ACK包在乱序流动,他们之间对应关系就乱掉了。难道还回到停止等待协议?A 每收到一个包的确认(ACK)再发下一个包,那就根本不存在顺序问题。应该有更好的办法!A 在发送的数据包中增加一个序号(seq),同时 B 要在 ACK 包上增加一个确认号(ack),这样不但解决了停止等待协议的效率问题,也通过这样标序号的方式解决了顺序问题。 而 B 这个确认号意味深长:比如 B 发了一个确认号为 ack = 3,它不仅仅表示 A 发送的序号为 2 的包收到了,还表示 2 之前的数据包都收到了。这种方式叫累计确认或累计应答。 注意,实际上 ack 的号是收...

    有的时候,A 发送数据包的速度太快,而 B 的接收能力不够,但 B 却没有告知 A 这个情况。 怎么解决呢?很简单,B 告诉 A 自己的接收能力,A 根据 B 的接收能力,相应控制自己的发送速率,就好了。B 怎么告诉 A 呢?B 跟 A 说"我很强"这三个字么?那肯定不行,得有一个严谨的规范。于是 B 决定,每次发送数据包给 A 时,顺带传过来一个值,叫窗口大小(win),这个值就表示 B 的接收能力。同理,每次 A 给 B 发包时也带上自己的窗口大小,表示 A 的接收能力。 B 告诉了 A 自己的窗口大小值,A 怎么利用它去做 A 这边发包的流量控制呢?很简单,假如 B 给 A 传过来的窗口大小 win = 5,那 A 根据这个值,把自己要发送的数据分成这么几类。 图片过于清晰,就不再文字...

    但有的时候,不是 B 的接受能力不够,而是网络不太好,造成了网络拥塞。 拥塞控制与流量控制有些像,但流量控制是受 B 的接收能力影响,而拥塞控制是受网络环境的影响。拥塞控制的解决办法依然是通过设置一定的窗口大小,只不过,流量控制的窗口大小是 B 直接告诉 A 的,而拥塞控制的窗口大小按理说就应该是网络环境主动告诉 A。但网络环境怎么可能主动告诉 A 呢?只能 A 单方面通过试探,不断感知网络环境的好坏,进而确定自己的拥塞窗口的大小。 拥塞窗口大小的计算有很多复杂的算法,就不在本文中展开了,假如拥塞窗口的大小为 cwnd,上一部分流量控制的滑动窗口的大小为 rwnd,那么窗口的右边界受这两个值共同的影响,需要取它俩的最小值。窗口大小 = min(cwnd, rwnd)含义很容易理解,当 B 的...

    有的时候,B 主机的相应进程还没有准备好或是挂掉了,A 就开始发送数据包,导致了浪费。 这个问题在于,A 在跟 B 通信之前,没有事先确认 B 是否已经准备好,就开始发了一连串的信息。就好比你和另一个人打电话,你还没有"喂"一下确认对方有没有在听,你就巴拉巴拉说了一堆。这个问题该怎么解决呢?地球人都知道,三次握手嘛! A:我准备好了(SYN) B:我知道了(ACK),我也准备好了(SYN) A:我知道了(ACK) A 与 B 各自在内存中维护着自己的状态变量,三次握手之后,双方的状态都变成了连接已建立(ESTABLISHED)。虽然就只是发了三次数据包,并且在各自的内存中维护了状态变量,但这么说总觉得太 low,你看这个过程相当于双方建立连接的过程,于是你灵机一动,就叫它面向连接吧。注意:这...

    以上讲述的,就是 TCP 协议的核心思想,上面过程中需要传输的信息,就体现在 TCP 协议的头部,这里放上最常见的 TCP 协议头解读的图。 不知道你现在再看下面这句话,是否能理解: TCP 是面向连接的、可靠的、基于字节流的传输层通信协议 面向连接、可靠,这两个词通过上面的讲述很容易理解,那什么叫做基于字节流呢?很简单,TCP 在建立连接时,需要告诉对方 MSS(最大报文段大小)。也就是说,如果要发送的数据很大,在 TCP 层是需要按照 MSS 来切割成一个个的 TCP 报文段 的。切割的时候我才不管你原来的数据表示什么意思,需要在哪里断句啥的,我就把它当成一串毫无意义的字节,在我想要切割的地方咔嚓就来一刀,标上序号,只要接收方再根据这个序号拼成最终想要的完整数据就行了。在我 TCP 传输...

    一提到 TCP,可能很多人都想起被三次握手和四次挥手所支配的恐惧。但其实你跟着文中的思路你就会发现,三次握手与四次挥手只占 TCP 所解决的核心问题中很小的一部分,只是因为它在面试中很适合作为知识点进行考察,所以在很多人的印象中就好像 TCP 的核心就是握手和挥手似的。 本文希望你能从问题出发,真正理解 TCP 所想要解决的问题,你会发现很多原理就好像生活常识一样顺其自然,并不复杂,希望你有收获~ 完

  2. 2019年11月9日 · 1956年,他成功地设计并实现了在有障碍物的两个地点之间找出一条最短路径的高效算法,这个算法被命名为“狄克斯特拉算法”,解决了机器人学中的一个十分关键的问题,即运动路径规划问题,至今仍被广泛应用,被认为是利用“贪心法” (greedy method)设计算法的一个成功范例。 在与癌症进行了多年的斗争之后,狄克斯特拉于2002年8月6日在荷兰Nuenen自己的家中逝世。 上一篇: 约翰·麦卡锡——lisp语言发明人. 下一篇: 数据库之父——查尔斯·巴赫曼. 首届计算机先驱奖获得者中有一位荷兰的计算机科学家埃德斯加狄克斯特拉 (Edsgar Wybe Dijkstra)。 狄克斯特拉因最早指出goto是有害的以及首创结构化程序设计而闻名于世。

  3. 2021年9月11日 · 有约束优化—Zoutendijk可行方向法 文章目录 有约束优化---Zoutendijk可行方向法 1 基本问题 2 线性约束情形 (1)利用起作用约束构造可行下降方向 (2)确定一维搜索步长 算法步骤 例 1 \Large\color {violet} {例1} 例 1 3 非线性约束情形 (1)利用起作用约束构造.

  4. 2021年9月11日 · 前言. 一、YOLOv5环境配置. 二、制作自己的扑克牌数据. 1.采集扑克牌数据. 2.通过labelimg进行数据标注. 3. 划分训练集和验证集. 三、训练扑克牌数据集. 1.修改数据和模型配置文件. 1.1 修改数据配置文件. 1.2 修改模型配置文件. 2.使用yolov5s.pt预训练模型进行训练. 四、使用训练好的预训练模型进行测试. 五、下一步工作. 前言. 最近在CSDN上看到一个很火的开源项目《斗地主老是输? 一起用Python做个AI出牌器,欢乐豆蹭蹭涨! 》,作者Dragon少年也分享了源代码,确实很好用,但是在扑克牌牌型识别的时候由于使用的是特定模板匹配,所以只适用于某游戏大厅的欢乐斗地主,而无法识别某手游助手的欢乐斗地主。 某游戏大厅欢乐斗地主:可以识别牌型?

  5. 2019年11月14日 · 约翰·科克——RISC概念的首创者. 栏目: iis7百科 时间:2019-11-14 10:31. 从1957到1992年,约翰·科克在工作中把自己三十多年来的全部精力毫无保留地奉献给了IBM,他取得了"了不起的成绩”,科克的同事兼好朋友Peter Capek这样评论他:“他的经历非同一般 ...

  6. 2021年9月8日 · 码农翻身:搞深度学习框架的那帮人,不是疯子,就是骗子. 作者:谭婧,专注科技领域,偏爱大数据与人工智能。. 香港浸会大学硕士,N年前高考作文满分得主,许多年大型企业管理咨询经验。. 观察者网特约作者,虎嗅认证作者,36Kr特邀作者,雪球 ...

  1. 其他人也搜尋了