pcoz
Joined 1 year ago
Joined 1 year ago
Every standard analytical tool in biology measures the output of this encounter. How much product formed. How fast. Under what conditions. Useful - but it only tells you what happened after the fact.
I've been working on something that measures the engagement itself - the generative potential between form-giver and matter-receiver, as it unfolds in time, independently of whether the product actually appears.
Why does that distinction matter? Think about what happens when a drug suppresses an enzyme not by blocking it directly, but by nudging it into a less active shape from a distance - the enzyme is still there, still engaged with its substrate, still trying. Standard tools show you a flat output curve and conclude nothing is happening. This framework, tested on real E. coli data, scores those inhibited enzymes as having the highest generative potential - because it's measuring the engagement, not just the yield.
Built in Python and Julia, tested on both simulated and real-world enzyme data. Would love to hear what people working at the biology/ML crossover think.
This project explores Temporal Neural Networks (TNNs): neurons as continuous-time dynamical systems with internal state and inertia. Instead of y = f(x), the network evolves via dV/dt = f(V, x), and predictions emerge through a settling process - not a single forward pass.
On clean data, TNNs typically match classical accuracy. The difference shows up under real-world stress: noise, missing samples, irregular streams. TNNs produce far fewer prediction flips and degrade more gracefully - stability comes from the computation itself, not post-hoc smoothing.
Neural networks are incredible tools.
But in many real-world time-series problems, they’re simply overkill.
If your signal is driven by a handful of rhythms, trends, decays, or saturations, training a model with thousands (or millions) of parameters can be like using a jet engine to stir tea. You’ll get motion - but also compute cost, power draw, latency, and deployment pain.
That’s why I built and open-sourced Time Series Formula Finder which takes a different approach: • Find the simplest mathematical forms that explain the data • Decompose signals into layers of structure • Produce human-readable equations, not black boxes
Instead of “trust this model,” the output is: “Here’s the equation that explains your signal.”
Why formulas often beat NNs in practice 1⃣ Edge deployment becomes trivial
A formula runs in a few operations per sample. No GPU. No heavy runtime. Ideal for microcontrollers, industrial devices, and battery-powered sensors.
2⃣ Interpretability is the feature In engineering and operational domains, explanation matters. A formula exposes frequency, decay rates, drift, and saturation directly.
3⃣ Lower lifetime cost Neural networks invite retraining cycles, monitoring pipelines, drift detection, and version churn. A good equation often stays valid far longer.
4⃣ Debugging is possible If performance drops, you can ask which term stopped matching reality. With NNs, the answer is usually far less clear.
What the tool actually does is search for promising partial forms: expressions that explain part of a signal well, subtract them, then analyze the residual.
This produces a layered explanation rather than a monolithic model.
All feedback appreciated!
This library finds that encoding automatically, then solves them.
Problems addressed are counting and optimisation problems with bounded-rank constraint structure - scheduling, rostering, network flow, statistical-mechanics partition functions, quantum circuit verification, and others.
Note: Most #P-hard problems don't have this structure. The library is explicit when it can't help.
Repo and docs: - github.com/pcoz/holant-tools - pypi.org/project/holant-tools
All feedback welcome!