1
检测功能和实现相似的电路
令为布尔变量的向量。令为上的两个布尔电路。假设在以下情况下与相似:C ,D x C Dx = (x1个,… ,xñ)x=(x1,…,xn)x=(x_1,\dots,x_n)C,DC,DC,DXxxCCCdDD PR [ Ç(x )≠ D (x )]Pr[C(x)≠D(x)]\Pr[C(x) \ne D(x)]当Xxx从\ {0,1 \} ^ n中随机地均匀绘制时,呈指数减小{0,1}n{0,1}n\{0,1\}^n(换句话说,它们具有几乎相同的功能);和, C,DC,DC,D的图形编辑距离相差很小(它们的编辑距离远小于电路的大小,例如O(1)O(1)O(1)或一些小常数),这意味着C的几乎所有门和导线都CCC匹配D中对应的门和导线DDD,仅添加/删除/更改了几个门。 我的问题:给我一个电路CCC,我想知道是否存在一个类似于C但不等于C的电路D(即,存在x使得C(x)\ ne D(x))。DDDCCCCCCXxxC(x )≠ D (x )C(x)≠D(x)C(x)\ne D(x) 谁能提出解决这个问题的算法? 如果有帮助,我们可以将注意力集中在小于给定电路C的电路dDD上(即,我们想知道是否存在一个电路D使得D小于C,D类似于C,并且存在x这样C(x)\ ne D(x))。CCCdDDdDDCCCdDDCCCXxxC(x )≠ D (x )C(x)≠D(x)C(x)\ne D(x) 如果有帮助,则可以额外地假设我们给出已知良好的测试用例X1个,… ,x米,ÿ1个,… ,y米x1,…,xm,y1,…,ymx^1,\dots,x^m,y^1,\dots,y^m,使得C(xi)=yiC(xi)=yiC(x^i)=y^i为所有iii,我们可以进一步将注意力集中在仅电路DDD,使得所有i的D(x ^ i)= y ^ i。D(xi)=yiD(xi)=yiD(x^i)=y^iiii 这是由实际应用引起的,因此,如果您不能解决此问题,请随时解决任何变体或有趣的特殊情况。例如,可以随意使用任何方便的方式实例化任何参数或阈值。您可以假设电路不是太大(多项式大小或其他大小)。可以用其他一些接近实现的方法来替换图形编辑距离。此外,在实践中,SAT解算器通常在实践中出现的结构化电路上出奇地有效,因此将SAT解算器作为子例程/ oracle调用可能很好(至少,如果要在派生的SAT实例上调用它)来自像的电路)。CCC 或者,由于缺乏任何算法,我也会对存在问题感兴趣:对于“平均”电路,存在满足所有条件的的概率是多少?(我希望这种可能性非常低,但是我不知道是这种情况。)dCCCDDD …