MapAI

Maps of the AI space, future of AI and Conversational Programming

Non deterministic languages

swardley
10 min readMar 5, 2025

--

Like many good stories, this post starts with a disagreement. Unlike many good stories the core of the argument was over the meaning of symbolic instructions. So, that’s your hint to stop reading.

In the post, I’m going to talk about the origin of the argument, the necessity (or not) for a language in symbolic instructions, what is language and the theoretical underpinnings of a non-deterministic language.

I want to put forward a case that when it comes to language, there is a trap. It’s dangerous to assume that machines will use language in the way “we” think about it. Once I’ve done that, I’ll look at what the key characteristics of a non-deterministic language might be and finally a prototype for a non-deterministic language based upon my current and limited understanding of non-determinism in computational systems. I’ll try and provide links to relevant topics where possible.

Who is this for? Me. It’s an open journal of my half baked thoughts on this subject and I’ll either look back and laugh at it in the future (likely) or maybe there’ll be something useful (unlikely). This is thinking in the open (aka my own personal hallucinations with no guardrails) because I have an interest in that topic. As it currently stands this journal is up there with my “zero board theory” stuff from thirty five years ago where I attempted to create a mathematical simulation of a physical system from nothing but zero. NB. zero isn’t nothing, long story and I couldn’t build the simulation because I didn’t have the computing power.

Final thing, a thank you. To John Grant who started this argument with me. I owe you and appreciate the challenge you give. So, let the journalling begin …

Origin of the argument

Throughout 2023, I was promoting the importance of open source AI. Whilst there are many economic reasons for doing this, there is a specific threat I was concerned with — the rise of new theocracies. Open source is one of three approaches to dealing with this risk, the other two being the teaching of critical thinking and the use of diverse sources. I consider these new theocracies to be a significant and realistic threat because within these AI systems there exists the ability to control how we reason about the world around us through tools, medium and language.

I’m not going to go through that in detail nor UK’s lamentable approach to open source AI back then, nor the whole debacle that is the AI safety institute and how the “great & good” wasted opportunities following the wrong path. We are currently destined to be an also ran, I’ve just accepted that.

What I want to focus on is what do we mean by open source AI? Open source has a set of characteristics (see OSI definition) which includes what source code should be. But, what do we mean by code? Code are symbolic instructions.

However, there is more to an AI than just code! For example there’s the model, the training data and the architecture. My position has always been that in the world of AI, these things are part of the set of symbolic instructions e.g. training data is “code”. For this reason, for an AI to be open source you would need to open source the training data.

For some of us, the idea that “code is data, data is code” is an argument that dates back to the days of Lisp. However, for many especially those outside of our field then the idea that training data (which can consist of images) should be considered as code might well seem to be “alien” but you would hope that the leap is not large. Hence my common statement that:

Training data consists of symbols that change the behaviour of the system and hence they are symbolic instructions.

The necessity (or not) for a language

Queue argument. The line above has sent me into a long spiral of disagreements over the meaning of symbolic instructions. The counter argument usually has the form that symbolic instructions needed a language. Computing languages tend to be deterministic i.e. you can determine the output that these symbols will create. The training of LLMs (large language models) is non-deterministic i.e you can’t determine the output that these symbols will create because it is probablistic in nature. Hence, training data could not be symbolic instructions because we weren’t aware of the language and there is no such thing as a non-deterministic language.

I disagree with this reasoning and would argue that symbolic instructions neither require awareness or an understanding of their language. You only need symbols that change the behaviour of a system. Heiroglyphics had meaning before we knew what the language was. Deciphering the language didn’t magically give the symbols meaning, it just meant that we now understood the meaning. Linear A are symbols that we don’t have the language for but that doesn’t mean they are not symbols with meaning. The symbols are not changed by our understanding of a language only our understanding of what the symbols mean.

Queue entrenched positions and a verbal war of attrition. Regardless of that debate, the question of non-determinism was interesting. When it comes to language, there is a trap. It’s dangerous to assume that machines will use language in the way “we” think about it. But what do we mean by language?

What is language?

You would hope that somewhere there would be an agreed definition of what language is. Alas, this is like culture — the only “agreed” definitions you find are in business books and they are only “agreed” amongst the authors. Having mapped out numerous cultural systems, I decided to use some of those skills to hazard a guess at some of the characteristics of language and boil these down. These are my four basics of language:

Systematic structure: An organised system of discrete symbols, sounds, or signs.

Semantic-syntactic interface: A mechanism for conveying meaning through individual units and their combinations.

Productivity: The ability to create novel, meaningful expressions using a finite set of elements and rules.

Cultural transmission: The system is learnable and passed down through generations, rather than being innate.

The trap to our understanding of language is in the systematic structure. “Our” human languages are mostly deterministic in nature. I say mostly because natural languages change over time and territory and even between or within cultural boundaries. We even have homonyms and polysemous words with many meanings that change with the context they are used, for example “light” can describe weight, brightness, or colour.

Yes, languages change, there can be variation and ambiguity. Yes, our understanding of meaning isn’t fixed and we learn. But at a time, space and cultural setting then even natural languages tend to converge to a set of deterministic rules with fixed meanings (even if that’s a range that varies with context) otherwise we’d never create simple human operated transformers such as a French to English dictionary.

Determinism is a characteristic of our language but this does not mean all languages have to be deterministic. A machine language might well be non-deterministic (e.g. probablistic) in nature. The meaning of words would constantly change with exposure to words and never converge.

Emily Bender described how large language models generate fluent text without a comprehension of meaning. They produce convincing human-like outputs by learning statistical relationships from massive datasets. The phrase she coined was “stochastic parrots” where word distribution is probabilistic based upon meaning. However, a non-deterministic language would take John Rupert Frith’s quote “You shall know a word by the company it keeps” to the nth degree with meaning itself being probabilistic based upon the distribution of words. Our French to English dictionary changes with every word we are exposed to, it never converges because even reading it would change the meaning.

Such a language would be truly “alien” to us and challenge our understanding of communication systems. We might not even recognise it as a language or at least not in the first instance because it would difficult for us to see the signal. Such languages would function through probability distributions, contextual dependencies, and fluid semantics.

But, that sounds like nonsense, where’s the evidence!

Theoretical underpinnings of a non-deterministic language

Non-determinism itself has deep roots in theoretical computer science, where it describes systems that can exhibit different behaviors given the same input. In computational theory, non-deterministic machines like Non-deterministic Turing Machines (NTMs) can make “guesses” during computation, with multiple possible actions available in a given state. This differs fundamentally from deterministic systems, where a single definite outcome results from each input. For example, Non-deterministic Finite State Machines (N-FSMs) allow multiple possible transitions for a given input and state.

The possibility of non-deterministic languages extends somewhat beyond the theoretical and touches upon the practical with probabilistic programming languages (PPLs) like PyMC, Turing.jl, and LLaMPPL, which incorporate probability and uncertainty directly into their structure. These languages demonstrate that communication systems based on probability rather than deterministic rules are possible.

What would be the key characteristics?

A non-deterministic language would differ substantially from human languages in several fundamental ways:

Probabilistic Semantics : In contrast to deterministic languages where words have fixed definitions, non-deterministic languages would assign probability distributions to meanings which is not too disimilar to learning multi embedding vectors for polysemous words in natural languages. A symbol or word wouldn’t simply mean one thing — it could represent a vast number of possible meanings with varying likelihoods. For example, the word “cell” might predominantly represent a biological unit (with 80% probability) but could also refer to a mobile phone (with 20% probability) depending on context.

Context-Dependent Meaning Shifts: Perhaps the most alien characteristic of non-deterministic languages would be how meaning probabilities shift based on context and history of communication. The meaning of “House” might shift towards “Dog” based on how many times the communicator has previously encountered words like “Apple”. This creates a system where meaning is fluid and constantly evolving based on conversational history.

Multiple Valid Interpretations: In formal language theory, it’s important to note that non-determinism and ambiguity are distinct concepts. In deterministic languages, ambiguity is generally considered problematic and is resolved through context. In non-deterministic languages, multiple interpretations would be simultaneously valid, each with an associated probability. Communication wouldn’t be about transferring a single precise meaning but rather a distribution of possible meanings.

Adaptive Learning Mechanisms: A non-deterministic language would likely incorporate mechanisms for updating probability distributions based on successful communication outcomes. The meaning of symbols would evolve over time based on usage patterns, creating an adaptive communication system that learns from experience.

A prototype?

I’m not aware of a non-deterministic language in existence with the characteristics that I have described — yet. That could be either due to ignorance or my failure to recognise one. Drawing from research in probabilistic programming and non-deterministic models, I can conceptualise a prototype non-deterministic language with the following components:

Lexical units with probability distributions : The fundamental units (similar to words) would be represented as probability distributions over possible meanings. For instance, in our prototype language, the symbol “Δ” might have a 70% probability of meaning “action” and a 30% probability of meaning “object.” Similarly, “Ω” might be 60% “positive” and 40% “negative,” while “Φ” could be evenly split between “large” and “small”.

Dynamic probability adjustment: When symbols are combined, the probabilities shift based on preceding symbols and overall context. If “Δ” is interpreted as “action,” it might increase the probability that subsequent “Ω” means “positive.” This creates a chained effect where each interpretation influences the next, creating a complex web of meaning possibilities.

Implementation framework: A computational implementation of such a language could be built using concepts from probabilistic programming languages. Each “word” would be an object containing a probability distribution over possible meanings, with methods for adjusting these probabilities based on context.

A message like “Δ Ω Φ” would have multiple possible interpretations with different probabilities, such as “positive action that is large” (highest probability path) or “negative object that is small” (lower probability path).

Could this be real?

I would argue that non-deterministic languages represent a theoretically viable form of communication that operates on principles fundamentally different from human languages. Whilst deterministic languages assign fixed meanings to symbols and combinations of symbols, there is already a significant departure from this with natural languages. A non-deterministic language would operate through probability distributions of meaning, contextual and historical dependencies, and fluid semantics. In stochastic parrots, distribution is based on meaning, while in non-deterministic language, meaning is based on distribution.

Reaching wildly (well, it’s a journal of exploration), non-deterministic languages, though alien to human communication, might possibly be a better representation of how modern AI systems process information and might even serve as a more natural interface for AI-to-AI communication, where uncertainty and probability are fundamental to their reasoning and meaning itself appears more probabilistic.

The prototype here demonstrates how such a language might function with an awful lot of caveats — mostly my ignorance of the topic, cobbled together reading and to see the ideas you need a lot of linguistic gymnastics. Hopefully with time I can clear up some of this.

I would argue that as AI systems become more sophisticated, we may need to expand our understanding of what constitutes a “language” to include these non-deterministic communication systems. We might even then be able to understand what we’ve taught these systems through our training data, assuming we’ve kept it open.

OR

This journal might just be a waste of time (likely) or I might be talking gibberish because I don’t understand the subject enough (highly likely, it’s a journal and I did warn you about reading it). The meaningfulness of this journal will change as I’m exposed to more words on the subject … oh, wait, hang on …

I can just hope my thinking in the open converges somewhere.

It still doesn’t change my argument that symbolic instructions are symbols that change the behaviour of the system and training data should be open sourced in an open source AI. But the demands for a language opens up interesting possibilities. Thank you John.

--

--

MapAI
MapAI

Published in MapAI

Maps of the AI space, future of AI and Conversational Programming

swardley
swardley

Written by swardley

I like ducks, they're fowl but not through choice. RT is not an endorsement but a sign that I find a particular subject worthy of challenge and discussion.