最小割模型汇总

1.二分图点带权最小覆盖

二分图G中选取一个点集,所有边都连接了这个点集,最小化这个点权和。

这个可以说是最小割模板了
首先假设只有一对点,一条边

要选出较小值,建边(s->1,v1),(1->2,INF),(2->t,v2)

显然割开最小值。
对于多个点边,求最大流(最小割)即可。

例题:poj2125

求二分图点带权最小覆盖并输出方案。

对于一个二分图点带权最小覆盖的残余网络,只需跑一遍与s连通的点即可,若连通的是原图与t有连边的点,那么该边一定被割掉。同样,若不连通的是原图与s有连边的点,该边也一定割掉。

2.二分图最大点权独立集

求一个二分图G的点集,该点集满足两两不连通,最大化点集权值。

引理:二分图独立集与最小点覆盖互补。

因为点权和一定,此时二分图点带权覆盖达到最小值。求二分图点带权最小覆盖即可。

3.最大权闭合子图

求图G的一个点集,该点集满足所有边都连向点集内的边,求点集的最大值。(允许点权带负)。

从最小割的原理出发:首先假设一条边的两个点集都属于一个集合,之后要把两个点分开,一个连s,一个连t。

原问题等价于给定一些二元组,选了 a 就必须选择 b
其次,将原问题转化为最小割问题,原图的边转化为正无穷,那么这条边不可能被割掉,保证了解法的正确性。
考虑先将所有点看做一个集合,因为存在负数,那么就转负为正,并将所有负点连向t点,表示选取该点要付出的代价,同样,对于每个正值点,连向s点,表示舍弃该点损失的价值。先将正权值相加,要最小化总的权值,即求该图最小割(即最少需要减去多少)。

例题:poj2987:Firing

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最小二乘法是一种求解线性方程组的方法,在实际应用中广泛使用。最小二乘法可以用来拟合数据,找出最好的函数拟合曲线。下面将汇总各种最小二乘法及使用算例及Matlab程序。 1. 矩阵最小二乘法:矩阵最小二乘法是一种求解线性回归的方法。它可以用来预测未知的变量,方法是通过已知数据的线性关系来计算未知变量。Matlab程序: x = [1 2 3 4 5]'; y = [1 3 4 5 6]'; A = [x ones(size(x))]; % 构造系数矩阵 para = A\y; % 求解最小二乘问题 y_fit = A*para; % 拟合的函数 2. 最小二乘法多项式拟合:最小二乘法多项式拟合是一种用多项式函数近似代替实际数据的方法。它可以用来预测未知的变量,方法是通过已知数据的多项式关系来计算未知变量。Matlab程序: x = [1 2 3 4 5]'; y = [1 3 4 5 6]'; p = polyfit(x,y,2); y_fit = polyval(p,x); 3. 最小二乘法正则化:最小二乘法正则化是一种把预测模型与数据间的误差最小化的方法。它可以用来处理有噪声的数据,方法是通过添加正则化项来防止过拟合。Matlab程序: x = [1 2 3 4 5]'; y = [1 3 4 5 6]'; A = [x ones(size(x))]; % 构造系数矩阵 lambda = 0.1; % 正则化参数 para = (A'*A+lambda*eye(size(A,2)))\A'*y; % 求解最小二乘问题 y_fit = A*para; % 拟合的函数 以上是一些常见的最小二乘法和Matlab程序,可以根据实际情况选择适合的方法。最小二乘法在工程、计算机、统计学等领域中都有广泛的应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值