k-Clique的2FA状态复杂度?


15

简单形式:

双向有限自动机可以识别包含状态的三角形的顶点图吗?vvo v 3o(v3)

细节

这里有趣的是使用一系列边编码的顶点图,每个边是一对来自的不同顶点。v { 0 1 ... v - 1 }v{0,1,,v1}

假设是双向的有限自动机的一个序列(确定性或不确定性),使得识别 -Clique上 -点输入的图形和具有状态。问题的一般形式是:吗?M vM v k v s v s v = Ω v k(Mv)Mvkvs(v)s(v)=Ω(vk)

如果对于无限多个,且,则NL≠NP。因此,我不太那么雄心勃勃地规定是固定的,并且情况是第一个平凡的情况。ķ = ķ v = ω 1 小号v v ķ v v ķ ķ = 3k=k(v)=ω(1)s(v)vk(v)vkk=3

背景

双向有限自动机(2FA)是图灵机,它没有工作空间,只有固定数量的内部状态,但是可以来回移动其只读输入。相反,通常的有限自动机(1FA)仅将只读输入头沿一个方向移动。有限自动机可以是确定性(DFA)或不确定性(NFA),并且可以单向或双向访问其输入。

图属性是图的子集。令表示具有属性的顶点图。对于每个图属性,语言可以由具有最多个状态的1DFA识别,方法是对每个可能的图使用状态,并根据对其进行标记,并在边缘标记的状态。 因此,Q_v是任何属性Q的常规语言。然后根据Myhill-Nerode定理,可以识别Q_v的唯一唯一同构最小的1DFA。如果它有2 ^ {s(v)}Q QQ vQv v vQ QQ QQ v Qv2 v v 1 / 22v(v1)/2 Q QQ vQvQ vQQv 2 v 2s(v)状态,则标准爆破范围会导致2FA识别Q vQv至少具有s v Ω 1 s(v)Ω(1)状态。因此,对于任何Q_v(即使Q很难确定),这种通过标准爆破界限的方法最多只能在2FA中的状态数上产生最多v的二次方vvv下限。Q vQvQ

ķ ķ ķ vk -Clique是包含完整的顶点子图的图属性。识别 -Clique可以通过1NFA来完成,该方法首先不确定地选择不同的潜在k -clique中的一个来寻找,然后扫描输入一次,寻找每个所需的边来确认小组,并使用2 ^ {k(k-1)/ 2}状态为每个不同的潜在小组跟踪这些边缘。这样的1NFA具有\ binom {v} {k} 2 ^ {k(k-1)/ 2} =(c_v 2 ^ {(k-1)/ 2} / k)^ kv ^ k状态,其中1 \ le c_v \ le e。当k固定时,这是\ Theta(v ^ k)kkv vk k2kk1/2 v(vk)k2k(k1)/2k 2kk1/2=cv2k1/2/kkvķ1ÇvëķΘvķ(vk)2k(k1)/2=(cv2(k1)/2/k)k.vk1cvekΘ(vk)状态。允许双向访问输入可能会改善此单向范围。然后,问题是要求k = 3k=3是否2FA可以比1FA上限更好。

附录(2017-04-16):另请参阅确定性时间相关问题以及涵盖最知名算法的好答案。我的问题集中在非一致的不确定空间上。在这种情况下,省时的算法所使用的矩阵乘法的减少比强力方法差。


我真的很喜欢这个问题!谢谢你的分享!:)
Michael Wehar 2015年

Answers:


7

这在我看来,三角形可以通过2FA做与状态(n为顶点的数量)。ø Ñ 2AO(n2)

对于,想法如下:k = 3k=3

  1. 在阶段1中,选择某个边并以其状态存储Ĵ p ħ 一个小号ë 1 A(i,j)Ĵ (phase1,i,j)
  2. 在阶段2中,它移动到或形式的某个边缘,并呈现状态i m m i p h a s e 2 j m (i,m)(m,i)(phase2,j,m)
  3. 在阶段3中,它检查是否存在边或并在找到边时采取接受状态。j m m j (j,m)(m,j)

实际上,这几乎可以用从左到右的方式来完成(然后可能不确定地决定在阶段2中先决定或)。但是,如果第二条边的形式为,则需要先读取,然后再读取,即,此处需要一个左移。A j m m j m i A i mA(j,m)(m,j)(m,i)Aim

通过首先猜测大小为的集合并进行测试,得出节点通过边和成对连接,这会导致状态具有自动状态-为的群体求,对于上述i,j,m中的每一个,检查它们是否具有所有节点的边缘。O n k 1k k > 3 S k 3 S SO(nk1)kk>3Sk3SS


我看不出这是吗?正在跟踪三个顶点。O n 2i j mO(n2)i,j,m
安德拉斯·萨拉蒙

一次只有两个。阶段2中的读取是在两个转换中完成的。在读取,基本上从(阶段1,i,j)变为(阶段1a,i,j)(表明,它刚刚看到了),并在下一步进入(阶段2,j,m)。在这一点上,它已经用完成了,因为它已经看到和,只需要检查。(i,m)(i,m)iiAAiiii(i,j)(i,j)(i,m)(i,m)(j,m)(j,m)
Thomas S

如果边和顶点的数量大致相同,那么我认为这很好,但是有趣的情况是。换句话说,我认为您的方法至少使用状态。e=Ω(v2)e=Ω(v2)veve
Michael Wehar 2015年

1
我想你是对的。如果输入格式很好,则可以使用。:)
Michael Wehar 2015年

1
@Marzio:不,它说(不,它说确定性或不确定性)
Thomas S
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.