Basic
아래의 그림만 봐도 우리는 양자 컴퓨터와 기존의 컴퓨터의 작동 방식에는 큰 차이가 있다는 것을 알 수 있다. 그리고 이 차이가 곧 다가올 양자 우월성을 논할 수 있는 기반이 된다. 그리고 우리는 어떻게 양자 컴퓨터가 보다 우월한 연산을 할 수 있는지 알기 위해 기존의 컴퓨터를 먼저 이해하고 있어야 한다.
Computation & Bits
우선 computation이란 input을 약속된 instruction을 통해 output을 만드는 것을 말한다.
Think like computer
- 십진수는 0 - 9 로 표현한다 => 71 = 7 x 10^1 + 1 x 10^1
- 컴퓨터는 십진수를 이진법으로 표현한다 => Decimal 7 -> Binary 111 / Binary 1010 -> Decimal 10
- 이진수를 나타내는 각 자리가 하나의 Bit를 의미한다
- 기존 컴퓨터의 연산은 Bit를 통해 이뤄진다.
Boolean Logic
Boolean Logic, 한국말로 불 논리,는 아래와 같은 논리 체계이다.
이는 우리가 고등학교 때 수학으로 많이 접한 집합의 개념과 유사하다.
이는 input 간의 관계 속에서 지시된 관계를 output으로 만든다.
Logic Gates & Truth Tables
논리 회로와 진리표는 아래와 같고, Boolean Logic을 기반으로 이루어져 있다.
몇 가지를 예시로 보자면,
- NOT Gate는 비트를 뒤집는다.
- input 0 -> output 1 / input 1 -> output 0
- FANOUT Gate는 비트를 복사한다.
- input 0 -> 00 / output 1 -> 11
- AND Gate는 둘이 1 일 경우에만 1을 반환한다
- input 1 & 0 -> output 0 / input 1 & 1 -> output 1 / input 0 & 0 -> ouput 0
- OR Gate는 둘 중 하나만 1이여도 1을 반환한다
- input 1 & 0 -> output 1 / input 0 & 0 -> output 0
- XOR Gate는 둘 중 하나만 1이어야 1을 반환한다
- input 1 & 0 -> output 1 / input 1 & 1 -> output 0
Universal Computation
어떠한 computation operation 도 { NOT, AND, OR, FANOUT } 간의 조합을 통해 만들 수 있다.