Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| 전산물리학:xorsat [2026/10/14 11:24] – created admin | 전산물리학:xorsat [2026/10/14 15:53] (current) – [3-XORSAT의 예] admin | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| $\mathbb{H}$가 $M\times N$ 행렬로서 각각의 원소는 0 또는 1이라고 하자. $\underline{b}$는 0 또는 1을 원소로 가지는 $M$차원 벡터이다. $\mathbb{H} \underline{x} = \underline{b} \bmod 2$를 풀었을 때 $N$차원 벡터인 해 $\underline{x}$의 존재 여부, 혹은 해의 개수에 관심이 있다. $\mathbb{H}$의 각 행이 정확히 $k$개의 1을 포함하면 $k$-XORSAT이라고 불린다. | $\mathbb{H}$가 $M\times N$ 행렬로서 각각의 원소는 0 또는 1이라고 하자. $\underline{b}$는 0 또는 1을 원소로 가지는 $M$차원 벡터이다. $\mathbb{H} \underline{x} = \underline{b} \bmod 2$를 풀었을 때 $N$차원 벡터인 해 $\underline{x}$의 존재 여부, 혹은 해의 개수에 관심이 있다. $\mathbb{H}$의 각 행이 정확히 $k$개의 1을 포함하면 $k$-XORSAT이라고 불린다. | ||
| - | ====예==== | + | 예를 들어 |
| - | 아래의 XORSAT은 충족 가능하다. | + | |
| \begin{eqnarray*} | \begin{eqnarray*} | ||
| x_1 \oplus x_2 \oplus x_4 &=& 0\\ | x_1 \oplus x_2 \oplus x_4 &=& 0\\ | ||
| x_2 \oplus x_4 \oplus x_3 &=& 0\\ | x_2 \oplus x_4 \oplus x_3 &=& 0\\ | ||
| - | x_1 \oplus x_2 \oplus x_3 & | + | x_1 \oplus x_2 \oplus x_3 & |
| \end{eqnarray*} | \end{eqnarray*} | ||
| 이때 $M=3$, $N=4$로서 | 이때 $M=3$, $N=4$로서 | ||
| Line 15: | Line 14: | ||
| 1 & 1 & 1 & 0 | 1 & 1 & 1 & 0 | ||
| \end{pmatrix} \] | \end{pmatrix} \] | ||
| - | 이고 $\underline{b} = (0,0,0)^\intercal$이다. 가우스 소거법을 사용하면 아래 식으로 바꾸어 쓸 수 있다: | + | 이고 $\underline{b} = (0,0,1)^\intercal$이다. 가우스 소거법을 사용하면 아래 식으로 바꾸어 쓸 수 있다: |
| \[\begin{pmatrix} | \[\begin{pmatrix} | ||
| 1 & 0 & 0 & 1\\ | 1 & 0 & 0 & 1\\ | ||
| Line 25: | Line 24: | ||
| \end{pmatrix} | \end{pmatrix} | ||
| = \begin{pmatrix} | = \begin{pmatrix} | ||
| - | 0 \\ 0 \\ 0 | + | 1 \\ 1 \\ 1 |
| \end{pmatrix}. | \end{pmatrix}. | ||
| \] | \] | ||
| - | 대각선의 오른편에 있는 변수인 $x_4$의 값은 임의로 1로 지정하자. 그러면 $x_1=1$, $x_2=0$, 그리고 $x_3=1$로 결정되어 자명하지 않은 해를 하나 얻을 수 있다. | + | 대각선의 오른편에 있는 변수인 $x_4$의 값은 임의로 1로 지정하자. 그러면 $x_1=0$, $x_2=1$, 그리고 $x_3=0$로 결정되어 자명하지 않은 해를 하나 얻을 수 있다. $x_4=0$으로 놓으면 $x_1=1$, $x_2=1$, $x_3=1$이라는 해를 얻는다. |
| 이처럼 가우스 소거법으로 풀 수 있으므로 다항 시간 문제(P)에 속한다. | 이처럼 가우스 소거법으로 풀 수 있으므로 다항 시간 문제(P)에 속한다. | ||
| + | |||
| + | 만일 위 세 개의 방정식 말고도 $x_1 \oplus x_2 \oplus x_4 = 1$이라는 방정식이 추가되었다면 첫 방정식과 모순이므로 해가 존재할 수 없다. | ||
| + | |||
| + | 해의 집합을 $\mathcal{S}$, | ||
| + | \[ \mu(\underline{x}) = \frac{1}{Z} \mathbb{I} \left(\mathbb{H}\underline{x} = \underline{b} \bmod 2\right) = \frac{1}{Z} \prod_{a=1}^M \psi_a (\underline{x}_{\partial a}).\] | ||
| + | 이때 $\partial a = \left( i_a(1), \ldots, i_a(k) \right)$이고 | ||
| + | \[ \psi_a (\underline{x}_{\partial a}) = \mathbb{I} \left( x_{i_1(a)} \oplus \ldots \oplus x_{i_k(a)} = b_a \right) \] | ||
| + | 이며, $\mathbb{I}$는 명제가 참일 때 1, 거짓일 때 0을 돌려주는 함수이다. 위의 예에서는 $\partial 1 = (1,2,4)$, $\partial 2 = (2,3,4)$, 그리고 $\partial 3 = (1, | ||
| + | |||
| + | 선형대수로부터 다음의 사실이 알려져 있다: | ||
| + | * $\operatorname{rank}\mathbb{H} = M$이어서 모든 행이 선형독립이라면, | ||
| + | * $\operatorname{rank}\mathbb{H}< | ||
| + | |||
| + | 방정식 $\mathbb{H} \underline{x} = \underline{b}$에 해가 존재한다면(표기를 간편하게 하기 위해 $\bmod 2$는 앞으로 생략한다), | ||
| + | |||
| + | *$\mathbb{H}\underline{x} = \underline{0}$을 동차(homogeneous) 방정식이라 하고 그 해의 집합을 $\mathcal{S}_0$라고 하자. $\mathbb{H} \underline{x} = \underline{b}$의 특수해 $\underline{x}_\ast$가 있을 때, $\mathcal{S} = \underline{x}_\ast + \mathcal{S}_0$이다. 달리 말해서, 동차 방정식 $\mathbb{H}\underline{x} = \underline{0}$를 만족하는 해의 수가 $Z_0 = 2^{N-M}$이라면, | ||
| + | * 반면 $Z_0 > 2^{N-M}$이라면, | ||
| + | \[\mathbb{H} = \begin{pmatrix} | ||
| + | 1 & 0 & 0 & 1\\ | ||
| + | 0 & 1 & 0 & 0\\ | ||
| + | 0 & 0 & 0 & 0 | ||
| + | \end{pmatrix}. | ||
| + | \] | ||
| + | |||
| + | ====3-XORSAT의 예==== | ||
| + | $N=M=6$인 경우이다: | ||
| + | \[ \mathbb{H} = \begin{pmatrix} | ||
| + | 0 & 1 & 0 & 1 & 1 & 0\\ | ||
| + | 1 & 0 & 0 & 1 & 0 & 1\\ | ||
| + | 0 & 1 & 0 & 0 & 1 & 1\\ | ||
| + | 1 & 0 & 1 & 0 & 0 & 1\\ | ||
| + | 0 & 1 & 0 & 1 & 0 & 1\\ | ||
| + | 1 & 0 & 1 & 0 & 1 & 0 | ||
| + | \end{pmatrix}. | ||
| + | \] | ||
| + | 가우스 소거법을 시행하면 다음을 얻는다: | ||
| + | \[ \begin{pmatrix} | ||
| + | 1 & 0 & 0 & 0 & 0 & 0\\ | ||
| + | 0 & 1 & 0 & 0 & 0 & 0\\ | ||
| + | 0 & 0 & 1 & 0 & 0 & 1\\ | ||
| + | 0 & 0 & 0 & 1 & 0 & 1\\ | ||
| + | 0 & 0 & 0 & 0 & 1 & 1\\ | ||
| + | 0 & 0 & 0 & 0 & 0 & 0\\ | ||
| + | \end{pmatrix}. | ||
| + | \] | ||
| + | 따라서 $\operatorname{rank}\mathbb{H} =5$이고 $\mathcal{S}_0 = \{(0, | ||
| + | |||
| + | 위 문제에 해당하는 [[수학: | ||
| + | |||
| + | |||
| + | |||
| ======참고문헌====== | ======참고문헌====== | ||
| * https:// | * https:// | ||
| * M. Mézard and A. Montanari, // | * M. Mézard and A. Montanari, // | ||