我们能否快速生成完全一致的mod 3或解决NP问题?


13

老实说,我对如何生成随机数了解不多(欢迎发表评论!),但让我们假设以下理论模型:我们可以从获得均匀一致的整数,我们的目标是从[1,3]输出一个整数均匀随机数。[1,2n]

下面是一个预期运行时间为多项式的简单解决方案。从舍弃(也可能舍弃),以便剩余整数的数目可以被整除,因此我们可以取作为生成的整数。如果我们得到一个废弃的数字,我们将生成另一个数字,直到得到一个未被废弃的数字。2n2n−1[1,2n]3mod3

但是,如果我们要在多项式时间内确定终止,该怎么办?由于可除性问题,该问题变得无法解决。但是,我想知道我们是否可以解决以下问题。

假设我们可以从[1,2 ^ n]生成均匀随机的整数[1,2n],并且给出了一个计算难题。我们的目标是从[1,3]中输出均匀一致的整数或解决难题。

在这里,困难的问题可能是分解整数,求解SAT实例或类似问题。例如,如果给定一些f(x)(并且假设n为偶数),我们可以按以下方式解码单向排列f:如果对于我们的随机字符串f(r)<f(x),则取f (r)\ bmod 3,如果f(r)> f(x),则取f(r)-1 \ bmod 3。最后,如果f(r)= f(x),那么我们完成了,因为r = x。(如果n为奇数,那么类似的方法也起作用,只是我们还必须检查f(r + 1)= f(x),如果f(r)> f(x)减去2。)ff(x)nf(r)<f(x)f(r)mod3f(r)>f(x)f(r)−1mod3f(r)=f(x)r=xnf(r+1)=f(x)2f(r)>f(x)

答案摘要。 埃米尔·杰拉贝克(EmilJeřábek)已证明,除非能够完全均匀地生成,否则我们可以从TFNP以及PPA-3解决任何单值搜索问题。另一方面,daniello已经表明,除非NP = co-NP,否则我们无法以上述方式解决NP-完全问题。


@Tayfun如果是偶数,我们需要被整除,如果是奇数,那就是当我们需要被整除的时候。如果您对我应该更具体说明的部分更加具体,我会很高兴。2 n - 1 3 n 2 n - 2n2n−13n2n−23
— domotorp

(1)您可以使用单向排列将示例推广到TFNP中的求解(单值)函数。(2)您可以解决任意PPA-3搜索问题。
— EmilJeřábek'17

@Emil(1):怎么样?(2):我还认为这可能是正确的复杂性类,但是我不明白为什么我们可以解决此类问题。
— domotorp

稍后我将尝试将其写为答案。顺便说一句,这个问题很有趣,我不知道所有反对者都在做什么。
— EmilJeřábek'17

2
反对派是奇怪的。这是一个很酷的问题!而且我没有发现任何不清楚的地方。
— Sasho Nikolov

Answers:


6

作为domotorp回答的后续措施,我相信我们可以解决满足以下条件之一的NP搜索问题:

  1. 解决方案的数量是已知的,不能被整除;要么,3

  2. 解的数量是多项式有界的(但事先未知)。

对于1.,我们可以使用简单的填充来减少以下情况:

  • 解来自,其中是偶数。米[0,2m−1)m

  • 的解决方案数量满足。ss≡1(mod3)

  • 任何两个解决方案至少相距距离。(也就是说,它们都可以被整除。)444

注意。因此,我们可以通过选择随机并使用与我的答案类似的协议来解决问题(如果(得出分布)上一个的短每每个溶液),并输出,如果。一个∈ [ 0 ,2 米)一个∈ [ 0 ,2 米 - 小号){ 0 ,1 ,2 } 0 小号0 一个∈ [ 2 米 - 小号,2 米)3∣2m−sa∈[0,2m)a∈[0,2m−s){0,1,2}0s0a∈[2m−s,2m)

对于2.,首先假定解数是已知的。就像在/cstheory//a/37546中一样,令是除以的的最大幂,因此。考虑其解为序列的搜索问题,使得,每个是原始问题的解决方案。一方面,原来的问题减少到了新的问题。另一方面,新问题的是,即不能被整除3 ķ 3 小号3 ∤ (小号s≤p(n)3k3sy0,…,y3k−1y0<y1<⋯<y3k−1yi(s3∤(s3k)y0,…,y3k−1y0<y1<⋯<y3k−1yi3(s3k)3,并且众所周知。因此,我们完成了1。

现在,如果解决方案的数量受,但未知,则对于每个可能选择,我们并行运行次()以上的协议,以及:2 ℓ 2 ℓ ≥ p (Ñ )1 ≤ 小号≤ 2 ℓp(n)2ℓ2ℓ≥p(n)1≤s≤2ℓ

  • 如果任何一个线程返回了原始问题的解决方案,则将其中一个传递给输出;

  • 如果所有线程都返回元素,则输出。([R 1 + - [R 2 + ⋯ + - [R 2 ℓ)国防部3r1,…,r2ℓ∈{0,1,2}(r1+r2+⋯+r2ℓ)mod3

根据第二个事件,在均匀分布,因为是原始问题的真实,而其他独立于,因此整个和也均匀分布。 { 0 ,1 ,2 } 小号ř 我ř 小号rs{0,1,2}srirs


1和2的通用概括是解的数量来自多项式时间可计算的数字列表,因此将除以其中的任意一个的最大幂是多项式有界的。3
— EmilJeřábek'17

顺便说一句,您是否知道任何非复合问题,其中解决方案的数量可以通过超多项式幂被证明可整除?所谓复合,是指将某些问题的直接乘积(解决方案的数目可被整除),复合问题可以通过上述方式轻松解决。333
— domotorp

我认为有可能证明存在一个无法通过上述方式解决3个问题的某些超多项式幂的预言。
— domotorp

@domotorp有趣的是,我很乐意将某种Valiant–Vazirani参数用于解决任意TFNP问题。无论如何,表征还是不完整的。我对解决方案的数量已知或至少来自多项式时间可构造列表的限制感到特别不满。一方面,从我的其他回答来看,这类问题的类别显然与PPA-3无可比拟,因此最好有一个结构将两者都推广。AFAICS唯一的上限是任何问题都可以解决...
— EmilJeřábek17

...以上述方式可简化为TFNP问题,其解数为模(但未知)。我不清楚是否期望这是正确的类别,还是毕竟需要一些其他限制。313
— EmilJeřábek'Mar

10

我会使用从而不是开始的数字,因为我发现它更自然。101

这是我们可以解决的两类问题:

  1. TFNP中的功能(即单值总NP搜索问题)

    (这用单向排列概括了该示例。作为特殊情况,它包括来自决策问题。)UP∩coUP

    设置是,我们有一个多项式时间谓词和一个多项式,使得对于每个长度为,都存在一个唯一的,长度为,使得成立。给定,计算任务找到。p (n )x n y m = p (n )R (x ,y )x yR(x,y)p(n)xnym=p(n)R(x,y)xy

    现在,我假设wlog是偶数,因此。该算法将生成均匀随机并输出2 米 ≡ 1mÿ ∈ [ 0 ,2 米)2m≡1(mod3)y∈[0,2m)

    • R (x ,y )y(作为搜索问题的一种解决方案),如果;R(x,y)

    • { 0 ,1 ,2 } ÿ - ÿ ' ∈ { 1 ,2 } - [R (X ,ÿ ')y−y′(作为的随机元素),如果和;{0,1,2}y−y′∈{1,2}R(x,y′)

    • { 0 ,1 ,2 } ÿ ' ∈ { ÿ ,ÿ - 1 ,ÿ - 2 } - [R (X ,ÿ ')ymod3(作为的随机元素),如果没有求解。{0,1,2}y′∈{y,y−1,y−2}R(x,y′)

    如果没有解决搜索问题的方法,则随机选择将给出和次,而次(另外1次)。但是,如果解决了搜索问题,我们就对元素进行了修补(命中了所有三个残基类别),以便它们仅产生残基和,从而抵消了的优势。(我在这里假设。) 1 2 (2 m − 1 )/ 3 0 (2 m + 2 )/ 3 y y ,y + 1 ,y + 2 1 2 0 y < 2 m − 22m12 (2m−1)/30 (2m+2)/3yy,y+1,y+2120y<2m−2

  2. PPA-搜索问题3

    定义PPA-一种简便方法是将NP搜索问题多归一化为以下类型的问题。我们有一个固定的多项式时间函数和一个多项式,这样对于任何长度为输入,诱导映射限于输入长度为是一个函数,每个都满足。任务是,给,找一个固定点的:。˚F (X ,Ý )p (Ñ )X Ñ ˚F X(Ý )= ˚F (X ,ÿ )ÿ 米= p (Ñ )˚F X:[ 0 ,2 米)→ [ 0 ,2 米)˚F X(f x(f x(y )))3f(x,y)p(n)xnfx(y)=f(x,y)ym=p(n)fx:[0,2m)→[0,2m)y x y f x f x(y )= yfx(fx(fx(y)))=yyxyfxfx(y)=y

    我们所用的问题如下的方式解决这个问题:给定的长度的,我们产生一个随机长度的,并且输出n y m = p (n )xnym=p(n)

    • ˚F Xy如果它是的固定点;fx

    • 否则,,和是不同的元素。我们可以用它们标记为并输出这样。ÿ 0 < ý 1 < ý 2我∈ { 0 ,1 ,2 } ÿ = ÿ 我yf x(f x(y )){ y ,f x(y ),f x(f x(y ))} = { y 0,y 1,y 2 }fx(y)fx(fx(y)){y,fx(y),fx(fx(y))}={y0,y1,y2}y0<y1<y2i∈{0,1,2}y=yi

    从定义中可以清楚地看出,由于非固定点的三倍,这在上给出了均匀分布。ÿ{0,1,2}y


为了记录在案,请让我证明上面的问题与帕帕第米特里欧的PPA-完全问题是等价的,因为此类文献在文献中大多被忽略。约翰逊在巴斯(Buss,Johnson)中提到了该问题:“ NP搜索问题之间的命题证明和归约”,但它们并未说明等价关系。对于PPA,在Beame,Cook,Edmonds,Impagliazzo和Pitassi中也给出了类似的问题(孤独):“ NP搜索问题的相对复杂性”。没什么特别的,下面的论点比照适用于任何奇数质数。333

命题:下列NP搜索问题可相互多次还原:

  1. 给定一个表示二部无向图,以及度不可除的的顶点,找到另一个这样的顶点。Ü ∈ 甲∪ 乙3(A∪B,E)u∈A∪B3

  2. 给定一个表示有向图的电路,以及度数平衡(即,度数减去度数)不能被整除的顶点,请找到另一个这样的顶点。Ü ∈ V 3(V,E)u∈V3

  3. 给定一个电路,计算函数使得,找到的固定点。˚F 3 = 我d ˚Ff:[0,2n)→[0,2n)f3=idf

证明:

1≤p2很明显,因为足以将边缘从左向右定向。

甲乙V 1 { X 乙,ÿ 甲 } - 1 度(X 甲)= - 度(X 乙)X ü b ≢ 02≤p1:首先,让我们构造一个加权二部图。令和为副本:,。对于每一个原始边缘,我们把在边缘重量的,和边缘重。这使得等于原始图中的度数平衡。如果是余额的给定顶点,则添加权重的额外边ABV乙= { X 乙:X ∈ V } X → ý { X 甲,ÿ 乙 }A={xA:x∈V}B={xB:x∈V}x→y{xA,yB}1{xB,yA}−1deg⁡(xA)=−deg⁡(xB)xu{ ü 甲,ü 乙 } b 度(Ù 甲)= 2 b ≢ 0b≢0(mod3){uA,uB}b,因此和。将是我们选择的顶点。度(u B)= 0 u Adeg⁡(uA)=2b≢0(mod3)deg⁡(uB)=0uA

为了使图成为普通的无权无向图,我们首先将所有权重取模,然后将权重所有边丢弃。这样只剩下权重和边缘。后者可以替换为合适的小工具。例如,代替权重为边缘,我们包括新的顶点, for,其边缘为,,,,:这使0 1 2 2 { x A,y B } w A i z B i i = 0 ,… ,3 { x A,y B } { x A,z B i } { w A i,y B } { w a i,z B i } { w A i30122{xA,yB}wiAziBi=0,…,3{xA,yB}{xA,ziB}{wiA,yB}{wiA,ziB}度(瓦特甲我)= 度(Ž 乙我)= 3 5 ≡ 2{wiA,z(i+1)mod4B}deg⁡(wiA)=deg⁡(ziB)=3,并为和贡献。x A y B5≡2(mod3)xAyB

Ñ 2 Ñ ≡ 13≤p2:让我来承担简单甚至使。我们在上构造一个有向图,如下所示:nV = [ 0 ,2 Ñ)2n≡1(mod3)V=[0,2n)

  • 对于每个我们包括边和。3 x + 2 → 3 x x < 2 n / 3 − 13x+1→3x3x+2→3xx<2n/3−1

  • 如果是的非定点轨道,则我们将边和包括在内。 f x 0 → x 1 x 0 → x 2x0<x1<x2fx0→x1x0→x2

选择的顶点将是。第一个子句为每个顶点余额或。同样,第二个子句将余额或给非固定点的顶点。因此,假设还不是一个固定点,则它实际上是不平衡模,而任何其他顶点不平衡模都是的固定点。1 - 2 ≡ 1u=2n−11≠ Ü - 1 2 ≡ - 1−2≡1(mod3)≠u−1u 3 3 f2≡−1(mod3)u33f

甲= 乙= [ 0 ,2 Ñ)Ñ Ü ∈ 甲≡ 21≤p3:我们可以假设偶数为,并且给定的顶点具有度。A=B=[0,2n)nu∈A≡2(mod3)

我们可以将顶点入射的边缘有效标记为,其中。这样,成为的子集,我们用标识。我们在上定义函数,如下所示。(Ý ,Ĵ )Ĵ < 度(Ý )é [ 0 ,2 Ñ)× [ 0 ,2 Ñ)[ 0 ,2 2 Ñ)˚F [ 0 ,2 Ñ)× [ 0 ,2 Ñ)y∈B(y,j)j<deg⁡(y)E[0,2n)×[0,2n)[0,22n)f[0,2n)×[0,2n)

  • 上的互补:对于每个,和使得,我们使,,。而且,,,对于。对于度数不可被整除的这将省略点和个点。ÿ ∈ 乙Ĵ 度(Ý )≤ 3 Ĵ < 2 Ñ - 1个˚F (Ý ,3 Ĵ )= (Ý ,3 Ĵ + 1 )˚F (Ý ,3 Ĵ + 1 )= (Ý ,3 Ĵ + 2 )f (y ,3 j + 2 )=Ey∈Bjdeg⁡(y)≤3j<2n−1f(y,3j)=(y,3j+1)f(y,3j+1)=(y,3j+2)˚F (3 我,2 Ñ - 1 )= (3 我+ 1 ,2 Ñ - 1 )˚F (3 我+ 1 ,2 Ñ - 1 )= (3 我+ 2 ,2 Ñ - 1 )˚F (3 我+ 2 ,2 ñf(y,3j+2)=(y,3j)f(3i,2n−1)=(3i+1,2n−1)f(3i+1,2n−1)=(3i+2,2n−1)3 我< 2 Ñ - 1 (2 Ñ - 1 ,2 Ñ - 1 )3 - (度(Ý )国防部3 )(Ý ,我)ÿ ∈ 乙3f(3i+2,2n−1)=(3i,2n−1)3i<2n−1(2n−1,2n−1)3−(deg⁡(y)mod3)(y,i)y∈B3

  • 在:对于每个,我们固定其入射边的有效枚举,其中。我们将,对于,。这为的度数不能被整除的每个顶点留下点。X ∈ 甲(Ý 0,Ĵ 0),... ,(ÿ d - 1,Ĵ d - 1)d = 度(X )˚F (Ý 3 我,Ĵ 3 我)= (Ý 3 我+ 1,Ĵ 3 i + 1)f (y 3 i +Ex∈A(y0,j0),…,(yd−1,jd−1)d=deg⁡(x)f(y3i,j3i)=(y3i+1,j3i+1)˚F( Ý 3 我+ 2, Ĵ 3 我+ 2)=( Ý 3 我, Ĵ 3 我)我<⌊d / 3⌋度(X)MOD3X∈f(y3i+1,j3i+1)=(y3i+2,j3i+2)f(y3i+2,j3i+2)=(y3i,j3i)i<⌊d/3⌋deg⁡(x)mod33x∈A3

由于,它的两个入射边被忽略了;我们使用作为第三点使它们进入另一个循环。其余的点保留为固定点。通过构造,它们中的任何一个都将引起(1)的解。˚F (2 Ñ - 1 ,2 Ñ - 1 )˚Fdeg⁡(u)≡2(mod3)f(2n−1,2n−1)f


1
两种解决方案都是正确的,但是我对类的定义有疑问。在TFNP的定义中,通常至少需要一种解决方案,而我想只需要一种解决方案,那就是TFUP。PPA-3最初是用输入二部图和一个度数不为3的给定顶点定义的,我们需要找到另一个这样的顶点。您关于示例显然在此类中,但是为什么它如此完整?(这可能是众所周知的,但这对我来说是新的。)f
— domotorp

1
(1)我非常明确地强调说,结果不适用于任意TFNP搜索问题,而仅适用于函数。我真的不知道如何使它更加清晰。(2)是的,这等同于PPA-3的通常定义。这应该不难证明。
— EmilJeřábek'17

(1)对不起,在这里我的困惑只是语言上的;在您的原始注释中,您确实强调了单值,但是在您的答案中,您只写了TFNP函数,然后在括号中加上了“ ie”,据我所知。我认为如果您在回答中也写了“单值TFNP函数”,将会更容易理解。
— domotorp

(2)这种等效将是非常令人惊讶的。使用与(1)中类似的技巧,这意味着USAT位于PPA-3中,不是吗?我希望我的问题更有可能与某些TFNP有关,其每个的解决方案数量为1或2 mod 3 (我们需要知道哪个)。顺便说一句,您对(1)的解决方案已经暗示可以解决FullFactoring,这是我最初的动机。n
— domotorp

函数是单值的。这就是功能的含义。我将尝试查找PPA-3上的内容。但是,我不知道它将包括USAT。(1)中的构造不会产生具有的多时间,或者至少我看不到它:显然,一个人不能计算而无需先解决搜索问题。f 3 = i d f (2 m − 1 )ff3=idf(2m−1)
— EmilJeřábek'17

7

如果您能完美生成mod或解决SAT(或其他任何NP完全问题),则。特别是给定SAT公式时,请考虑使用理想的生成器/求解器。Ñ P = C ^ ö Ñ P φ3NP=coNPϕ

令为生成器在大小为输入上绘制的最大随机位数。由于生成器以多项式时间运行,因此是多项式。由于不能被整除,因此必须有一些最多投掷的序列,这将使生成器输出的(正确)答案。因此,如果不满足,则有一组抛硬币使生成器说不满足。如果是可满足的,那么生成器将永远不会错误地声明ñ ℓ (Ñ )2 ℓ (Ñ ) 3ℓ(n)nℓ(n)2ℓ(n)3φ φ φ φ φ ù Ñ 小号甲Ť Ñ P Ñ P = C ^ ö Ñ Pℓ(n)ϕϕϕϕϕ不管是什么硬币,都是无法满足的。因此,我们已经表明,公式满足的语言是,这意味着。 UNSATNPNP=coNP


2
换句话说:我们可以用这种方法解决的任何问题都可以归结为TFNP问题。因此,我们为NPNP的子类而不是NP拍摄。
— EmilJeřábek'17

是的,尽管我不确定唯一性是否必要,或者可以摆脱明显较弱的东西。
— daniello

1
什么的独特性?
— EmilJeřábek'17

“设置是,我们有一个多项式时间谓词和一个多项式,使得对于每个长度为,都存在一个唯一的,长度为,这样成立。给定,计算任务找到。” 我觉得的数目不能被整除就足够了。[刚刚注意到domotorp的新答案]p (n )x n y m = p (n )R (x ,y )x y y 3R(x,y)p(n)xn ym=p(n)R(x,y)xyy3
— daniello

3
好吧,我的答案的第一部分是关于具有独特解决方案的搜索问题的,但是当然没有必要。我的答案的第二部分已经涉及到可能存在许多解决方案的搜索问题。我在上面的评论中所指的是一个简单的观察结果,即如果是一个随机的多重时间算法,它要么生成的均匀随机元素,要么解决了问题,则“给定,计算一串随机位,使解 ”是TFNP问题,并且可简化。不涉及唯一性。{ 0 ,1 ,2 } 小号X 甲小号小号A(x){0,1,2}SxASS
— EmilJeřábek'17

4

因此,这是Emil的论点的扩展,它表明解决方案数目为1、2或4(我们不需要知道哪个)的搜索问题可以通过上述方式解决。我将其发布为答案,因为评论的时间太长了,我希望比我聪明的人可以证明实际上解决方案的数量不能被3整除。

说,一个随机串是接近到的溶液(即,一个针对保持)如果一个,,或成立。(为简单起见,假设和。不是溶液)在埃米尔的溶液,这是足以产生一个随机字符串和输出不同之处在于我们本地小提琴围绕在解决方案; 我不赘述,看他的回答。对我们来说,如果接近解,就可以杀死任意数字y R (x ,y )R (x ,r )R (x ,r + 1 )R (x ,r + 2 )y = 0 y = 1 r r mod 3 r mod 3 r r mod 3 mod 3ryR(x,y)R(x,r)R(x,r+1)R(x,r+2)y=0y=1rrmod3rmod3通过可能输出,使得溶液的其余部分 “S中的函数给出了一个完全均匀的数目。rrmod3mod3

现在,让我们假设任何的解数为1或2 。我们生成两个长度为随机字符串:和。如果它们中至少有一个不是接近解,则输出。为了简单起见,假设等于偶数,那么如果我们这样做,则我们会有一个额外的0,并且还假设如果有两个解,则它们相差很远。如果和都接近于相同的解,则我们四处乱动以便杀死0。如果和接近于不同解,则如果,我们四处乱动以便杀死1,如果n r 1 r 2 r 1 + r 2 mod 3 n r 1 r 2 r 1 r 2 r 1 < r 2 r 1 > r 2xnr1r2r1+r2mod3nr1r2r1r2r1<r2r1>r2,我们四处,以便杀死2。这样,如果只有一个解决方案,我们将恰好杀死一个0,而如果有两个解决方案,我们将杀死两个0,一个为1和1。

此参数不能扩展为3个解决方案,但可以扩展为4个,从这里我将非常粗略。生成四个随机字符串并输出除非它们都接近解。再次假设存在一个额外的0,并且解决方案总是很遥远。如果所有都接近于相同的解,我们将摆弄一个0。如果的三个都接近于同一解,且小于第四个所接近的解,则我们将进行摆弄。周围杀死一个1。如果的三个接近同一解,且大于第四个r 1 + r 2 + r 3 + r 4 mod 3 r i r i r i r i r i r ir1,r2,r3,r4r1+r2+r3+r4mod3ririririri接近时,我们四处杀以杀死2。如果所有都接近于不同的解,则我们杀死三个0。一个和两个解决方案的正确性与前面的情况相似。对于四个解决方案,请注意,我们杀死了四个+三个0,六个1和六个2。ri

我认为最后一段的推论可以扩展到任何数量的解决方案,这些解决方案不能被某些代数3整除。一个更有趣的问题是是否存在适用于多种解决方案的协议。

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.