Boolean Functions: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
=Introduction= | =Introduction= | ||
Let < | Let ๐ฝ<sub>2</sub><sup>๐</sup> be the vector space of dimension ๐ over the finite field with two elements. | ||
The vector space can also be endowed with the structure of the field, the finite field with < | The vector space can also be endowed with the structure of the field, the finite field with 2<sup>๐</sup> elements, ๐ฝ<sub>2<sup>๐</sup></sub>. | ||
A function <math>f : \mathbb{F}_2^n\rightarrow\mathbb{F}</math> is called a <i>Boolean function</i> in dimenstion | A function <math>f : \mathbb{F}_2^n\rightarrow\mathbb{F}</math> is called a <i>Boolean function</i> in dimenstion ๐ (or <i>๐-variable Boolean function</i>). | ||
Given <math>x=(x_1,\ldots,x_n)\in\mathbb{F}_2^n</math>, the support of <i>x</i> is the set <math>supp_x=\{i\in\{1,\ldots,n\} : x_i=1 \}</math>. | Given <math>x=(x_1,\ldots,x_n)\in\mathbb{F}_2^n</math>, the support of <i>x</i> is the set <math>supp_x=\{i\in\{1,\ldots,n\} : x_i=1 \}</math>. | ||
The Hamming weight of | The Hamming weight of ๐ฅ is the size of its support (<math>w_H(x)=|supp_x|</math>). | ||
Similarly the Hamming weight of a Boolean function | Similarly the Hamming weight of a Boolean function ๐ is the size of its support, i.e. the set <math>\{x\in\mathbb{F}_2^n : f(x)\ne0 \}</math>. | ||
The Hamming distance of two functions | The Hamming distance of two functions ๐,๐ is the size of the set <math>\{x\in\mathbb{F}_2^n : f(x)\neq g(x) \}\ (w_H(f\oplus g))</math>. | ||
=Representation of a Boolean function= | =Representation of a Boolean function= | ||
| Line 14: | Line 14: | ||
There exist different ways to represent a Boolean function. | There exist different ways to represent a Boolean function. | ||
A simple, but often not efficient, one is by its truth-table. | A simple, but often not efficient, one is by its truth-table. | ||
For example consider the following truth-table for a 3-variable Boolean function | For example consider the following truth-table for a 3-variable Boolean function ๐. | ||
<center> <table style="width:14%"> | <center> <table style="width:14%"> | ||
ย ย <tr> | ย ย <tr> | ||
ย ย ย <th colspan="3"> | ย ย ย <th colspan="3">๐ฅ</th> | ||
ย ย ย <th> | ย ย ย <th>๐(๐ฅ)</th> | ||
ย ย </tr> | ย ย </tr> | ||
ย ย <tr> | ย ย <tr> | ||
| Line 47: | Line 47: | ||
==Algebraic normal form== | ==Algebraic normal form== | ||
An | An ๐-variable Boolean function can be represented by a multivariate polynomial over ๐ฝ<sub>2</sub> of the form | ||
<center><math> f(x)=\bigoplus_{I\subseteq\{1,\ldots,n\}}a_i\Big(\prod_{i\in I}x_i\Big)\in\mathbb{F}_2[x_1,\ldots,x_n]/(x_1^2\oplus x_1,\ldots,x_n^2\oplus x_n). </math></center> | <center><math> f(x)=\bigoplus_{I\subseteq\{1,\ldots,n\}}a_i\Big(\prod_{i\in I}x_i\Big)\in\mathbb{F}_2[x_1,\ldots,x_n]/(x_1^2\oplus x_1,\ldots,x_n^2\oplus x_n). </math></center> | ||
Such representation is unique and it is the <em> algebraic normal form</em> of | Such representation is unique and it is the <em> algebraic normal form</em> of ๐ (shortly ANF). | ||
The degree of the ANF is called the <em> algebraic degree</em> of the function, | The degree of the ANF is called the <em> algebraic degree</em> of the function, ๐ยฐ๐=max { |๐ผ| : ๐<sub>๐ผ</sub>≠0 }. | ||
==Trace representation== | ==Trace representation== | ||
We identify the vector space with the finite field and we consider | We identify the vector space with the finite field and we consider ๐ an ๐-variable Boolean function of even weight (hence of algebraic degree at most ๐-1). | ||
The map admits a uinque representation as a univariate polynomial of the form | The map admits a uinque representation as a univariate polynomial of the form | ||
<center><math>ย f(x)=\sum_{j\in\Gamma_n}\mbox{Tr}_{\mathbb{F}_{2^{o(j)}}/\mathbb{F}_2}(A_jx^j), \quad x\in\mathbb{F}_{2^n}, | <center><math>ย f(x)=\sum_{j\in\Gamma_n}\mbox{Tr}_{\mathbb{F}_{2^{o(j)}}/\mathbb{F}_2}(A_jx^j), \quad x\in\mathbb{F}_{2^n}, | ||
</math></center> | </math></center> | ||
with | with ฮ<sub>๐</sub>ย set of integers obtained by choosing one element in each cyclotomic coset of 2 ( mod 2<sup>๐</sup>-1), ๐ฐ(๐ซ)ย size of the cyclotomic coset containing ๐ซ, ๐<sub>๐ซ</sub> ∈ ๐ฝ<sub>2<sup>๐ฐ(๐ซ)</sup></sub>,ย Tr<sub>๐ฝ<sub>2<sup>๐ฐ(๐ซ)</sup>/๐ฝ<sub>2</sub></sub></sub> trace function from ๐ฝ<sub>2<sup>๐ฐ(๐ซ)</sup> to ๐ฝ<sub>2</sub>. | ||
Such representation is also called the univariate representation . | |||
๐ can also be simply presented in the form <math> \mbox{Tr}_{\mathbb{F}_{2^n}/\mathbb{F}_2}(P(x))</math>ย where ๐ is a polynomial over the finite field F<sub>2<sup>๐</sup></sub> but such representation is not unique, unless ๐ฐ(๐ซ)=๐ for every ๐ซ such that ๐<sub>๐ซ</sub>≠0. | |||
ย | |||
=The Walsh transform= | |||
The <i>Walsh transform</i> ๐<sub>๐</sub> is the descrete Fourier transform of the sign function of ๐, i.e. (-1)<sup>๐(๐ฅ)</sup>. | |||
With an innner product in ๐ฝ<sub>2</sub><sup>๐</sup> ๐ฅยท๐ฆ, the value of ๐<sub>๐</sub> at ๐ขโ๐ฝ<sub>2</sub><sup>๐</sup> is the following sum (over the integers) | |||
<center><math>W_f(u)=\sum_{x\in\mathbb{F}_2^n}(-1)^{f(x)+x\cdot u},</math></center> | |||
The set <math>\{ u\in\mathbb{F}_2^n : W_f(u)\ne0 \}</math> is the <i>Walsh support</i> of ๐. | |||
< | ==Properties of the Walsh transform== | ||
For every ๐-variable Boolean function ๐ we have the following relations. | |||
* Inverse Walsh transform:ย for any element ๐ฅ of ๐ฝ<sub>2</sub><sup>๐</sup> we have <center><math> \sum_{u\in\mathbb{F}_2^n}W_f(u)(-1)^{u\cdot x}= 2^n(-1)^{f(x)};</math></center> | |||
* Parseval's relation: <center><math>\sum_{u\in\mathbb{F}_2^n}W_f^2(u)=2^{2n};</math></center> | |||
* Poisson summation formula: for any vector subspace ๐ธ of ๐ฝ<sub>2</sub><sup>๐</sup> and for any elements ๐,๐ in ๐ฝ<sub>2</sub><sup>๐</sup> <center><math> \sum_{u\in a+E^\perp}(-1)^{b\cdot u}W_f(u) = |E^\perp|(-1)^{a\cdot b}\sum_{x\in b+E}(-1)^{f(x)+a\cdot x},</math></center> for ๐ธ<sup>โ</sup> the orthogonal subspace of ๐ธ,{๐ขโ๐ฝ<sub>2</sub><sup>๐</sup> : ๐ขยท๐ฅ=0, for all ๐ฅโ๐ธ}. | |||
Revision as of 09:21, 27 September 2019
Introduction
Let ๐ฝ2๐ be the vector space of dimension ๐ over the finite field with two elements. The vector space can also be endowed with the structure of the field, the finite field with 2๐ elements, ๐ฝ2๐. A function Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle f : \mathbb{F}_2^n\rightarrow\mathbb{F}} is called a Boolean function in dimenstion ๐ (or ๐-variable Boolean function).
Given Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x=(x_1,\ldots,x_n)\in\mathbb{F}_2^n} , the support of x is the set Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle supp_x=\{i\in\{1,\ldots,n\} : x_i=1 \}} . The Hamming weight of ๐ฅ is the size of its support (Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle w_H(x)=|supp_x|} ). Similarly the Hamming weight of a Boolean function ๐ is the size of its support, i.e. the set Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \{x\in\mathbb{F}_2^n : f(x)\ne0 \}} . The Hamming distance of two functions ๐,๐ is the size of the set Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \{x\in\mathbb{F}_2^n : f(x)\neq g(x) \}\ (w_H(f\oplus g))} .
Representation of a Boolean function
There exist different ways to represent a Boolean function. A simple, but often not efficient, one is by its truth-table. For example consider the following truth-table for a 3-variable Boolean function ๐.
| ๐ฅ | ๐(๐ฅ) | ||
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Algebraic normal form
An ๐-variable Boolean function can be represented by a multivariate polynomial over ๐ฝ2 of the form
Such representation is unique and it is the algebraic normal form of ๐ (shortly ANF).
The degree of the ANF is called the algebraic degree of the function, ๐ยฐ๐=max { |๐ผ| : ๐๐ผ≠0 }.
Trace representation
We identify the vector space with the finite field and we consider ๐ an ๐-variable Boolean function of even weight (hence of algebraic degree at most ๐-1). The map admits a uinque representation as a univariate polynomial of the form
with ฮ๐ set of integers obtained by choosing one element in each cyclotomic coset of 2 ( mod 2๐-1), ๐ฐ(๐ซ) size of the cyclotomic coset containing ๐ซ, ๐๐ซ ∈ ๐ฝ2๐ฐ(๐ซ), Tr๐ฝ2๐ฐ(๐ซ)/๐ฝ2 trace function from ๐ฝ2๐ฐ(๐ซ) to ๐ฝ2.
Such representation is also called the univariate representation .
๐ can also be simply presented in the form Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mbox{Tr}_{\mathbb{F}_{2^n}/\mathbb{F}_2}(P(x))} where ๐ is a polynomial over the finite field F2๐ but such representation is not unique, unless ๐ฐ(๐ซ)=๐ for every ๐ซ such that ๐๐ซ≠0.
The Walsh transform
The Walsh transform ๐๐ is the descrete Fourier transform of the sign function of ๐, i.e. (-1)๐(๐ฅ). With an innner product in ๐ฝ2๐ ๐ฅยท๐ฆ, the value of ๐๐ at ๐ขโ๐ฝ2๐ is the following sum (over the integers)
The set Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \{ u\in\mathbb{F}_2^n : W_f(u)\ne0 \}} is the Walsh support of ๐.
Properties of the Walsh transform
For every ๐-variable Boolean function ๐ we have the following relations.
- Inverse Walsh transform: for any element ๐ฅ of ๐ฝ2๐ we have
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{u\in\mathbb{F}_2^n}W_f(u)(-1)^{u\cdot x}= 2^n(-1)^{f(x)};} - Parseval's relation:
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{u\in\mathbb{F}_2^n}W_f^2(u)=2^{2n};} - Poisson summation formula: for any vector subspace ๐ธ of ๐ฝ2๐ and for any elements ๐,๐ in ๐ฝ2๐
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{u\in a+E^\perp}(-1)^{b\cdot u}W_f(u) = |E^\perp|(-1)^{a\cdot b}\sum_{x\in b+E}(-1)^{f(x)+a\cdot x},} for ๐ธโ the orthogonal subspace of ๐ธ,{๐ขโ๐ฝ2๐ : ๐ขยท๐ฅ=0, for all ๐ฅโ๐ธ}.
