52 lines
999 B
Markdown
52 lines
999 B
Markdown
+++
|
|
title = "Quickfacts - Automata Model"
|
|
date = 2026-06-01
|
|
description = "Building an automata based model for factorio"
|
|
draft = true
|
|
|
|
[taxonomies]
|
|
categories = ["Programming"]
|
|
tags = ["Factorio", "Rust"]
|
|
|
|
[extra]
|
|
toc = true
|
|
+++
|
|
|
|
Testing
|
|
|
|
<!-- more -->
|
|
|
|
# Idea
|
|
Each machine, on its own, can be represented as some kind of automaton.
|
|
These types of automata, have special input and output transitions.
|
|
|
|
Combining two machines into a larger system, means "synchronizing" the two automata, based on their input/output transitions.
|
|
So if one machine acts as the input for the other, then they synchronize at their respective input/output edges and then continue running independently.
|
|
|
|
# Example
|
|
{% mermaid() %}
|
|
graph LR
|
|
S --Output--> S
|
|
{% end %}
|
|
{% mermaid() %}
|
|
graph LR
|
|
S --Input--> 1
|
|
1 --'-'--> 1
|
|
{% end %}
|
|
|
|
{% mermaid() %}
|
|
graph LR
|
|
S --'-'--> 1
|
|
{% end %}
|
|
{% mermaid() %}
|
|
graph LR
|
|
S --'-'--> 1
|
|
{% end %}
|
|
|
|
```
|
|
1: 'Output'----
|
|
2 'Input'----
|
|
3: ----'Output'
|
|
4: ----'Input'
|
|
```
|