Difference between revisions of "Boolean function"

MyWikiBiz, Author Your Legacy — Saturday November 16, 2024
Jump to navigationJump to search
(HTML → TeX)
(trim out of place text)
Line 1: Line 1:
 
In [[mathematics]], a '''finitary boolean function''' is a [[function (mathematics)|function]] of the form <math>f : \mathbb{B}^k \to \mathbb{B},</math> where <math>\mathbb{B} = \{ 0, 1 \}</math> is a [[boolean domain]] and where <math>k\!</math> is a nonnegative integer.  In the case where <math>k = 0,\!</math> the function is simply a constant element of <math>\mathbb{B}.</math>
 
In [[mathematics]], a '''finitary boolean function''' is a [[function (mathematics)|function]] of the form <math>f : \mathbb{B}^k \to \mathbb{B},</math> where <math>\mathbb{B} = \{ 0, 1 \}</math> is a [[boolean domain]] and where <math>k\!</math> is a nonnegative integer.  In the case where <math>k = 0,\!</math> the function is simply a constant element of <math>\mathbb{B}.</math>
 
More generally, a function of the form ''f''&nbsp;:&nbsp;''X''&nbsp;&rarr;&nbsp;'''B''', where ''X'' is an arbitrary set, is a ''[[boolean-valued function]]''.  If ''X'' = '''M''' = {1,&nbsp;2,&nbsp;3,&nbsp;&hellip;}, then ''f'' is a ''binary sequence'', that is, an infinite [[sequence]] of 0's and 1's.  If ''X'' = [''k''] = {1,&nbsp;2,&nbsp;3,&nbsp;&hellip;,&nbsp;''k''}, then ''f'' is ''binary sequence'' of length ''k''.
 
  
 
There are <math>2^{2^k}</math> such functions.  These play a basic role in questions of [[complexity theory]] as well as the design of circuits and chips for [[digital computer]]s. The properties of boolean functions play a critical role in [[cryptography]], particularly in the design of [[symmetric key algorithm]]s (see [[S-box]]).
 
There are <math>2^{2^k}</math> such functions.  These play a basic role in questions of [[complexity theory]] as well as the design of circuits and chips for [[digital computer]]s. The properties of boolean functions play a critical role in [[cryptography]], particularly in the design of [[symmetric key algorithm]]s (see [[S-box]]).
Line 32: Line 30:
  
 
==See also==
 
==See also==
 +
 
{{col-begin}}
 
{{col-begin}}
 
{{col-break}}
 
{{col-break}}
 
* [[Algebra of sets]]
 
* [[Algebra of sets]]
 
* [[Boolean algebra]]
 
* [[Boolean algebra]]
* [[List of Boolean algebra topics|Boolean algebra topics]]
+
* [[Boolean domain]]
 
{{col-break}}
 
{{col-break}}
* [[Boolean domain]]
 
* [[Boolean logic]]
 
 
* [[Boolean value]]
 
* [[Boolean value]]
{{col-break}}
 
 
* [[Boolean-valued function]]
 
* [[Boolean-valued function]]
* [[Logical connective]]
 
* [[Truth function]]
 
 
* [[Zeroth order logic]]
 
* [[Zeroth order logic]]
 
{{col-end}}
 
{{col-end}}

Revision as of 13:09, 22 October 2008

In mathematics, a finitary boolean function is a function of the form \(f : \mathbb{B}^k \to \mathbb{B},\) where \(\mathbb{B} = \{ 0, 1 \}\) is a boolean domain and where \(k\!\) is a nonnegative integer. In the case where \(k = 0,\!\) the function is simply a constant element of \(\mathbb{B}.\)

There are \(2^{2^k}\) such functions. These play a basic role in questions of complexity theory as well as the design of circuits and chips for digital computers. The properties of boolean functions play a critical role in cryptography, particularly in the design of symmetric key algorithms (see S-box).

A boolean mask operation on boolean-valued functions combines values point-wise, for example, by XOR, or other boolean operators.

Algebraic normal form

A boolean function can be written uniquely as a sum (XOR) of products (AND). This is known as the algebraic normal form (ANF).

\(f(x_1, x_2, \ldots , x_n) = \!\) \(a_0 + \!\)
\(a_1x_1 + a_2x_2 + \ldots + a_nx_n + \!\)
\(a_{1,2}x_1x_2 + a_{n-1,n}x_{n-1}x_n + \!\)
\(\ldots + \!\)
\(a_{1,2,\ldots,n}x_1x_2\ldots x_n \!\)

The values of the sequence \(a_0, a_1, \ldots, a_{1, 2, \ldots, n}\) can therefore also uniquely represent a boolean function. The algebraic degree of a boolean function is defined as the highest number of \(x_i\) that appear in a product term. Thus \(f(x_1, x_2, x_3) = x_1 + x_3\) has degree 1 (linear), whereas \(f(x_1, x_2, x_3) = x_1 + x_1 x_2 x_3\) has degree 3 (cubic).

See also

Template:Col-breakTemplate:Col-breakTemplate:Col-end

External links

Document history

Portions of the above article were adapted from the following sources under the GNU Free Documentation License, under other applicable licenses, or by permission of the copyright holders.