浙江大学计算理论复习总结
计算理论复习总结,但是考试快要结束了,估计大家也没有什么需要了。28.文法是CFG的推广,任何CFG都是文法。G=(V,∑,R,S)29.语言被文法生成ⅲ它是re的。30.所有数值函数都是原始递归的31.原始递归函数集是递归可枚举的。32.特殊语言/问题H={"M"w":M在w上停机}lH={"M"w":M是一台在"w"上不停机的TM}H1={"M":M在“M”上停机}H1={w:要么w不是一台TM的编码,要么w是M的编码,M是一台在"M"上不停机的TM}H:re.;H1:re.;-H,-H1:非r.e.;2-SAT∈P;SAT∈NPThe world as We Dont Know itreAsumming P≠APCo『eHrecursiveSATSATCO-A伊II Asumming P=Npr, eCo-r.erecursiveNP= cO-Np= p33没有算法的问题称作不可判定的or不可解的,如TM的停机问题34.证明不可判定通用图灵机U通过递归函数归约到L如果L是递归的则U是递归的ic若L1非递归,并存在L1到L2的归约,则L2也非递归。递归函数是 Turing Computable的35.语言是图灵可枚举的,证存在枚举它的图灵机。(M通过空格代开始,周期性的经过特殊状态q来枚举L,任意顺序且可重复)6.不可判定语言与递归语言互为补集,与rc语言有交集。37语言是re.,if它是图灵可枚举的;语言是递归的,i它是以字典序 turing可枚举的。8.P在并交连接和补运算下封闭NP在并、连接运算下封闭。若NP在补下封闭则NP=P39.H={M"wM在最多2w步后停机}唾P40.所有正则语言和所有CFL都属于P41.NPA.机器角度去定义:被多项式界限非确定型图灵机判定的所有语言的类。B.基于 verifier的定义:NP问题上建立的非确定机包含两步1)非确定地猜一个解2〕用一个确定的算法判定该解是否为可行解判定一个给定猜测值是否满足该问题(可满足性)的算法称作 verifier,一个问题称作NP问题当且仅当存在一个多项式时间的 verifier这两个定义是不矛盾的,因为如果一台非确定TM在多项式时间内可以判定一个非确定选择的翰入是否满足,就是基于 verifier的定义。P和NP的区别a problem is in P if we can decide them in polynomial time. It is in NP if we candecide them in polynomial time, if we are given the right certificate42.若存在计算函数f的多项式界限的图灵机M,则f称为多项式时间可计算的43.若τ1是L1->l2的多项式归约,τ2是L2->I3的多项式归约,则τ1τ2是L1->l3的多项式归约44.证明NP完全法一、按定义:LΣ*,若(a)L∈NP,且(b)对每个语言L∈NP,存在从L到L的多项式归约则L称为NP完全的。法二、归约,对于语言L,(a)若L∈NP(b)一个NP完全问题可以在多项式时间规约到L,ie. SAT 0 is context-free but not regular49.L=L1L2,L是CFL,则L1一定是CFL(x50. Regular-CFL不一定是CFL,如a*b*c*-anbn包含 anben51. 2-way PDalie PDa whose input heads can move both left and right] are more powerfulthan 1-way pda52. Given a PDa M1 and an fa M2, the problem l(M1)cl(M2)is decidable53.DFA/NFA识别的是 exactly正则语言54.Re.只在补和差下不封闭,CFL在交下也不封闭55.非正则语言的可能是正则语言。比如A:[W=w}及所有回文,A=*,为正则语言56.典型非正则:w=wR57.正则语言的子集可能非正则,如 anben是a*b*c*的子集;又如Σ*是正则语言,H≌Σ*58.归约:X到Y的归约可以理解为X到Y问题的映射, reduction可以解释为 at least asdifficult as….比如ⅹ可以被Y的算法解决,则 X is no more difficult than yⅩ可以约到Y,记X≤Y。e.gx2可以归约到任意两数的乘积。若有A≤B,A是不可判定问题>B不可判定A不递归->B不递归B可判定>A可判定B是递归的->A是递归的59.若X多项式时间归约到Y,Y多项式时间可解,则X多项式时间可解若X多项式时间归约到Y,Ⅹ多项式时间不可解,则Y多项式时间不可解60.X多项式时间归约到Y,Y多项式时间归约到Z,则X多项式时间归约到Z61.PRME( COMPOSITE)多项式时间归约到 Factor,但是 Factor多项式时间不能归约到PRIME COMPOSITE )o62.若A≤PB,B∈NP,则A∈NP。证明A≤PB→存在确定图灵机X,可将A归约到B。B∈NP→存在一个非确定图灵机N可判定B。我们希望构造一个新的TM(ⅹN)是的ⅹ*N非确定多项式时间求解A,则A∈NPRunning time of X*N≤1+p(mB>+qp(m)(B多项式时间非确定判定是多项式时间所以A∈NP63若AsPB,B∈P,则A∈P64.若X是NPC的,则X在多项式时间内可解ifP=NP65.SAT多项式时间归约到3SA(3AT是NPC的)66.证明语言L是R/Re, Non rea) Intuitively想想有没有半判定(判定)的TM,有则Rc、(R)。若非R执行下一步。b)用能否由Re.( Non re.)语言归约到该语言,能则Re而非R( Non re)严格用归约函数定义f:A≤B,r1∈A当且仅当r1∈Beg1∈H,M∈L证明Recg2∈非H,iM∈L证明 Non rc注意方向:是从A的实例经过递归函数推向B的实例。详细介绍http://www.cs.rice.edu/nakhleh/comp481/finalreviewsp06sol.pdf67.递归与μ递归等价68.PDA中,若每一个格局至多有一个格局接在它后面,则为确定型的。确定型CF在补下封闭69.M半判定L:w∈L,ifM在w上停机,注意半判定图灵机中不存在“拒绝”状态。只要不接受w,就不停机。70. Chomsky hierarchyElements of the Chomsky HierarchyRecursively enumerable languagesRecursive languageContext sensitive languagesContext ee languageseterministccontext free languagesRegularanguages71.俩证明7.6证明P在并、交、 Kleene*连接和补运算下封闭(1)并:对任意L,LEP,遴n时间图灵机M1和nb时间图灵机M2判定它们且c=max{ab}对L1L2构造判定器MM=“对于输入字符串w1)在W上运行M1,在w上运行M22)若有一个接受则接受,否则拒绝。时间复杂度:设M1为0(n)M2为0(m)。令c=max{ab}第一步用时0(n+n),因此总时间为Oma+n)=0(n9所以L1L2属于P类,即P在并的运算下封闭。(2)连接对任意L1,L2属于P类,设有n时间图灵机M1和m时间图灵机M2判定它们,且c=max{ab}。对L1l2构造判定器MM=“对于输入字符串w=w2灬,Wn对k=0,1,21…,n重复下列步骤。在wW2…wk上运行M1,在wk1wk+2…n上运行M若都接受,则接受。否则继续。若对所有分法都不接受则拒绝。时间复杂度:(n+1x0(n+0m-0(m+4)+0(nb+4=0(nc+),F以L1oL2属于P类,即P在连接的运算下封闭。对任意L属于P类,设有时间0(n)判定器M判定它,对构造判定器MM=“对于输入字符串〔1)在w上运行M12)若M1接受则拒绝,若M1拒绝则接受。时间复杂度为:0(m)。所以属于P类,即P在补的运算下封闭。77证明NP在并和连接运算下封闭。1)并对任意L1,L2∈NP,设分别有n时间非确定图灵机M1和n时间非确定图灵机M2判定它们,且c=max{a,b}。构造判定LL2的非确定图灵机M:M=“对于输入字符串w1)在W上运行M1,在w上运行M2。2)若有一个接受则接受,否则拒绝。对于每一个非确定计算分支,第一步用时为O(n-)+O(n),因此总时间为On+n)=0(n。所以LLz∈NP,即NP在并的运算下封闭2)连接对任意L,L2∈NP设分别有na时间非确定图灵机M1和m时间非确定图灵机M2判定它们,且c=max{ab}。构造判定L1oL2的非确定图灵机M:M=“对于输入字符串w:1〕非确定地将分成两段xy,使得w=xy。2)在x上运行M1,在y上运行M23)若都接受则接受,否则拒绝。对于每一个非确定计算分支,第一步用时O(n,第二步用时为0(n)+0(m),因此总时间为o(n+m)=0(n。所以L1oL2∈NP,即NP在连接运算下封闭。专题一一图灵机可判定性问题判定以下问题是否可判定:声明:思路—想证明B问题不可解,1.从一个不可解问题A入手(如停机问题)2.创建B的—个实例,从中推出如果能解决B,A也就可以解决了3.所以B是不可解的1.一个图灵机有至少481个状态。我们可以给出这样一个TMN进行cnc(M)a)数M中状态数,直到481b)如果达到了481,N就接受,否则拒绝2.给定图灵机在空串上走了481步还没停机。构造2带图灵机N,a)2a带:写481个0b)1s带在空串上模拟M,每走一步,第2带就删掉一个0c)如果M在所有0都删掉之后停机,则N接受,否则不接受给定图灵机,判定它是否在一些输入上经过481步还没停机?a)按字典序找出所有 length
- 2020-12-01下载
- 积分:1
RBM 算法理解
RBM 算法理解 这份笔记参考了很多网上的资源,也加入很多自己的理解和详细推导, 非常适合初学者使用, 这篇笔记属于复合型产物,感谢那些网上无私奉献自己心得的人们。RBM能量模型这里说一下RBM的能量模型,这里关系到RBM的理解能量模型是个什么样的东西呢?直观上的理解就是,把一个表面粗糙又不太圆的小球,敚到一个表面也匕较粗糙的碗里,就随便往里面一扔,看看小球停在硫的哪个地方。一般来说停在碗底的可能性比较大,停在靠近碗底的其他地方也可能,甚至运气好还会停在碗口附近(这个碗是比较浅的一个碗):能量模型把小球停在哪个地方定义为一种状态,每种状态都对应着个能量,这个能量由能量函数来定义,小球处在某和状态的概率(如停在碗底的概率跟停在碗口的慨率当然不一样)可以通过这种状态下小球具有的能量来定义(换个说法,如小球停在了碗∏附近,这是·种状态,这个状态对应着一个能量,而发生“小球停在碗口附近”这种状态的概率,可以用来表小,表小成,其中是能量函数),其实还有一个简单的理解,球在碗底的能量一般小于在碗边缘的,比如重力势能这,显然碗底的状态稳定些,并且概率大些,就是我认为的能量模型。1.概率分布函数。各个节点的取值状态是概率的、随机的,这里用了3种概率分布来描述整个RBM网络,有联合概率密度,条件概率密度和边缘概率密度2.能量函数。随机神经网络的基础是统计力学,差不多思想是热力学米的,能量函数是描述整个系统状态的一种测度。系统越有序或者概率分布越集中(比如小球在碗底的情况),系统的能量越小,反之,系统越无序并且概率分布发散(比如平均分布),则系统的能量越大,能量函数的最小值,对应着整个系统最稳定的状态RBM能量模型的作用是什么呢?为什么要弄清楚能量模型的作用呢?第一、RBM网终是一种无监督学习的方法,无监督学习的目的自然就是最大限度的拟合输入数据和输出数据。第二、对于组输入数据来说,如果不知道它的分布,那是非常难对这个数据进行学习的。例如:如果我们实现写出了高斯函数,就可以写出似然睬数,那么就可以进行求解,就知道大致的参数,所以实现如果不知道分布是非常痛苫的·件事情,但是,没关系啊,统计力学的一项硏究成果表明,任何概率分布都可以转变成基于能量的模型,即使这个概率分布是未知的。我们仍然可以将这个分布改写成能量函数第三、能量函数能够为无监督学习方法提供个特殊的东两)日标函数b)标解换句话说,使用能量模型使得学丬一个数据的变得容易叮行了。能否把最优解的求解嵌入能量模型中至关重要,决定着我们具体问题求解的好坏。能量模型要捕获变量(这里我理解的是各个分量之间的关系)之间的相关性,变量之间的相关程度决定了能量的高低。把变量的相关关系用图表是一个图,以概率为测度,所以是概率图)模型的能量模型。由上面所说,RBM是一种概率图模型,既然引入了概率,那么就可以通过采样技术来求解,在CD( contrastive diⅳ vergence)算法中采栟部分扮演着模拟求解梯度的角色。能量模型需要定义一个能量函数,RBM能量函数如下:()=∑∑∑∑这个式子的含义非常明显,每个节点有一个能量, hidden和wsbe之间的连接也有个能量,如何求解呢?如果ⅵ isible有组取值(1,0,1),对应的 hidden取值是(1,0,1,01,0,分别带入上面的公式,最后得到的结果就是能量,这里要注意到()里面的地位是相等的,不存在先后顺序,这是一个结构整体的能量值为什么要搞能量函数?前面指出未知分布不好求解但是可以通过能量函数米表示,那么能量函数的概率模型很大程度上可以得到未知分布的概率模型,这样大致就知道了未知分布的分布既然知道了—个RBM网络 hidden和 visible整个框架的能量函数,那么可以定义这个能量函数(能量)出现的概率,很显然这个能量的出现与 hidden和sbe的每个节点的取值都有关系,那么这个能量出现的概率就是和的联合概率密度里可以将能量函数理解成小球在碗里面具体的一个位置所具有的一个能量,那么联合概率密度就是能量也就是这个状态出现的概率)这个概率不是随便定义的,是有统计热力学解释的定义了联合概率密度,那么我就可以得到一个分布,现在再回来前面的知识,可以得到1最初是未知分布的数据,求解参数,完全无从下手2.将未知分布的数据与能量函数联合在起3定义这个能量函数出现的概率,其实也就是对应着未知分布数据一个函数出现的概率4我们可以得到能量函数的概率分布,这个分布就叫 Gibbs分布,这里不是一个标准的Gibs分布,而是一个特殊的 Gibbs分布,这个分布有一组参数,其实就是能量函数中的那儿个前面知道∫下面可以得到边缘概率密度和()∑∑也可以得到条件概率密度和∑∑从概率到极大似然上面的内容已经得到了Gb分布的各种概率密度函数,现在回到最初的目的,即求解让RBM网络表示的Gibs分布最大可能的拟合输入数据,或者换一种说法,求解的目标可以认为是让RBM网终表示的 Gibbs分布与输入样本的分布尽可能的接近现在的小问题是“最大可能的拟合输入数据"这句话怎么定义:假设表小样本空间,即里面含有很多个不同的,是输入样本的分布,()表示训练样本的概率,再假设是RBM网络表示的 Gibbs分布的的边缘分布,即可以理解成每种不同情况的都对应着一个概率。输入样本的集合定义为,那么样木真实的分布和RBM网络表示的边缘分布的KL距离就是2者之间的差异性(KL的详细讲解见附录),样本的真实分布(什么是样本的分布?见附录)与RBM网络表示的边缘分布的KL距离如下所示()20)-0=2()0)2()(如果输入样本表小的分布与RBM表小的Gbbs分布完全符合,这个KL距离就是0,否则是一个大于0的数山附录对熵的定义(在KL讲解里面)可知,上面)的第一项是输入样本的熵,这个是·个固定的数,输入样本固定了,熵就固定了,第二项明显无法直接求。由KL的性质可知,KL是一定大于0的,那么当第二项最大的时候,整个KL最小,我们本来的日的也是求KL最小。注意到第二项-∑()()中的()当样木固定的时候,是固定的而函数是递增的,即当∑()最大即可。在实际应用中,我们采用的是∑(),其中是样本的个数。这里的-∑()就是极大似然估计(这里大家可以∈代替了∈Ω,这是为什么呢?拿一个2维向量来说,(1,0),(1,1),(0,0)这3个的概率和是1,(0,1)出现的概率是0,那么样本空间是(1,0),(1,1),(0,0),但是我们采样的时候只采样到∫(1,0),(1,1),那么这次的输入样本的集合就是(1,0)(1,1))。结论就是求解输入样本的极大似然,就能让RBM网络表示的 Gibbs分布和样本本身表示的分布最接近。求解极大似然这里对似然的定义参考我的另一篇笔记EM算法这个样本从所有样本被取到的概率为0)=∏(b)b∈6()=(0)=∑(0)c⊙在RBM模型中,上面的似然函数写成(上面的式子中是样本,也可以理解为一个isbe节点):(O)-(0)-l()O∈()=∏(b)=∑()0∈对这个函数进行求导02(066∈⊙66我们由能量模型应该也知道了()的概率∑,那么下面开始求导∑06∑c8上面这个式子一定要注意一个问题,即第一项的和第二项的00是不一样的。第一项的是固定的里面的取多少它就取多少而第二项里面的是所有可能的,其实这个细节也可以从∑和∑中发现出来()注意到()和,上面的式子可以写成∑0606∑()∑x((2m0)2x(2m0606第一项和第二项分别是和的期望,这2个是不同的,第一060个求在下的期望,第二项求的是这个函数在概率()下的期望。将O和()由最前面的东西代换,可得到以下3个式了∑∑∑∑∑∑()∑∑()∑()∑∑(这里用到了一个技巧∑这里∑是指hden中第个向量为0,其他分量的值任取的一组向量。?岁∑()∑()∑()∑()∑∑∑∑)-∑()-∑∑()()-∑()∑()∑∑=∑()-∑∑()()=∑()-∑()∑())-∑()(可以发现和的第二项都含有∑,这意味着要对进行遍历,这明显不可能,但是算梯度需要怎么小呢?这时就可以通过 markov采样来算,只要抽取一堆样本,这些样本符合RBM网络表示的Gibs分布,就可以把上面3个偏导数算出来。具体的处理过程是对于每个训练样本,都用某种抽样方法抽取一个对应的,这个是符合RBM网络所表示的Gbs分布的。那么对于整个训练集{米说,就得到一组对应的符合RBM网络表示的Gibs分布的样本集{然后拿这个样本去估算第二项∑,那么梯度就可以用以下的式了来近似了:()(=)-∑()(=)-∑()上面的式子中表小第个训练样木,是所对应的符合RBM网络表小的Gs分布的样本,在式子中用表示。梯度求出来了,就可以求解了,最后不断迭代就可以得到
- 2020-12-11下载
- 积分:1