
Theory of computation
Savitch
I have nothing to offer but blood toil tears and sweat
展开
-
何不用状态机编程?
今天发现了一篇很好的文章,由于担心遗失所以在此拷贝 地址为http://www.skorks.com/2011/09/why-developers-never-use-state-machinesA few months ago I saw a great little blog post about state machines on the Shopify blog. T原创 2013-10-14 22:35:03 · 427 阅读 · 0 评论 -
萨维奇(Savitch)定理证明
递归函数bool CanYield(c1,c2,t)if(t= =1 && ( c1= =c2 || c1→c2只需一步)) return true;if(t>1){ for(每个格局cm) { bool r1=CanYield(c1,cm,ceil(t/2)); bool r2=CanYield(cm,c2,ceil(t/2)); if(r1 && r2) retur原创 2014-01-02 22:33:14 · 1400 阅读 · 0 评论 -
库克列文定理的证明
这里只给出证明的思路首先我们不可能找到所有的np问题,所以不可能实现定义中,所有np问题向SAT问题的多项式规约。因此,cook 和levin找到了一个从np问题定义的方式来解决SAT完全问题具体思路为就是这样。我们现在要在一台非确定图灵机的模拟接受问题。这时,在每一个图灵机的分支上,形成了一个所谓的画面。这里的设计以后再讲。反正就是这么一个原创 2014-01-06 23:50:22 · 2599 阅读 · 0 评论 -
证明np问题
计算理论导引中 关于证明一个问题是否是np问题:以clique问题subset_sum为例:每一句的开始都是非确定地选择G中k个节点的子集c和非确定的选择S中的一个数的子集合。当时看到的时候一直在想,这样选择是否会有无穷个分支的情况现在想来,解决这个问题,不会导致无穷个分支。理由: 第一个题目,我们选择 一个类似k+1层的k叉完全树来解决问题原创 2014-01-07 13:14:48 · 365 阅读 · 0 评论 -
图灵可识别
假设有语言A,如果能设计出一台图灵机M,对于任意字符串ω,如果ω∈A,那么M读取ω后会进入接受状态,那么A是一个图灵可识别语言。注意这个定义对于ω不属于A的情况没有做出限制,所以M读取到不属于A的ω,那么它有可能拒绝,也有可能循环。其中课本有这么一句话,有时候,很难区分机器是进入了循环还是消耗长时间的运行。这就产生了一个问题:那么进入了循环时,我们怎么知道是否接受呢?注意:这里考虑问题原创 2014-01-12 12:14:33 · 1656 阅读 · 0 评论 -
3x + 1 问题
转载:http://www.matrix67.com/blog/archives/4035从任意一个正整数开始,重复对其进行下面的操作:如果这个数是偶数,把它除以 2 ;如果这个数是奇数,则把它扩大到原来的 3 倍后再加 1 。序列是否最终总会变成 4, 2, 1, 4, 2, 1, … 的循环? 这个问题可以说是一个“坑”——乍看之下,问题非常简单,突破口很多,于是数学家们转载 2014-01-12 11:07:15 · 1057 阅读 · 0 评论 -
罗素悖论
把所有集合分为2类,第一类中的集合以其自身为元素,第二类中的集合不以自身为其元素,假设令第一类集合所组成的集合为P,第二类所组成的集合为Q,则有:P={A∣A∈A} ,Q={A∣A∉A} 。问题:Q∈P 还是 Q∉P? 若Q∈P,则根据第一类集合的定义,必有Q∈Q,而Q中的任何集合都有A∉A的性质,因为Q∈Q,所以Q∉Q,引出矛盾。若Q∉P,根据第二类集合的定义,A∉A,而P中的任原创 2014-01-12 15:46:47 · 512 阅读 · 0 评论 -
《图灵的秘密》读后感
转载:http://www.ituring.com.cn/article/37819《图灵的秘密》是关于图灵1936年那篇开创性论文的解读,内容很多很难,需要的背景知识包括数理逻辑,lambda演算,以及一些基本的数论。读完的笔记也许都会比原书多,这里想简洁或者宏观性地谈谈几个主角之间的“故事”。 实际上说争论更准确。 初(我目前所知道的),大神莱布尼兹有两个及其宏大,转载 2014-01-12 15:59:56 · 1599 阅读 · 0 评论 -
可判定问题
定义:A={ω> | M描述一台图灵机,且M描述的机器接受ω}我们知道这个是不可判定的。这里表示的是: M描述一台能够识别语言L的图灵机,对任何一个字符串,我们判定M是否能接受它(接受或者拒绝)。A的含义是:对所有图灵机,我们都要实现上边的功能。这是一个可判定问题。如果这里是所有图灵可判定语言的图灵机,那么显然有这么一个图灵机A存在。因此为可判定。原创 2014-01-12 16:25:57 · 721 阅读 · 0 评论 -
计算历史的规约
E(LBA)不可判定的的证明思路:因为E(LBA)是判定一个LBA是否为空的机器,所以我们需要生成一个LBA的机器。这里我们用到的是计算历史的规约,所以思路比较简单。我们让LBA 识别 ATM中输入的的计算历史。这样的话,LBA识别的语言就是的计算历史。从而采用E(LBA)进行判定,如果判定为空,则拒绝;如果不为空,则接受。原创 2014-01-12 20:16:29 · 716 阅读 · 0 评论 -
关于co-NP的理解
L是一个co-NP语言,这个暗示有一个多项式时间的验证机 C(; ) (1)对任何一个不属于L字符串s,有一个证书t(在多项式长度输入)C(s; t)拒绝 (2)对任何一个属于L字符串s,这里没有一个证书t说拒绝。从而这里有一个问题,当对任何一个属于L字符串s,这个分支,我们没有办法在多项式时间进行验证。引出了co-NP问题和NP问题是否相等。原创 2014-01-04 23:06:55 · 5017 阅读 · 0 评论 -
NP问题验证机的理解
NP:A. 机器角度去定义:被多项式界限非确定型图灵机判定的所有语言的类。B. 基于verifier的定义:NP问题上建立的非确定机包含两步:1) 非确定地猜一个解2) 用一个确定的算法判定该解是否为可行解判定一个给定猜测值是否满足该问题(可满足性)的算法称作verifier,一个问题称作NP问题当原创 2014-01-04 22:42:03 · 455 阅读 · 0 评论 -
计算理论笔记 9月27日
有穷状态自动机(FA—finite automaton)是一个五元组: M=(Q, Σ, δ, q0, F) Q——状态的非空有穷集合.∀q∈Q,q称为M的一个状态. Σ——输入字母表. δ——状态转移函数,有时又叫作状态转换函数或者移动函数,δ:Q×Σ→Q,δ(q,a)=p. q0——M的开始状态,也可叫作初始状态或启动状态.q0∈Q.原创 2013-10-17 17:58:23 · 479 阅读 · 0 评论 -
计算理论笔记 10月10日
1 自动机生成一个语言,如果我们想要画补语言的状态转换图,只需将终结态变成非终结态,非终结态变成终结态即可。2 有穷自动机的另一种表达方法 当我们存在一个不能确定的变量时,这时我们采用五元组进行表示。 例如:对每一个变量i,设计一个自动机能够识别(字符表0,1生成的字符串,其中字符串有连续i倍数的1)。3 正规语言是一个自动机能够识别的字符串的集合(注意这原创 2013-10-17 22:29:52 · 385 阅读 · 0 评论 -
对角论证法
更多详细信息请参考http://zh.wikipedia.org/wiki/%E5%B0%8D%E8%A7%92%E8%AB%96%E8%AD%89%E6%B3%95康托尔的原始证明表明区间[0,1]中的点数不是可数无穷大。该证明是用反证法完成的,步骤如下:假设(从原题中得出)区间[0,1]中的点数是可数无穷大的于是乎我们可以把所有在这区间内的数字排成数列, (r_1, r_2, r_原创 2013-11-22 22:16:26 · 480 阅读 · 0 评论 -
关于图灵机的三个问题
转载:http://blog.sina.com.cn/s/blog_4dff87120100ylfv.html写这篇文章,是想尝试回答学习图灵机模型中遇到的三个问题:1) 为什么图灵机有不可判的问题?2) 为什么强大的图灵机会不停机?3) 为什么图灵当初要设计图灵机? 图灵机(Turing machine)是英国数学家阿兰·图灵(Alan Turin转载 2013-11-22 21:42:15 · 967 阅读 · 0 评论 -
计算理论重点——Theory of Computation
转载:http://blog.youkuaiyun.com/abcjennifer/article/details/8494019一个学期的计算理论课程已经结束,给我的感觉吧,计算理论是一门计算机不得不学,学了短期又没用,但是可以培养一些逻辑思维的课程。其最关注的问题是什么是可计算性,什么问题可计算,问题之间的映射/归约,计算代价及难易。在分析问题和检验模型计算能力之前需要掌握的工具是形式语言、图转载 2013-12-09 10:03:27 · 1201 阅读 · 0 评论 -
什么是可计算理论
转载:http://blog.youkuaiyun.com/zyearn/article/details/9196797这个学期刚好上这门课,此课绝对是CS课程中的神课,需要一定的决心和耐心才能啃下来。这篇文章可以说是一篇科普文,争求通俗易懂。可计算理论是计算理论的一个分支,还有两个分支分别是自动机和计算复杂性。这些名词都顾名思义,自动机讲的是计算的模型,比如图转载 2013-12-03 21:52:10 · 323 阅读 · 0 评论 -
非确定型图灵机(转移函数的选择)
下面内容来自wikiResolution of multiple rulesHow does the NTM "know" which of these actions it should take?There are two ways of looking at it. One is to say that the machine is the "luckiest possible原创 2014-01-03 00:32:09 · 876 阅读 · 0 评论 -
P ⊆ co-NP的原因
因为P在运算下封闭,如果一个语言在P中,这时他的补语言也在P中。(简单证明:通过反转接受和拒绝状态就可以实现)一个语言在co-NP当且仅当他的补语言在NP。所以,P的任何补语言在NP,根据定义,P的这个语言在co-NP中。所以P ⊆ co-NP原创 2014-01-04 21:47:37 · 1174 阅读 · 0 评论 -
如果P = NP 则 NP = co-NP.
证明:P = co-P如果P = NP 这时co-NP = co-P = P。因此得证。这个公式有个非常好的推论如果NP != co-NP then P != NP.(逆否命题)因此,我们可以通过NP != co-NP得到P != NP。原创 2014-01-04 22:00:45 · 1753 阅读 · 0 评论 -
rice定理的证明
Rice's Theorem: Most of everything is undecidable.Rice定理:大多数事情是不可判定的。L = { | M is a TM for which ‘something’ holds } 直观: L是有某性质的一切图灵机编码(如源程序)的集合Rice定理定理中的something指的是:(1)如果两个图灵机的语原创 2014-01-14 20:31:58 · 1513 阅读 · 0 评论