logo

함수적으로 완전한 집합이란? 📂양자정보이론

함수적으로 완전한 집합이란?

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

정의1

부울함수들의 집합 $\left\{ f_{k} \right\} = \left\{ f_{k} : \left\{ 0, 1 \right\}^{n_{k}} \to \left\{ 0, 1 \right\} \right\}_{k\in \Gamma}$이 주어졌다고 하자. $\Gamma$는 유한집합이다. $\left\{ f_{k} \right\}$들의 합성으로 임의의 부울함수

$$ \left\{ 0, 1 \right\}^{n} \to \left\{ 0, 1 \right\}\quad (n \in \mathbb{N}) $$

을 표현할 수 있으면, 집합 $\left\{ f_{k} \right\}$를 함수적으로 완전하다functionally complete고 한다.

정리

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

설명

다시말해 모든 부울 함수는 $\text{NOT}$와 $\text{AND}$의 반복으로 만들 수 있다. 함수적으로 완전한 집합은 유일하지 않으며, 무수히 많다. 가령 $a \land b = \lnot(\lnot a \lor \lnot b)$이기 때문에, $\left\{ \lnot, \lor \right\}$도 함수적으로 완전한 집합이다. 이 정리로부터 임의의 집합이 $\text{AND}$ 게이트와 $\text{NOT}$ 게이트를 만들 수 있는지만 보여도 함수적으로 완전한 집합임을 증명할 수 있다.

함수적으로 완전한 집합들의 예시:

물론 여기에 복제 함수가 필요한 경우도 있다. 위의 결과들을 컴퓨터 회로에 대한 언어로 서술하면 다음과 같다. 모든 논리 연산은:

  • $\text{NOT}$ 게이트와 $\text{AND}$ 게이트만을 사용하여 회로로 구현할 수 있다.
  • $\text{NAND}$ 게이트와 복제 함수만을 사용하여 회로로 구현할 수 있다.
  • $\text{NOR}$ 게이트와 복제 함수만을 사용하여 회로로 구현할 수 있다.
  • 토폴리 게이트만을 사용하여 회로로 구현할 수 있다.
  • 프레드킨 게이트만을 사용하여 회로로 구현할 수 있다.

범용 게이트

특히나 자기 자신만으로 이루어진 집합 $\left\{ f \right\}$가 함수적으로 완전할 때, 이러한 $f$를 범용 게이트universal gate라 한다. 범용 게이트는 자기 자신만으로 모든 부울 함수를 표현할 수 있다. $\text{NAND}$, $\text{NOR}$, $T$, $F$는 범용 게이트이다.


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