threshold-canalizing

Canalizing Boolean function where one input can override all others.

Function

y = NOT(x0) AND (x1 OR x2)

Canalizing property: If x0 = 1, then y = 0 regardless of x1 and x2.

  • Canalizing input: x0
  • Canalizing value: 1
  • Canalized output: 0

When x0 = 0, the function reduces to y = x1 OR x2.

Truth Table

x2 x1 x0 y Note
0 0 0 0
0 0 1 0 x0 canalizes
0 1 0 1
0 1 1 0 x0 canalizes
1 0 0 1
1 0 1 0 x0 canalizes
1 1 0 1
1 1 1 0 x0 canalizes

Architecture

Not linearly separable; requires 2 layers:

x2   x1   x0
 β”‚    β”‚    β”‚
 β”‚    β”‚    └──────┐
 β”‚    β”‚           β”‚
 └────┴───┐       β”‚
          β”‚       β”‚
          β–Ό       β–Ό
       β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”
       β”‚ OR  β”‚ β”‚ NOT β”‚   Layer 1
       β”‚x1,x2β”‚ β”‚ x0  β”‚
       β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜
          β”‚       β”‚
          β””β”€β”€β”€β”¬β”€β”€β”€β”˜
              β”‚
              β–Ό
           β”Œβ”€β”€β”€β”€β”€β”
           β”‚ AND β”‚       Layer 2
           β””β”€β”€β”€β”€β”€β”˜
              β”‚
              β–Ό
              y

Parameters

Inputs 3
Outputs 1
Neurons 3
Layers 2
Parameters 11
Magnitude 8

Biological Significance

Canalizing functions are important in gene regulatory networks. A canalizing gene can suppress or activate a developmental pathway regardless of other genes' states, providing robustness to genetic variation.

Usage

from safetensors.torch import load_file

w = load_file('model.safetensors')

# When x0=1 (canalizing value), output is always 0
# When x0=0, output is x1 OR x2

License

MIT

Downloads last month
12
Safetensors
Model size
11 params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Collection including phanerozoic/threshold-canalizing