Chúng ta có thể nhanh chóng tạo ra mod 3 hoàn toàn thống nhất hoặc giải quyết vấn đề NP không?


13

Thành thật mà nói, tôi không biết nhiều về cách tạo số ngẫu nhiên (bình luận được chào đón!) Nhưng hãy giả sử mô hình lý thuyết sau: Chúng ta có thể lấy số nguyên ngẫu nhiên từ [ 1 , 2 n ][1,2n] và mục tiêu của chúng tôi là đầu ra một số nguyên thống nhất ngẫu nhiên từ [1,3].

Một giải pháp đơn giản mà thời gian chạy dự kiến là đa thức là như sau. Hủy 2 n2n (và có thể cả 2 n - 12n1 ) từ [ 1 , 2 n ][1,2n] để số nguyên còn lại chia hết cho 33 để chúng ta có thể lấy mod 3mod3 của số nguyên được tạo. Nếu chúng tôi nhận được một số bị loại bỏ, chúng tôi tạo ra một số khác, cho đến khi chúng tôi nhận được một số không bị loại bỏ.

Nhưng nếu chúng ta muốn chấm dứt chắc chắn trong thời gian đa thức thì sao? Vì vấn đề chia rẽ, vấn đề trở nên không thể giải quyết được. Tuy nhiên, tôi tự hỏi nếu chúng ta có thể giải quyết sau đây.

Giả sử chúng ta có thể tạo các số nguyên ngẫu nhiên đồng đều từ [ 1 , 2 n ][1,2n] và chúng ta gặp phải một vấn đề khó tính toán. Mục tiêu của chúng tôi là đưa ra một số nguyên ngẫu nhiên thống nhất từ ​​[1,3] hoặc giải quyết vấn đề khó khăn.

Ở đây, bài toán khó có thể là bao thanh toán một số nguyên, giải một thể hiện SAT hoặc bất cứ thứ gì tương tự. Ví dụ: chúng ta có thể giải mã hoán vị một chiều ff như sau, nếu chúng ta được cho một số f ( x )f(x) (và giả sử nn là chẵn): Nếu cho chuỗi ngẫu nhiên f ( r ) < f ( x ) của chúng taf(r)<f(x) , thì hãy lấy f ( r ) mod 3f(r)mod3 , nếu f ( r ) > f ( x )f(r)>f(x) , thì lấy f ( r ) - 1mod 3f(r)1mod3 . Cuối cùng, nếu f ( r ) = f ( x )f(r)=f(x) , thì chúng ta đã hoàn thành, như r = xr=x . (Nếu nn là số lẻ, thì một cái gì đó tương tự hoạt động, chỉ cần chúng ta cũng phải kiểm tra xem f ( r + 1 ) = f ( x )f(r+1)=f(x) và trừ 22 nếu f ( r ) > f ( x )f(r)>f(x) .)

Tóm tắt câu trả lời. Emil Jeřábek đã chỉ ra rằng trừ khi chúng ta có thể tạo ra một cách hoàn toàn thống nhất, chúng ta có thể giải quyết bất kỳ vấn đề tìm kiếm có giá trị nào từ TFNP, và từ PPA-3. Mặt khác, daniello đã chỉ ra rằng chúng ta không thể giải quyết các vấn đề hoàn thành NP theo cách trên, trừ khi NP = co-NP.


@Tayfun Nếu nn chẵn, chúng ta cần 2 n - 12n1 để chia hết cho 33 , nếu nn là số lẻ, đó là khi chúng ta cần 2 n - 22n2 để chia hết cho 33 . Tôi rất vui nếu bạn cụ thể hơn về phần tôi nên nói cụ thể hơn.
domotorp 15/03/2017

(1) Bạn có thể khái quát ví dụ bằng hoán vị một chiều để giải các hàm (giá trị đơn) trong TFNP. (2) Bạn có thể giải quyết các vấn đề tìm kiếm PPA-3 tùy ý.
Emil Jeřábek hỗ trợ Monica

@Emil (1): Thế nào? (2): Tôi cũng đã nghĩ rằng đây có thể là lớp phức tạp phù hợp, nhưng tôi không hiểu tại sao chúng ta có thể giải quyết các vấn đề như vậy.
domotorp

Tôi sẽ cố gắng viết nó lên như một câu trả lời sau. Btw, câu hỏi rất thú vị, tôi không biết thỏa thuận với tất cả các downvote là gì.
Emil Jeřábek hỗ trợ Monica

2
Các downvote là kỳ lạ. Đây là một câu hỏi rất hay! Và tôi thấy không có gì không rõ ràng về nó.
Sasho Nikolov

Câu trả lời:


6

Theo dõi câu trả lời của domotorp, tôi tin rằng chúng ta có thể giải quyết các vấn đề tìm kiếm NP thỏa mãn một trong những hạn chế sau:

  1. số lượng các giải pháp đã biết và không chia hết cho 33 ; hoặc là,

  2. số lượng các giải pháp được giới hạn đa thức (nhưng không được biết trước).

Đối với 1., chúng ta có thể sử dụng phần đệm đơn giản để giảm đến trường hợp sau:

  • Các giải pháp là từ [ 0 , 2 m - 1 )[0,2m1) , trong đó mm là chẵn.

  • Số lượng các giải pháp củas thỏa mãn s 1( mod3 )s1(mod3) .

  • Bất kỳ hai giải pháp là ít nhất khoảng cách 44 . (Nói, tất cả đều chia hết cho 4.4 )

Lưu ý rằng 3 2 m - s32ms . Vì vậy, chúng ta có thể giải quyết vấn đề bằng cách chọn ngẫu nhiên a [ 0 , 2 m )a[0,2m) và sử dụng một giao thức tương tự như trong câu trả lời của tôi cho các giải pháp duy nhất nếu a [ 0 , 2 m - s )a[0,2ms) (dẫn đến phân phối trên { 0 , 1 , 2 }{0,1,2} ngắn một 00 cho mỗi giải pháp ss ) và xuất 00 nếu a [2 m - s , 2 m ) .a[2ms,2m)

Đối 2., giả sử đầu tiên mà số giải pháp s p ( n ) được biết đến . Như trong /cstheory//a/37546 , hãy để 3 klũy thừa lớn nhất của 3 chia cho s , sao cho 3 ( ssp(n)3k3s3 k ). Xét bài toán tìm kiếm có giải pháp chuỗiy0,...,y3k-1ví dụ mày0<y1<<y3k-1, và mỗiyilà một giải pháp của vấn đề gốc. Một mặt, vấn đề ban đầu giảm xuống cái mới. Mặt khác, số lượng giải pháp của vấn đề mới là(s3(s3k)y0,,y3k1y0<y1<<y3k1yi3 k ), nghĩa là không chia hết cho3và đã biết. Vì vậy, chúng tôi được thực hiện bởi 1.(s3k)3

Bây giờ, nếu số lượng các giải pháp được bao bọc bởi p ( n ) , nhưng không biết đến, chúng tôi chạy giao thức trên 2 lần ( 2 p ( n ) ) song song cho mỗi sự lựa chọn có thể của 1 s 2 , và:p(n)22p(n)1s2

  • nếu bất kỳ luồng nào trả về một giải pháp cho vấn đề ban đầu, chúng ta chuyển một luồng như vậy cho đầu ra;

  • nếu tất cả các chủ đề trở lại các yếu tố r 1 , ... , r 2 { 0 , 1 , 2 } , chúng tôi đầu ra ( r 1 + r 2 + + r 2 ) mod 3 .r1,,r2{0,1,2}(r1+r2++r2)mod3

Lạnh trên các sự kiện thứ hai, r s được phân bố đều trong { 0 , 1 , 2 } cho s là số thực sự của các giải pháp của vấn đề ban đầu, trong khi người kia r i là độc lập từ r s , do đó toàn bộ số tiền cũng là thống nhất phân phối.rs{0,1,2}srirs


Khái quát chung của 1 và 2 là số lượng các giải pháp xuất phát từ một danh sách các số tính toán theo thời gian đa thức, sao cho lũy thừa lớn nhất của 3 chia cho bất kỳ trong số chúng là giới hạn đa thức. 3
Emil Jeřábek hỗ trợ Monica

Btw, bạn có biết bất kỳ vấn đề không tổng hợp nào trong đó số lượng các giải pháp có thể được chứng minh là chia hết cho một số công suất siêu đa thức của 3 không? Theo tổng hợp, tôi có nghĩa là một cái gì đó giống như lấy sản phẩm trực tiếp của một số vấn đề trong đó số lượng giải pháp chia hết cho 3 - các vấn đề tổng hợp có thể được giải quyết dễ dàng theo cách trên. 33
domotorp

Tôi nghĩ rằng có thể chứng minh rằng có một lời sấm truyền theo đó một số sức mạnh siêu đa thức của 3 vấn đề không thể được giải quyết theo cách trên.
domotorp

@domotorp Điều đó thật thú vị, tôi đã giải trí khả năng rằng một số loại đối số Valiant trên Vazirani có thể được sử dụng để giải quyết các vấn đề TFNP tùy ý. Dù sao, đặc tính vẫn chưa hoàn thành. Tôi đặc biệt không hài lòng về hạn chế trong câu trả lời này rằng số lượng giải pháp đã biết hoặc ít nhất là đến từ danh sách có thể xây dựng theo thời gian đa thức. Đối với một điều, lớp các vấn đề như vậy rõ ràng là không thể so sánh được với PPA-3 từ câu trả lời khác của tôi, vì vậy sẽ rất tốt nếu có một công trình tổng quát hóa cả hai. AFAICS giới hạn trên duy nhất là mọi vấn đề đều có thể giải quyết được ...
Emil Jeřábek hỗ trợ Monica

... in the above way is reducible to a TFNP problem whose number of solutions is 11 modulo 33 (but not known). It’s not clear to me whether to expect that this is the right class, or whether some additional restriction is needed after all.
Emil Jeřábek supports Monica

10

I will use numbers starting from 00 rather than 11, as I find it much more natural.

Here are two classes of problems we can solve in this way:

  1. Functions in TFNP (i.e., single-valued total NP search problems)

    (This generalizes the example with one-way permutations. It includes as a special case decision problems from UPcoUPUPcoUP.)

    The setup is that we have a polynomial-time predicate R(x,y)R(x,y), and a polynomial p(n)p(n) such that for every xx of length nn, there exists a unique yy of length m=p(n)m=p(n) such that R(x,y)R(x,y) holds. The computational task is, given xx, find yy.

    Now, I will assume wlog that mm is even, so that 2m1(mod3)2m1(mod3). The algorithm is to generate a uniformly random y[0,2m)y[0,2m), and output

    • yy (as a solution of the search problem) if R(x,y)R(x,y);

    • yyyy (as a random element of {0,1,2}{0,1,2}) if yy{1,2}yy{1,2}, and R(x,y)R(x,y);

    • ymod3ymod3 (as a random element of {0,1,2}{0,1,2}) if no y{y,y1,y2}y{y,y1,y2} solves R(x,y)R(x,y).

    If there were no solution of the search problem, the 2m2m random choices would give 11 and 22 (2m1)/3(2m1)/3 times, and 00 (2m+2)/3(2m+2)/3 times (one more). However, if yy solves the search problem, we tinkered with the elements y,y+1,y+2y,y+1,y+2 (which hit all three residue classes) so that they only produce residues 11 and 22, which evens out the advantage of 00. (I am assuming here wlog that y<2m2y<2m2.)

  2. PPA-33 search problems

    A convenient way to define PPA-33 is as NP search problems many-one reducible to the following kind of problems. We have a fixed polynomial-time function f(x,y)f(x,y), and a polynomial p(n)p(n), such that for any input xx of length nn, the induced mapping fx(y)=f(x,y)fx(y)=f(x,y) restricted to inputs yy of length m=p(n)m=p(n) is a function fx:[0,2m)[0,2m)fx:[0,2m)[0,2m) satisfying fx(fx(fx(y)))=yfx(fx(fx(y)))=y for every yy. The task is, given xx, find a fixpoint yy of fxfx: fx(y)=yfx(y)=y.

    We can solve this in the way in the question as follows: given xx of length nn, we generate a random yy of length m=p(n)m=p(n), and output

    • yy if it is a fixpoint of fxfx;

    • otherwise, yy, fx(y)fx(y), and fx(fx(y))fx(fx(y)) are distinct elements. We can label them as {y,fx(y),fx(fx(y))}={y0,y1,y2}{y,fx(y),fx(fx(y))}={y0,y1,y2} with y0<y1<y2y0<y1<y2, and output i{0,1,2}i{0,1,2} such that y=yiy=yi.

    It is clear from the definitions that this gives a uniform distribution on {0,1,2}{0,1,2}, as the non-fixpoint yy's come in triples.


Let me show for the record the equivalence of the problem above with Papadimitriou’s complete problem for PPA-33, as this class is mostly neglected in the literature. The problem is mentioned in Buss, Johnson: “Propositional proofs and reductions between NP search problems”, but they do not state the equivalence. For PPA, a similar problem (LONELY) is given in Beame, Cook, Edmonds, Impagliazzo, and Pitassi: “The relative complexity of NP search problems”. There is nothing special about 33, the argument below works mutatis mutandis for any odd prime.

Proposition: The following NP search problems are poly-time many-one reducible to each other:

  1. Given a circuit representing a bipartite undirected graph (AB,E)(AB,E), and a vertex uABuAB whose degree is not divisible by 33, find another such vertex.

  2. Given a circuit representing a directed graph (V,E)(V,E), and a vertex uVuV whose degree balance (i.e., out-degree minus in-degree) is not divisible by 33, find another such vertex.

  3. Given a circuit computing a function f:[0,2n)[0,2n)f:[0,2n)[0,2n) such that f3=idf3=id, find a fixpoint of ff.

Proof:

1p21p2 is obvious, as it suffices to direct the edges from left to right.

2p12p1: First, let us construct a weighted bipartite graph. Let AA and BB be copies of VV: A={xA:xV}A={xA:xV}, B={xB:xV}B={xB:xV}. For each original edge xyxy, we put in an edge {xA,yB}{xA,yB} of weight 11, and an edge {xB,yA}{xB,yA} of weight 11. This makes deg(xA)=deg(xB)deg(xA)=deg(xB) equal to the degree balance of xx in the original graph. If uu is the given vertex of balance b0(mod3)b≢0(mod3), we add an extra edge {uA,uB}{uA,uB} of weight bb, so that deg(uA)=2b0(mod3)deg(uA)=2b≢0(mod3), and deg(uB)=0deg(uB)=0. uAuA will be our chosen vertex.

In order to make the graph a plain unweighted undirected graph, we first reduce all weights modulo 33, and drop all edges of weight 00. This leaves only edges of weights 11 and 22. The latter can be replaced with suitable gadgets. For example, instead of a weight-22 edge {xA,yB}{xA,yB}, we include new vertices wAiwAi, zBizBi for i=0,,3i=0,,3, with edges {xA,yB}{xA,yB}, {xA,zBi}{xA,zBi}, {wAi,yB}{wAi,yB}, {wAi,zBi}{wAi,zBi}, {wAi,zB(i+1)mod4}{wAi,zB(i+1)mod4}: this makes deg(wAi)=deg(zBi)=3deg(wAi)=deg(zBi)=3, and contributes 52(mod3)52(mod3) to xAxA and yByB.

3p23p2: Let me assume for simplicity nn is even so that 2n1(mod3). We construct a directed graph on V=[0,2n) as follows:

  • We include edges 3x+13x and 3x+23x for each x<2n/31.

  • If x0<x1<x2 is a non-fixpoint orbit of f, we include edges x0x1 and x0x2.

The chosen vertex will be u=2n1. The first clause contributes balance 1 or 21(mod3) to each vertex u. Likewise, the second clause contributes balance 1 or 21(mod3) to vertices that are not fixpoints. Thus, assuming u is not already a fixpoint, it is indeed unbalanced modulo 3, and any other vertex unbalanced modulo 3 is a fixpoint of f.

1p3: We may assume that A=B=[0,2n) with n even, and the given vertex uA has degree 2(mod3).

We can efficiently label edges incident with a vertex yB as (y,j), where j<deg(y). In this way, E becomes a subset of [0,2n)×[0,2n), which we identify with [0,22n). We define a function f on [0,2n)×[0,2n) as follows.

  • On the complement of E: for each yB, and j such that deg(y)3j<2n1, we make f(y,3j)=(y,3j+1), f(y,3j+1)=(y,3j+2), f(y,3j+2)=(y,3j). Also, f(3i,2n1)=(3i+1,2n1), f(3i+1,2n1)=(3i+2,2n1), f(3i+2,2n1)=(3i,2n1) for 3i<2n1. This leaves out the point (2n1,2n1), and 3(deg(y)mod3) points (y,i) for each yB whose degree is not divisible by 3.

  • On E: for each xA, we fix an efficient enumeration of its incident edges (y0,j0),,(yd1,jd1), where d=deg(x). We put f(y3i,j3i)=(y3i+1,j3i+1), f(y3i+1,j3i+1)=(y3i+2,j3i+2), f(y3i+2,j3i+2)=(y3i,j3i) for i<d/3. This leaves out deg(x)mod3 points for each vertex xA whose degree is not divisible by 3.

Since deg(u)2(mod3), two of its incident edges were left out; we make them into yet another f cycle using (2n1,2n1) as the third point. The remaining points are left as fixpoints of f. By construction, any of them will give rise to a solution of (1).


1
Both solutions are correct, but I have a problem with the definitions of the classes. In the definition of TFNP, usually at least one solution is required to exist, while you want exactly one, which would be TFUP, I guess. PPA-3 is originally defined with input a bipartite graph and a given vertex whose degree is not 3, and we need to find another such vertex. Your example with f is obviously in this class, but why is it complete for it? (This might be well-known, but it's new to me.)
domotorp

1
(1) I stressed very explicitly that the result does not apply to arbitrary TFNP search problems, but only to functions. I really don’t know how to make it even more clear. (2) Yes, this is equivalent to the usual definition of PPA-3. This shouldn’t be difficult to show.
Emil Jeřábek supports Monica

(1) Sorry, here my confusion was only linguistic; in your original comment you've indeed emphasized single valued, but in your answer you wrote just TFNP functions, and then added in parenthesis the "i.e." which makes equivalent as far as I know. I think it would be easier to understand if you wrote "single-valued TFNP functions" in your answer too.
domotorp

(2) This equivalence would be very surprising. With a similar trick that you've used in (1), it would imply that USAT is in PPA-3, wouldn't it? I would expect it more probable that my problem is related to some TFNP whose number of solutions is 1 or 2 mod 3 for each n (and we need to know which). Btw, your solution for (1) already implies that FullFactoring can be solved, which was my original motivation.
domotorp

Functions are single-valued. That's what function means. I'll try to look up the stuff on PPA-3. However, I don't see how it would include USAT. The construction in (1) does not produce a poly-time f with f3=id, or at least I don't see it: for the obvious choice, one cannot compute f(2m1) without solving the search problem first.
Emil Jeřábek supports Monica

7

If you could perfectly generate mod 3 OR solve SAT (or any other NP-complete problem, for that matter) then NP=coNP. In particular, consider the perfect generator / solver when given a SAT formula ϕ.

Let (n) be the maximum number of random bits drawn by the generator on inputs of size n. Since the generator runs in polynomial time, (n) is polynomial. Since 2(n) is not divisible by 3 there must be some sequence of at most (n) coin tosses that will make the generator output a (correct) answer for ϕ. Thus, if ϕ is unsatisfiable, there is a set of coin tosses that make the generator say that ϕ is unsatisfiable. If ϕ is satisfiable then the generator will never wrongly claim that ϕ is unsatisfiable, no matter what the coins are. Thus, we have shown that the language UNSAT of unsatisfiable formulas is in NP, implying NP=coNP.


2
In other words: whatever we can solve in this way is reducible to a TFNP problem. So, rather than NP, we sould shoot for subclasses of TFNP.
Emil Jeřábek supports Monica

Yes, although i'm not certain that uniqueness is necessary, or one can get away with something significantly weaker.
daniello

1
Uniqueness of what?
Emil Jeřábek supports Monica

"The setup is that we have a polynomial-time predicate R(x,y), and a polynomial p(n) such that for every x of length n, there exists a unique y of length m=p(n) such that R(x,y) holds. The computational task is, given x, find y." I have a feeling that the number of y's not being divisible by 3 could be enough. [Just noticed domotorp's new answer]
daniello

3
Well, the first part of my answer is about search problems with a unique solution, but that of course is not necessary. Already the second part of my answer is about search problems with potentially many solutions. What I meant by my comment above is the simple observation that if A(x) is a randomized poly-time algorithm that either generates a uniformly random element of {0,1,2}, or solves a problem S, then “given x, compute a string of random bits that makes A solve S” is a TFNP problem, and S is reducible to it. No uniqueness involved.
Emil Jeřábek supports Monica

4

So here is an extension of Emil's argument that shows that search problems where the number of solutions is 1, 2 or 4 (we do not need to know which) can be solved in the above way. I'm posting it as an answer because it's way too long for a comment and I hope that someone smarter than me can prove that in fact the number of solutions can be anything not divisible by 3.

Say that a random string r is close to a solution (i.e., to a y for which R(x,y) holds) if one of R(x,r), R(x,r+1), or R(x,r+2) holds. (For simplicity, suppose that y=0 and y=1 are not solutions.) In Emil's solution, it was enough to generate a random string r and output rmod3 except that we locally fiddle around at solutions; I don't go into details, see his answer. It is enough for us that if r is close to a solution, then we can kill an arbitrary numbermod3 by possibly outputting a solution so that for the rest of the r's the rmod3 function gives a perfectly uniform numbermod3.

Now, let us suppose that the number of solutions is 1 or 2 for any x. We generate two random strings of length n: r1 and r2. If at least one of them is not close to a solution, we output r1+r2mod3. For simplicity, suppose that n is even so that we have an extra 0 if we just did this, and also suppose that if there are two solutions, they are far. If r1 and r2 are both close to the same solution, we fiddle around so that we kill a 0. If r1 and r2 are close to different solutions, then if r1<r2, we fiddle around so that we kill a 1, and if r1>r2, we fiddle around so that we kill a 2. This way if there is only one solution, we kill exactly one 0, while if there are two solutions, we kill two 0's, and one 1 and one 2.

This argument cannot be extended to 3 solutions, but can be for 4, and from here I'll be very sketchy. Generate four random strings, r1,r2,r3,r4 and output r1+r2+r3+r4mod3 unless all of them are close to a solution. Again suppose that there's an extra 0 and solutions are always far. If all the ri's are close to the same solution, we fiddle around to kill a 0. If three of the ri's are close to the same solution that is smaller than the solution to which the fourth ri is close, we fiddle around to kill a 1. If three of the ri's are close to the same solution that is larger than the solution to which the fourth ri is close, we fiddle around to kill a 2. If all the ri's are close to a different solution, we kill three 0's. The correctness for one and two solutions is similar to the previous case. For four solutions, notice that we kill four+three 0's, six 1's and six 2's.

I think that the reasoning of the the last paragraph could be extended to any bounded number of solutions that is not divisible by 3 with some algebra. A more interesting question is whether there is a protocol that works for any number of solutions.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.