Stateful machine: Difference between revisions

From psychoengineering
Jump to navigation Jump to search
Content added Content deleted
(Initial description)
 
(Replaced content with "A '''stateful machine''' is a machine that uses past output to create novel output. {{File:Stateful_machine.svg}}")
Tag: Replaced
Line 1: Line 1:
A '''stateful machine''' is a [[machine]] that uses past output to create novel output.
A '''stateful machine''' is a [[machine]] that uses past output to create novel output.


{{File:Stateful_machine.svg}}
<graph>
{
"$schema": "https://vega.github.io/schema/vega/v5.json",
"width": 400,
"height": 200,
"data": [
{
"name": "nodes",
"values": [
{"id": 3, "label": "machine"}
]
},
{
"name": "links",
"values": [
{"id": 0, "source": 0, "target": 1, "label": "inputs", "path": "M0,100L200,100", "arrow": {"x": 200, "y": 100, "offset": {"x": -5, "y": 0}}},
{"id": 3, "source": 2, "target": 0, "label": "feedback", "path":"M300,100L500,100", "arrow": {"x": 150, "y": 100, "offset": {"x": 0, "y": -5}}},
{"id": 6, "source": 1, "target": 2, "label": "outputs", "path":"M350,100L350,25L150,25L150,100", "arrow": {"x": 500, "y": 100, "offset": {"x": 0, "y": 0}}}
]
}
],
"scales": [
{
"name": "x",
"type": "band",
"range": "width",
"domain": [0, 1, 2, 3, 4, 5, 6]
}
],
"marks": [
{
"type": "rect",
"from": {"data": "nodes"},
"encode": {
"enter": {
"x": {"scale": "x", "field": "id", "band": 0.5},
"y": {"value": 80},
"width": {"value": 100},
"height": {"value": 40},
"fill": {"value": "lightgray"},
"stroke": {"value": "black"}
}
}
},
{
"type": "text",
"from": {"data": "nodes"},
"encode": {
"enter": {
"x": {"scale": "x", "field": "id", "band": 0.5, "offset": 50},
"y": {"value": 100},
"fontSize": {"value": 14},
"text": {"field": "label"},
"align": {"value": "center"},
"baseline": {"value": "middle"}
}
}
},
{
"type": "path",
"from": {"data": "links"},
"encode": {
"enter": {
"path": {"field": "path"},
"stroke": {"value": "black"}
}
}
},
{
"type": "rect",
"from": {"data": "links"},
"encode": {
"enter": {
"x": {"scale": "x", "field": "id", "band": 0.70},
"y": [
{"test": "datum.source !== 2", "value": 90},
{"test": "datum.source === 2", "value": 15}
],
"width": {"value": 75},
"height": {"value": 20},
"fill": {"value": "lightgray"}
}
}
},
{
"type": "text",
"from": {"data": "links"},
"encode": {
"enter": {
"x": {"scale": "x", "field": "id", "band": 0.70, "offset": 37.5},
"y": [
{"test": "datum.source !== 2", "value": 100},
{"test": "datum.source === 2", "value": 25}
],
"fontSize": {"value": 14},
"text": {"field": "label"},
"align": {"value": "center"},
"baseline": {"value": "middle"}
}
}
},
{
"type": "symbol",
"from": {"data": "links"},
"encode": {
"enter": {
"x": {"field": "arrow.x", "offset": {"field": "arrow.offset.x"}},
"y": {"field": "arrow.y", "offset": {"field": "arrow.offset.y"}},
"shape": {"value": "triangle-right"},
"size": {"value": 100},
"fill": {"value": "black"},
"angle": [{"test": "datum.source === 2", "value": 90}, {"value": 0}]
}
}
}
]
}
</graph>

Revision as of 13:43, 15 August 2023

A stateful machine is a machine that uses past output to create novel output.