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

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Collection including phanerozoic/threshold-canalizing