threshold-2outof3 / README.md
phanerozoic's picture
Upload folder using huggingface_hub
13b4306 verified
metadata
license: mit
tags:
  - pytorch
  - safetensors
  - threshold-logic
  - neuromorphic

threshold-2outof3

At least 2 of 3 inputs high. Equivalent to 3-input majority function.

Function

2outof3(a, b, c) = 1 if (a + b + c) >= 2, else 0

Equivalently: MAJORITY(a, b, c)

Truth Table

a b c sum out
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 2 1
1 0 0 1 0
1 0 1 2 1
1 1 0 2 1
1 1 1 3 1

Architecture

Single neuron: weights [1, 1, 1], bias -2

Fires when: a + b + c - 2 >= 0, i.e., sum >= 2

Parameters

Inputs 3
Outputs 1
Neurons 1
Layers 1
Parameters 4
Magnitude 5

Usage

from safetensors.torch import load_file
import torch

w = load_file('model.safetensors')

def atleast2of3(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(atleast2of3(0, 1, 0))  # 0 (sum=1)
print(atleast2of3(0, 1, 1))  # 1 (sum=2)

License

MIT