淘姐妹

淘姐妹

动态规划——背包问题(Knapsack Problem)入门

电脑 0

淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】


应用场景-背包问题

? 有一个背包,容量为4磅,现有如下物品:

物品重量价格
吉他(G)11500
音响(S)43000
电脑(L)32000
  1. 要求达到的目标为装入的背包的总价值最大,并且重量不超出
  2. 要求装入的物品不重复

动态规划算法介绍

  1. 动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法
  2. 动态规划算法与分治算法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解
  3. 与分治法不同的是,适用于用动态规划求解的问题,经分解得到子问题往往不是相互独立的。(即下一个子阶段的求解是建立在上一个子阶段的解的基础上,进行进一步的求解)
  4. 动态规划可以通过填表的方式来逐步推进,得到最优解

思路分析

  • 背包问题主要是指一个给定容量的背包、若干具有一定价值和重量的物品,如何选择物品放入背包使物品的价值最大。其中又分01背包和完全背包(完全背包指的是:每种物品都有无限件可用)
  • 这里的问题属于01背包问题,即每个物品最多放一个。而无线背包可以转化为01背包
  • 算法的主要思想,利用动态规划来解决。每次遍历到第 i 个物品,根据 w[i] 和 v[i] 来确定是否需要将该物品放入背包中。即对于给定的 n 个物品,设 v[i]、w[i] 分别为第 i 个物品的价值和重量,C 为背包的容量。再令 表示在前 i 个物品中能够装入容量为 j 的背包中的最大价值。则我们有下面结果
      • 表示填入第一行 和 第一列是0
    1. 当时:
      • 当准备加入新增的商品的容量大于 当前背包容量 时,就直接使用上一个单元格的策略
    2. 当时:
      • 当准备加入的新增的商品的容量小于等于当前背包的容量,装入的方式:
      • :就是上一个单元格的装入的最大值
      • :表示当前商品的价值
      • :装入商品,到剩余空间的最大值

图解

填表法

  • 每一行代表当有新增物品时的分配方案
  • 每一列代表背包的容量
物品0磅1磅2磅3磅4磅
吉他(G)1500(G)1500(G)1500(G)1500(G)
音响(S)1500(G)1500(G)1500(G)3000(S)
电脑(L)1500(G)1500(G)2000(L)2000(L)+1500(G)

代码演示



副驾增加屏幕 副驾真的需要一块屏吗


童济仁汽车评论编辑丨徐业成辰巳在真正的自动驾驶时代到来之前,驾驶员永远是汽车内装设计首要照顾的对象,车内的大部分功能、按键、交互布局,也多是围绕驾驶员为核心展开。甚至在一些高性能跑车中,为副驾提供一张“坚如磐石”的座椅和一个空调出风口,就是对副驾最大的“尊重”了。但是,当一批造车新势力越来越热衷于在车内每一个可能的地方加入屏幕,行业重新开始讨论越来越多的屏幕,究竟有什么意义。如果乘员有通过屏幕实现娱乐的需求,为什么不拿出更加顺手的手机或者平板呢?然而,给副驾造一块屏,不仅仅是对乘员时间的争夺,更有可能是汽车在第三次IT行业入口级争斗的“敢死队”。副驾屏并不新鲜?尽管引起我们对“副驾屏”讨论的,是诸如理想ONE、拜腾M-Byte、高合HiPhi1等造车新势力的全新车型,但事实上早在9年前,法拉利就在其首款四驱跑车FF上,为副驾座打造了一块专属的显示屏。然而,这块屏却非常“直男”地给副驾呈现包括车速、发动机转速、挡位、里程、平均速度等一系列与车辆行驶相关的内容。如今在在法拉利的一众新车上,你同样可以看到类似的设计,屏幕内可显示的内容也逐渐丰富。但法拉利的做法,只是为了显示而显示,充其量只是品牌基因与造车理念影响下,为副驾座乘客提供的炫技之作。到了今天这些电动车身上,似乎把更大、更多的屏幕塞进车内,比说自己精心设计了一套符合人机工程学的内饰更具冲击力。特斯拉ModelS用一块17英寸的触控竖屏颠覆了人们对于汽车内饰的固有印象。高合HiPhi1在前排共有三块屏幕,理想ONE则布置了四块,天际ME7则是给每个座位乘客人手一块屏幕,拜腾更是在车内放进了一块定制的48英寸4K柔性OLED屏幕。甚至北汽LITE这样一辆售价十万元左右的微型电动车,同样为副驾提供了一块8英寸的专属屏幕。终于,传统车企们也开始坐不住了。在保时捷Taycan、本田e等传统车企的电动车上,我们也看到了类似的前排横向多联屏设计。所以,给副驾座前装屏幕,这件事情本身并不新潮,多数时候,我们也只认为这块屏幕起到的是信息展示的作用――无论是法拉利上的车辆行驶信息呈现,还是现在造车新势力可以进行各种多媒体操作。但如果副驾屏仅仅做到这样,除了让乘员起初几分钟上手感到新鲜,除了在社交网络有更多分享的谈资,在剩下绝大部分时间里,它几乎不具备任何与手机争夺用户时间的资本。副驾屏争不过手机?即便一块大屏已经横在眼前,但对于视觉、听觉、触觉都完全不受限的副驾乘员而言,他们还是会义无反顾地掏出手机,而不是弓着身子伸长手臂,去操纵哪块并不顺手的屏幕。出现这样的情况,原因不外乎以下几点。1.软件生态匮乏以用户最基础的视听娱乐为例,在手机上想听歌、看视频,由于个人使用习惯或者版权归属,经常需要在多个app中进行挑选。然而,车企毕竟不是软件公司,也不是内容供应商,车载娱乐系统在app适配、内容更新上,很难提供与手机一致的使用体验。即便是车企与BAT等互联网巨头进行合作,比如特斯拉上预装的腾讯系音乐、视频、游戏等应用,但是在功能的完整度、内容的质量上,也远远不及手机端。而对于应用开发、资源整合能力较差的车企而言,想要让这块屏幕变得内容丰富起来就更难了。2.硬件配置落后除了内容资源的缺乏,车规级硬件水平也是远远落后于手机等移动终端。目前量产车型的中控系统中,性能最强的车规级芯片是高通骁龙820A,其工艺制程和应用处理器性能落后同时期旗舰手机SoC芯片三代以上,性能表现自然不可同日而语。另一方面,车规级屏幕大多数还维持在720p分辨率水平,少数达到1080p,但是论屏幕精细度、色彩还原度、屏幕亮度等,与主流以上手机同样不在一个层面上。此外,对于现阶段的副驾屏幕来说还有两个从原理上难以解决的硬件问题。首先是如何在一套中控系统下协调主副驾的分配使用。比如当驾驶员需要车载导航时,副驾影音娱乐的沉浸式体验势必受到影响。其次,一块固定的屏幕,难以同时满足电影、短视频等多元内容形式对于屏幕方向的需求。3.网速慢、流量贵在车联网服务进入“流量运营”时代之后,吸引用户停留在生态内最简单的方式,就是给予足够的流量。但是,绝大多数汽车厂商的“免费流量”带有很多限制条件,比如免费时限、免费额度、流量覆盖、与保养*的政策等。加之购买车载流量套餐的费用,通常远高于手机流量,而车载系统所能提供的内容,又无法媲美手机。因此,与手机流量的透明相比,车载流量很难成为培养用户粘度的基础。副驾要的不只是一块屏?以人类文明发展的视角来看,标志人类进入科技时代的第三次工业革命,基本接近完成,以冯・诺依曼结构为基础的现代计算机网络化布局基本趋于完善,代表大规模集成电路发展的摩尔定律几近失效,科技进步的边际效应递减。而接下来科技进步发展的方向,势必是以下一代移动通信技术、大数据、神经网络和深度学习等为承载,从人与人之间的连接逐步演化为万物连接。这就意味着,任何一个物件,都有可能成为万物互联中的一个节点――汽车,当然包含在内。如果说,第一轮IT行业入口级争夺的胜利者是PC搜索引擎,第二轮的胜利者则是智能手机,那么在高速、低延时、低功耗的通信技术出现后,第三轮入口级争夺也许不会再出现某种类型终端alliN ONE的趋势。当计算能力、网络、数据、生物识别等可以实现多设备同时在线,意味着终端设备不必集中于手机,而是可以更加合理与自然地出现在任何一个物联网内的物体上,比如一件衣服、一个背包、一个洗衣机。相比这些,汽车作为一个移动终端,更加是这一场景下不可或缺的存在。这也就是为什么,即便当下车载屏幕硬件规格落后、软件生态匮乏,汽车厂商们仍然乐此不疲在车上装屏幕的原因。因为它们不仅在争夺用户时间,更是在争夺下一个万物互联的入口。此时,汽车厂商考虑的并非是性能参数,而是先要抢夺进入全新形态竞争时的标准话语权。而用户使用车载屏幕的体验,则会随着芯片、网络、光学、人工智能等一系列技术创新,逐步得到释放。同时,这块实体的屏幕,未来也将会以柔性屏、全息投影等多样形式出现。乘员真正需要的,是万物互联下的全新交互体验。只有将赛场从智能手机的领域转移,车载屏幕才会成为乘员放下手机的理由。写在最后车载屏幕的方向并没有错,但是区别在于,汽车厂商究竟是用屏幕作为向用户讲故事的噱头,还是依靠维度级创新,让其真正成为物联网时代的接入节点,占据入口级争夺有利地位的工具。更不必说,当自动驾驶时代真正来临后,一个具备完整的生物识别、网络通信、人工智能的“智能座舱”里,“屏幕”在功能与交互中发挥的作用,将无可取代。