Stateful machine: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
Octopirate (talk | contribs) (Initial description) |
Octopirate (talk | contribs) (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.