threshold-min2 / README.md
phanerozoic's picture
Upload folder using huggingface_hub
6e6bb88 verified
---
license: mit
tags:
- pytorch
- safetensors
- threshold-logic
- neuromorphic
---
# threshold-min2
Minimum of two 2-bit unsigned integers.
## Function
min2(a, b) = min(a, b) where a, b are 2-bit unsigned integers (0-3)
Inputs: a1, a0, b1, b0 (MSB first)
Outputs: m1, m0 = binary representation of min(a, b)
## Truth Table
| a | b | min |
|---|---|-----|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 2 | 0 |
| 0 | 3 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
| 1 | 2 | 1 |
| 1 | 3 | 1 |
| 2 | 0 | 0 |
| 2 | 1 | 1 |
| 2 | 2 | 2 |
| 2 | 3 | 2 |
| 3 | 0 | 0 |
| 3 | 1 | 1 |
| 3 | 2 | 2 |
| 3 | 3 | 3 |
## Architecture
7-layer circuit:
1. Layer 1: Bit comparisons and passthrough (10 neurons)
2. Layer 2: Equality detection (9 neurons)
3. Layer 3: Partial comparison (8 neurons)
4. Layer 4: Full a > b and a == b (6 neurons)
5. Layer 5: a <= b computation (5 neurons)
6. Layer 6: MUX selection (4 neurons)
7. Layer 7: Final OR (2 neurons)
## Parameters
| | |
|---|---|
| Inputs | 4 |
| Outputs | 2 |
| Neurons | 44 |
| Layers | 7 |
| Parameters | 186 |
| Magnitude | 95 |
## Usage
```python
from safetensors.torch import load_file
import torch
w = load_file('model.safetensors')
# Use model.py for full implementation
from model import min2, load_model
w = load_model()
m1, m0 = min2(1, 0, 0, 1, w) # min(2, 1) = 1
print(2*m1 + m0) # 1
```
## License
MIT