CIRCUIT COMPONENTS
input

A gateway component that receives data from the circuit’s function interface, optionally encoding it through a plugin.
Details and properties
- Circuits may have multiple
inputnodes, each representing one block of data. - Supports encoder plugins, mapping external data representations to sets.
- Transparently handles multisets and inhibitory signals.
- Sends data downstream without delay.
| Property | Default | Description |
|---|---|---|
send |
required | [integer]
representing a single output slot |
plugin |
encoder plugin |
Use standard style options to customize the component’s appearance in circuit schematics.
Basic input and output
This is the simplest possible circuit, routing signals
directly from the input node to the output node. Multiset or
inhibitory inputs are reduced to sets along the pathway.
{ "hyperparameters": {"default": [1000, 10]},
"dataflow": [
{"component": "input", "send": [1]},
{"component": "output", "receive": [1]}
]}
Multiple inputs
Each input node represents a disjoint partition (or block) of the overall input signal.
This merges the signals from two input nodes into a single
output node. Note that the list notation in the
receive parameter denotes merging.
{ "hyperparameters": {"default": [1000, 10]},
"dataflow": [
{"component": "input", "send": [1]},
{"component": "input", "send": [2]},
{"component": "output", "receive": [[1, 2]]}
]}
Multisets
This circuit routes multisets from the input to the output.
{ "hyperparameters": {"default": [1000, 10]},
"dataflow": [
{"component": "input", "send": [1]},
{"component": "output",
"receive": [{"slot": 1, "tags": ["multiset"]}]}
]}
Inhibitory multisets
The following circuit transports multiset data including inhibitory signals. Note that inhibitory pathways implicitly carry multisets.
{ "hyperparameters": {"default": [1000, 10]},
"dataflow": [
{"component": "input", "send": [1]},
{"component": "output",
"receive": [{"slot": 1, "tags": ["inhibit"]}]}
]}
Encoding input data
The input component supports encoder plugins
that convert external data to sets.
The following circuit uses the codec plugin which encodes
symbolic tokens as random Sparse Holographic Representations
(SHRs). Here, the output
component uses the same plugin instance to decode the SHRs,
exactly reversing the mapping.
{ "hyperparameters": {"default": [1000, 10]},
"dataflow": [
{"component": "input", "plugin": "codec", "send": [1]},
{"component": "output", "plugin": "codec", "receive": [1]}
]}
This uses the flyhash
encoder:
{ "hyperparameters": {"default": [1000, 10]},
"dataflow": [
{"component": "input", "plugin": "flyhash", "send": [1]},
{"component": "output", "receive": [1]}
]}