トフォリゲートとは
トフォリゲート(Toffoli gate)は、イタリアの計算機科学者であるトマソ・トフォリが提案した可逆論理ゲートです。これは、3つの入力
ビットと3つの出力
ビットを持つゲートであり、「制御・制御・
NOTゲート(Controlled-Controlled-NOT gate)」とも呼ばれます。
可逆論理ゲートの概念
可逆論理ゲートとは、入力と出力が一対一に対応するゲートのことです。つまり、出力から入力を一意に特定できる性質を持ちます。この性質は、数学的には単射であると言えます。可逆ゲートの重要な点は、情報を失うことなく、逆向きの演算も可能であることです。例えば、
NOTゲートは可逆ゲートの一例で、入力
ビットを反転させるだけでなく、反転された
ビットから元の
ビットを復元できます。
しかし、
ANDゲートのように、複数の入力が同じ出力になるゲートは、可逆ではありません。これは、出力から元の入力を一意に特定できないからです。可逆ゲートの研究は、
1960年代に始まりました。可逆ゲートが注目された主な理由は、エネルギー効率です。従来の論理ゲートでは、計算の過程で情報が失われ、熱としてエネルギーが放出されます。一方、可逆ゲートは、情報を失わずに計算を行うため、エネルギー消費を理想的にはゼロに近づけることができると考えられています。
可逆ゲートは、量子計算の分野でも重要な役割を果たします。
量子コンピュータは、量子力学の原理を利用して計算を行うため、すべての遷移は可逆である必要があります。そのため、可逆ゲートは量子ゲートの機能を模倣し、
量子コンピュータでの計算を可能にする重要な要素となっています。
トフォリゲートの機能的完全性
可逆ゲートは、入力
ビット数と出力
ビット数が常に同じです。1
ビットの場合、可逆ゲートは恒等写像と
NOTゲートの2つに限られます。2
ビットの場合、制御
NOTゲート(CNOT)が重要な可逆ゲートです。C
NOTゲートは、最初の入力
ビットが1の場合、2番目の入力
ビットを反転させます。
C
NOTゲートは便利ですが、すべての可逆計算を表現できるわけではありません。ここで登場するのがトフォリゲートです。トフォリゲートは、3つの入力
ビットを持ち、最初の2つの
ビットが両方とも1の場合にのみ、3番目の
ビットを反転させます。数式で表現すると、以下のようになります。
CCNOT(x, y, z) = (x, y, (x・y) ⊕ z)
トフォリゲートは、その機能的完全性により、任意の論理関数を可逆的に計算できるため、可逆計算において非常に強力なツールとなります。これは、トフォリゲートの組み合わせだけで、任意の複雑な
論理回路を構築できることを意味します。
他の論理ゲートとの関連性
トフォリゲート以外にも、いくつかの重要な可逆ゲートが存在します。フレドキンゲートもその一つで、これは制御交換ゲートとも呼ばれ、最初の入力
ビットが1の場合に、残りの2つの
ビットを交換します。
トフォリゲートは、任意の
ビット数に一般化できます。例えば、n
ビットの場合、最初のn-1
ビットがすべて1の場合にのみ、最後の
ビットを反転させるゲートとなります。また、トフォリゲートは
量子コンピュータ上でも実現可能で、2量子
ビットを扱うゲートを組み合わせることで構成できます。
実装と応用
トフォリゲートは、理論的な概念だけでなく、物理的な実装も可能です。例えば、仕切りと
ビリヤードボールを使って、トフォリゲートの動作をシミュレートすることができます。また、
量子コンピュータにおいては、量子トフォリゲートがすでに実現されており、量子計算の基盤となる技術として利用されています。
まとめ
トフォリゲートは、可逆計算において重要な役割を果たす論理ゲートです。その機能的完全性から、任意の論理関数を可逆的に計算できるため、低エネルギー消費の計算や
量子コンピュータの実現に不可欠な要素となっています。
関連項目
フレドキンゲート
可逆計算
*
量子コンピュータ