萨维奇定理萨维奇定理(英語:Savitch's theorem)是计算复杂性理论中的一个定理,由沃尔特·萨维奇于1970年证明。定理的结论为对于任何函数满足,下列关系成立: 亦即,如果一台非确定型图灵机能够利用空间解决某个问题,那么一台确定型图灵机能够在至多空间解决相同的问题。尽管非确定性的引入能够在时间上带来指数的提升,但是,这种引入对于空间而言作用有限。 证明萨维奇定理的证明是构造性的。证明过程为设计一个针对有向图连通性问题的算法(其它问题可以通过图灵机的格局图归约到此问题)。有向图连通问题可以简述为对于一个有向图和给定的两个顶点s和t,是否存在从s到t的有向路径。对于n个顶点,存在一个算法在空间内解决这一问题。这一算法的基本思路是利用递归解决一个更一般化的问题:检查是否存在从s到t的一条至多包含k条边的有向路径,k是递归的输入参数。原始的有向图连通问题当时与此问题等价。为了测试是否存在一条从s到t的长度为k的有向边,可以测试是否存在一条从s到t的以u为中点的有向边。如果存在,那么对从s到u和从u到t递归此算法。 def k-edge-path(s,t,k):
if k == 0:
return s == t
else if k == 1:
return (s,t) in edges
else for u in vertices:
if k-edge-path(s,u,⌊k/2⌋) and k-edge-path(u,t,⌈k/2⌉):
return true
return false
这一递归过程的递归深度为层,每层需要位来存储该层的函数参数和局部变量。因此,算法的总空间复杂度为。上述算法尽管是使用高级语言进行描述,然而,相同的算法使用图灵机实现时所需要的空间上界在渐近意义下是等同的。 由于有向图连通性问题为NL完全问题,因而任意NL中的语言都在复杂度类中(这一复杂度类也常常被写作L2). 推论从萨维奇定理可以得到许多重要的推论: 参见参考资料
外部链接
|
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve
Portal di Ensiklopedia Dunia