Table of Contents
Fetching ...

Revealing the canalizing structure of Boolean functions: Algorithms and applications

Elena Dimitrova, Brandilyn Stigler, Claus Kadelka, David Murrugarra

TL;DR

The problem of identifying the canalizing layers format of Boolean functions is shown to be NP-hard and several algorithms for finding the canalizing layers of a Boolean function are presented, discussed, and compared.

Abstract

Boolean functions can be represented in many ways including logical forms, truth tables, and polynomials. Additionally, Boolean functions have different canonical representations such as minimal disjunctive normal forms. Other canonical representation is based on the polynomial representation of Boolean functions where they can be written as a nested product of canalizing layers and a polynomial that contains the noncanalizing variables. In this paper we study the problem of identifying the canalizing layers format of Boolean functions. First, we show that the problem of finding the canalizing layers is NP-hard. Second, we present several algorithms for finding the canalizing layers of a Boolean function, discuss their complexities, and compare their performances. Third, we show applications where the computation of canalizing layers can be used for finding a disjunctive normal form of a nested canalizing function. Another application deals with the reverse engineering of Boolean networks with a prescribed layering format. Finally, implementations of our algorithms in Python and in the computer algebra system Macaulay2 are available at https://github.com/ckadelka/BooleanCanalization.

Revealing the canalizing structure of Boolean functions: Algorithms and applications

TL;DR

The problem of identifying the canalizing layers format of Boolean functions is shown to be NP-hard and several algorithms for finding the canalizing layers of a Boolean function are presented, discussed, and compared.

Abstract

Boolean functions can be represented in many ways including logical forms, truth tables, and polynomials. Additionally, Boolean functions have different canonical representations such as minimal disjunctive normal forms. Other canonical representation is based on the polynomial representation of Boolean functions where they can be written as a nested product of canalizing layers and a polynomial that contains the noncanalizing variables. In this paper we study the problem of identifying the canalizing layers format of Boolean functions. First, we show that the problem of finding the canalizing layers is NP-hard. Second, we present several algorithms for finding the canalizing layers of a Boolean function, discuss their complexities, and compare their performances. Third, we show applications where the computation of canalizing layers can be used for finding a disjunctive normal form of a nested canalizing function. Another application deals with the reverse engineering of Boolean networks with a prescribed layering format. Finally, implementations of our algorithms in Python and in the computer algebra system Macaulay2 are available at https://github.com/ckadelka/BooleanCanalization.

Paper Structure

This paper contains 13 sections, 8 theorems, 39 equations, 2 figures.

Key Result

Theorem 2.4

Every Boolean function $f(x_1,\ldots,x_n)\not\equiv 0$ can be uniquely written as $f(x_1,\ldots,x_n) =$ where each $M_i = \prod_{j=1}^{k_i} (x_{i_j} + a_{i_j})$ is a nonconstant extended monomial, $p_C$ is the core polynomial of $f$, and $k = \sum_{i=1}^r k_i$ is the canalizing depth. Each $x_i$ appears in exactly one of $\{M_1,\ldots,M_r,p_C\}$, and the only restrictions are the following "except

Figures (2)

  • Figure 1: Enumeration of Boolean functions. Using the formulas in Remark \ref{['cor']} and Corollary \ref{['cor_enumeration']}, this figure shows the proportion of Boolean functions with $n=2-5$ variables, which have (A) a specific canalizing depth or (B) a specific number of layers.
  • Figure 2: Comparison of the run time of the algorithms. (A) For both algorithms, we compared the average computation time of the layers for noncanalizing (solid lines with circles) and nested canalizing (dotted lines with x) Boolean functions with a fixed number of variables, $n$ ($x$-axis). (B) Comparison of the basic version of Algorithm 2 (blue) and a modified version of the algorithm where the left-hand side of the truth table $\mathbf T_m$ has been pre-computed for all $m$ with $1\leq m \leq n$.

Theorems & Definitions (27)

  • Definition 2.1
  • Definition 2.2
  • Definition 2.3: he2016stratification
  • Theorem 2.4: he2016stratification
  • Remark 2.5
  • Example 2.6
  • Definition 2.7
  • Example 2.8
  • Remark 2.9
  • Remark 3.1
  • ...and 17 more