Jump to content

Lupanov representation

From Wikipedia, the free encyclopedia

Lupanov's (ks)-representation, named after Oleg Lupanov, is a means of representing Boolean circuits to demonstrate an asymptotically tight upper bound on the circuit size (i.e., the number of gates) needed to represent a Boolean function. Claude Shannon showed that almost all Boolean functions of n variables need a circuit of size at least 2nn−1. Lupanov's (ks)-representation shows that all Boolean functions of n variables can be computed with a circuit of 2nn−1 + o(2nn−1) gates.

Definition

[edit]

The idea is to represent the values of a boolean function ƒ in a table of 2k rows, representing the possible values of the k first variables x1, ..., ,xk, and 2nk columns representing the values of the other variables.

Let A1, ..., Ap be a partition of the rows of this table such that for i < p, |Ai| = s and . Let ƒi(x) = ƒ(x) iff x ∈ Ai.

Moreover, let be the set of the columns whose intersection with is .

[edit]