Several terms classifying random behavior exist that I wish to relate and contrast. Note that we could replace all with the more vernacular ‘random’ and still retain the overall gist at a sacrifice of some of the subtlety.
The word typically signifies random and short-lived. In modern language I’ve found the term mostly across technical jargon, particularly networking.
For instance, an ephemeral port of a networking protocol is established from a random pool of port numbers and destined to exist for some short life span. An outbound TCP port is one such case.
In antiquated English (pre-20th century) I’ve encountered the term used in a more literary sense.
Now in the romance languages of at least Spanish and Portuguese, ‘efémero’ I’ve more often found in modern, at least the written language. It carries the same meaning, but exercised in greater scope.
Now throughout my blog entries of the last 2+ years, a quick grep query revealed 20-25 cases of this term, applied within many a domain but the technical. My appeal to antiquated language is no secret, but perhaps I’ve become drawn to the very texture of this word?
Contrary to the generic ‘random’ or ‘ephemeral’, both of which in spoken context I tend to perceive as uniformly random, stochastic definitely bears no such implication.
Stochastic insinuates any sort of probability distribution, and in personal experience, more often concerns the non-uniform (ie 90% outcome A, 10% outcome B).
This term I personally encounter most often in branches of Mathematics and Computer Science, particularly those related to probabilistic behaviors (AI).
Emphasizing probability distributions, I consider it the less random sort of randomness, contrary to the ephemeral.
As far as I’m concerned, the word is synonymous with stochastic, except a notch more colloquial.
In scientific discourse I still prefer it to ‘random’, being that ‘probabilistic’ leaves open the possibility of any distribution.
Strangely enough, the Computer Science branch of algorithms that employs probabilistic behaviors is called Random Algorithms. Until I became a bit familiarized with probability theory, I completely misconstrued the meaning.
In Spanish, Portuguese and the Russian languages, this category of algorithms translates directly to ‘probabilistic’: algoritmo probabilista, algoritmo probabilístico, вероятностный алгоритм; far more intuitive.
Polish also utilizes ‘algorytm probabilistyczny’, although enables the atrocious anglicism ‘randomizowany’. To that I would even prefer ‘losowy’, a direct adaptation of ‘random’, although literally translated as ‘fated’.
I scarcely hear of anything Nondeterministic outside of Mathematics and Computer Science, although I believe to have come across it in philosophical discourse.
In the loose sense, like the sounding of the word, it is synonymous with stochastic (and respectfully probabilistic); or rather, unpredictable. In fact, I’ve seen AI literature to often interchange the two.
Computability theory, however, employs another twist. There are the concepts of a Nondeterministic Finite Automaton and the more general Nondeterministic Turing Machine (NTM).
A NTM has much bearing in many computability-related theorems and proofs, including the P vs NP problem.
In brevity, a Nondeterministic algorithm runs on a NTM in a way that
- all decision branches execute simultaneously (as in parallel realities)
- the NTM algorithm runtime is calculated as one of the quickest branch to present a solution.
Imagine to simultaneously traverse all the possible routes of a labyrinth and you might see why such theoretical models give manifest to much of my fascination. I’ve covered the NTM more formally in this guide.
Questions, comments? Connect.