--- license: mit tags: - pytorch - safetensors - threshold-logic - neuromorphic --- # threshold-atmost3outof5 At most 3 of 5 inputs high. ## Function atmost3outof5(a, b, c, d, e) = 1 if (a + b + c + d + e) <= 3, else 0 ## Truth Table (selected) | sum | out | |-----|-----| | 0 | 1 | | 1 | 1 | | 2 | 1 | | 3 | 1 | | 4 | 0 | | 5 | 0 | ## Architecture Single neuron: weights [-1, -1, -1, -1, -1], bias 3 Fires when: -a - b - c - d - e + 3 >= 0, i.e., sum <= 3 ## Parameters | | | |---|---| | Inputs | 5 | | Outputs | 1 | | Neurons | 1 | | Layers | 1 | | Parameters | 6 | | Magnitude | 8 | ## Usage ```python from safetensors.torch import load_file import torch w = load_file('model.safetensors') def atmost3of5(a, b, c, d, e): inp = torch.tensor([float(a), float(b), float(c), float(d), float(e)]) return int((inp @ w['neuron.weight'].T + w['neuron.bias'] >= 0).item()) print(atmost3of5(1, 1, 1, 0, 0)) # 1 (sum=3) print(atmost3of5(1, 1, 1, 1, 0)) # 0 (sum=4) ``` ## License MIT