集合最大子集算法_干货|变邻域搜索(VNS)算法求解Max-Mean Dispersion Problem(附代码)...

cbe88eb491b7e6331944748b94b78186.png
本文发布于公众号【数据魔术师】同名文章,欢迎给我们留言、私信进行交流

Part1.Max-Mean Dispersion Problem

63d1e374bc07e20a19d10d0fd62e24b3.png

对MDP和MMDP还是一头雾水?不要着急,今天就和笔者一起解决这三个问题—

什么是MDP和MMDP?

它们有什么用?

怎样解决这两个问题?

1.1.Maximum Diversity Problem

要讨论Max-Mean Dispersion Problem,就要首先了解Maximum Diversity Problem (MDP)

MDP是一种用来度量元素中差异的问题,通俗来讲,就是要从一个集合中选择一个子集合,使得子集合中的元素差异最大化。

举个例子,对于生态系统的平衡问题,生态系统的存续与否就在于多样性。假如我们拥有任意两个生物之间的差异值,通过找到具有最大多样性的子集,我们就能方便地建立起可行的生态系统。

又比如说在农业育种中,往往需要在子代中挑选出具有理想多样性的种群,问题就又归结到了在子代中找到最大差异化个体的问题上了。

文章开头的表情包,其实质也是一个MDP。在风险投资中,往往要通过找到差异最大的几个市场来进行投资,避免牵一发而动全身的情况。

例子都是多样性在生活中发挥作用的表现,那么我们应该如何最大化这种多样性呢?这就是MDP要解决的问题了。

更多的应用见下图的描述:

efecabd4961fca6060acb30d62c20aa7.png

1.2.MDP的数学描述

考虑一个元素的集合

,索引集
。每个元素包含着
个属性,我们可以将一个元素用向量表示。我们的目标就是从
个元素中选择
个元素,最大化所选择的元素的多样性。为了度量元素之间的多样性,我们定义值
来代表元素
之间的距离。这个距离有多种算法,如欧几里得距离,曼哈顿距离等。在这里我们使用最为常用的欧几里得距离:

7da4a5166d375dd35e2192538b1be4bf.png

由此,我们可以定义一组元素的多样性为:

4de9d17fe756db7ca8199a8cd0115322.png

根据这些约定,我们可以通过引入0-1变量的方法,将问题表达为:

070779e652b663512c7a9b4ddb1e5d23.png

1.3. Max-Mean Dispersion Problem

有了对MDP问题的认识,下面我们来看看MMDP。

和MDP要最大化子集的多样性不同,MMDP问题需要最大化子集多样性的平均值。在这里值得注意的一点是,MDP中子集的大小是固定的,是问题给出的。而MMDP中,子集数量的多少需要自己确定。当子集数量确定后,MMDP就转化为了MDP。

还是有些云里雾里?更通俗的讲,假如说问题是在10个人中挑出差异最大的5个人,这自然是一个MDP&#x

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值