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