diff --git a/content/quickfacts-1/index.md b/content/quickfacts-1/index.md index cde4537..c7e5444 100644 --- a/content/quickfacts-1/index.md +++ b/content/quickfacts-1/index.md @@ -84,12 +84,41 @@ For example an inserter will perform an intersection, because it can only accept But a belt will perform a union, because might have constraints coming from inserters taking from them and downstream belts so the items can take either path. Basically the constraints for every edge will be combined using an intersection with the constraints of the node itself, and then all downstream edge constraints will be combined using a union to form the final upstream constraint. -JOIN Operator: used to combine multiple "or" constraints, for example for combining downstream constraints. -This is done by adding all the limits for items together. +### Notation +$c = (l, I, IL) \text{, with}$ +- $l \in \mathbb{Q} \text{, the total throughput limit}$ +- $I = \text{A set of items} \text{, the set of items 'used' by the constraint}$ +- $IL = I \mapsto \mathbb{Q} \text{, the limit for each item}$ -CHAIN Operator: used to combine multiple "and" constraints. +### JOIN Operator $\bigcup$ +Combines multiple constraints in a logical or kind of fashion. -### Representation +Given $c_1 = (l_1, I_1, IL_1), c_2 = (l_2, I_2, IL_2)$ + +Then $c = \bigcup \\{c_1, c_2\\} = (l, I, IL)$ with +- $l = max \\{ l_1, l_2 \\}$ +- $I = I_1 \cup I_2$ +- $IL(i) = \begin{cases} + IL_1(i) + IL_2(i) & \text{, if } i \in I_1 \land i \in I_2 \\\\ + IL_1(i) & \text{, if } i \in I_1 \land i \notin I_2 \\\\ + IL_2(i) & \text{, if } i \notin I_1 \land i \in I_2 \\\\ + 0 & \text{else} + \end{cases}$ + +### CHAIN Operator $\bigcap$ +Used to combine multiple constraints in a logical and kind of fashion + +Given $c_1 = (l_1, I_1, IL_1), c_2 = (l_2, I_2, IL_2)$ + +Then $c = \bigcap \\{c_1, c_2\\} = (l, I, IL)$ with +- $l = min \\{ l_1, l_2 \\}$ +- $I = I_1 \cap I_2$ +- $IL(i) = \begin{cases} + min \\{IL_1(i), IL_2(i)\\} & \text{, if } i \in I_1 \land i \in I_2 \\\\ + 0 & \text{else} + \end{cases}$ + +### Graphical Representation A tree with 3 levels, each doing something different The lowest level, selects by item. diff --git a/zola.toml b/zola.toml index 9232e03..94280cf 100644 --- a/zola.toml +++ b/zola.toml @@ -47,4 +47,4 @@ theme = "toggle" # options: {light, dark, auto, toggle} toc = true comments = false codeblock = true - +latex = true