从网页排序|看图论的重要应用

图,是什么?

现实生活中很多问题都可以用图进行描述, 如网络流、资源分配、电路优化、网页排序、搜索、工序安排等等. 同时, 图也是描述许多数据结构的重要手段, 如树结构是计算机操作系统与众多应用系统必不可少的模型.

那么数学上的“图”,到底是什么呢?

图是描述对象间关系的数学模型, 是描述半结构化数据的理想工具, 具有独特的数学理论与数学思想. 图论是应用数学的一个分支, 它是反映一些元素之间关系 (一般是二元关系)的数学模型.

图的重要作用

图是描述许多应用问题和数据结构的重要数学工具, 学习图论对锻炼人的数学思想与思维能力有积极促进作用, 能够培养人如何将现实问题描述成一个数学模型. 进而采用合适的数据结构进行刻画, 为算法与计算机系统设计打下基础.

另一方面, 图论是处理半结构化数据的重要理论与方法, 随着大数据处理技术的发展, 半结构化数据的相关应用越来越广泛. 所以, 图论的应用也越来越广泛,图计算系统也成为近年来的研究热点.所以, 图论是计算机专业人员以及未来从事计算机相关专业的科研人员必修的专业数学基础课.

图论的概念与成果以及它的应用非常广泛, 既有许多来自生产实践的应用问题, 也有许多来自其他学科研究的理论问题.

来,看一个图论的重要应用吧——网页排序

随着网络与信息技术的发展, 互联网上的信息非常丰富, 有国际政治经济形势、体育娱乐新闻、旅行住宿等等. 这些信息极大地方便了人们的日常生活, 也扩大了人们的知识面.

相信所有的读者都使用过百度、搜狗或谷歌等搜索引擎. 当用户输入待搜索的内容时, 搜索引擎首先将用户输入的搜索内容拆分为一些关键词, 然后找到含有这些关键词的网页, 最后将这些网页呈现给用户.

通常, 能够匹配用户搜索内容的网页非常多. 比如, 各种新闻、公告、合同、论文作者单位等很多场合都会出现“中国科学技术大学” , 所以, 很多很多的网页中都含有关键词“中国科学技术大学” . 若某用户搜索“中国科学技术大学” , 则能够找到很多的网页, 这些网页中只有少量是该用户感兴趣的, 而绝大多数是该用户不感兴趣的.

那么, 搜索引擎又是如何对搜索到的网页进行排序, 将该用户可能最感兴趣的网页排在前面, 呈现给用户?

比如, 在搜索“中国科学技术大学”时,通常都是将中国科学技术大学的主页或类似于百度百科对中国科学技术大学的简介放在前面呈现给用户.

如果你曾建立过一个网页, 你应该会列入一些你感兴趣的链接, 这样很容易使你点击到其他含有重要、可靠信息的网页.

这样就相当于你肯定了你所链接页面的重要性. 我们用一个点来代表一个网页, 若网页 A引用了网页 B, 则从AB引一条有向边, 所以可以用一个有向图来表示网页间的引用关系. 图 1 就是一个含有 7 个网页、互相引用的示例图. 当然, 互联网上的网页引用关系比这个要复杂很多, 有几百亿到几千亿个网页.

对任意一个网页 p, 我们用I(p)来表述其重要性, 并称之为网页排序 (page ranking). 例如, 在图 1 中, 我们在每个点的旁边标出了各个网页的重要性.

图1

一个网页将其重要性平均分配给其引用的所有链接, 而一个网页的重要性是由链接到它的其他网页的数量及其重要性来决定的. 例如, 网页 有 个链接, 其中某个链接指向网页 , 则 将会将其重要性的 1/ 赋给 . 网页 的重要性就是所有指向 的其他网页所贡献的重要性总和. 设链接到网页 的网页集合为 , 那么

当然, 这似乎又是一个矛盾的问题, 要得到一个网页的重要性, 需要引用该网页的所有链接的重要性, 那这些链接的重要性又是如何得到的呢?又如像图 1 中的网页 A,DE, 三者是互相引用的, 又如何计算重要性呢?这个问题则是一个更复杂的数学问题.

事实上, 除了网页间的引用关系, 用户的偏好、网页的类型、领域知识等很多因素都会影响网页的重要性. 网页排序是做好搜索引擎的基础, 是影响搜索引擎用户体验的最根本因素.

随着对图论知识的深入学习,我们将越来越体会到它在计算机专业的强大应用.

本文节选自许胤龙、吕敏、李永坤2020年12月在科学出版社出版的新书《图论导引》. 本文图片来源于网络,感谢原作者.

《图论导引》新书书讯

《图论导引》主要分为基础知识与应用两个部分.在基础知识部分,系统地介绍了图论的基本概念、理论和方法,具体内容包括图的基本概念、树、图的连通性、平面图、匹配理论、Euler图与Hamilton图、图的着色、有向图、网络流理论以及图矩阵与图空间,共十章.在应用部分,主要介绍了近年来图计算方面的一些典型应用和系统,具体内容包括无标度图与图计算系统两章.每章后面都附有一定数量的习题,供读者练习和进一步思考.

《图论导引》目录

向上滑动阅览

绪论

第1 章图的基本概念

1.1 图的定义

1.2 顶点度数

1.3 子图与图的运算

1.4 路径与连通

1.5 图的同构

1.6 有向图

1.7 最短路径问题

习题

第2 章树

2.1 树的基本概念

2.2 生成树

2.2.1 生成树的定义

2.2.2 生成树的计数

2.3 最小生成树

2.3.1 Kruskal 算法

2.3.2 Prim 算法

2.3.3 破圈法

2.4 二叉树及其应用

2.4.1 二叉树

2.4.2 Huffman 树

2.4.3 决策树

习题

第3 章图的连通性

3.1 顶连通度

3.2 扇形定理

3.3 边连通度

3.4 割顶、桥与块

3.5 可靠通信网的构造

习题

第4 章平面图

4.1 平面图及平面嵌入

4.1.1 平面图

4.1.2 平面图的Euler 公式

4.1.3 平面图的性质

4.2 极大平面图

4.3 可平面图的判定

4.3.1 图的厚度

4.3.2 可平面性算法?

习题

第5 章匹配理论

5.1 两个例子

5.2 匹配的定义

5.3 二分图中的匹配

5.3.1 Hall 定理

5.3.2 匹配与覆盖

5.4 任意图的完备匹配

5.5 最大匹配算法

5.6 最佳匹配算法

习题

第6 章Euler 图与Hamilton 图

6.1 Euler 图

6.1.1 Euler 图的应用

6.1.2 Euler 回路算法

6.2 中国邮递员问题

6.2.1 问题的提出

6.2.2 最优投递路线算法

6.3 Hamilton 图

6.3.1 Hamilton 图的定义

6.3.2 Hamilton 图的判定条件

6.4 旅行商问题

6.4.1 最近邻法

6.4.2 最小生成树法

6.4.3 最小权匹配法

习题

第7 章图的着色

7.1 顶点着色

7.1.1 顶点着色与色数

7.1.2 顶点着色的应用

7.2 边着色

7.2.1 边着色与边色数

7.2.2 边着色的应用

7.3 平面图着色

7.3.1 平面图着色

7.3.2 五色定理

7.3.3 Appel 和Haken 的机器证明?

7.4 颜色多项式

习题

第8 章有向图

8.1 有向图

8.2 有向图的连通性

8.3 竞赛图

8.4 有向Hamilton 图

习题

第9 章网络流理论

9.1 网络与流函数

9.2 Ford-Fulkerson 算法

9.3 容量有上下界的网络最大流

9.4 有供需需求的网络流

9.5 网络流在连通度中的应用

9.5.1 循环

9.5.2 Menger 定理

9.5.3 无向图的连通性问题

9.6 本章小结

习题

第10 章图矩阵与图空间

10.1 线性空间简介

10.2 图的空间

10.2.1 边空间

10.2.2 圈空间

10.2.3 断集空间

10.3 邻接矩阵

10.3.1 无向图的邻接矩阵

10.3.2 有向图的邻接矩阵

10.4 关联矩阵

10.4.1 无向图的关联矩阵

10.4.2 有向图的关联矩阵

10.5 开关网络及其优化

习题

第11 章无标度图

11.1 无标度图的概念和性质

11.2 图的中心性指标

11.2.1 度中心性

11.2.2 接近中心性

11.2.3 中介中心性

11.3 图上的若干算法

11.3.1 随机游走

11.3.2 图采样

11.3.3 相似性

11.4 典型应用问题

11.4.1 影响力传播

11.4.2 个性化推荐

11.4.3 PageRank

11.4.4 子图模式分析

习题

第12 章图计算系统

12.1 计算模型

12.1.1 以顶点为中心

12.1.2 以边为中心

12.1.3 其他计算模型

12.2 存储模型

12.2.1 数据存储

12.2.2 数据访问

12.3 典型的图计算系统

12.3.1 GraphChi

12.3.2 X-Stream

12.3.3 Graphene

习题

参考文献

《图论导引》特点

(1)基础知识理论全面、兼顾前沿应用:本书介绍图论的基本知识、基础理论与应用, 以及图计算系统(当前的研究热点).

(2)从计算机专业出发,易于知识理解:在不失数学思想与数学严谨性的前提下, 尽量从应用实例导入图论知识点,再介绍相关基础知识与基本理论, 使得学生更易理解.

(3)尽量采用计算机专业实例、代入感强:在介绍图论应用时, 尽量采用与数据结构、计算机应用相关的例子, 提高计算机专业学生的学习兴趣, 也加深学生对相关知识的理解. 最后, 还介绍了图论的典型应用——影响力传播、网页排序等, 以及当前的研究热点——图计算系统.

(4)编者三十多年图论教学经验、书稿经过试用检验:本书编者团队在中国科学技术大学有三十多年从事计算机专业“图论”本科课程的教学实践经验. 在编写本书过程中, 参考了国内外多本教材, 总结了部分最新的研究成果.本书的初稿曾在中国科学技术大学计算机科学与技术学院的“图论”课程中试用, 感谢所有同学在试用过程中提供的宝贵意见!

本文来源:“科学出版社数学教育”微信公众号。

图论算法 最短路程_从网页排序看图论的重要应用相关推荐

  1. 图论算法 最短路程_图论与图学习(二):图算法

    选自towardsdatascience 作者:Maël Fabien 机器之心编译 参与:熊猫 图(graph)近来正逐渐变成机器学习的一大核心领域,比如你可以通过预测潜在的连接来理解社交网络的结构 ...

  2. em算法 实例 正态分布_人人都能看懂的EM算法推导

    ↑ 点击蓝字 关注极市平台作者丨August@知乎(已授权)来源丨https://zhuanlan.zhihu.com/p/36331115编辑丨极市平台 极市导读 EM算法到底是什么,公式推导怎么去 ...

  3. 图论算法(5):图的广度优先遍历 BFS

    本章节内容使用 java 实现,Github 代码仓:https://github.com/ZhekaiLi/Code/tree/main/Graph/src 查看文章内的图片可能需要科学上网! 因为 ...

  4. Algorithm:C++语言实现之图论算法相关(图搜索广度优先BFS、深度优先DFS,最短路径SPF、带负权的最短路径Bellman-ford、拓扑排序)

    Algorithm:C++语言实现之图论算法相关(图搜索广度优先BFS.深度优先DFS,最短路径SPF.带负权的最短路径Bellman-ford.拓扑排序) 目录 一.图的搜索 1.BFS (Brea ...

  5. warshall算法求传递闭包c++_【建模小课堂】图论算法

    图论算法 图论算法在计算机科学中扮演着很重要的角色,它提供了对很多问题都有效的一种简单而系统的建模方式.很多问题都可以转化为图论问题,然后用图论的基本算法加以解决.这类问题算法主要包括Dijkstra ...

  6. 图论 物联网_图论算法-和图论算法相关的内容-阿里云开发者社区

    数学建模需掌握的知识总纲 数学建模需要掌握许多知识,这里我列出总纲: 学建模中的算法 穷举法 神经网络 模拟退火 遗传算法 图论算法 蒙特卡洛算法 所需基础知识 高等数学 线性代数(矩阵加减乘除) 概 ...

  7. 谷歌的网页排序算法(PageRank Algorithm)

    本文将介绍谷歌的网页排序算法(PageRank Algorithm),以及它如何从250亿份网页中捞到与你的搜索条件匹配的结果.它的匹配效果如此之好,以至于"谷歌"(google) ...

  8. 搜索引擎网页排序算法

    2.1基于词频统计--词位置加权的搜索引擎 利用关键词在文档中出现的频率和位置排序是搜索引擎最早期排序的主要思想,其技术发展也最为成熟,是第一阶段搜索引擎的主要排序技术,应用非常广泛,至今仍是许多搜索 ...

  9. 基础算法题——城市间最短路程(Floyd算法)

    Floyd算法 通过一个图的权值矩阵求出它的每两点间的最短路径矩阵. 其状态转移方程如下:map[i,j]:=min{map[i,k]+map[k,j],map[i,j]} 问题描述 现已知有N(N& ...

最新文章

  1. 近期活动盘点:高级机器学习训练营、基于神经网络的代码自动生成” “开放学术图谱”、西山金融科技产业创新论坛...
  2. 读书笔记_CLR.via.c#第十六章_数组
  3. php form validator 下单,PHP Form表单验证:PHP form validator使_php
  4. java项目短信群发接口_JAVA实现第三方短信发送过程详解
  5. Jquery页面跳转
  6. 14年第五届蓝桥杯C/C++大学B组真题———史丰收算法
  7. Bit-Z合约关于平仓的说明
  8. 微信小程序(三)自定义分享按钮和原生分享区分不同按钮的分享带参数分享和获取
  9. 五分钟搞懂什么是红黑树(全程图解)
  10. layui上传图片需携带额外参数
  11. 计算机专业硕士论文字数要求,计算机专业硕士论文格式规范
  12. 教学计划编制问题(C语言)
  13. rabbitmq链接超时_RabbitMQ前置SLB中TCP连接超时900秒限制
  14. Ubuntu上遇到Failed to construct device ‘usb-ehci‘ instance #0
  15. tensorflow高阶教程:tf.dynamic_rnn
  16. LLVM 与 Clang 介绍
  17. 记flume部署过程中遇到的问题以及解决方法(持续更新)
  18. 《天穗之咲稻姬》游玩感想
  19. python带你制作随机点名系统,超级简单
  20. 计算机等级考试数据库三级模拟题3

热门文章

  1. python连载第12篇 for循环 源码+ 答案
  2. 《Cortex-M0权威指南》之体系结构---存储器系统
  3. 苹果下周将推出紫色版iPhone 13 但只有高端版本
  4. 努比亚Z40 Pro定档2月25日:业界唯一定制35mm主摄+首发索尼IMX787
  5. 爆款预定!雷军再曝小米12 Pro:首发自研芯片澎湃P1
  6. 有赞再推视频号流量扶持政策 单商家单月最高可获5万流量奖励
  7. 十荟团创始人发表内部信,公布下半场业务的全面升级规划
  8. 英特尔Bridge技术加持下 Windows 11 PC也能运行手机应用
  9. 微信iOS版本推出深色模式,网友:终于可以“好好熬夜”了!
  10. 三星Galaxy S20系列机模上手视频曝光:不再单独设置Bixby按键