Porte de Toffoli
En informatique, la porte de Toffoli, est une porte logique. Elle est rĂ©versible et universelle, ce qui signifie que n'importe quel circuit rĂ©versible peut ĂȘtre construit Ă partir de portes de Toffoli. Elle agit comme une porte NON Ă double contrĂŽle, d'oĂč le nom qu'on lui donne Ă©galement de « controlled-controlled-not gate » (CCNOT).
Elle est due Ă Tommaso Toffoli.
DĂ©finition
La porte de Toffoli est une porte logique à 3 bits en entrée et 3 bits en sortie. Si les deux premiers bits sont égaux à 1, le troisiÚme bit est inversé, comme le montrent les représentations suivantes :
Table de vérité | Matrice de permutation | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Autrement dit, pour trois bits en entrée a, b, et c nous obtenons en sortie a, b, et (c XOR (a ET b)).
Réversibilité
DĂ©finition
Une porte logique L est rĂ©versible si, pour toute sortie y, il existe une entrĂ©e x unique telle que L(x) = y. Si une porte L est rĂ©versible, il existe une porte inverse Lâ pour laquelle Lâ(y) = x. Par exemple, la porte NON est rĂ©versible, comme le montre sa table de vĂ©ritĂ© :
ENTRĂE | SORTIE |
---|---|
0 | 1 |
1 | 0 |
Par contre, la porte ET n'est pas réversible, les entrées 00, 01 et 10 ayant toutes trois pour sortie 0.
Importance
On s'est intĂ©ressĂ© aux portes logiques rĂ©versibles dans les annĂ©es 1960, parce que les portes rĂ©versibles dissipent moins de chaleur que les autres (en principe elles pourraient mĂȘme Ă la limite n'en dissiper aucune). Dans une porte classique, les Ă©tats d'entrĂ©e ne sont pas systĂ©matiquement conservĂ©s et nous obtenons gĂ©nĂ©ralement moins d'information en sortie qu'en entrĂ©e. Cette perte entraĂźne aussi une perte d'Ă©nergie, sous forme de chaleur, selon le principe de l'entropie en thermodynamique. Autrement dit, il faut de l'Ă©nergie pour permettre la transformation des bits d'information. Une porte rĂ©versible ne fait que modifier l'Ă©tat des bits sans perte d'information, l'Ă©nergie est donc conservĂ©e[1].
Plus rĂ©cemment, l'intĂ©rĂȘt est venu de l'informatique quantique[2]. La physique quantique impose l'utilisation de transformations rĂ©versibles, mais permet en contrepartie de travailler avec des Ă©tats plus larges pour rĂ©aliser des calculs Ă l'aide du principe de superposition. Les portes rĂ©versibles forment un sous-ensemble des portes autorisĂ©es par l'informatique quantique.
Universalité et porte de Toffoli
Selon le principe des tiroirs, toute porte rĂ©versible doit avoir le mĂȘme nombre de bits en entrĂ©e et en sortie.
- Pour un seul bit d'entrée, il existe deux portes réversibles. La premiÚre est la porte NON qui inverse 0 et 1, et la seconde la porte d'identité qui n'entraßne aucun changement.
- Pour deux bits d'entrée, il n'existe qu'une seule porte non triviale la porte CNOT (en), qui, étant donné deux bits d'entrée, restitue le premier et donne comme second le OU exclusif des deux entrées :
Table de vérité | Matrice de permutation | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Malheureusement, il existe des fonctions rĂ©versibles qui ne peuvent pas ĂȘtre rĂ©alisĂ©es en utilisant seulement ces portes. Autrement dit, le jeu de portes composĂ© de NON et de XOR n'est pas universel (voir l'intĂ©gralitĂ© fonctionnelle). Si nous tenons Ă rĂ©aliser une fonction quelconque Ă l'aide de portes rĂ©versibles, nous avons besoin d'une autre porte. La porte de Toffoli, proposĂ©e en 1980 par Tommaso Toffoli, est une solution[3] - [4].
La porte de Toffoli est universelle, ce qui signifie que, quelle que soit la fonction booléenne f(x1, x2, ..., xm), il y a un circuit composé de portes de Toffoli qui
- prend en entrĂ©e x1, x2, ..., xm â plus quelques bits supplĂ©mentaires Ă 0 ou Ă 1 ;
- a comme sortie x1, x2, ..., xm, f(x1, x2, ..., xm) â plus quelques autres bits, inutilisĂ©s.
On peut donc construire avec des portes de Toffoli des systÚmes qui réaliseront de façon réversible une fonction booléenne quelconque.
Liens avec l'informatique quantique
Toute porte rĂ©versible peut ĂȘtre implantĂ©e sur un ordinateur quantique. La porte de Toffoli est donc aussi un opĂ©rateur quantique. Mais elle n'est pas un opĂ©rateur quantique universel, mĂȘme s'il est vrai que l'ordinateur quantique peut rĂ©aliser tous les calculs classiques.
Une porte de Toffoli a été réalisée en à l'université d'Innsbruck en Autriche[5].
Portes semblables
- La porte de Fredkin (en) est une porte réversible à trois bits qui permute les deux derniers bits si le premier est à 1 (permutation contrÎlée)[6].
- La porte de Toffoli Ă n bits est une gĂ©nĂ©ralisation de la porte de Toffoli. Elle a n bits en entrĂ©e (x1, x2, ..., xn) et n bits en sortie. Les nâ1 premiers bits sortent inchangĂ©s ; le dernier est (x1 ET ... ET xnâ1) XOR xn.
- On peut construire une porte de Toffoli avec cinq portes quantiques Ă 2 qubits[7].
- Cette porte est l'une des portes réversibles modélisables par boules de billard[8]. Cette modélisation est due à Fredkin et Toffoli[4].
Références
- Voir le principe auquel Rolf Landauer a donné son nom.
- (Barenco et al. 1982)
- (Toffoli 1980)
- (Fredkin et Toffoli 1982)
- (Monz et al.)
- Porte de Fredkin quantique
- (Barenco et al. 1995)
- Voir en:Billiard-ball computer dans la Wikipédia en anglais.
Bibliographie
- (en) T. Monz, K. Kim, W. HĂ€nsel, M. Riebe, A. S. Villar, P. Schindler, M. Chwalla, M. Hennrich et R. Blatt, « Realization of the quantum Toffoli gate with trapped ions », Physical review letters, American Physical Society, vol. 102, no 4,â (DOI 10.1103/PhysRevLett.102.040501, arXiv 0804.0082)
- (en) Adriano Barenco, Charles H. Bennett, Richard Cleve, David P. DiVincenzo, Norman Margolus, Peter Shor, Tycho Sleator, John A. Smolin et Harald Weinfurter, « Elementary gates for quantum computation », Phys. Rev. A, vol. 52,â , p. 3457â3467 (DOI 10.1103/PhysRevA.52.3457, lire en ligne)
- Tommaso Toffoli, « Reversible computing », dans Automata, Languages and Programming, Seventh Colloquium, Noordwijkerhout, Netherlands, J. W. de Bakker et J. van Leeuwen, (ISBN 3 540 10003 2, lire en ligne [archive du ]), p. 632-644
- (en) Edward Fredkin et Tommaso Toffoli, « Conservative logic », International Journal of Theoretical Physics, Springer Netherlands, vol. 21, no 3,â , p. 219â253 (ISSN 0020-7748, DOI 10.1007/BF01857727, lire en ligne [archive du ])
- (en) Adriano Barenco, Charles H. Bennett, Cleve Richard, David P. DiVincenzo, Norman Margolus, Peter Shor, Tycho Sleator, John A. Smolin et Harald Weinfurter, « Elementary gates for quantum computation », Phys. Rev. A, American Physical Society, vol. 52, no 5,â , p. 3457â3467 (PMID 9912645, DOI 10.1103/PhysRevA.52.3457, Bibcode 1995PhRvA..52.3457B, arXiv quant-ph/9503016)