文章目录

  • 定义
  • 例子
  • 拓展
  • 应用

拟阵中所用的若干术语多半来自于代数(比如线性代数和抽象代数)和图论。

拟阵有许多等价的定义方式,最常见的定义方式是用独立集、基、圈、闭集合、闭平面、闭包算子或秩函数。我们下面只会介绍第一个定义拟阵的方式。

下面先说拟阵到底有什么用:
拟阵有一个最为基本的优化性质:极大独立集一定是最大独立集合,而这个可以在实践中变成贪心算法。

定义


上面的第2,3个条件为了好理解,可以类比线性独立的概念。简而言之,fff集合就是所有“线性无关”的集合的集合。
第二个就是:

即大集合中两两元素都线性无关,那么大集合的任何子集中的元素都线性无关。比如A是S的子集,那么如果S集合内的元素两两线性无关,那么A集合内的元素也是两两线性无关。

类似的,第三个条件即如下:

可以看到,这两个和我们线性代数中的线性无关的特点都是一致的。

例子

给个例子,看懂了,就结束了。为了简单,我们的大集合E取3维空间的如下4个向量。

那么:

然后,根据第2个条件,上面3个集合的子集也是线性无关组。所以fff最终为:

相信此刻,你已经有了充分的理解,那么把这个理解迁移到组合最优化或者图论中就是:

目标:

这个时候,我们需要冷静的想一下,能不能建立一个拟阵,我们关键是要验证无圈子图这个概念是否满足拟阵定义中的3个条件。

  1. 边集为空集构成的图当然是无圈子图
  2. 无圈图的边集的子集构成的子图当然还是无圈图
  3. 这个你自己可以动手试试,条件3也是满足的,此处不证

即可以建立一个拟阵,那么我们有了思路,类比前面那个例子,找到最大的无圈子图,然后其子集全部都仍然是,这样的话,一下子就找完了全部。

支撑树就是生成树,其加上一条边就一定会构成圈。所以是“极大线性无关组”。

拓展

可图拟阵:如果一个拟阵M可以被解释为一个图G的某一个场景(比如无圈),而且反过来也可以,那么称M和G同构,同时,称这个拟阵是可图的。

例子中的两个就是同构关系。前者4个向量,后者4条“边”,其他的结构也一模一样,都是一一对应关系,集合中叫做双射

这不免让人觉得肯定任何拟阵都是可图的,那就错了,比如:
M=(E={1,2,3},f={ϕ,{1},{2},{1,2}})M=(E=\{1,2,3\},f=\{\phi,\{1\},\{2\},\{1,2\} \} )M=(E={1,2,3},f={ϕ,{1},{2},{1,2}})
这个是一个拟阵(其满足我们最开始的拟阵定义的3个条件),但是其无法对应到图中来。
因为3条边的图,无论你怎么画,f中都至少是7个元素,即至少为:
f={ϕ,{1},{2},{1,2},{3},{1,3},{2,3}}f=\{\phi,\{1\},\{2\},\{1,2\}, \{3\},\{1,3\},\{2,3\}\}f={ϕ,{1},{2},{1,2},{3},{1,3},{2,3}}

例如:

这个图的无圈子图集合就是上述fff。

当然了,如果画成下面这样,f中就为8个元素了。
f={ϕ,{1},{2},{1,2},{3},{1,3},{2,3}{1,2,3}}f=\{\phi,\{1\},\{2\},\{1,2\}, \{3\},\{1,3\},\{2,3\}\,\{1,2,3 \}\}f={ϕ,{1},{2},{1,2},{3},{1,3},{2,3}{1,2,3}}

但是,无论哪一种3条边的图的画法,都不可能对应到上述fff。
f={ϕ,{1},{2},{1,2}}f=\{\phi,\{1\},\{2\},\{1,2\} \}f={ϕ,{1},{2},{1,2}}

所以,这个拟阵是不可图的。

应用

这里,我想是你最关心的问题,抽象为拟阵问题有什么用?可以使用贪婪算法解决这类问题。

我们就想象上面那个图的无圈子图问题,我们要求其最大无圈子图(最小生成树),(拟阵中叫做最大独立集),每一条边会有一个权重,记为c(ei)c(e_i)c(ei​)。我们对这些权重排序后,假设是这样的。

注:这里的权重如果理解成边的长度的话,那么下面是求解最大生成树,看你如何理解权重了,如果理解为边越短,权重越大,那么就是求解通常的最小生成树。

那么求解最大无圈子图即为:

即每次都挑选一个剩下当中最大权值的边来进入(e1e_1e1​是最大的),不过要看加入后是不是无圈子图,如果第一次中,e1e_1e1​不属于无圈子图,那么不能加入到J。

算法运行结束后,就得到了最大权的无圈子图J。

这显然是一个贪心算法。其实,只要你所遇到的问题,可以抽象为拟阵的形式,都可以使用贪心算法。只是,有些问题并不能抽象为拟阵,此时,不能用贪心算法。

拟阵(matroid)相关推荐

  1. c2java Greedy 之任务调度

    近期调试一个javaproject的时候,我遇到不是期望的输出结果时.是这么干的: A1凝视掉抛出的异常: A2加打印对照异常输入和正常输入. A3进一步加打印缩小范围. 事实上仅仅需:B1静下心来细 ...

  2. 【算法学习】贪心算法

    参考算导第三版第16章 贪心算法 文章目录 1. 活动选择问题 1.1 活动选择问题的最优子结构 1.2 贪心选择 1.3 递归贪心算法 1.4 迭代贪心算法 2. 贪心算法原理 2.1 贪心选择性质 ...

  3. 算法导论之贪心算法(Huffman编码和拟阵)

    贪心算法,在解决最优化问题上,通过得到子问题的局部最优解来合成问题的一个解,以局部最优选择来输出一个全局最优解. 问题要用贪心算法来求解,需满足和动态规划一样的最优子结构特征,同时还需要再每个子问题最 ...

  4. P3265-[JLOI2015]装备购买【线性基,拟阵贪心】

    正题 题目链接:https://www.luogu.com.cn/problem/P3265 题目大意 给出nnn个有权值的mmm元组.求最大独立集,即一个最大的集合且内部元素线性无关.且在集合最大的 ...

  5. 拟阵:贪心原理(bzoj 3105: [cqoi2013]新Nim游戏)

    拟阵:贪心算法的理论基础 拟阵是满足下列条件的一个序队M = (S, I) ①S是一个有穷的集合,I是集合的集合且非空 ②I具有遗传性质:如果集合B∈I 且 A⊂B,则A∈I,即若B∈I,则B是S的独 ...

  6. heike - 霍尔定理 - 拟阵贪心

    题目大意: 有n个人,T个物品,每个人有三个参数L,R,v,你可以从n个人中选出若干人,每个人分配恰好一个物品,并且满足对于每个人分配的物品编号必须在Li,Ri之间,并且没有两个人分配同一个物品.此时 ...

  7. Kneser猜想与相关推广

    本文本来是想放在Borsuk-Ulam定理的应用这篇文章当中.但是这个文章实在是太长,导致有喧宾夺主之嫌,从而独立出为一篇文章,仅供参考.$\newcommand{\di}{\mathrm{dist} ...

  8. 看论文时的几个数学术语

    互信息(Mutual information) 在概率论和信息论中,两个随机变量的互信息(MI)是用来测量两个变量之间的相互依赖.不限于类似于有实际数值的随机变量相关系数,MI更加通用,能够确定联合分 ...

  9. 跟锦数学2017年上半年

    (170101) 设 $A$ 是数域 $\bbF$ 上的 $n$ 阶反对称矩阵. 若 $n$ 是奇数, 试证: $|A|=0$. (170102) 设 $A$ 是数域 $\bbF$ 上的 $n$ 阶反 ...

最新文章

  1. 【学习笔记】高斯整数、高斯素数、费马平方和(全部相关概念及例题详解)《初等数论及其应用》
  2. 汇编语言随笔(15)- 对键盘输入进行处理(int 9 和 int 16h 中断例程)
  3. 自然语言处理顶会 ACL 2018 参会见闻
  4. MOSS 2007基础:内容类型(Content Type)之二
  5. luogu P1273 有线电视网
  6. 谈一下ACM的入门书籍及方法
  7. 看了B站上的这些Java视频,我飘了!
  8. linux mv移动文件命令详解与替换强制覆盖多个文件
  9. 走进 Redis 的世界
  10. linux 根目录设置777,linux 把根目录设置成777权限的补救方法
  11. 使用树莓派3开发板,基于android things 物联网系统来运行TensorFlow解析图像
  12. ff14 人最多的服务器,记录FF14全服人数最少的服务器红茶川
  13. 设置socket IP_TOS选项
  14. vba工作表重命名_如何在Excel中重命名工作表选项卡
  15. 【imessage苹果群发苹果推】软件安装应用程序/框架/ gcdwebservers
  16. 用计算机摇号算不算随机抽样,专家解读摇号原理:随机抽不等于随意抽(2)
  17. Unity SKFramework框架(十九)、POI 兴趣点/信息点
  18. 互联网思维的六大特性
  19. 关于计算机管理员自我介绍,管理人员简历中的自我介绍
  20. 利用Java线程及JFrame面板制作一个随机摇号小程序

热门文章

  1. 2月书讯:终究还是来了
  2. 黑客进阶必读书《Linux命令行与Shell脚本编程大全》(第2版)
  3. 黑帽SEO:Google为什么会屏蔽你的网站
  4. pytorch 查看模型参数,查看模型特定层输入输出,模型结构图绘制总结
  5. 8个可以提高数据科学工作效率、节省宝贵时间的Python库
  6. 5分钟 NLP系列—— 11 个词嵌入模型总结
  7. 酒店用机器学习,预测哪些客人会放鸽子
  8. 独家 | 自动机器学习:团队如何在自动学习项目中一起工作?(附链接)
  9. 经典回顾 | 人脸照片秒变艺术肖像画:清华大学提出APDrawingGAN CVPR 2019 oral paper...
  10. 社交网络图挖掘1--将社交网络看作图及其聚类