How to implement a Fredkin gate in a classical network?

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
7 replies · 2K views
Agrippa
Messages
77
Reaction score
10
TL;DR
Hi, I'm wondering about the Fredkin gate (controlled swap gate) and how to implement it with simple logic gates.
Hi, I'm wondering about the Fredkin gate (controlled swap) gate, which is defined by the truth table on p54 here. I'm trying to implement it in a simple feedback network that takes the form of what can be input into this software: integratedinformationtheory.org/calculate. Any pointers would be appreciated!
 
Physics news on Phys.org
Did you miss this (I have translated the symbols into those used on p.55 of the paper you linked because on p.54 the same symbols are used for inputs and outputs!):

y1 = ((NOT u) AND x1) OR (u AND x2)
y2 = ((NOT u) AND x2) OR (u AND x1)
v = u
 
Thanks, this is helpful!

My question is really about the implementations of these rules in the kind of system defined by the software I linked to. We can express the rules as a truth table (as in my first link), or we can express the rules by logic operations on inputs (as you have), but how do we implement these rules in the relevant type of system?

If you take a look under "network" at the second link (that hopefully now works), an option might be to just create three binary nodes A, B, and C. The question, then, would be: how do we define each node?

I guess your suggestion is (for e.g.): define node A as ((~C)&A) OR (C&B).

Unfortunately, the software only allows each node to be defined by one of the following:

AND,
NAND,
OR,
NOR,
XOR,
Random,
Majority,
Minority,
Parity,
Greater than threshold,
Less than threshold

So this may be the answer to my question: It can't be done! The software is too limited to allow the Fredkin gate to be implemented.

But I'm not sure - maybe we just need more than three nodes to implement the Fredkin gate in this software?
 
Agrippa said:
But I'm not sure - maybe we just need more than three nodes to implement the Fredkin gate in this software?
Yes I think you will need to add some nodes to calculate intermediate results. It doesn't look as though there is a unary NOT node so you will need to implement NOT C as C NAND C.
 
  • Like
Likes   Reactions: Agrippa
pbuk said:
Yes I think you will need to add some nodes to calculate intermediate results. It doesn't look as though there is a unary NOT node so you will need to implement NOT C as C NAND C.

Does the attached look correct as an implementation of node A?
To create a node for C NAND C, I had to split C into C1 and C2, and I also used three intermediary nodes (I1, I2 and I3).
 

Attachments

Agrippa said:
Does the attached look correct as an implementation of node A?
I've no idea I'm afraid - this 'Integrated Information Theory' looks like a load of nonsense is somewhat outside my comfort zone :biggrin: