Boolean function
From Free net encyclopedia
In mathematics, a finitary boolean function is a function of the form f : Bk → B, where 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 B.
More generally, a function of the form f : X → B, where X is an arbitrary set, is a boolean-valued function. If X = M = {1, 2, 3, …}, then f is a binary sequence, that is, an infinite sequence of 0's and 1's. If X = [k] = {1, 2, 3, …, k}, then f is binary sequence of length k.
There are <math>2^{2^n}</math> 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).
<math>f(x_1, x_2, \ldots , x_n) = \!</math> | <math>a_0 + \!</math> |
<math>a_1x_1 + a_2x_2 + \ldots + a_nx_n + \!</math> | |
<math>a_{1,2}x_1x_2 + a_{n-1,n}x_{n-1}x_n + \!</math> | |
<math>\ldots + \!</math> | |
<math>a_{1,2,\ldots,n}x_1x_2\ldots x_n \!</math> |
The values of the sequence <math>a_0,a_1,\ldots,a_{1,2,\ldots,n}</math> can therefore also uniquely represent a boolean function. The algebraic degree of a boolean function is defined as the highest number of <math>x_i</math> that appear in a product term. Thus <math>f(x_1,x_2,x_3) = x_1 + x_3</math> has degree 1 (linear), whereas <math>f(x_1,x_2,x_3) = x_1 + x_1x_2x_3</math> has degree 3 (cubic).
See also
External links
- Boolean Planet — boolean functions in cryptography.de:Boolesche Funktion
es:Función lógica fr:Fonction booléenne it:Funzione booleana zh:布尔函数