**Problem:** Connected things fall apart.
**Therefore:** We will benefit from mechanisms that keep things in balance. Ross Ashby called these mechanisms Homeostats.
This is the basic structure of any homeostat.
There are a few parts to a functioning homeostat:
Homeostat work space
* A relevant environment * A responsive Operator in that environment with its own purpose * A pair of Communication Channels--feedback. * Attenuators (noise filters) and signal amplifiers for each feedback channel. * A Comparator with a range of Viability Values or Operational Limits within which the function can operate safely. * The comparator is capable of adjusting the filters and amplifiers. * Transducers—the Translator between people taking care of different function.
The Basic Loop
# Place the cursor inside "graph" to get some refactoring options digraph { rankdir=LRTB layout=dot overlap=false concentrate=true "High Variety\nEnvironment" [shape=oval style=filled fillcolor=red penwidth=5 color=black] "Lower Variety\nDecision Maker" [shape=oval style=filled fillcolor=lightblue penwidth=5 color=black] "Attinuator" [shape=box style=filled fillcolor=pink penwidth=5 color=black] "Amplifier" [shape=triangle style=filled fillcolor=pink penwidth=5 color=black] "High Variety\nEnvironment"->"Attinuator"->"Lower Variety\nDecision Maker" "Lower Variety\nDecision Maker" -> "Amplifier"->"High Variety\nEnvironment" subgraph {rank=same Attinuator Amplifier} # Hover over color names to get a color picker # Get completion when assigning a shape or color # You can remove optional ; by placing the cursor left to a semicolon }
Input Output for Environment and Operator
# Place the cursor inside "graph" to get some refactoring options digraph { rankdir=LRTB layout=dot overlap=false concentrate=true # Place the cursor inside "graph" to get some refactoring options "Environment\nOffer" [shape=oval style=filled fillcolor=red penwidth=5 color=black] "Environment\nRequest" [shape=oval style=filled fillcolor=red penwidth=5 color=black] "Manager\nAcceptance" [shape=oval style=filled fillcolor=lightblue penwidth=5 color=black] "Manager\nResponse" [shape=oval style=filled fillcolor=lightblue penwidth=5 color=black] //rank=same { "Environment\nOffer" "Manager\nResponse" "Modulator\nAmplifier" } rank=same {"Manager\nAcceptance" "Modulator\nAttenuator" "Environment\nRequest"} "Modulator\nAttenuator" [shape=box style=filled fillcolor=pink penwidth=5 color=black] "Modulator\nAmplifier" [shape=triangle style=filled fillcolor=pink penwidth=5 color=black] subgraph cluster_1 {rank=same "Environment\nRequest" -> "Modulator\nAttenuator" -> "Manager\nAcceptance"} //subgraph cluster_2 {rank=same "Environment\nOffer"} "Manager\nAcceptance"->"Manager\nResponse" "Manager\nResponse" -> "Modulator\nAmplifier" -> "Environment\nOffer"->"Environment\nRequest" subgraph {rank=same "Modulator\nAmplifier" "Modulator\nAttenuator"} //subgraph {rank=same "Environment\nRequest" "Environment\nOffer"} subgraph {rank=same "Manager\nResponse" "Manager\nAcceptance"} }
Comparator with Sensors, Limits, and Effectors
# Place the cursor inside "graph" to get some refactoring options digraph { rankdir=BT "Modulator Attinuator enroute from\nEnviron" [shape=box style=filled fillcolor=pink penwidth=5 color=black] "Modulator Amplifier enroute from\nOps" [shape=triangle style=filled fillcolor=pink penwidth=5 color=black] "Comparitor-Balancer\nwith\nOperational Limits\n(Stability Criteria)" [shape=circle style=filled fillcolor=lightgreen penwidth=5 color=black] "Modulator Amplifier enroute from\nOps" -> "Comparitor-Balancer\nwith\nOperational Limits\n(Stability Criteria)" -> "Modulator Attinuator enroute from\nEnviron" "Modulator Attinuator enroute from\nEnviron" -> "Comparitor-Balancer\nwith\nOperational Limits\n(Stability Criteria)" -> "Modulator Amplifier enroute from\nOps" }
The Comparator is also and quite remarkably capable of changing its own goals and ranges!
CLD of Homeostat (an exploration)