Skip to main content

A grammatical organization of pattern recognition

Let us suppose there are two nodes in a computational framework. To make it simple, let us call these nodes neurons, and also think of them as if they were neurons. Computation without the possibility of action is not effective in nature. So let us assume one of these neurons (B) can trigger something, such as a muscle contraction. Now let us imagine that there can be a graph of neurons of any arbitrary size between the neurons A and B. Now suppose for whatever reason, fitness is increased if neuron B is triggered after neuron A is triggered. From a fitness perspective, we don't care about the particular path of activation that occurs in the graph of neurons from neuron A to neuron B, only that neuron B is triggered if neuron A is triggered. It seems entirely possible that the path of activation would not always be the same, and that generalization is a kind of ability to repurpose units of computation on a local scale. Whereas one might use a set of neurons to compute something, it might use another set of neurons to compute the same thing. Though, I suspect the range of this kind of shift might be related to a ratio between the density of the units of compute, the speed of communication, the distribution of energy, etc. In this sense, it feels as if the ability to take alternative paths through the graph to achieve the same end result is a primitive form of measuring generalization.

The analogue to physics is the path integral: that a particle can take an infinite number of paths from position A to position B. It would be interesting to do a study on the activation of neurons when parsing the grammatical rules of a language. Could it be that there are certain neurons that more or less correspond to the underlying rules of the grammar. That neuron A represents the start of a grammatical rule and neuron B represent the end of the rule? Is there a linguistic analogue to the path integral?

I suspect that grammar is a computational tool that allows one to fold time. It allows one to computationally wield past experience to generate imaginary hypothetical futures. It allows one to generalize and reason about objects as a class, and not as unique individuals. I also suspect that if a universal grammar exists, that it will not necessarily be linear. Perhaps a universal grammar exists for every number of dimensions a language can unfold itself in.

Comments

Popular posts from this blog

Guitar improvisation from May 23, 2025

Time, partitioning, and synchronization

Any time measuring method inevitably runs into the issues of partitioning and synchronization. Partitioning deals with the issue of dividing a larger measure into smaller measures, and combining smaller measures into a larger measure. Synchronization deals with the problem of how a set of devices can self-correct if some of them are corrupted. The two are fundamentally related because often a choice in one determines a choice in the other. A measure is often defined by a set of synchronization points, such as the radioactive decay of an element or the frequency of a crystal oscillator. Synchronization points can often be defined as a measure of a change in space, such as the revolution of a planet around a star, or the change in energy state of an oscillating structure. Fundamental to both is the notion of change. A synchronization event can only be defined if there is a unit of space in which a change is observed. And either the magnitude of the space is large (such as the movement of...

Context, reconciliation, and performance

I believe the software industry needs a word to differentiate the design of performant software from the inside (or bottom up) versus the outside (or top down). There is a heavy focus on algorithms and data structures in the software engineering world, which is great if you are designing performant software from the inside out (bottom up). But this will only be performant so long as there is one monolithic structure. As soon as there are competing components (or silos of functionality) that need to integrate together, the integration of the components often becomes a performance bottleneck. And this phenomenon is unavoidable because there is a limit to any human's working memory. Large problems are broken down to smaller problems so that they can be more easily grappled with. But the choice of how things are isolated often can incur a performance gain or loss that is just as significant in magnitude as choosing the right data structures and algorithms. And it is this way because da...