“计算理论之美”课程笔记一:概率

介绍:\(k-sat\)

\(k-sat\) 问题:

  • 输入一系列条件,每个子句得到 恰好 \(k\)个子条件,对于每个条件,至少有一个子条件必须得到满足。每个子条件都要求你使一个特定的布尔值为真或为假。

  • 判断在 \(n\) 个布尔变量下,所有的约束条件是否都能得到满足。

我们可以用 Conjunctive Normal Form(CNF) 来描述一个 \(k-sat\)问题:

\[\Phi=(x_1\vee x_2\vee \neg x_4)\wedge(\neg x_2\vee x_3 \vee x_4)\wedge\cdots \wedge(x_6\vee x_8\vee x_9) \]

这里的例子是一个 \(3-sat\),这意味着每个条件有三个变量。如果我们能使 \(\Phi\) 等于 \(1\),那么它就是可满足的。否则,它就不成立。

我们都知道我们可以在 \(O(n+m)\) 内解决 \(2-sat\) 问题,其中 \(n\) 是布尔变量的数量,\(m\) 是条款的数量。

我们也知道一般的 \(k-sat (k\ge 3)\)\(NP-hard\)。但让我们看看一些特殊情况,这些情况有简单的方法来解决。

不相交情况

如果没有一个变量出现在一个以上的子句中,那么我们可以满足所有单元的要求,这是非常简单的。

\(m<2^k\)

考虑一个条件能做什么。如果且仅当其中的所有变量都与目标值相反时,它将导致不好的结果。

因此,如果我们有 “条件 \(x\) 被违反”,这意味着 \(2^k\)的变量已经被确定。剩下的 \(2^{n-k}\) 个是自由的。所以,每个条件最多 Ban 掉 \(2^{n-k}\) 个答案。而如果 \(m<k\),则 \(m\) 个条件 Ban 掉的答案就不超过 \(m(2^{n-k})<2^k(2^{n-k})=2^n\) 种。所以在余下的答案中一定存在合法的。

概率法

我们设事件 \(A_i\) 为“条件 \(i\) 被违反”。而我们其实就是要求“所有条件都不被违反”,也就是事件 \(\bigwedge_{i\le m} \bar{A_i}\) 是否会发生。

我们知道,\(A_i\) 发生的概率是 \(2^{-k}\),也就是其中的任何条件都不被满足。那么 \(\bar {A_i}\) 发生的概率就是 \((1-2^{-k})\)。而

\[\Pr\left[\bigvee_{i\le n} A_i\right]+\Pr\left[\bigwedge_{i\le m} \bar{A_i}\right]=1 \]

\[\Pr\left[\bigvee_{i\le n} A_i\right]\le \prod_{i\le n}\Pr\left[A_i\right]=m2^{-k}<1 \]

\[\Pr\left[\bigwedge_{i\le m} \bar{A_i}\right]>0 \]

因此,我们想要的“所有条件都不被满足”在 \(m\le 2^k\) 的时候,发生概率是不为 \(0\) 的,也就是这种情况一定是存在的。

依赖性限制

我们假设每个条件至多和另外的 \(d\) 个条件有公共变量。

那么,如果 \(e(d+1)2^{-k}\le 1\) 或者 \(4d2^{-k}\le 1\) 一样可以导出当前的问题是有解的。支撑它的即是 Lovázs Local Lemma,即 Lovázs 局部引理。

存在性: Lovázs 局部引理

Lovázs 局部引理是在“单个坏事件发生概率小”且“每个坏事件和其他坏事件关联较少”的条件上对形如 \(\bigwedge_{i\le m} \bar{A_i}\) 的事件发生可能性进行分析。

独立关系和独立图

首先,由概率我们知道,我们称事件 \(A\) 和事件 \(B\) “独立”,则有 \(P(A|B)=P(A)\)\(P(B|A)=P(B)\)

而在 Lovázs 局部引理中,我们更关注“不独立”的事件。如果两个事件之间不独立,我们就在它们之间连一条边,称最终得到的图为“独立关系图”。而每个事件代表的点的所有邻居代表的事件和当前事件不独立。

称事件 \(A\) 的邻居集合为 \(\Gamma(A)\),Lovázs 局部引理即要求 \(|\Gamma(A)|\le d\)

Lovázs 局部引理:非对称形式

考虑有 \(m\) 个事件 \(A_i\),每个事件有权值 \(\alpha_i\in[0,1)\),使得满足

\[\Pr\left[A_i\right]\le \alpha_i\prod_{j\in \Gamma(A_i)}(1-\alpha_j) \]

那么

\[\Pr\left[\bigwedge_{i\le m} \bar{A_i}\right]\ge \prod_{i\le m}(1-\alpha_i) \]

证明

首先,我们重复用若干次链式法则展开,

\[Pr\left[\bigwedge_{i\le m} \bar{A_i}\right]=\prod_{i\le m}\Pr\left[\bar{A_i}|\bigwedge_{j<i}\bar{A_j}\right]=\prod_{i\le m}(1-\Pr\left[A_i|\bigwedge_{j<i}\bar{A_j}\right]) \]

然后,我们来证明对任意的 \(S\subseteq [m],i\notin S\)\(\Pr\left[A_i|\bigwedge_{j\in S}\bar{A_j}\right]\le \alpha_i\)

假设 \(j<i\) 的所有条件 \(k\) 个中,有 \(l\) 个是 \(A_i\) 的邻居,剩下的 \(k-l\) 个不是。

如果 \(l=0\),那么答案是显然的,因为所有条件都和当前事件无关,则

\[\Pr\left[A_i|\bigwedge_{j\in S}\bar{A_j}\right]=\Pr\left[A_i\right]\le \alpha_i\prod_{j\in \Gamma(A_i)}(1-\alpha_j)\le \alpha_i \]

否则,强制这些条件是前 \(l\) 个,我们有

\[\Pr\left[A_i|\bigwedge_{j\in S}\bar{A_j}\right]=\dfrac{\Pr\left[A_i\bar{A_{j_1}}\bar{A_{j_2}}\cdots \bar{A_{j_l}}|\bar{A_{j_{l+1}}}\cdots\bar{A_{j_k}}\right]}{\Pr\left[\bar{A_{j_1}}\bar{A_{j_2}}\cdots \bar{A_{j_l}}|\bar{A_{j_{l+1}}}\cdots\bar{A_{j_k}}\right]} \]

\[\Pr\left[A_i\bar{A_{j_1}}\bar{A_{j_2}}\cdots \bar{A_{j_l}}|\bar{A_{j_{l+1}}}\cdots\bar{A_{j_k}}\right]\le \Pr\left[A_i|\bar{A_{j_{l+1}}}\cdots\bar{A_{j_k}}\right]=\Pr\left[A_i\right]\le \alpha_i\prod_{j\in \Gamma(A_i)}(1-\alpha_j) \]

\[\Pr\left[\bar{A_{j_1}}\bar{A_{j_2}}\cdots \bar{A_{j_l}}|\bar{A_{j_{l+1}}}\cdots\bar{A_{j_k}}\right]=\prod_{p\le l} \Pr\left[\bar{A_{j_p}}|\bar{A_{j_{l+1}}}\cdots\bar{A_{j_k}}\right]=\prod_{p\le l} (1-\Pr\left[A_{j_p}|\bar{A_{j_{l+1}}}\cdots\bar{A_{j_k}}\right]) \]

我们发现,其中的每个都是我们初始问题的形式,然而因为 \(l>0\),所以 \(k\) 变少了。又 \(k=0\) 条件显然成立,所以考虑归纳法,假设对任意更小的 \(k\) 都满足此引理,故有

\[\prod_{p\le l} (1-\Pr\left[A_{j_p}|\bar{A_{j_{l+1}}}\cdots\bar{A_{j_k}}\right])\ge \prod_{p\le l}(1-\alpha_{j_p}) \]

因此:

\[\Pr\left[\bar{A_{j_1}}\bar{A_{j_2}}\cdots \bar{A_{j_l}}|\bar{A_{j_{l+1}}}\cdots\bar{A_{j_k}}\right]\ge \prod_{p\le l}(1-\alpha_{j_p})=\prod_{j\in \Gamma(A_i)}(1-\alpha_j) \]

\[\dfrac{\Pr\left[A_i\bar{A_{j_1}}\bar{A_{j_2}}\cdots \bar{A_{j_l}}|\bar{A_{j_{l+1}}}\cdots\bar{A_{j_k}}\right]}{\Pr\left[\bar{A_{j_1}}\bar{A_{j_2}}\cdots \bar{A_{j_l}}|\bar{A_{j_{l+1}}}\cdots\bar{A_{j_k}}\right]}\le\dfrac{\alpha_i\prod_{j\in \Gamma(A_i)}(1-\alpha_j)}{\prod_{j\in \Gamma(A_i)}(1-\alpha_j)}=\alpha_i \]

因此得证 \(\Pr\left[A_i|\bigwedge_{j\in S}\bar{A_j}\right]\le \alpha_i\)

因此

\[Pr\left[\bigwedge_{i\le m} \bar{A_i}\right]=\prod_{i\le m}(1-\Pr\left[A_i|\bigwedge_{j<i}\bar{A_j}\right])\ge \prod_{i\le m}(1-\alpha_i) \]

即得证 Lovázs Local Lemma (asymmetric case)。

Lovázs 局部引理:对称形式

考虑有 \(m\) 个坏事件 \(A_i\)\(\Pr[A_i]\le p\)\(|\Gamma(A_i)|\le d\)。那么只要满足 \(ep(d+1)\le 1\),则一定存在所有坏事件都不发生的情况。

证明

我们通过非对称形式导出对称形式。

首先,我们设 \(\alpha_i=\dfrac{1}{d+1}\)

那么如果有

\[\alpha_i\prod_{j\in \Gamma(A_i)}(1-\alpha_j)\ge \dfrac{1}{d+1}(1-\dfrac{1}{d+1})^d=\dfrac{1}{d+1}(\dfrac{d}{d+1})^d=\dfrac{1}{d+1}(1+\dfrac{1}{d})^{-d}\ge \dfrac{1}{e(d+1)}\ge p\ge \Pr[A_i] \]

就满足了非对称形式的条件,然后

\[\Pr\left[\bigwedge_{i\le m} \bar{A_i}\right]\ge \prod_{i\le m}(1-\alpha_i)=(1-\dfrac{1}{d+1})^m>0 \]

所以,当 \(ep(d+1)\le 1\) 的时候,原问题一定有解。

或者,在 \(d\) 较小的时候,有更强的条件:

\(\alpha_i=\dfrac{1}{2d}\)

那么如果有

\[\alpha_i\prod_{j\in \Gamma(A_i)}(1-\alpha_j)\ge \dfrac{1}{2d}(1-\dfrac{1}{2d})^d=\dfrac{1}{2d}(\dfrac{2d-1}{2d})^d=\dfrac{1}{2d}(1+\dfrac{1}{2d-1})^{-d}\ge \dfrac{1}{4d}\ge p\ge \Pr[A_i] \]

也就是,在 \(4pd\le 1\) 的时候,原问题一定有解。

算法: Moser-Tados

算法: Moser's Fix-it Algorithm

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

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

相关文章

“计算理论之美”课程笔记四:高维空间组合优化

高维空间的问题 高维空间点集直径 一维直径 在一位空间上的直径是很好求得的,因为我们只要找到所有点中的 \(\min\) 和 \(\max\),就可以 \(O(n)\) 的求得精确解。并且空间复杂度是 \(O(1)\) 的(我们只要存储历史最大…

git分支从dev迁移到maser

1:切换到master分支 2:执行到chery-pick -n (change id) 3:需要按照最早执行的顺序,从早到后执行,然后处理冲突

网站制作百度资源延安网站建设报价

关于OpenStack的争议,从未停止&#xff0c;每每关于它的消息&#xff0c;都会一石激起千层浪。今天就让我们看看关于OpenStack的问答吧。1Q : OpenStack服务介绍A : MySQL为各个服务器提供数据存储RabbitMq:为各个服务之间提供通信认证和服务注册Keystone&#xff1a;为各个服务…

2025.9.26总结

今天继续看苍穹外卖,简单的增删改查中,出了一个阿里云oss云存储,将图片,视频存的云端中,领了30天试用。 不过目前我没觉得和存在本地有啥差别

毕设做音乐网站架设个人网站

霍夫变换 霍夫变换只能灰度图&#xff0c;彩色图会报错 lines cv2.HoughLinesP(edge_img,1,np.pi/180,15,minLineLength40,maxLineGap20) 参数1&#xff1a;要检测的图片矩阵参数2&#xff1a;距离r的精度&#xff0c;值越大&#xff0c;考虑越多的线参数3&#xff1a;距离…

4gl

4gl4gl.....编程语言 sql工程

邮箱官方网站注册做seo的网站

文章目录 引言一、快速入门1.1 OSHI的简介1.2 引入依赖1.3 涉及的包&#xff08;package&#xff09;1.4 涉及的核心类 二、操作系统信息&#xff1a;OperatingSystem2.1 总揽2.2 文件系统信息&#xff1a;FileSystem2.3 网络参数信息&#xff1a;NetworkParams2.4 进程信息&am…

C++ 与现代并发编程:性能与复杂度的平衡艺术

一、引言 随着多核处理器成为主流,单核性能提升逐渐遇到瓶颈,软件开发的重点转向如何充分利用硬件的并行能力。并发编程因此成为现代开发不可回避的主题。从桌面应用到服务器端系统,从游戏引擎到人工智能框架,几乎…

926

做英语ppt,明天写java和数据结构的作业,整理一下这周的知识

20250736

清晨的英语课展开,单词发音与语法结构在教室里交织。下课铃响时,走廊里突然涌起此起彼伏的人,下午便开始放1天假期。 正午的阳光透过窗帘缝隙,我躺在床上。空调外机嗡嗡作响,眼皮渐渐沉重却始终无法进入睡眠。 暮…

今科云平台网站建设技术公司注册网上查询

java-ssm-jsp的问卷调查系统的设计与实现 获取源码——》公主号&#xff1a;计算机专业毕设大全

免费领夸克盘1tb

免费领夸克盘1tbhttps://www.2020web.cn/1987.html 亲测好使!!!!!!!!!!!

最新网站发布网站建设行业企业排名

题目描述&#xff1a; 个人题解&#xff1a; 先将整数转换成字符串&#xff0c;再利用双指针逐一比较数字。 代码实现&#xff1a; class Solution { public:bool isPalindrome(int x) {if(x<0||(x%100&&x!0)){return false;}//c标准库调用&#xff0c;将整数下转…

sql优化个人总结

1、查询返回列不要尽量不使用*,用二级覆盖索引里面的字段 2、小表驱动大表,in后面先执行放小表,exist前面先执行放小表 3、join的时候如果没有使用索引,一般是BNL算法,A join B,即把B数据加载到无序的join_buffe…

原文扫描件忆 我常常追忆过去[1]。 过往在我眼前顶个,我行走于记忆的回廊。或清晰,或模糊,或光鲜,或灰暗;往事纷纷而至,可是,我似乎是孤独的。 我时常回忆起零碎的往事。坐在车上,想起儿时和爷爷坐火车回老家,…

企业网站设计公司wordpress英文主题哪个好用

最大公约数和最小公倍数 概念描述 最大公约数&#xff08;GCD&#xff09;是指两个或多个整数共有约数中的最大值。 最小公倍数&#xff08;LCM&#xff09;是指两个或多个整数共有的倍数中的最小值 方法介绍 碾转相除法 一种用于计算两个整数的最大公约数&#xff08;GCD…

网站报价内容郑州网站建设 华数

目录 词云简介 准备工作 安装方法一&#xff1a; 安装方法二&#xff1a; 生成词云步骤 数据预处理&#xff1a; 分词&#xff1a; 统计词频出现的次数&#xff1a; 去除词语&#xff1a; 生成词云&#xff1a; 显示词云&#xff1a; 保存词云&#xff1a; 完整代码 词…

dedecms 营销网站模板傻瓜式建站平台

正常的 RGB 颜色的有效范围&#xff0c;是从 0 到 16,777,215 (&HFFFFFF&)。每种颜色的设置值&#xff08;属性或参数&#xff09;都是一个四字节的整数。对于这个范围内的数&#xff0c;其高字节都是 0&#xff0c;而低三个字节&#xff0c;从最低字节到第三个字节&am…

US$638 VVDI2 BMW and OBD Functions Authorization Service

VVDI2 BMW and OBD Functions Authorization ServiceIf you just buy SV86-B, you want to get the functions for BMW and OBD, you can buy this service.Note: VVDI2 now add BMW FEM & BDC functions, VVDI2 M…

用DW做的网站怎么弄成链接学校的网站的代码模板

简介 提升工程是什么 提示工程&#xff08;Prompt Engineering&#xff09;是人工智能领域中的一个概念&#xff0c;特别是在自然语言处理&#xff08;NLP&#xff09;领域中。它是一种通过设计和优化输入提示来提高AI模型表现的方法。 对于基于转换器的大型语言模型&#x…