metadata
license: mit
tags:
- pytorch
- safetensors
- threshold-logic
- neuromorphic
threshold-1outof3
At least 1 of 3 inputs high. Equivalent to 3-input OR gate.
Function
1outof3(a, b, c) = 1 if (a + b + c) >= 1, else 0
Equivalently: OR(a, b, c)
Truth Table
| a | b | c | sum | out |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 |
| 0 | 1 | 1 | 2 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 0 | 1 | 2 | 1 |
| 1 | 1 | 0 | 2 | 1 |
| 1 | 1 | 1 | 3 | 1 |
Architecture
Single neuron: weights [1, 1, 1], bias -1
Fires when: a + b + c - 1 >= 0, i.e., sum >= 1
Parameters
| Inputs | 3 |
| Outputs | 1 |
| Neurons | 1 |
| Layers | 1 |
| Parameters | 4 |
| Magnitude | 4 |
Usage
from safetensors.torch import load_file
import torch
w = load_file('model.safetensors')
def atleast1of3(a, b, c):
inp = torch.tensor([float(a), float(b), float(c)])
return int((inp @ w['neuron.weight'].T + w['neuron.bias'] >= 0).item())
print(atleast1of3(0, 0, 0)) # 0
print(atleast1of3(0, 0, 1)) # 1
License
MIT