![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算理论
文章平均质量分 94
seh_sjlj
一个热爱数学证明的大学牲
展开
-
【计算复杂性理论】证明复杂性(九):命题鸽巢原理的指数级归结下界——更简短的证明
定义宽子句为含有至少n21010n2个文字(即变量)的子句,也就是包含了至少总变量个数的(大约)110101的子句。例如,当n5n=5n5时,子句P12∨P13∨P14P12∨P13∨P14就是包含了3521031052个变量的宽子句。为什么选择分母为101010呢?我们待会会看到其原因。定理对于充分大的nnn,任何对PHPnn−1PHPnn−1的归结证明的大小都至少为2。原创 2024-03-02 19:35:49 · 711 阅读 · 0 评论 -
【计算复杂性理论】证明复杂性(八):命题鸽巢原理(Propositional Pigeonhole Principle)的指数级归结下界
1985年,Haken的论文证明了归结证明系统在命题鸽巢原理上有指数级下界,即命题鸽巢原理不存在多项式大小的归结证明。这项发现说明了归结的强度非常弱,而且因为DPLL、CDCL算法对应的证明系统不强于归结,这也说明了DPLL、CDCL算法的时间复杂度是指数级别的。原创 2023-07-30 23:49:06 · 544 阅读 · 0 评论 -
【计算复杂性理论】证明复杂性(七):有界算术(Bounded Arithmetic)与IΔ₀理论
证明系统与一阶理论的关系让我们能够为一系列永真式构造出短证明,并且让我们方便地探究证明系统之间多项式模拟的关系。给定一个在所有有限结构中有效的一阶语句$B$,我们可以定义一个永真式序列${\langle B\rangle}_n$,它表达的是“$B$在所有大小为$n$的结构中成立”。当我们想要构造这种永真式的短证明时,一个自然的想法是首先在某个一阶理论中证明$B$在所有有限结构中成立,然后把这种总的证明翻译成对单独的永真式${\langle B\rangle}_n$的命题证明。一阶理论越简单,命题证明系统需要原创 2023-07-26 17:43:44 · 330 阅读 · 0 评论 -
【计算复杂性理论】证明复杂性(六):其他证明系统简介
本文介绍布尔程序弗雷格系统、等式演算、零点定理、分割平面、隐式证明系统、OBDD证明系统和作为一种证明系统的皮亚诺算术。原创 2023-07-25 19:47:14 · 243 阅读 · 0 评论 -
【计算复杂性理论】证明复杂性(五):量化命题演算(Quantified Propositional Calculus)
量化命题演算的特点就是引入了命题量词。设$\boldsymbol{p}$是一个变量元组,$\alpha$是以$\boldsymbol{p}$和$x$为变量的命题公式,则定义$\forall x\alpha(\boldsymbol{p},x)$为$\alpha(\boldsymbol{p},0)\land\alpha(\boldsymbol{p},1)$,定义$\exists x\alpha(\boldsymbol{p},x)$为$\alpha(\boldsymbol{p},0)\lor\alpha(\bol原创 2023-07-25 12:20:05 · 161 阅读 · 0 评论 -
【计算复杂性理论】证明复杂性(四):相继式演算(Sequent Calculus)
一阶逻辑的相继式演算是由根岑提出来的。我们将会看到其命题逻辑的部分多项式等价于弗雷格系统。不像某些弗雷格系统,相继式演算是非常优雅的,它有优美的、简洁的、对称的推理规则。这种规则的清晰性允许我们对演算中的推导过程进行深度的证明论分析。根岑本人用它对谓词演算和算术理论进行了深入的研究。原创 2023-07-24 19:13:33 · 403 阅读 · 0 评论 -
【计算复杂性理论】证明复杂性(三):弗雷格(Frege)与扩展弗雷格(Extended Frege)证明系统
“弗雷格系统”这个术语是由Cook和Reckhow[2]提出的,不过在数理逻辑中它一般被称作希尔伯特风格的演算(Hilbert-style calculi)。设LLL是命题逻辑的一个有限且完备的语言。也就是说,LLL包含由某些布尔函数定义的有限个连接词(可能包含零元连接词,即常数000和111),并且具有任何变量个数的任何布尔函数都可以由LLL组成的公式定义(这称为LLL的完备性)。一个著名的例子是德·摩根原创 2023-07-11 18:02:33 · 434 阅读 · 0 评论 -
【计算复杂性理论】证明复杂性(二):归结(Resolution)与扩展归结(Extended Resolution)证明系统
为了方便表示文字lll及其否定,我们定义lεlε1¬lε0lεl¬lε1ε0。当lll被赋值为εε时,lε1lε1。在演算式证明系统中,证明是由证明步骤(proof steps)(也叫证明行,proof lines)组成的。证明的每个步骤可能是一个公式,一系列公式或具有某种形式的公式,具体取决于演算的规则。定义kπkπ为证明π\piπ的步骤数(行数);证明系统PPP中永真式α\alphaα最短证明的步骤数记作kP。原创 2023-07-07 17:37:19 · 595 阅读 · 0 评论 -
【计算复杂性理论】证明复杂性(Proof Complexity)(一):简介
我们知道,勾股定理有超过350种证明。[1]上中学的时候,我们只需要能给出一个证明就可以了;但是怎么衡量证明的好坏呢?一般来讲,我们倾向于认为简洁的、优雅的证明是好的。那这个又怎么体现呢?我们可以用证明的长度来衡量它的简洁程度。写出来最短的证明就是最简洁的,而简洁的证明一般更容易理解,因此也是最好的。但是,即使是同一种证明,每个人写出来的长度也可能有所不同。那么怎么能让同一种证明有一种固定的写法呢?这就是证明论(Proof Theory)要研究的内容了。原创 2023-07-01 17:29:37 · 536 阅读 · 0 评论 -
【图论】中国邮递员问题、平面图上最大割问题的多项式时间算法
本文介绍了中国邮递员问题的Edmonds-Johnson算法、平面图上最大割问题的多项式时间算法和顶点图(apex graph)上最大割问题的NP完全性。原创 2023-04-05 17:14:42 · 3988 阅读 · 0 评论 -
【线性代数/计算复杂性理论】积和式的指数时间算法:Ryser算法
积和式(permanent)是一种和行列式长得很像的矩阵函数。在介绍积和式之前,我们先看看行列式(determinant)的定义。首先需要引入“排列”(permutation)的概念。对于集合S12⋯nS12⋯n,它的一个排列σ\sigmaσ就是对SSS中元素的一个重排。σ\sigmaσ的第iii个元素记作σi\sigma_iσi。例如,对于n5n=5n5,我们令σ25143σ25143,则σ31\sigma_3=1。原创 2023-02-26 13:37:44 · 1136 阅读 · 3 评论 -
【计算理论】复杂性类coNP
有关图灵机、语言等术语的定义请参见布尔表达式可满足性问题(SAT)与库克-列文定理(上)。语言的补集:若L⊆{0,1}∗L⊆{0,1}∗是一个语言,则用L‾L表示LLL的补集,即L‾={0,1}∗−LL={0,1}∗−L。NP\bold{NP}NP的两种等价定义:(1) 语言L⊆{0,1}∗L⊆{0,1}∗属于NP。.........原创 2022-08-16 17:01:46 · 1869 阅读 · 0 评论 -
【算法/图论】2-SAT问题详解
要求出强连通分量,就需要对原图进行缩点,顺便可以求出得到的有向无环图的拓扑序。数组存储每个节点的染色,实际上就是有向无环图的逆拓扑序(因为在DFS树中越深的节点越先被染色)。没有出现某个变量及其否定在同一个强连通分量的情况,所以是可满足的。...原创 2022-08-02 16:18:19 · 5695 阅读 · 4 评论 -
合取范式可满足性问题:CDCL(Conflict-Driven Clause Learning)算法详解
本文以DPLL算法为引入,系统地阐述了CDCL算法的详细步骤,对迹、决策层、蕴含图、子句学习、回溯等概念进行了充分的解释,并提供伪代码、Python代码和大量例子,借鉴了维基百科、华盛顿大学、阿尔托大学的相关资料,十分适合作为SAT方面的研究人员的参考文章。......原创 2022-07-27 18:32:52 · 8529 阅读 · 7 评论 -
布尔表达式可满足性问题(SAT)与库克-列文定理(下)
四、库克-列文定理定理(Cook-Levin Theorem) 布尔表达式可满足性问题是\bold{NP}NP完全问题。证明:设布尔表达式可满足性问题为\text{SAT}=\{x\in\{0,1\}^*|x\text{代表一个可满足的布尔表达式}\}SAT={x∈{0,1} ∗ ∣x代表一个可满足的布尔表达式}。(1) 先证\text{SAT}\in\bold{NP}SAT∈NP。显然,对于任一个可满足的布尔表达式,它的一组赋值就是对它的一个证明,而进行验证只需要把值带进去算就可以了,显原创 2022-07-14 23:12:45 · 1906 阅读 · 0 评论 -
布尔表达式可满足性问题(SAT)与库克-列文定理(上)
布尔表达式可满足性问题是指对于一个布尔表达式(或者说命题公式),是否存在一组真值,使得该表达式的赋值为真。例如,A:¬p∨qA:\neg p\lor qA:¬p∨q(即“(非ppp)或qqq”)是可满足的,因为p=1,q=0p=1,q=0p=1,q=0时AAA为真;但B:p∧¬pB:p\land\neg pB:p∧¬p不是可满足的,因为“ppp”和“非ppp”显然不可能同时成立。事实上,这个问题解决起来是极为困难的。诸如p∧¬pp\land\neg pp∧¬p之类的式子固然容易判断,但有一些更复杂的,例如¬原创 2022-07-14 23:09:10 · 2700 阅读 · 0 评论