threshold-exactly1outof3

Exactly 1 of 3 inputs high.

Function

exactly1outof3(a, b, c) = 1 if (a + b + c) == 1, else 0

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 0
1 0 0 1 1
1 0 1 2 0
1 1 0 2 0
1 1 1 3 0

Architecture

Two layers (not linearly separable):

Layer 1:

  • N1: weights [1, 1, 1], bias -1 (fires when sum >= 1)
  • N2: weights [-1, -1, -1], bias 1 (fires when sum <= 1)

Layer 2:

  • AND: weights [1, 1], bias -2 (fires when both N1 and N2 fire)

Parameters

Inputs 3
Outputs 1
Neurons 3
Layers 2
Parameters 11
Magnitude 12

Usage

from safetensors.torch import load_file
import torch

w = load_file('model.safetensors')

def exactly1of3(a, b, c):
    inp = torch.tensor([float(a), float(b), float(c)])
    l1 = (inp @ w['layer1.weight'].T + w['layer1.bias'] >= 0).float()
    out = (l1 @ w['layer2.weight'].T + w['layer2.bias'] >= 0).float()
    return int(out.item())

print(exactly1of3(0, 0, 1))  # 1 (sum=1)
print(exactly1of3(0, 1, 1))  # 0 (sum=2)

License

MIT

Downloads last month
13
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including phanerozoic/threshold-exactly1outof3