定义

  子模 (Submodular)、超模 (Supermodular)和模(Modular)函数是组合优化中用到的集合函数概念。函数定义域为某个有限集$\Omega$的幂集$2^\Omega$,值域通常为$R$,即$f:2^\Omega\to R$。

  子模函数:对于集合$A\subseteq B\subset \Omega$,元素$e\in \Omega-B$,子模函数$f(X)$满足

$f(A\cup\{e\})-f(A)\geq f(B\cup\{e\})-f(B)$

  直观上看,随着集合$X$元素的增加,在新增某个元素时$f(X)$值的变化量不变或降低。或者说函数$f(X)$的边际效应逐渐降低。需要注意的是,子模函数并没有限制$f(A\cup\{e\})\geq f(A)$,因此元素的加入既有可能使$f(X)$变大,也有可能使其变小。

  超模函数:对于集合$A\subseteq B\subset \Omega$,元素$e\in \Omega-B$,超模函数$f(X)$满足

$f(A\cup\{e\})-f(A)\leq f(B\cup\{e\})-f(B)$

  直观上看,随着集合$X$元素的增加,在新增某个元素时$f(X)$值的变化量不变或增加。或者说函数$f(X)$的边际效应逐渐增加。此外,对于超模函数$f(X)$,可以证明$-f(X)$为子模函数。

  模函数:对于集合$A\subseteq B\subset \Omega$,元素$e\in \Omega-B$,模函数$f(X)$满足

$f(A\cup\{e\})-f(A)=f(B\cup\{e\})-f(B)$

  直观上看,在集合$X$加入元素时,$f(X)$值的变化量与集合中原有的元素无关,而仅与新加入的元素相关,从而有上面的等号。根据定义可以看出,模函数既是超模函数,又是子模函数。

应用

  使用规则集举个例子,规则集$S\subseteq \Omega$中包含一系列的规则$R_i$,即$S=\{R_i\}_{i=1}^m, R_i\in \Omega$。每个规则都可以判断样本$x$是否满足该规则,如果规则集中有一个规则满足该样本,则说该规则集满足该样本。对于包含$n$个样本的数据集$X=\{x_i\}_{i=1}^n$,定义$X_{S}$为满足规则集$S$的样本的集合。

  则我们可以发现子模函数

$\displaystyle f(S)=|X_S|$

  这是因为,当我们不断向$S$中加入新的规则时,$S$能满足的样本数量逐渐趋向$n$而饱和,函数收益递减。

  还可以发现模函数

$\displaystyle g(S)=\sum\limits_{R_i\in S} |X_{\{R_i\}}|$

  这是因为,当我们不断向$S$中加入新的规则时,上式总是把新规则所满足的样本数量增加到函数值中,而与$S$中原有的规则无关。

子/次模 (Submodular)、超模 (Supermodular)和模(Modular)函数的更多相关文章

  1. (转)vivoxshot 精英版三模转五模模式切换操作方法

    https://yunpan.cn/cPUBWc8vtKpID (提取码:de92) 本帖最后由 韩爱峰 于 2016-3-29 23:00 编辑 碰到不少机友在使用过程中操作不成功,现将我的方法跟大 ...

  2. MySQL Execution Plan--IN子查询包含超多值引发的查询异常1

    ======================================================================= SQL语句: SELECT wave_no, SUM(I ...

  3. MySQL Execution Plan--IN子查询包含超多值引发的查询异常

    问题描述 版本:MySQL 5.7.24 SQL语句: SELECT wave_no, SUM(IF(picking_qty IS NULL, 0, picking_qty)) AS PICKED_Q ...

  4. SQL一对多取子表最新记录的所有字段(ROW_NUMBER()OVER()函数的应用)

    ROW_NUMBER()OVER() 参数1:分组字段 PARTITION BY   ..,..,....  可选 参数2:排序字段 ORDER BY .. DESC  必须 实例: 根据Confir ...

  5. 模块度与Louvain社区发现算法

    Louvain算法是基于模块度的社区发现算法,该算法在效率和效果上都表现较好,并且能够发现层次性的社区结构,其优化目标是最大化整个社区网络的模块度. 模块度(Modularity) 模块度是评估一个社 ...

  6. HDU1452Happy 2004(高次幂取模+积性函数+逆元)

    题目意思:2004^x的所有正因数的和(S)对29求余:输出结果: 原题链接 题目解析:解析参照来源:点击打开链接 因子和 6的因子是1,2,3,6; 6的因子和是s(6)=1+2+3+6=12; 2 ...

  7. poj_2115C Looooops(模线性方程)

    题目链接:http://poj.org/problem?id=2115 C Looooops Time Limit: 1000MS   Memory Limit: 65536K Total Submi ...

  8. HDU1013,1163 ,2035九余数定理 快速幂取模

    1.HDU1013求一个positive integer的digital root,即不停的求数位和,直到数位和为一位数即为数根. 一开始,以为integer嘛,指整型就行吧= =(too young ...

  9. 取模性质,快速幂,快速乘,gcd和最小公倍数

    一.取模运算 取模(取余)运算法则: 1. (a+b)%p=(a%p+b%p)%p; 2.(a-b)%p=(a%p-b%p)%p; 3.(a*b)%p=(a%p * b%p)%p; 4.(a^b)%p ...

  10. PAM 認 證 模 組

    作者:陳柏菁 E-mail 作用:限制哪些用户或者组可以从哪里登陆,或者可以建立/etc/nologin立即阻止一般用户登陆,限制 user可以使用的资源.例如cpu,文件,登陆数量,某些服务的登陆时 ...

随机推荐

  1. 阿里云【七天深入MySQL实战营】

    阿里云[七天深入MySQL实战营] 最近报名了阿里云[七天深入MySQL实战营].不过一直没时间看[最主要还是自己懒],看了下课程及答疑信息,感觉应该还可以,分享出来和大家一起学习学习​.现在课程已经 ...

  2. idea 的Tomcat 的简单配置

    不限速网盘下载: https://kohler.lanzouv.com/iSSfc0akw3vc 官网下载: https://tomcat.apache.org/download-80.cgi 正常解 ...

  3. 给网站添加Let's Encrypt的免费ssl证书

    概要 目前很多浏览器默认都会标记http访问的网站为不安全,https部署已经称为大趋势,我之前利用业余时间搭建了一个网站,本文就以这个域名为基础说明如何给网站加上证书.本文使用的操作系统centos ...

  4. Mongodb入门5

    最近在用MongoDBKoa2做个小项目,记录一下: 首先,如何连接线上数据库: const url = `mongodb://user:pwd@ipaddr:27017/Blog`; const m ...

  5. tracking调研

    常用框架有以下三种:       Separate Detection and Embedding (SDE- 物体检测,特征提取与物体关联),JOINT Detection and Embeddin ...

  6. Asp.net core 学习笔记之 Microsoft Graph API

    早年如果我们要读写用户得 outlook 内容是比较麻烦的, 要用许多 smtp 之类的方式. 现在终于是有了 http 级的 API 可以 call 了. 不仅仅是 outlook, calenda ...

  7. ASP.NET Core – Web API JSON Patch

    前言 依据 Restful 的方式, 修改 resource 要用 PUT, 然后把完整的 resource 发出去, resource 的所有信息都将被更新. 但很多时候我们希望只做局部更新, 而且 ...

  8. C++中对象的延迟构造

    本文并不讨论"延迟初始化"或者是"懒加载的单例"那样的东西,本文要讨论的是分配某一类型所需的空间后不对类型进行构造(即对象的lifetime没有开始),更通俗点 ...

  9. MyBatis——案例——查询-多条件查询-动态条件查询(关键字 if where)

    动态条件查询   SQL语句会随着用户的输入或外部条件的变化而变化,我们称为 动态SQL   MyBatis 对动态SQL有很强大的支撑:   if   choose(when,otherwise) ...

  10. socket close和shutdown的区别,TIME_WAIT和CLOSE_WAIT

    TCP主动关闭连接 appl: close(), --> FIN FIN_WAIT_1 //主动关闭socket方,调用close关闭socket,发FIN               < ...