Systems Thinking with AI, illustrated chapter reader ยท Chapter 13

13Auxiliaries, Parameters, and Decision Rules

Four kinds of quantity share one notation, and each needs its own evidence and its own test.

Four small calculations run through the chapter's whitelisted evaluator. A decision rule that never asks for a negative adjustment, a belief that lags what is observed, the names an expression reads and what happens when one has no value, and an auxiliary tested by plain arithmetic.

Every example in these readers is a constructed teaching example built from the chapter's own numbers. Chapters 36 to 39 start from committed public records; their fitted values are inferred from those records, and nothing here is a forecast.

1Demonstration 1 of 4

A decision rule that never goes negative

What does a guarded gap rule do when demand is below capacity?

The max(0, ...) guard turns every negative gap into zero, so the rule only reacts to a shortfall and the adjustment time divides the size of that reaction.

Equation: the larger of zero and demand minus capacity, divided by adjustment

demand and capacity are in the same units; the gap is demand minus capacity. adjustment is the time over which the gap is closed. The rate is the share of the gap acted on per period.

Predict first. With demand 80 and capacity 100, is the adjustment rate negative, zero or positive?

Choose an example

Figure: A decision rule that never goes negative. max(0, 120 - 100) / 4 = max(0, 20) / 4 = 20 / 4 = 5.0. The gap is positive, so the rule asks for one adjustment-time share of it.
Demand: 120, Adjustment time: 4
Constructed example: the chapter's guarded expression with demand and adjustment values chosen for this reader.

Calculated values

Gap (demand - capacity)
20
Adjustment rate
5.0
Round(3.7) in a model expression
'round' is not an allowed function

max(0, 120 - 100) / 4 = max(0, 20) / 4 = 20 / 4 = 5.0. The gap is positive, so the rule asks for one adjustment-time share of it.

Use the idea

State what a rule may never output, and test it at the boundary where the gap is zero or negative.

Where the conclusion applies

Capacity fixed at 100 and a rule that fires every period. A real owner might act monthly, which would make this rule more responsive than the organization.

Check your understanding: With demand 150 and adjustment 8, what is the adjustment rate?
max(0, 150 - 100) / 8 = 50 / 8 = 6.25.

Chapter 13 source: section "The expression problem". Demonstration C13-D01.

2Demonstration 2 of 4

A belief that lags the truth

How far behind an observed step does a smoothed belief stay?

Each period closes 1 / smoothing_time of the remaining gap, so a longer smoothing time leaves a larger gap for longer. The belief approaches the observed value without passing it.

Equation: expected becomes expected plus the gap between observed and expected, divided by the smoothing time

observed is the true demand from period 1 on, starting at 100. expected is the decider's belief and carries forward from period to period. smoothing_time is how many periods the belief takes to close the gap.

Predict first. With a smoothing time of 8, is the belief closer to the observed value after 5 periods than with a time of 2?

Choose an example

Figure: A belief that lags the truth. First update: 100 + (120 - 100) / 4 = 105.0. Each period closes 1 / 4 of the remaining gap, so at period 5 the belief is 115.3, still 4.7 from 120. The belief approaches the observed value and does not overshoot it.
Smoothing time (periods): 4, Demand step: Rises from 100 to 120
Constructed example: the chapter's smoothing rule evaluated by the pack, with the step size and smoothing times chosen for this reader.

Calculated values

Expected after period 1
105.0
Expected after period 5
115.3
Expected after period 10
118.9
Gap to observed at period 5
4.7
Overshoots the observed value
no

First update: 100 + (120 - 100) / 4 = 105.0. Each period closes 1 / 4 of the remaining gap, so at period 5 the belief is 115.3, still 4.7 from 120. The belief approaches the observed value and does not overshoot it.

Use the idea

If the decider cannot see a quantity directly and at once, model the belief with its own state instead of reading the true value.

Where the conclusion applies

One step change from 100 and a belief that starts at the old value. A decider who also reads a trend or a pipeline would not lag in this way.

Check your understanding: With a smoothing time of 2 and demand stepping from 100 to 120, what is the belief after the first period?
100 + (120 - 100) / 2 = 100 + 10 = 110.

Chapter 13 source: section "Perceptions have their own state". Demonstration C13-D02.

3Demonstration 3 of 4

Dependencies fall out of the parse

Which names does an expression read, and what happens when one has no value?

Parsing yields the set of names read before anything runs. Evaluation then refuses a name with no value instead of substituting zero, so a missing quantity cannot pass as a zero one.

Equation: backlog divided by production delay, plus safety

Equation: hiring rate equals desired workforce minus workforce, divided by hiring delay

Each bar is the value supplied for one name the expression reads. The names read are the expression's edges in the model's dependency graph.

Predict first. If the last name in alphabetical order has no value, does evaluation return 0 for it?

Choose an example

Figure: Dependencies fall out of the parse. The parse finds 3 names: backlog, production_delay, safety. With all of them supplied, 80 / 4 + 5 = 25.00.
Expression: backlog / production_delay + safety, Values supplied: Every name has a value
Constructed example: the chapter's expressions with values defined for this reader and evaluated by the pack.

Calculated values

Expression
backlog / production_delay + safety
Names read (dependency edges)
backlog, production_delay, safety
Number of edges
3
Result
25.00

The parse finds 3 names: backlog, production_delay, safety. With all of them supplied, 80 / 4 + 5 = 25.00.

Use the idea

Compare the names an expression reads with the names the model defines, and treat the difference as the list of what is missing.

Where the conclusion applies

Numeric values defined for this reader, one expression at a time. A cycle among auxiliaries is a separate defect, found by the compiler of a later chapter.

Check your understanding: For backlog / production_delay + safety with backlog 80, production_delay 4 and safety 5, what is the result?
80 / 4 + 5 = 20 + 5 = 25.

Chapter 13 source: section "Dependencies fall out of the parse". Demonstration C13-D03.

4Demonstration 4 of 4

An auxiliary is tested by arithmetic

What are the cases worth testing for a coverage auxiliary?

An auxiliary holds no state, so each input set has one expected value that plain division gives. The case worth adding is a zero denominator, which has no value at all.

Equation: inventory divided by shipment rate

inventory is in units, shipment_rate in units per week, so coverage is in weeks. The target coverage of 2 weeks is a parameter.

Predict first. With 200 units and shipments of 100 per week, is coverage above or below the target of 2 weeks?

Choose an example

Figure: An auxiliary is tested by arithmetic. Coverage = 200 / 50 = 4.0 weeks, 2.0 weeks above the target. An auxiliary has no state, so this arithmetic is its whole test.
Inventory (units): 200, Shipments (units per week): 50
Constructed example: the chapter's two hundred units against fifty per week, with other inputs chosen for this reader.

Calculated values

Inventory coverage
4.0 weeks
Target coverage
2 weeks
Against target
2.0 weeks above the target

Coverage = 200 / 50 = 4.0 weeks, 2.0 weeks above the target. An auxiliary has no state, so this arithmetic is its whole test.

Use the idea

Write the substitution test for every auxiliary, including the case where its denominator is zero.

Where the conclusion applies

A single week of shipments taken as the rate. If shipments swing, the coverage computed from one week is not the coverage over the next several.

Check your understanding: With 400 units and shipments of 50 per week, how many weeks of cover and how far from the target?
400 / 50 = 8 weeks, which is 8 - 2 = 6 weeks above the target.

Chapter 13 source: section "Testing algebra". Demonstration C13-D04.