INPUT: A Boolean formula F and a truth assignment A of the variables in F.
OUTPUT: 1 if A makes F true, and 0 otherwise.
Moreover, most computer scientists believe that there is no fast efficient parallel algorithm for the Boolean Value Problem. You want to find a fast efficient parallel algorithm for some new problem N. After much effort you can not find a fast efficient parallel algorithm for N, nor a proof that N does not have a fast efficient parallel algorithm. How could you give evidence that finding a fast efficient parallel algorithm for N is at least a hard of a problem as finding a fast efficient parallel algorithm for Boolean Formula Value problem? Be as specific as possible, and explain how convincing the evidence is.
Note that ``fast and efficient'' means poly-log time with a polynomial number of processors. The term ``poly-log'' means bounded by for some constant k.
For example, you can convert A=abcabc to B=aba via the following sequence: abcabc at a cost of 5 can be converted to abcabca, which at a cost of 66 can be converted to abc, which at cost of 6 can be converted to aba. Thus the total cost for this conversion would be 77. This conversion is clearly not optimal.
INPUT: A graph G with 2n vertices.
OUTPUT: 1 if G contains a simple cycle with n edges, and 0 otherwise.
Use the fact the the following problem is NP-hard:
INPUT: A graph G.
OUTPUT: 1 if G contains a simple cycle that spans G, and 0 otherwise.
Note that a cycle is simple if it doesn't visit any vertex more than once. A cycle spans G if every vertex is included in the cycle.