From WikiChip
Difference between revisions of "boolean algebra/majority function"
< boolean algebra

m (Properties)
m
Line 32: Line 32:
 
</math>
 
</math>
  
A 3-input majority function can be implemented using the following Boolean function <math>\text{MAJ}(x,y,z) = (x \land y) \oplus (x \land z) \oplus (y \land z)</math>.
+
A 3-input majority function can be implemented using the following Boolean function:
 +
:<math>\text{MAJ}(x,y,z) = (x \land y) \lor (x \land z) \lor (y \land z)</math>
 +
:<math>\text{MAJ}(x,y,z) = (x \land y) \oplus (x \land z) \oplus (y \land z)</math>
 +
The XOR version is more common in cryptography.
  
 
== Properties ==
 
== Properties ==

Revision as of 22:45, 24 November 2015

3-input Majority
Inputs Output
X Y Z Q
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

Majority function (sometimes quorum function) is a threshold function that produces a 1 if and only if the majority of the inputs are 1. Otherwise, the output is 0. This function is only defined for three or more odd inputs. The majority function can be found in various applications such as adders, subtractors, hash functions, and Muller C-element.

Equation MAJ left-parenthesis x 1 comma x 2 comma period period period comma x Subscript n Baseline right-parenthesis equals StartLayout Enlarged left-brace 1st Row 1st Column 1 comma 2nd Column if sigma-summation Underscript i equals 1 Overscript n Endscripts x Subscript i Baseline greater-than-or-equal-to StartFraction n Over 2 EndFraction 2nd Row 1st Column 0 comma 2nd Column otherwise period EndLayout

A 3-input majority function can be implemented using the following Boolean function:

Equation MAJ left-parenthesis x comma y comma z right-parenthesis equals left-parenthesis x logical-and y right-parenthesis logical-or left-parenthesis x logical-and z right-parenthesis logical-or left-parenthesis y logical-and z right-parenthesis
Equation MAJ left-parenthesis x comma y comma z right-parenthesis equals left-parenthesis x logical-and y right-parenthesis circled-plus left-parenthesis x logical-and z right-parenthesis circled-plus left-parenthesis y logical-and z right-parenthesis

The XOR version is more common in cryptography.

Properties

The majority function is a unate function, symmetric, monotone increasing, and self-dual. It therefore, with the addition of an inverter it can satisfy all the conditions needed to be functionally complete (i.e. {NOT, MAJ} is a complete set). Being self-dual means that Equation MAJ left-parenthesis a overbar comma b overbar comma c overbar right-parenthesis equals ModifyingAbove MAJ left-parenthesis a comma b comma c right-parenthesis With bar which could yields various hardware implementation optimization - such as floating the inversion point to a more efficient location.

Majority gate

Main article: majority gate

The majority gate is a logic gate that implements the majority function as a circuit.

See also