Research Article

The Dynamics of Canalizing Boolean Networks

Algorithm 2

Generating a random Boolean function of a given canalizing depth.
ā€‰In: Nonnegative integers k and n with
ā€‰Out: A Boolean function f in n variables of canalizing depth k such that, for fixed k and n, all possible outputs have the same probability
(1)In the notation of Theorem 1, generate the following:
(a)random bits ;
(b)random subset with ;
(c)random ordered partition of X (using Algorithm 2);
(d)random noncanalizing function in variables (see Remark 3).
(2)Form a function using the data generated in Step 1 as in Theorem 1, where involves exactly the variables from for every .
(3)If f does not satisfy any of the conditions (E1) or (E2), discard it and run the algorithm again. Otherwise, return f.