最短路径

现实场景

1、一批货从北京到广州的的最快,或最省钱的走法。 
把路线中各城市当作图的顶点,各城市之间的花费时间,或金钱当作边的权重,求两点之间的最短路径。 
2、在城市群中建一个仓储基地,建在什么位置可以让各个城市的送货速度都比较快。 
同1,把各城市间的送货速度当作边的权重,求仓储基地到各城市间的最短路径。

算法

1、Dijkstra,单源最短路径。 
2、Floyd,两点最短路径。 
参考链接:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html

社区发现

现实场景

用于社交网络中的社区(或话题)发现,基本特点是,社区之间联系稀疏,社区内部联系紧密。如,给定新浪微博的用户关系数据,找出其中的的社区,以及核心节点。

算法

标签传播、主要特征向量、多层模块度、随机游走、边介数等几个系列算法。

各算法的优劣,有一个评价体系,即计算其 Modularity Measure(模块化度量值)。 
具体的算法介绍,及Modularity Measure值计算,可以参考这里:http://blog.csdn.net/itplus/article/details/9286905 
关于Fast Unfolding更详细的介绍,可以参考这里:http://blog.csdn.net/google19890102/article/details/48660239

网络评价

现实场景

现实中存在各种的网络:社区聚集、好友关系、电力网、交通网等,网络特点各不相同,计算机科学上,把这些现实网络划分为随机网络、小世界网络、规则网络、无标度网络等多种抽象的网络模型,用网络模型去解释现实网络。并定义了一套可量化的标准特征来描述各种网络模型。

概念

1、平均路径长度。路径长度,是指网络中任意两节点之间的最短路径。平均路径长度是指所有节点之间的平均最短距离。 
2、网络直径。网络中所有节点之间的最大路径长度。 
3、度分布。度,是指网络结构中与某节点相连接的边的数目为该节点的度。社交网络中度数较多的节点通常是公众人物。 
网络中各个的节点度的分布情况就为度分布,如泊松分布、二项分布等。 
4、介数。节点的介数,指经过该节点的最短路径占整个网络所有最短路径的比例。如,社交网络中的某些关键人物。 
5、接近中心度。一个节点通过最短路径到达其它节点的难易程度。对于网络中的边缘节点,其接近中心度会比较小。如,偏远城市,社交网络中的非主流人物。 
6、Clustering coefficient(聚集系数)。主要衡量一个节点的邻节点之间的连接情况,邻节点之间连接越多,聚集系数越大。 
7、网络密度。网络中节点固定情况下,边数量越多,则密度越大,即节点之间联系更紧密。 
8、互惠指数。即有向网络中的无向程度。

K-Core

现实场景

社交网络中,有一批KOL存在,他们的影响力远超普通大众。

算法

关于K-Core的详细解释,及其算法实现,可以参考这里:网络节点度、H指数与核数之间的优美关系(http://blog.sciencenet.cn/blog-3075-950475.html)

二分图匹配

现实场景

1、通过数代人的努力,你终于赶上了剩男剩女的大潮,假设你是一位光荣的新世纪媒人,在你的手上有N个剩男,M个剩女,每个人都可能对多名异性有好感,请为他们两两配对,最大程度减少剩男剩女个数。 
2、有一些员工要完成一些任务。各个员工完成不同任务所花费的时间都不同。每个员工只分配一项任务。每项任务只被分配给一个员工。怎样分配员工与任务以使所花费的时间最少?

算法

1、匈牙利算法 
2、任务分配问题一般可以在多项式时间内转化成最大流量问题(Maximum Flow Problem)

匈牙利算法参考文章:http://blog.csdn.net/dark_scope/article/details/8880547

二分图匹配问题转最大流问题的方法可参考这里: 
http://blog.csdn.net/caipeichao2/article/details/35306659

最小费用、最大流

现实场景

1、从城市A到城市B之间运输一批货物,中间路过多个城市,有多条路线可供选择,两两城市之间的运输费用不等,找出一条费用最小的路线。 
2、把一批快递经由铁路由城市A运到城市B,中间路过多个城市。在做任意两个城市间的铁路线上可运送的物资数量是有限的,我们要考虑使铁路线承载量最大,不让铁路资源闲置,同时让快递运输时经过更多的城市,以承揽更多快递业务。如果把铁路网上的车站看作是图的顶点,两个车站间的铁路线看作是图的边,把任意两城市间的铁路线上的允许最大运送量称为容量。这就是一个经典的求网络最大流问题。

概念

1、边权重的意义。不同场景下,每条边的值有不同的意义,问题1中,边的权重为费用,问题2中,边的权重为剩余容量。 
2、增广路径。在图中,可能存在多条从源点到目标点的可行路径,每一条都是一条增广路径。最小费用、最大流问题就是找到多条增广路径中满足最小费用、最大流条件的一条。

算法

1、最小费用问题可转化为求最短路径问题。 
2、Edmond-Karp算法。 
可参考文档:http://www.cnblogs.com/zsboy/archive/2013/01/27/2878810.html 
3、Ford-Fulkerson算法。 
可参考文档:http://www.cnblogs.com/kuangbin/archive/2011/07/26/2117636.html

最大连通子图

现实场景

1、计算机网络中的病毒通常会基于一种病毒存在多种变种病毒,变种病毒与原病毒之间大部分代码相似。因此,把两种病毒之间的函数调用关系用图表示出来,分析其最大连通子图是否相似,就可以判断是否变种病毒。 
2、图像分割中,寻找图像的最大连通域。

概念

最大连通子图。是指把图划分为N个子图后,子图内所有节点相连,子图间没有节点相连。这N个子图就是原图的最大连通子图。

欧拉回路

现实场景

1、七桥问题。 
2、去北京动物园浏览,能否设计一条这样的路线:既可以游遍所有景点,又不走重复路。

概念

1、欧拉回路。是指,通过图(无向图或有向图)中所有边一次且仅一次行遍图中所有顶点的通路(回路)称为欧拉通路(回路)。 
2、满足特定条件的图才能称为欧拉图。

算法

Fleury算法

哈密顿回路

现实场景

导游带团北京一日游遍,需要设计一条路线,可以走遍所有景点,且只走一次。

概念

1、哈密顿回路。在一个图中,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。 
2、哈密顿回路并不一定存在。 
3、属NP完全问题,难以在有效时间内找到解决方案。

最小生成树

现实场景

1、在电路设计中,常常需要把一些电子元件的插脚用电线连接起来。如果每根电线连接两个插脚,把所有n个插脚连接起来,只要用n-1根电线就可以了。在所有的连接方案中,我们通常对电线总长度最小的连接方案感兴趣。 
2、要在n个城市之间铺设光缆,主要目标是要使这 n 个城市的任意两个之间都可以通信,找出一条使用最短的光纤连通这些城市的铺设方法。

算法

1、Prim算法 
2、Kruskal算法

拓扑排序

现实场景

1、一个大工程,通常由多个任务组成,这些子工程之间有的有依赖关系,有的没有,假设同时只能做一个任务,请排出一个顺序来。 
2、一个计算机专业的学生必须完成一系列课程才能毕业。如学习《数据结构》课程就必须安排在学完它的两门先修课程《离散数学》和《算法语言》之后。学习《高等数学》课程则可以随时安排,因为它是基础课程,没有先修课。

概念

1、有向无环图(DAG)。 
2、AOV表示法。图的节点表示任务,有向边表示先后顺序,最终形成的是一个有向无环图,才能进行拓扑排序。

算法

1、Kahn算法 
2、DFS

关键路径

现实场景

一个工程如何优化任务的安排,才能最大程度缩短工期?

概念

1、在拓扑排序之后,才能进行关键路径的优化。 
2、AOE表示法。用图的节点表示任务,有向边表示任务的先后顺序,边的权重表示任务所花时间。 
3、找到两个关键点进行优化:完成整项工程至少需要多少时间?哪些活动是影响工程进度的关键?

常见算法及问题场景——图相关推荐

  1. 【Android 内存优化】垃圾回收算法 ( 内存优化总结 | 常见的内存泄漏场景 | GC 算法 | 标记清除算法 | 复制算法 | 标记压缩算法 )

    文章目录 一. 内存优化总结 二. 常见的内存泄漏场景 三. 内存回收算法 四. 标记-清除算法 ( mark-sweep ) 五. 复制算法 六. 标记-压缩算法 一. 内存优化总结 内存泄漏原理 ...

  2. etc的常见算法_几个常用算法的适应场景及其优缺点(非常好)

    本文主要回顾下几个常用算法的适应场景及其优缺点! 机器学习算法太多了,分类.回归.聚类.推荐.图像识别领域等等,要想找到一个合适算法真的不容易,所以在实际应用中,我们一般都是采用启发式学习方式来实验. ...

  3. 【笔记】三张图读懂机器学习:基本概念、五大流派与九种常见算法

    文章目录 [笔记]三张图读懂机器学习:基本概念.五大流派与九种常见算法 Chapter 1: A look at Machine learning 1.What is it? 2.How does m ...

  4. 三维场景图:用于统一语义、三维空间和相机的结构

    三维场景图:用于统一语义.三维空间和相机的结构 3D Scene Graph: A structure for unified semantics, 3D space, and camera 论文链接: ...

  5. 重磅 | 李飞飞最新演讲:ImageNet后,我专注于这五件事——视觉理解、场景图,段落整合、视频分割及CLEVR数据集

    2017中国计算机大会(CNCC2017)于10月26日在福州海峡国际会展中心开幕,大会为期3天. 而就在今天上午,李飞飞.沈向洋.汤道生.马维英等重磅大咖纷纷登台演讲. 据悉,斯坦福大学人工智能实验 ...

  6. AI - 常见算法简介(Common Algorithms)

    机器学习常见算法简介 - 原文链接:http://usblogs.pwc.com/emerging-technology/machine-learning-methods-infographic/ 应 ...

  7. 数据产品必备技术知识:机器学习及常见算法,看这一篇就够了

    大家都知道,产品经理需要懂技术,很多面试官都偏好有技术背景的同学,毕竟产品经理经常要和开发同学相爱相杀.当然也不是一定要求能够精通,但是至少不要让这块成为沟通的障碍,懂点技术,实际工作中也能少被开发同 ...

  8. 智能推荐算法在直播场景中的应用

    本文概览: 1. 推荐系统是什么? 推荐系统是帮助用户发现内容,克服信息过载的重要工具: 它通过分析用户行为,对用户兴趣建模.从而预测用户的兴趣并给用户做推荐: 信息过载: 信息过载是信息时代信息过于 ...

  9. 由查找算法工程的类图分析组合模式

    关键字:算法工程的类图,架构分析,设计模式,组合模式 首先,上一个我刚完成的针对上一篇Knowledge_SPA--精研查找算法文中使用的工程,所画的类图,由此来分析它的架构.如下图所示: 我们这个工 ...

最新文章

  1. 《软件设计师》——计算机组成原理与体系结构
  2. php微信jssdk下载图片,微信JSSDK上传多张图片回调方法以及服务器端处理下载媒体...
  3. 26期20180703 正则 grep
  4. [云炬创业基础笔记]第一章创业环境测试8
  5. linux deepin/debian/ubuntu apt查看软件版本 apt安装指定版本的包
  6. python爬虫慕课网利用xpath_python爬虫实践——零基础快速入门(二)爬取豆瓣电影...
  7. 算法导论读书笔记(7)
  8. 社会网络分析-python_体育社 - 运动让生活更有乐趣 - 俱乐部活动在线管理系统...
  9. stylesheettheme和 theme 的区别
  10. 简单的P2P电影下载加速,(类似迅雷下载电影P2P加速)
  11. 今日头条最新视频解析方法
  12. python爬取淘宝数据魔方_阅读心得3:《淘宝数据魔方技术架构解析 》
  13. 从金山到小米,看雷军如何一步步成为“飞猪”
  14. mac下安装photoshop
  15. 掌握NestJS - JavaScript Node.js 框架
  16. 土旦:关于display:flex碰上white-space nowrap 影响布局的问题
  17. 【学习笔记】线段树详解(全)
  18. mysql24div13_第七次codeforces竞技结束 #258 Div 2
  19. 工厂模式 五种写法总结
  20. Matlab 基础知识——矩阵操作及运算(矩阵、数组区别)

热门文章

  1. 洛谷P1035 [NOIP2002 普及组] 级数求和
  2. 异步日志系统设计demo
  3. Python中@staticmethod和@classmethod之间的区别
  4. 教你如何玩转GitHub
  5. RDB和AOF速度测试
  6. Mac SecureCRT解决中文乱码
  7. android保持服务不休眠,Android开发保持屏幕常亮和CPU不休眠唤醒状态
  8. 如何在 Centos7 x86_64下将vim一键配置为一款强大的C++,IDE
  9. ffmpeg音视频基础知识
  10. mjpg-streamer框架分析