线性代数|机器学习-P25线性规划和两人零和博弈

文章目录

  • 0. 概述
  • 1. 线性规划问题
    • 1.1 定义
    • 1.2 举例
  • 2. 线性规划中的对偶问题
  • 3. 最大流 - 最小割问题
  • 4. 两人零和博弈

MIT教授教学视频,讲得比较泛,需要另外学习很多知识补充

0. 概述

  1. 线性规划[LP]问题
    线性规划是问题为线性求最值,约束也是求线性关系的问题,具体参考
    线性规划学习笔记
  2. 最大流-最小割问题
    最大流-最小割问题是一个对偶问题,具体参考最大流最小割学习笔记
  3. 两人游戏-对偶问题
  4. 拉格朗日乘子法
    拉格朗日乘子法的引入是为了解决约束条件下的最优问题,通过强对偶理论和弱对偶理论来转换目标函数,具体参考强对偶,弱对偶理论学习笔记

1. 线性规划问题

1.1 定义

假设我们的原问题如下:

  • 标准形式:
    ( L P ) min ⁡ c T x s t . A x = b , x ≥ 0 x = ( x 1 , x 2 , ⋯ , x n ) T ; x i ≥ 0 c = ( c 1 , c 2 , ⋯ , c n ) T ; x i ≥ 0 \begin{equation}\begin{aligned} &(LP)\; \;\min\; c^Tx\\ &st.\;\;Ax=b,x\ge 0\\ &x=(x_1,x_2,\cdots,x_n)^T;x_i\ge0\\ &c=(c_1,c_2,\cdots,c_n)^T;x_i\ge0\\ \end{aligned}\end{equation} (LP)mincTxst.Ax=b,x0x=(x1,x2,,xn)T;xi0c=(c1,c2,,cn)T;xi0
    其中, c ∈ R n , A ∈ R m × n , b ∈ R m c\in R^n,A\in R^{m\times n},b\in R^m cRn,ARm×n,bRm,通常假设系数矩阵A行满秩,即 r ( A ) = m < n r(A)=m<n r(A)=m<n

1.2 举例

( L P ) min ⁡ { x 1 + 2 x 2 + 5 x 3 } s t . x 1 + x 2 + x 3 = 3 , x i ≥ 0 \begin{equation}\begin{aligned} &(LP)\; \;\min\; \{x_1+2x_2+5x_3\}\\ &st.\;\;x_1+x_2+x_3=3,x_i\ge 0\\ \end{aligned}\end{equation} (LP)min{x1+2x2+5x3}st.x1+x2+x3=3,xi0

  • 根据单纯形法Simplex method,Dantzig
    —理论依据:若LP有最优解,则最优解可在极点取到
    – -基本思想: 找到一个极点 x ˉ \bar{x} xˉ,判断 x ˉ \bar{x} xˉ是否最优;若 x ˉ \bar{x} xˉ不是最优,寻找一个更优(值更小)的极点
  • 我们知道最小值只需要在三个极点上找即可,分别算出三个点的值后,取最小值即可是整个线性规划问题的最小值
    P 1 = ( 3 , 0 , 0 ) → y 1 = 3 + 2 ∗ 0 + 5 ∗ 0 = 3 P 2 = ( 0 , 3 , 0 ) → y 2 = 0 + 2 ∗ 3 + 5 ∗ 0 = 6 P 3 = ( 0 , 0 , 3 ) → y 3 = 0 + 2 ∗ 0 + 5 ∗ 3 = 15 min ⁡ ( 3 , 0 , 0 ) { x 1 + 2 x 2 + 5 x 3 } = 3 \begin{equation}\begin{aligned} &P_1=(3,0,0)\to y_1=3+2*0+5*0=3\\ &P_2=(0,3,0)\to y_2=0+2*3+5*0=6\\ &P_3=(0,0,3)\to y_3=0+2*0+5*3=15\\ & \min\limits_{(3,0,0)}\{x_1+2x_2+5x_3\}=3 \end{aligned}\end{equation} P1=(3,0,0)y1=3+20+50=3P2=(0,3,0)y2=0+23+50=6P3=(0,0,3)y3=0+20+53=15(3,0,0)min{x1+2x2+5x3}=3

2. 线性规划中的对偶问题

  • 给出如下线性规划问题,求其对偶问题:
    min ⁡ c T x s t ; A x = b , x ≥ 0 , 其中, c ∈ R n , A ∈ R m × n , b ∈ R m \begin{equation}\begin{aligned} &\min \;c^Tx\\ &st; Ax=b,x\ge0,其中,c\in R^n,A\in R^{m\times n},b\in R^m \end{aligned}\end{equation} mincTxst;Ax=b,x0,其中,cRn,ARm×n,bRm
  • 根据约束来拉格朗日函数:
    L ( x , μ ) = c T x + μ T ( b − A x ) \begin{equation} L(x,\mu)=c^Tx+\mu^T(b-Ax) \end{equation} L(x,μ)=cTx+μT(bAx)
  • 找出拉格朗日函数的对偶问题,先选定一个x后,求最小,再求关于 μ \mu μ的最大值:
    - max ⁡ μ min ⁡ x ≥ 0 { c T x + μ T ( b − A x ) } \begin{equation} \max\limits_{\mu}\min\limits_{x\ge0}\{c^Tx+\mu^T(b-Ax)\} \end{equation} μmaxx0min{cTx+μT(bAx)}
  • 先求内部最小值:
  • 展开公式可得:
    - min ⁡ x ≥ 0 { c T x + μ T ( b − A x ) } = min ⁡ x ≥ 0 { ( c − A T μ ) T x + b T μ } \begin{equation} \min\limits_{x\ge0}\{c^Tx+\mu^T(b-Ax)\}=\min\limits_{x\ge0}\{(c-A^T\mu )^Tx+ b^T\mu\} \end{equation} x0min{cTx+μT(bAx)}=x0min{(cATμ)Tx+bTμ}
  • 我们知道, x ≥ 0 x\ge0 x0,但凡 { c − A T μ } \{c-A^T\mu\} {cATμ}中有一个负数,那么在求整体最小值的时候,就容易出现 − ∞ -\infty ,所以可得:
    min ⁡ x ≥ 0 { ( c − A T μ ) T x + b T μ } = { b T μ , c − A T μ ≥ 0 − ∞ , o t h e r v i s e \begin{equation}\min\limits_{x\ge0}\{(c-A^T\mu )^Tx+ b^T\mu\}=\left\{\begin{aligned} %\nonumber \;\;\;b^T\mu,\; c-A^T\mu\ge0\\ -\infty,othervise\\ \end{aligned}\right.\end{equation} x0min{(cATμ)Tx+bTμ}={bTμ,cATμ0,othervise
  • 再求最大值,其中负无穷就不用考虑了:
    max ⁡ b T μ s t : A T μ ≤ c \begin{equation}\begin{aligned} &\max \;b^T\mu\\ &st:A^T\mu\le c \end{aligned}\end{equation} maxbTμst:ATμc
  • 为了方便观看,将 μ \mu μ转换成y,整理可得:
  • 线性规划的对偶问题如下:
    max ⁡ b T y s t : A T y ≤ c \begin{equation}\begin{aligned} &\max \;b^Ty\\ &st:A^Ty\le c \end{aligned}\end{equation} maxbTyst:ATyc
  • 弱对偶理论,原问题的最优值大于等于对偶问题的最优值: v ( D ) ≤ v ( P ) v(D)\le v(P) v(D)v(P)
    b T y ≤ c T x , ∀ x , y ∈ S \begin{equation} b^Ty\le c^Tx,\forall x,y \in S \end{equation} bTycTx,x,yS
  • 强对偶理论
    1) 集合X为非空凸集, f ( x ) f(x) f(x) g i ( x ) , i = 1 , 2 , ⋯ , m g_i(x),i=1,2,\cdots,m gi(x),i=1,2,,m是凸函数, h i ( x ) , i = 1 , 2 , ⋯ , l h_i(x),i=1,2,\cdots,l hi(x),i=1,2,,l均为线性函数。
    2) 假设存在 x ^ ∈ X \hat{x}\in X x^X使得 g i ( x ^ ) < 0 , i = 1 , ⋯ , m , h i ( x ^ ) = 0 , i = 1 , ⋯ , l g_i(\hat{x})<0,i=1,\cdots,m,h_i(\hat{x})=0,i=1,\cdots,l gi(x^)<0,i=1,,m,hi(x^)=0,i=1,,l,且
    0 ∈ i n t h ( X ) 0\in \mathrm{int}\; h(X) 0inth(X),其中 h ( X ) = { [ h 1 ( x ) , h 2 ( x ) , ⋯ , h l ( x ) ] T ∣ x ∈ X } h(X)=\{[h_1(x),h_2(x),\cdots,h_l(x)]^T\big|x\in X\} h(X)={[h1(x),h2(x),,hl(x)]T xX},则强对偶成立,即:
    min ⁡ { f ( x ) ∣ x ∈ S } = max ⁡ { d ( λ , μ ) ∣ λ ≥ 0 , μ } \begin{equation} \min \{f(x)|x\in S\}=\max \{d(\lambda,\mu)\big|\lambda \ge 0,\mu\} \end{equation} min{f(x)xS}=max{d(λ,μ) λ0,μ}

3. 最大流 - 最小割问题

具体参考最大流最小割学习笔记
水流从source开始流向sink,每根线代表管道,上面的数字代表水管的流量能力,我们希望知道最终流到sink上的最大流速是多少?最小割代表的是用刀割断水管,怎样把source和sink 分割成两部分的最小断管数
在这里插入图片描述
最大流和最小割是对偶问问题:
min ⁡ { c u t } = max ⁡ { f l o w } = 14 \begin{equation} \min \{\mathrm{cut}\}=\max \{\mathrm{flow}\}=14 \end{equation} min{cut}=max{flow}=14

4. 两人零和博弈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/48631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动驾驶-机器人-slam-定位面经和面试知识系列01之常考公式推导(01)

李群李代数扰动bundle adjustment 这个博客系列会分为C STL-面经、常考公式推导和SLAM面经面试题等三个系列进行更新&#xff0c;基本涵盖了自己秋招历程被问过的面试内容&#xff08;除了实习和学校项目相关的具体细节&#xff09;。在知乎和牛客也会同步更新&#xff0c;全网…

《计算机网络》(学习笔记)

目录 一、计算机网络体系结构 1.1 计算机网络概述 1.1.1 计算机网络的概念 1.1.2 计算机网络的组成 1.1.3 计算机网络的功能 1.1.4 电流交换、报文交换和分组交换 1.1.5 计算机网络的分类 1.1.6 计算机网络的性能指标 1.2 计算机网络体系结构与参考模型 1.2.1 计算机…

STM32F0-寄存器ADC配置指南

目录 输入方式&#xff1a; 模拟看门狗功能&#xff1a; ADC中断 配置一个Demo 设置时钟 自校准 通道选择 采样时间选择 转换模式选择 断续模式 启动转换 软件触发 外部触发 转换结束 关于DMA 模拟看门狗 ​编辑ADC数据位置​编辑 在STM32F中&#xff0c;ADC可…

AV1技术学习:Loop Restoration Filter

环路恢复滤波器&#xff08;restoration filter&#xff09;适用于64 64、128 128 或 256 256 像素块单元&#xff0c;称为 loop restoration units (LRUs)。每个单元可以独立选择是否跳过滤波、使用维纳滤波器&#xff08;Wiener filter&#xff09;或使用自导滤波器&#…

pyenv-win | python版本管理,无需卸载当前版本

系统&#xff1a;windows&#xff0c;且已安装git。 使用 pyenv-win 在Windows中管理多个python版本&#xff0c;而无需卸载当前版本。安装步骤如下&#xff1a; 安装 pyenv-win 1. 安装 Git 和 pyenv-win: git clone https://github.com/pyenv-win/pyenv-win.git %USERPRO…

Word 导入导出

在实际的开发过程中&#xff0c;也会遇到导入导出的功能&#xff0c;今天就简单的做一下总结。 1.需求&#xff1a;将下面word 数据导入到数据库并进行存储 在Controller中 RequestMapping(value "/ImportWord")public RawResponseBodyObject ImportWord(HttpServl…

深入解析Linux目录结构及其功能

深入解析Linux目录结构 Linux 系统的目录结构采用层次化设计&#xff0c;从根目录 / 开始逐级扩展&#xff0c;了解和掌握这些目录的作用和内容有助于我们更好地管理和维护系统。本文将深入解析每个常见目录的功能&#xff0c;并提供相关命令和示例。 目录结构概览 根目录 / …

【BUG】已解决:ERROR: No matching distribution found for PIL

ERROR: No matching distribution found for PIL 目录 ERROR: No matching distribution found for PIL 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0…

css大屏设置中间元素四周渐变透明效果

css大屏设置中间元素四周渐变透明效果 四周透明效果&#xff1a; // 设置蒙版上下左右渐变显示mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0) 100%),linear-gradient(to bottom, rgba(0, 0, 0…

《Java初阶数据结构》----5.<二叉树的概念及使用>

前言 大家好&#xff0c;我目前在学习java。之前也学了一段时间&#xff0c;但是没有发布博客。时间过的真的很快。我会利用好这个暑假&#xff0c;来复习之前学过的内容&#xff0c;并整理好之前写过的博客进行发布。如果博客中有错误或者没有读懂的地方。热烈欢迎大家在评论区…

6.6 使用dashboard商城搜索导入模板

本节重点介绍 : 模板商城中搜索模板导入模板修改模板 大盘模板商城地址 免费的 地址 https://grafana.com/grafana/dashboards 搜索模板技巧 详情 导入dashboard 两种导入模式 url导入id导入json文件导入 导入 node_exporter模板 https://grafana.com/grafana/dashboa…

流量录制与回放:jvm-sandbox-repeater工具详解

在软件开发和测试过程中&#xff0c;流量录制与回放是一个非常重要的环节&#xff0c;它可以帮助开发者验证系统在特定条件下的行为是否符合预期。本文将详细介绍一款强大的流量录制回放工具——jvm-sandbox-repeater&#xff0c;以及如何利用它来提高软件测试的效率和质量。 …

Python | Leetcode Python题解之第283题移动零

题目&#xff1a; 题解&#xff1a; class Solution:def moveZeroes(self, nums: List[int]) -> None:n len(nums)left right 0while right < n:if nums[right] ! 0:nums[left], nums[right] nums[right], nums[left]left 1right 1

SpringCloud之@FeignClient()注解的使用方式

FeignClient介绍 FeignClient 是 Spring Cloud 中用于声明一个 Feign 客户端的注解。由于SpringCloud采用分布式微服务架构&#xff0c;难免在各个子模块下存在模块方法互相调用的情况。比如订单服务要调用库存服务的方法&#xff0c;FeignClient()注解就是为了解决这个问题的…

汽车免拆诊断案例 | 2014 款上汽名爵 GT 车发动机无法起动

故障现象 一辆2014款上汽名爵GT车&#xff0c;搭载15S4G发动机&#xff0c;累计行驶里程约为18.4万km。该车因左前部发生碰撞事故进厂维修&#xff0c;更换损坏的部件后起动发动机&#xff0c;起动机运转有力&#xff0c;但无着机迹象。用故障检测仪检测&#xff0c;发现无法与…

初识c++:string类(2)

#本节主要讲解c&#xff1a;string类的模拟实现 全部代码的实现在最后面&#xff01;&#xff01;&#xff01;有需要的自己往下滑&#xff0c;自取&#xff01;&#xff01;&#xff01;1.string类的模拟实现 2.浅拷贝 3.深拷贝 目录 #本节主要讲解c&#xff1a;string类…

VIsual Studio:为同一解决方案下多个项目分别指定不同的编译器

一、引言 如上图&#xff0c;我有一个解决方案【EtchDevice】&#xff0c;他包含两个&#xff08;甚至更多个&#xff09;子项目&#xff0c;分别是【DeviceRT】和【DeviceWin】&#xff0c;见名知意&#xff0c;我需要一个项目编译运行在RTOS上&#xff0c;譬如一个名叫INTime…

用重建大师进行空三解算时,引擎出现“不能访问目录或文件”怎么解决?

答&#xff1a;之前的工程还有在做的任务&#xff0c;可以更换任务目录重新提交空三试试。 重建大师是一款专为超大规模实景三维数据生产而设计的集群并行处理软件&#xff0c;输入倾斜照片&#xff0c;激光点云&#xff0c;POS信息及像控点&#xff0c;输出高精度彩色网格模型…

数据中心服务器搬迁团队

数据中心机房服务器搬迁&#xff0c;需要专业的数据中心机房服务器提供技术保障服务。友力科技&#xff08;广州&#xff09;有限公司&#xff0c;作为华南地区主流的数据中心服务商&#xff0c;专业从事数据中心机房搬迁服务。 数据中心机房搬迁涉及设备数量多、系统复杂&…

数据结构: 链表回文结构/分割链表题解

目录 1.链表的回文结构 分析 代码 2.链表分割 ​编辑分析 代码 1.链表的回文结构 分析 这道题的难点是空间复杂度为O&#xff08;1&#xff09; 结合逆置链表找到链表的中间节点就可以解决了。 先找到链表的中间节点&#xff0c;再对中间节点的下一个节点进行逆置&…