Fredkin- portti (CSWAP englanniksi. Controlled SWAP - Controlled Exchange) - CU-luokan (ohjatut toiminnot U) universaali kolmituloinen logiikkaportti , joka riittää rakentamaan kaiken monimutkaisia piirejä . Sillä on käännettävyys - lähtöjen tilan tietäen voit asettaa tarkasti elementin tulojen tilat, joten sen perusteella voit rakentaa käännettäviä laskelmia ja palautuvia logiikkapiirejä. Erityisesti sitä voidaan käyttää kvanttiporttina kvanttitietokoneiden toteutuksessa . Nimetty Edward Fredkinin mukaanjoka ehdotti tätä porttia [1] .
Venttiilissä on kolme tuloa ja kolme lähtöä - (C, A, B). Kun ohjauslinjan signaali (ensimmäinen tulo, c ), kahden ohjatun linjan (toinen ja kolmas tulo, a ja b ) signaalit käännetään. Ohjaussignaalin puuttuessa ohjattujen linjojen signaalit kulkevat suoraan ilman vaihtotoimintoa. Ensimmäinen lähtö on muokkaamaton ohjauslinjasignaali [2] .
Yleensä se on toiminnaltaan samanlainen kuin "ohjattu ei" -portti (CNOT), mutta positiivisen ja negatiivisen logiikan vastaavuus yhdessä kahden kytketyn tulon kanssa tekee siitä universaalin ja omavaraisen, toisin kuin "ohjattu ei".
Syy venttiilin symmetriaan on myös esittänyt Richard Feynman kirjassaan:
Fredkin lisäsi ylimääräistä rajoitusta harkitsemiensa porttien tuloihin ja ulostuloihin. Hän ei vaatinut vain portin olevan käännettävä, vaan myös sitä, että ykkösten ja nollien lukumäärä ei koskaan muutu. Sille ei ollut hyvää syytä, mutta hän teki sen kuitenkin.
Alkuperäinen teksti (englanniksi)[ näytäpiilottaa] Fredkin lisäsi ylimääräistä rajoitusta harkitsemiensa porttien lähtöihin ja tuloihin. Hän vaati, että portin ei tarvitse olla vain käännettävä, vaan 1:n ja 0:n lukumäärä ei saa koskaan muuttua. Tälle ei ole hyvää syytä, mutta hän teki sen kuitenkin. Hän esitteli portin, joka suorittaa valvottua vaihtooperaatiota. — Feynman Readings in Computing, 2.3 "Lisätietoja porteista: Käännettävät portit"Nollien ja ykkösten lukumäärän tasapainon (konservatiivisuus) vuoksi tämä portti voidaan toteuttaa biljarditietokoneella , jota myös Fredkin ehdotti [3] .
Totuustaulukko [4] :
C | A | B | C' | A' | B' |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | yksi | 0 | 0 | yksi |
0 | yksi | 0 | 0 | yksi | 0 |
0 | yksi | yksi | 0 | yksi | yksi |
yksi | 0 | 0 | yksi | 0 | 0 |
yksi | 0 | yksi | yksi | yksi | 0 |
yksi | yksi | 0 | yksi | 0 | yksi |
yksi | yksi | yksi | yksi | yksi | yksi |
Fredkin-portti yhdessä Toffoli-portin kanssa ovat hyvin tunnettuja universaaleja käännettäviä kolmituloisia portteja, joiden avulla voidaan toteuttaa mikä tahansa palautuva logiikkatoiminto [5] .