logo

프레드킨/CSWAP 게이트 📂양자정보이론

프레드킨/CSWAP 게이트

양자정보이론
[ 펼치기 · 접기 ]

정의1

다음과 같은 벡터값 부울함수프레드킨 게이트Fredkin gate라고 한다.

$$ F : \left\{ 0, 1 \right\}^{3} \to \left\{ 0, 1 \right\}^{3} $$

$$ F (a, b, c) = \Big(a, (\lnot a \land b) \lor (a \land c), (\lnot a \land c) \lor (a \land b) \Big) $$

  • $\text{CSWAP}$ 게이트Controlled SWAP(CSWAP) gate라고도 한다.

설명

에드워드 프레드킨Edward Fredkin에 의해 소개되었다. 프레드킨 게이트는 첫번째 입력은 바꾸지않고, 첫번째 입력이 $1$인 경우에는 나머지 두 값을 교환swap하여 출력한다. 그 구체적인 계산은 다음과 같다.

$$ \begin{align*} F (0,0,0) &= (0, (\lnot 0 \land 0) \lor (0 \land 0), (\lnot 0 \land 0) \lor (0 \land 0)) = (0, 0 \lor 0, 0 \lor 0) = (0, 0, 0) \\ F (0,0,1) &= (0, (\lnot 0 \land 0) \lor (0 \land 1), (\lnot 0 \land 1) \lor (0 \land 0)) = (0, 0 \lor 0, 1 \lor 0) = (0, 0, 1) \\ F (0,1,0) &= (0, (\lnot 0 \land 1) \lor (0 \land 0), (\lnot 0 \land 0) \lor (0 \land 1)) = (0, 1 \lor 0, 0 \lor 0) = (0, 1, 0) \\ F (0,1,1) &= (0, (\lnot 0 \land 1) \lor (0 \land 1), (\lnot 0 \land 1) \lor (0 \land 1)) = (0, 1 \lor 0, 1 \lor 0) = (0, 1, 1) \\ F (1,0,0) &= (1, (\lnot 1 \land 0) \lor (1 \land 0), (\lnot 1 \land 0) \lor (1 \land 0)) = (1, 0 \lor 0, 0 \lor 0) = (1, 0, 0) \\ F (1,0,1) &= (1, (\lnot 1 \land 0) \lor (1 \land 1), (\lnot 1 \land 1) \lor (1 \land 0)) = (1, 0 \lor 1, 0 \lor 0) = (1, 1, 0) \\ F (1,1,0) &= (1, (\lnot 1 \land 1) \lor (1 \land 0), (\lnot 1 \land 0) \lor (1 \land 1)) = (1, 0 \lor 0, 0 \lor 1) = (1, 0, 1) \\ F (1,1,1) &= (1, (\lnot 1 \land 1) \lor (1 \land 1), (\lnot 1 \land 1) \lor (1 \land 1)) = (1, 0 \lor 1, 0 \lor 1) = (1, 1, 1) \\ \end{align*} $$

위 표를 보면 $F$가 가역 함수라는 사실과 $F$를 두 번 합성하면 항등함수가 됨을 쉽게 알 수 있다.

$$ \operatorname{Id} = F \circ F $$

또한 $\left\{ F \right\}$가 함수적으로 완전하므로, $F$는 범용 게이트이다.

부울 함수기호
$F$
진리표
입력출력
$a$$b$$c$$a$$ (\lnot a \land b) \lor (a \land c)$$ (\lnot a \land c) \lor (a \land b)$
$0$$0$$0$$0$$0$$0$
$0$$0$$1$$0$$0$$1$
$0$$1$$0$$0$$1$$0$
$0$$1$$1$$0$$1$$1$
$1$$0$$0$$1$$0$$0$
$1$$0$$1$$1$$1$$0$
$1$$1$$0$$1$$0$$1$
$1$$1$$1$$1$$1$$1$

정리

(사영과 주입을 제약없이 쓸 수 있다고 가정하면) 프레드킨 게이트 $F$는 범용 게이트이다. 다시말해 $\left\{ F \right\}$는 함수적으로 완전하다.

증명

정리

$\text{NOT}$ 게이트와 $\text{AND}$ 게이트의 집합 $\left\{ \lnot, \land \right\}$은 함수적으로 완전하다.

위의 정리에 따라 사영, 주입, $F$를 적절히 사용하여 $\text{NOT}$, $\text{AND}$를 표현할 수 있음을 보이면 증명이 끝난다.

  • $\text{NOT}$ 게이트

    $$ \lnot = p_{0} \circ p_{1} \circ F \circ \jmath_{2} \circ \imath_{1} $$

    가 성립한다. 우선 $\jmath_{2} \circ \imath_{1} (a) = (a, 0, 1)$이므로 다음을 얻는다.

    $$ \begin{equation} F \circ \jmath_{2} \circ \imath_{1}(a) = F(a, 0, 1) = (a, a, \lnot a) \end{equation} $$

    여기서 앞의 두 값을 지우기 위해 $p_{0} \circ p_{1}$를 취하면,

    $$ p_{0} \circ p_{1} \circ F \circ \jmath_{2} \circ \imath_{1} (a) = p_{0} \circ p_{1} (a, a, \lnot a) = \lnot a $$

    ※ 추가적으로 $(1)$에 $p_{2}$을 적용하면 복제 함수를 얻는다.

  • $\text{AND}$ 게이트

    $$ \land = p_{0} \circ p_{1} \circ F \circ \imath_{2} $$

    가 성립한다. 우선 $F \circ \jmath_{2} (a, b)$는 다음과 같다.

    $$ \begin{align*} F \circ \jmath_{2} (a, b) = F(a, b, 0) &= (a, (\lnot a \land b) \lor (a \land 0), (\lnot a \land 0) \lor (a \land b)) \\ &= (a, (\lnot a \land b) \lor 0, 0 \lor (a \land b)) \\ &= (a, \lnot a \land b, a \land b) \end{align*} $$

    따라서 $p_{0} \circ p_{1}$를 취하면,

    $$ p_{0} \circ p_{1} \circ F \circ \imath_{2} (a, b) = p_{0} \circ p_{1} (a, \lnot a \land b, a \land b) = a \land b $$

같이보기


  1. 김영훈·허재성, 양자 정보 이론 (2020), p90-93 ↩︎