长沙做网站最专业,wordpress文章怎么生成标签,百度搜索引擎的原理,vivo官网网站服务中心内容来源#xff1a;量子前哨#xff08;ID#xff1a;Qforepost#xff09; 编辑丨浪味仙 排版丨 沛贤
深度好文#xff1a;3000字丨15分钟阅读
趋利避害#xff0c;是所有生物遵循的自然法则#xff0c;人类也不例外。
举个例子#xff0c;假如你是某生鲜平台的配… 内容来源量子前哨IDQforepost 编辑丨浪味仙 排版丨 沛贤
深度好文3000字丨15分钟阅读
趋利避害是所有生物遵循的自然法则人类也不例外。
举个例子假如你是某生鲜平台的配送员载着满满一电瓶车货物要将其配送至片区内多个住户。
在多劳多得的规则下要想多赚点配送费你就不得不合理规划配送路径尽量少走回头路以最快速度完成配送最终返回站点。
如果是你会怎样规划路线
都说世界是数学的生活中诸如此类的困扰都可以归为一类叫做组合优化问题在有限个可能解的集合中找出最优解。
如何顺应人类趋利避害的天性做出利益最大化的抉择还得是魔法打败魔法。
现在可以请出今天的主角最大割问题 (Max-Cut Problem)一种能够帮我们合理规划复杂组合关系的数学问题。
01 何为最大割问题 对绝大多数不熟悉数学或编程的读者来说一看「最大割」这仨字必然断定它是个既枯燥又难懂的学术名词。
事实上它蛮有趣、也并不难懂。
在解释概念之前各位不妨先听个故事名字叫做《该死美猴王那纷纷扰扰的花果山》。
话说花果山上有只石猴獐鹿为友猕猿为亲携众猴入驻花果山后被拥立为美猴王。
可美猴王也有烦恼正所谓猴性顽劣目之所及众猴抢盆夺碗占灶争床眼瞅花果山恐再无宁时真真是头疼。
于是美猴王体内趋利避害的远古基因开始觉醒怎样才能让花果山最大程度地保持和平
不如取消原有大杂居试试分区管理可碍于辖区内面积有限只有两座山头可分又该怎么分呢
美猴王开始了一场思想实验。
情况 1假设有 2 只见面就掐架的猴外加两座猴山
这种情况下总共有 4 种分区方案。 那么在这 4 种方案中哪种最能维持整体和平呢
我们将这 2 只猴看作一组关系通过辅助线实线代表小猴之间见面就掐的矛盾来观察。 可以看到切割这组猴的关系线时图 1 和 2 没有线被切断图 3 和 4 切断线的数量为 1。
这意味着此种情况下切断 1 条关系线的方案可以维持花果山和平。
情况 2假设有 4 只彼此都不服的猴外加两座猴山
这种情况下总共有 16 种分区方案。(出于篇幅考虑下面仅展示 4 种。) 在这些方案中哪种最能维持花果山和平呢我们依然将 4 只猴看作一组关系通过辅助线来观察。 可以看到在切割这组包含 4 只猴的关系线时图 3 被切断的线最多数量为 4。
也就是说在此种情况下切断 4 条关系线的方案最能维持花果山和平。
情况 3假设有 5 只猴 (有些猴之间有矛盾有些猴之间没有仍用连线表示)外加两座猴山 这种情况下怎样将这 5 只猴合理分开呢感兴趣的读者可以找张纸画一画。
根据前两种假设我们可知最能维持花果山和平的方案被切断的关系线数量一定最多。
放在此种假设中最优方案切断的数量线为 5 条 (尽管右侧山上其中两只猴也有矛盾但这种分割法已经是最优解了)。 换成平面切割视图则是这样 OK故事听到这里恭喜你已经会求解最大割问题了。
所谓最大割 Max-Cut 问题就是求一种分割方法给定一张无向图将所有顶点分割成两群使得同时被切断的边数量最大。
故事中猴子对应图中的顶点俩猴之间的矛盾则对应边。
但你有没有留意到在前面的假设中我们默认猴子间的矛盾值都相同倘若不同呢比如猴甲与猴乙之间有杀父之仇夺妻之恨见面肯定以死相拼但猴甲和猴丁只是因为昨天分桃时猴丁插了个队见面顶多会呸一声。
实际生活中在矛盾值有高有低的情况下我们还需要优先把一言不合便要掐个你死我活的隔开。
当每条边都有一个权重系数时分割目标函数的思路就会发生变化从使被切断的边数量最大变为使切割边的总权重之和最大。这种情况较刚才的假设更为复杂我们称其为加权最大割问题。
到此最大割问题的描述就讲完了这种轻松涨知识的感觉是不是还不赖诶等等各位先别急着开香槟。
这个世界远比想象中复杂。
02 最大割问题为何难解 刚才是谁按下了各位开香槟的手哦对是我但我是有原因的。
不知各位读者有没有留意到刚才发生在美猴王故事中的几种假设我们都能靠手工画图完成。
从专业角度来说我们用的是穷举法。 穷举法是指根据题目给定的约束条件从可能的集合中一一列举出问题答案再依次判定令命题成立者即为解。 一言以蔽之大力出奇迹。 倘若不是 2、4、5 只猴子而是 10、50、100、甚至直接捅穿猴子窝成千上万只猴子我们还能用穷举法计算出结果吗
不能。
这里存在一个被称为「计算复杂度」的巨大挑战。
在计算机科学中一个问题的计算复杂度就是看运行这个算法所需要的资源量特别是时间 (CPU 占用时间) 和空间 (内存占用时间)。如果问题的计算复杂度比较高当问题的变量数增大时需要筛选的备选答案数量我们称之为“解空间”就可能以极快的速度增加。
当需要筛选的可能答案数量过于巨大时哪怕派出当今运行速度最快的计算机也极难完成因为计算机需要太多时间来验证所有方案的可能性。
这时局面就会开始失控。
比如旅行商问题3 句话就能描述清楚但很小的变量数就能形成一个极其庞大的解空间从而使得用计算机去穷举的“蛮力解法”耗时变得极长。 旅行商问题一个商品推销员要遍访多个城市期间所有城市不能重复经过最后回到出发城市。 他该如何规划最短路径 旅行商问题的描述看上去很简单吧直觉上是不是很好求解
但是从数学角度来看它的挑战在于随着城市数的增加求解的计算量会呈“阶乘级”上升。 大家能一眼就念出 15 个城市可能存在的路径组合数量吗
数学上我们用一个非常形象的词来描述这种现象叫做「组合爆炸」变量 (城市数) 只是增加了一点点解空间的可能性就快速增长成一个极其庞大的规模。
回到花果山的故事中当猴子数量、矛盾关系数量持续增加时美猴王所要考虑的分割方案的数量同样会呈阶乘级增长再也没法用简单的“画图穷举”的方法去求解了。
至此我们可以对最大割问题做个简单总结
1) 作为组合优化问题的一种随着问题规模的增加可能的解决方案数量会呈阶乘级增长采用穷举法几乎不可能在可接受的时间内找到全局最优解。
2) 当解决方案数量呈阶乘级增长时求解组合优化问题的难度将大大超出经典计算机的能力范围。
03 最大割问题有何现实意义 你或许会想尽管明白了什么是最大割问题但它有什么用呢现实生活中哪儿有那么多调皮的小猴需要我去调度
诶千万别小瞧了它。
德国当代著名作家丹尼尔·凯曼说过“数学并不会使人脱离现实世界恰恰相反数学牵引着现实让人更加接近现实让现实更加清晰。”
最大割问题就是这句话的优雅诠释。
远的不提咱就拿自动驾驶来说汽车要想安全地自行驾驶必须得能感知周围环境除了要能“认清”车辆行人的行动轨迹还得能分清路面移动的物体是野猫还是塑料袋从而精准避障。
但汽车的“眼睛”是摄像头和雷达这些感官设备带给它的只是一堆一堆的 01 数据还需要它的大脑去“识别”这些数据所代表的“具体含义”。
以摄像头为例它所获取的是一帧帧平面二维图片图片则由一个个不同色值的像素点构成。至于哪些像素点应该被归纳为物体 A哪些像素点应该被归纳为物体 B就需要自动驾驶的“大脑”去计算和识别。
要实现这一点离不开图像分割技术也就是通过将图像划分成互不相交的区域实现物体分离再一一将这些物体识别成不同的对象进而去判断这些对象会不会动、会怎么动与汽车自身的运动会不会产生碰撞等这才能让汽车“看清楚路”。 最大割问题可以帮助完成图像分割。
汽车周身摄像头拍摄到的画面可以将其映射为带权无向图像素视为图中节点。这样一来图像分割问题就转化成了图的顶点划分问题利用最小剪切准则得到图像的最佳分割汽车就能“看见”路况进而科学决策做到安全驾驶。
而这只是最大割问题应用的冰山一角事实上它的应用或变体遍布整个商业领域是构成我们数字社会非常重要的算法基础。 1、金融动态投资组合优化、欺诈检测、信用评估、客户划分 2、通信MIMO 波束选择及资源分配 3、设计电路板优化设计 4、能源主动配电网的路径优化 5、交通大规模交通流路径规划 6、物流包裹配送优化、物流仓布局 7、医疗疾病诊断与医学图像分析 8、生物制药小分子对接筛选 9、工业制造生产流程优化、整体质量控制流程优化 10、电子商务产品推荐、库存管理 ... ... “世界是数学的。”美国思想家爱默生说“在它巨大流畅的曲线中没有意外。”
要我说意外还是有的。
你瞧在如何发现世界中的数学、如何用好数学等方面都藏着意外。