FazBrowse Wikipedia Viewer | Main Page |
Search Wikipedia:
|
Viewing: https://en.wikipedia.org/wiki/Boolean_function

Boolean function

A binary decision diagram and truth table of a ternary Boolean function
Logical connectives
NOT A∧‾B,A↑B,A∣B,A⋅B‾
OR A⊙B,A∨_B‾
└ equivalent A≢B,A⇎B,A↮B
implies A⇐B,A⊂B,A←B
converse nonimplication

In mathematics, a Boolean function is a function whose arguments and result assume values from a two-element set (usually {true, false}, {0,1} or {−1,1}). Alternative names are switching function, used especially in older computer science literature, and truth function (or logical function), used in logic. Boolean functions are the subject of Boolean algebra and switching theory.

A Boolean function takes the form k is a non-negative integer called the arity of the function. In the case where f:{0,1}k→{0,1}m with 1"}}'>m>1 is a vectorial or vector-valued Boolean function (an S-box in symmetric cryptography).

There are 2k entries.

Every x1,...,xk, and two propositional formulas are logically equivalent if and only if they express the same Boolean function.

The rudimentary symmetric Boolean functions (logical connectives or logic gates) are:

An example of a more complicated function is the majority function (of an odd number of inputs).

Representation

edit
A Boolean function represented as a Boolean circuit

A Boolean function may be specified in a variety of ways:

  • Truth table: explicitly listing its value for all possible values of the arguments
    • Marquand diagram: truth table values arranged in a two-dimensional grid (used in a Karnaugh map)
    • Binary decision diagram, listing the truth table values at the bottom of a binary tree
    • Venn diagram, depicting the truth table values as a colouring of regions of the plane

Algebraically, as a propositional formula using rudimentary Boolean functions:

Boolean formulas can also be displayed as a graph:

In order to optimize electronic circuits, Boolean formulas can be minimized using the Quine–McCluskey algorithm or Karnaugh map.

Analysis

edit
f∗(x)=∑a∈{0,1}nf(a)∏i:ai=1xi∏i:ai=0(1−xi)For example, the extension of the binary XOR function x+y−2xySome other examples are negation (x+y−xy). When all operands are independent (share no variables) a function's polynomial form can be found by repeatedly applying the polynomials of the operators in a Boolean formula. When the coefficients are calculated modulo 2 one obtains the algebraic normal form (Zhegalkin polynomial).

Direct expressions for the coefficients of the polynomial can be derived by taking an appropriate derivative:|a| denotes the weight of the bit vector [0,1]n, the polynomial g(x):{−1,1}n→{−1,1} is then given by:

  1. ↑ "Boolean function - Encyclopedia of Mathematics". encyclopediaofmath.org. Retrieved 2021-05-03.
  2. ↑ Davies, D. W. (December 1957). "Switching Functions of Three Variables". IRE Transactions on Electronic Computers. EC-6 (4): 265–275. doi:10.1109/TEC.1957.5222038. ISSN 0367-9950.
  3. ↑ "Boolean functions — Sage 9.2 Reference Manual: Cryptography". doc.sagemath.org. Retrieved 2021-05-01.
  4. 1 2 3 4 5 6 Pieprzyk, Josef; Wang, Huaxiong; Zhang, Xian-Mo (2011-05-01). "Mobius transforms, coincident Boolean functions and non-coincidence property of Boolean functions". International Journal of Computer Mathematics. 88 (7): 1398–1416. doi:10.1080/00207160.2010.509428. ISSN 0020-7160. S2CID 9580510.
  5. ↑ Daemen, Joan; Govaerts, René; Vandewalle, Joos (1994). "Correlation matrices". In Preneel, Bart (ed.). Fast Software Encryption: Second International Workshop. Leuven, Belgium, 14–16 December 1994, Proceedings. Lecture Notes in Computer Science. Vol. 1008. Springer. pp. 275–285. doi:10.1007/3-540-60590-8_21.
  6. ↑ Crama, Yves; Hammer, Peter L. (2011), Boolean Functions: Theory, Algorithms, and Applications, Cambridge University Press, doi:10.1017/CBO9780511852008, ISBN 9780511852008
  7. Arnold, Bradford Henry (1 January 2011). Logic and Boolean Algebra. Courier Corporation. ISBN 978-0-486-48385-6.

  8. View original on Wikipedia | Back | FazBrowse Home