Theorical Best

← Product

*someone fix the rest of the grammar pls*

All the theoretical best are calculated without taking the movement restriction into account. These bests might not be attainable depending on the Product geometry.

## Cost

The table presents the list of the Reagents and the Glyphs needed to obtain the Product.

Depending on the Glyphs form and the number of function tiles, the cheapest Mechanism set is selected.

Then the total cost is calculated

Note: The presence of a Bonding Glyph or a Composed Reagent allows the placement of the Passing tiles not directly under the Action area of a Mechanism. In this case, the Passing Tile doesn't count in the Function Tile total.

## Area

The table presents the list of the Reagents and the Glyphs needed to obtain the Product.

Depending on the Glyphs form and the number of function tiles, the tiniest Mechanism set is selected.

Then the total cost is calculated

Note :

- The complete construction of a six-bond element requires a Two-Tile length arm on a two-tile Track.

- The construction of a four layers width infinite product require a Three-Tile length arm on a two tiles Track

- Glyphs, Reagents, or Products can be placed under Van Berlo's Wheel. Adding Track on the Van Berlo's Wheel, allows access to the tiles reducing the area occupied by the Van Berlo's Wheel.

The red Tiles are the one counting for the Van Berlo's Wheel area and the yellow Tiles are the one where Glyphs, Reagents or Products can be placed. The mechanism choice depend and the number of other parts that are available to be placed on the yellow Tiles.

## Cycle

The number of cycle depend of three factors :

- the input limit : the reagent can be grab only every two cycle. The table present the number of reagent than have to be take on each input base.

- the transformation step : each reagent has to be transform to form the produce. Each step delay the time between the last reagent grab and the last product drop. The table present all the transformation of the Element needed to obtain the Product starting from the Reagent. For each element, the shortest sequence is listed in order to determine the fastest solution. However, each sequence might not be compatible with each other due to the use of multibonding.

- the output limit : the product can be drop only one per cycle. In most case it is not an issue but it can be in certain puzzle (Litharge Separation, Electrum Separation)

The total number of cycle for each input is calculated that ways :

cycle = (number of grabbed reagent - 1) x 2 + number of step for the shortest reagent transformation.

The biggest input cycle number is the one of the product.

Note :

- If more than one input deliver the same reagent, the number of grabbed reagent is divided by the number of input. In that case the number of step use is the nth shortest reagent transformation in one finished product (n = number of input).

- If more than one input have the biggest number of cycle, you have to check if their transformation do not require interaction with a third common element at the same time. In that case an additional step is requiered (except multi-bonding, an element can only support one transformation per cycle). It is the case for the Rocket Propellant , the Stamina Potion , the Warming Tonic, the Life Sensing Potion, the Stain Remover and the Van Berlo's Wheel production .

- For the infinite product, one step is substracted to the total. Indeed, the product don't have to be drop but just placed on the product tile.

## Instruction

I'm not fully satisfied for this one however, I follow this method.

The minimum number of instruction is 3 loop is three : grab, rotate, drop. Ideally, you can take the reagent from the input, carry it on glyph all around the arm to transform it and drop the product in the output using this loop.

If the needed glyph don't fit around only one arm, the I add another arm with three more instruction. However if the additionnal glyph are only passing tiles the alternative solution is to use two tracks tiles and use this sequence : grap / rotate / move on the track / move back / drop, allowing the use of 8 tiles with 5 instruction. In some case, an arm can be use just as pivot for a 3 instructions loop (grab / pivot / drop). In most of the case I did my best to find alternative instruction loop with less than 6 instructions before adding a new arm but I'm likely to have miss some possiblilty.

If element from the same output have to support different tranformation, I have count one arm's set for each element trajectory. If a tranformation lead to a non-reachable element (conduit or projection), I add another arm with three more instruction.

For multiple input, as you can adapt the ratio of reagent grabing via the number of arms on the same axis (1/1, 1/2, 1/3 or 1/6), I have duplicate the instruction when the ratio between input don't fit in the different arms ratio.

I'm not fully satisfy with this way of counting as it doesn't take into consideration the board size. However, I don't really see an easy way to rationalize all the parameters and have an accurate best estimation. The top score are likely to be really hard (or impossible ?) to reach.

## Compromise

The compromise reflect the efficiency of the machine in all the three aspect : cost, cycle and area/instruction.

The score is calculed using the following formula :

score = 300 / [(cost / best cost) + (cycle / best cycle) + (area / best area)]

The theorical best score is 100% for a machine reaching the best in all aspect.