CHAOS operator will provide a new source of uncertainty to the teletype via chaotic, yet deterministic systems.
Here is a progression of the Logistic Map, which devolves into chaos past certain parameter values.
I haven’t put my nose to the grindstone on this operator, so before I start, I’ll put the usual design questions in play.
Given the number of potential chaotic implementations, I wonder what limitations we should set on
- operator parameter count
- access to hidden variables, and count
as well as the usual operator questions:
- name (
- alias (
$? Surely the language won’t be complex enough to need both for something clever.)
And, if anyone wants to suggest algorithms to implement, I’m happy to hear them. Some links were shared in the other thread, but I should be able to implement anything that relies on only arithmetic and
cos(). I’m interested in knowing what an algorithm is useful for, more than anything.
While we don’t have to stick to only one algorithm, we should probably limit the set to a small, useful set.
- Logistic map (1 parameter, 1 constant, 1 dimension)
- Cubic map (1, 1, 1)
- Henon map (2, 1, 2)
- Cellular Automata (1, 1, 1)
CHAOS | get next chaotic value CHAOS 5000 | set current value to 0.5 CHAOS 15000 | set current value to 1.5 CHAOS -12500 | set current value to -1.25 CHAOS.R 5000 | set chaos parameter to half of range CHAOS.ALG | get current algorithm CHAOS.ALG 0 | select LOGISTIC CHAOS.ALG 1 | select CUIBIC CHAOS.ALG 2 | select HENON
Given the difference in parameter and value type, this algorithm should be spun off into a new operator.
CA.R 123 | select rule 123 CA 63 | set current value to 63 CA | get next value