Files
LithosAnanake/docs/working/papers/FINAL_REPORT/appendix_glossary.adoc
T

366 lines
12 KiB
Plaintext

// Moved from docs/FINAL_REPORT/appendix_glossary.adoc to docs/working/papers/FINAL_REPORT/appendix_glossary.adoc on 2026-06-16 (docs reorg Phase 2)
[appendix]
== Glossary of Terms
This glossary provides precise definitions for terminology used throughout this work. Terms are organized alphabetically with cross-references where applicable.
=== Core Concepts
[glossary]
Adaptive Heartbeat::
Time-driven coordination mechanism that orchestrates feedback loop execution at dynamically-adjusted intervals. The heartbeat thread executes `vm_tick()` at frequency stem:[f_{\text{tick}}], where stem:[f_{\text{tick}} \in [f_{\text{min}}, f_{\text{max}}]] adapts based on system stability metrics.
+
*Measurement*: Tick period in nanoseconds (configurable via `HEARTBEAT_TICK_NS`).
+
*Implementation*: Background pthread executing `heartbeat_thread_main()`.
Attractor::
Stable equilibrium point or region in phase space toward which execution trajectories converge. Formally, a fixed point stem:[\mathbf{x}^*] where stem:[F(\mathbf{x}^*) = \mathbf{x}^*] for dynamical system stem:[\mathbf{x}_{t+1} = F(\mathbf{x}_t)].
+
*Measurement*: Coordinates in stem:[(w, \lambda, \sigma^2)] phase space.
+
*Empirical observation*: StarForth exhibits stable fixed-point attractor across 90 experimental runs.
Coefficient of Variation (CV)::
Normalized measure of dispersion, defined as the ratio of standard deviation to mean:
+
[stem]
++++
CV = \frac{\sigma}{\mu}
++++
+
*Convergence criterion*: stem:[CV \to 0] indicates deterministic convergence.
+
*Application*: Used to quantify variance reduction in steady-state metrics.
Decay Coefficient (λ)::
Rate parameter controlling exponential reduction in execution frequency over time. Units: stem:[[1/\text{time}]].
+
*Mathematical model*:
+
[stem]
++++
f(t) = f_0 \cdot e^{-\lambda t}
++++
+
*Measurement*: Derived via exponential regression on rolling window data; stored as Q48.16 fixed-point.
+
*Typical range*: stem:[\lambda \in [10^{-6}, 10^{-3}]] per microsecond.
Deterministic Convergence::
Property whereby repeated executions of identical workloads produce statistically indistinguishable steady-state metrics. Formally:
+
[stem]
++++
\forall \text{ executions } i,j: \quad \frac{|\text{metric}_i - \text{metric}_j|}{\sigma} < \epsilon
++++
+
where stem:[\epsilon \to 0] as stem:[t \to \infty].
+
*Empirical result*: 0% algorithmic variance across 90 runs (CV < 0.001%).
+
*Significance*: Enables reproducible performance characterization.
Execution Frequency::
Count of times a dictionary entry has been executed since VM initialization, optionally adjusted by temporal decay. This is the *primary measurable quantity* in the adaptive runtime.
+
*Mathematical representation*:
+
[stem]
++++
f = \sum \text{executions} - \int \text{decay}(t) \, dt
++++
+
*Implementation*: Unsigned 64-bit integer (`uint64_t execution_heat`).
+
*Note*: "Heat" is metaphorical naming convention; actual quantity is execution count.
Exponential Decay::
Mathematical function modeling reduction in execution frequency proportional to current value:
+
[stem]
++++
f(t) = f_0 \cdot e^{-\lambda t}
++++
+
where stem:[f_0] is initial frequency and stem:[\lambda] is decay coefficient.
+
*Physical analogy*: Similar to radioactive decay or thermal dissipation (metaphor only).
+
*Application*: Applied periodically by heartbeat system to reduce stale frequency counts.
Feedback Loop::
Self-referential process where system output influences future input. Classified as:
+
* *Positive* (amplifying): Output reinforces input
* *Negative* (stabilizing): Output opposes input
* *Neutral* (monitoring): No direct influence
+
*Example*: Loop #1 (Execution Heat Tracking) is positive feedback:
+
----
Execution → Frequency↑ → Cache Rank↑ → Lookup Speed↑ → More Execution
----
Hot-Words Cache::
Fixed-size array storing pointers to the stem:[K] most frequently executed dictionary entries, enabling O(1) lookup acceleration.
+
*Selection criterion*:
+
[stem]
++++
e \in \text{Cache} \iff \text{rank}(e) \leq K
++++
+
where stem:[\text{rank}(e) = |\{e' \in \text{Dictionary} : f(e') > f(e)\}| + 1].
+
*Performance impact*: Reduces average lookup time by 70-95% (workload-dependent).
Levene's Test::
Non-parametric statistical test for homogeneity of variance across groups. Tests null hypothesis stem:[H_0: \sigma_1^2 = \sigma_2^2 = \cdots = \sigma_k^2] (equal variances).
+
*Test statistic*: F-statistic with associated p-value.
+
*Application*: Used in window width inference (Loop #5) to detect variance changes when adjusting window size.
+
*Decision threshold*: Typically stem:[\alpha = 0.05] (5% significance level).
Phase Space::
Multi-dimensional coordinate system where each axis represents a system state variable. For StarForth:
+
[stem]
++++
\mathcal{S} = \{(w, \lambda, \sigma^2) \mid w \in \mathbb{N}, \lambda \in \mathbb{R}^+, \sigma^2 \in \mathbb{R}^+\}
++++
+
*Dimensions*:
* stem:[w]: Window size (execution events retained)
* stem:[\lambda]: Decay slope (frequency reduction rate)
* stem:[\sigma^2]: Variance (metric dispersion)
+
*Analysis technique*: Execution trajectories plotted in phase space reveal attractor basins.
Rolling Window of Truth::
Circular buffer recording recent execution history for deterministic metric seeding. Guarantees identical initial conditions across runs.
+
*Data structure*: Ring buffer stem:[B[i] = \text{word\_id}] at execution event stem:[i \bmod |B|].
+
*Buffer size*: Configurable (default: `ROLLING_WINDOW_SIZE = 4096`).
+
*Purpose*: Enables reproducible variance calculations by providing consistent historical context.
Steady-State Equilibrium::
Condition where adaptive system metrics stabilize within bounded oscillation. Formally:
+
[stem]
++++
\exists t_0: \quad \forall t > t_0, \quad |x(t) - x^*| < \delta
++++
+
for small stem:[\delta].
+
*Empirical criterion*: Variance stem:[CV < 0.1\%] over 1000-tick window.
+
*Physical analogy*: Similar to thermodynamic equilibrium where macroscopic properties cease changing.
Thermodynamic Metaphor::
Conceptual mapping between thermodynamic quantities and execution metrics. This is a *metaphorical framework*, not literal physics.
+
*Mappings*:
* Heat stem:[\leftrightarrow] Execution Frequency
* Temperature stem:[\leftrightarrow] Normalized Rank
* Cooling stem:[\leftrightarrow] Exponential Decay
* Equilibrium stem:[\leftrightarrow] Steady State
+
*Academic usage*: Must be qualified as metaphor in formal writing.
Transition Probability::
Conditional probability that word stem:[B] is executed immediately after word stem:[A]. Maximum likelihood estimate:
+
[stem]
++++
P(B|A) = \frac{\text{count}(A \to B)}{\text{count}(A)}
++++
+
*Implementation*: Stored as Q48.16 fixed-point in `transition_metrics` structure.
+
*Application*: Used for speculative execution (prefetching likely-next words).
Variance Inflection Point::
Window size stem:[w^*] where variance begins to increase when window shrinks below stem:[w^*]. Represents optimal trade-off between sample size and temporal locality.
+
*Optimization objective*:
+
[stem]
++++
w^* = \arg\min_{w \in [w_{\text{min}}, w_{\text{current}}]} \text{Var}(w)
++++
+
*Search method*: Binary search with Levene's test validation.
+
*Purpose*: Adaptive window size tuning (Loop #5).
=== Feedback Loop Taxonomy
[glossary]
Loop #1: Execution Heat Tracking::
*Type*: Positive feedback (amplifying)
+
*Mechanism*: Increment frequency counter on each word execution.
+
*Effect*: More executions → higher rank → more cache hits → more executions.
+
*Implementation*: `physics_execution_heat_increment()` in `vm.c`.
Loop #2: Rolling Window History::
*Type*: Neutral (monitoring)
+
*Mechanism*: Record execution events in circular buffer.
+
*Effect*: Provides historical context for inference.
+
*Implementation*: `rolling_window_record_execution()` in `rolling_window_of_truth.c`.
Loop #3: Linear Decay::
*Type*: Negative feedback (stabilizing)
+
*Mechanism*: Reduce frequency proportional to current value.
+
*Effect*: High frequency → faster decay → lower frequency → slower decay.
+
*Implementation*: `vm_tick_slope_validator()` applies linear decay.
Loop #4: Pipelining Metrics::
*Type*: Positive feedback (amplifying)
+
*Mechanism*: Track word-to-word transitions, predict next word.
+
*Effect*: More transitions → better prediction → more prefetch hits.
+
*Implementation*: `transition_metrics_record()` in `physics_pipelining_metrics.c`.
Loop #5: Window Width Inference::
*Type*: Negative feedback (stabilizing)
+
*Mechanism*: Shrink window if variance increases (Levene's test).
+
*Effect*: High variance → smaller window → lower variance.
+
*Implementation*: `find_variance_inflection()` in `inference_engine.c`.
Loop #6: Decay Slope Inference::
*Type*: Negative feedback (stabilizing)
+
*Mechanism*: Increase decay rate if metrics unstable (exponential regression).
+
*Effect*: Unstable metrics → steeper decay → faster stabilization.
+
*Implementation*: `infer_decay_slope_from_trajectory()` in `inference_engine.c`.
Loop #7: Adaptive Heartbeat::
*Type*: Meta-loop (coordination)
+
*Mechanism*: Adjust tick rate based on system stability.
+
*Effect*: Stable system → slower ticks → reduced overhead.
+
*Implementation*: `heartbeat_thread_main()` in `vm.c`.
=== Deprecated Terminology
The following terms should be *avoided* in formal academic writing:
[glossary]
"Physics-based optimization"::
*Use instead*: "Thermodynamically-inspired metaphor for frequency decay"
+
*Reason*: Implies literal physics; actual implementation uses counters and exponential functions.
"Execution heat" (in formal context)::
*Use instead*: "Execution frequency with temporal decay"
+
*Reason*: "Heat" is metaphorical; use precise term in academic writing.
"AI-driven" or "ML-based"::
*Use instead*: "Statistically-inferred" or "Adaptive via Levene's test"
+
*Reason*: No neural networks or machine learning involved.
"Learning"::
*Use instead*: "Adaptive inference" or "Parameter convergence"
+
*Reason*: Not supervised/unsupervised learning; statistical convergence.
"Quantum-inspired"::
*Use instead*: N/A
+
*Reason*: No quantum mechanics or superposition involved.
=== Mathematical Notation
[cols="1,3", options="header"]
|===
|Symbol |Definition
|stem:[f]
|Execution frequency (count with decay)
|stem:[\lambda]
|Decay coefficient stem:[[1/\text{time}]]
|stem:[w]
|Window size (number of events)
|stem:[K]
|Cache size (constant)
|stem:[\sigma]
|Standard deviation
|stem:[\mu]
|Mean value
|stem:[CV]
|Coefficient of variation stem:[= \sigma / \mu]
|stem:[P(B\|A)]
|Transition probability (word B after A)
|stem:[w^*]
|Variance inflection point
|stem:[\mathcal{S}]
|State space stem:[= \{(w, \lambda, \sigma^2)\}]
|stem:[\mathbf{x}^*]
|Attractor (fixed point)
|stem:[F]
|State transition function
|stem:[f_0]
|Initial frequency
|stem:[t]
|Time (ticks or microseconds)
|stem:[r(t)]
|Execution rate stem:[[\text{executions}/\text{second}]]
|===
=== Cross-References
For detailed mathematical formalism, see <<ch-inference-engine>>.
For empirical validation, see <<ch-experimental-results>>.
For implementation details, see <<ch-architecture>>.
=== References
[bibliography]
- Strogatz, S. (2015). _Nonlinear Dynamics and Chaos_. Westview Press.
- Åström, K. & Murray, R. (2008). _Feedback Systems_. Princeton University Press.
- Casella, G. & Berger, R. (2002). _Statistical Inference_. Duxbury Press.
- Bolz, C. et al. (2009). "Tracing the Meta-Level: PyPy's Tracing JIT Compiler." _ICOOOLPS_.
- Ertl, M.A. (1996). "Stack Caching for Interpreters." _SIGPLAN Notices_.