Here we list two open problems regarding the Barbour-Smolin-Deutsch variety of Leibnizian strings. One is about the maximum possible variety for strings of some fixed length, and the other is about average variety for strings of some fixed length.

Introduction and Preliminaries

Here we briefly provide some preliminary information, mainly from Ref. [1]
A string is Leibnizian if each character has distinct neighborhoods. Two neighborhoods are deemed as isomorphic if they are equal or one is the mirror image of the other. We consider cyclic strings. These are strings with a periodic boundary condition, meaning that the character before the first character is the last character and the character after the last character is the first character.
For examples related to the topics below, please see this Wolfram Community post.

Maximum radius

If the string is of length
L
, then the maximum radius of a character (
m
) satisfies
mL/2-1
if
L
is even or
m(L-1)/2
if
L
is odd.

non-Leibnizian strings

In a non-Leibnizian string, there are at least two characters with isomorphic neighborhoods of radius
m
(the maximum radius). In addition, if a specific character occurs only once, the string is non-Leibnizian as well.
Example: The strings AAABBB and ABBBBB are non-Leibnizian.

Leibnizian strings

If a string is not non-Leibnizian then it is Leibnizian. Hence in Leibnizian strings, each character has distinct neighborhoods.
Example: The string AABABB is Leibnizian.

Relative indifference

The relative indifference of two characters at different places is the minimum radius for which the neighborhoods are not isomorphic. It is denoted as
r
ij
for characters at positions
i
and
j
.

Absolute indifference

The absolute indifference of a specific character is the maximum of relative indifference values calculated for other characters. It is denoted as
a
i
for a character at position
i
.
a
i
max
r
ij
j≠i

The Barbour-Smolin-Deutsch variety

The Barbour-Smolin-Deutsch variety, or BSD variety in short, is defined for a Leibnizian strings as follows:
∑
i
1
a
i

Two Open Problems

Here we consider cyclic strings of some alphabet
Σ
. For illustration purposes we will consider
Σ{A,B}
however the ideas can be easily generalized to larger alphabets.

Maximum BSD variety for strings of some length

For a Leibnizian string, each character has a unique view. The view of a character can be considered as its neighborhood of radius equal to its absolute indifference value. From a list of unique views it should be that the string can be constructed.
In order to maximize the BSD variety, one should have smaller absolute indifference values, because the contribution of a specific
a
i
to BSD variety is via
1/
a
i
.
For a two-letter alphabet there are 8 possible neighborhoods of radius-1, 32 possible neighborhoods of radius-2 and
2r+1
2
possible neighborhoods for radius-
r
.
In order to find the maximum BSD variety for strings of some length
L
, one may think that one may start to include all the radius-1 neighborhoods, then radius-2 neighborhoods and so on. Although this will yield an upper bound for BSD variety, it looks a bit far from the actual maximum BSD variety of strings.
For a two-letter alphabet the maximum BSD variety for each string length between 6 and 37 is available on GitHub. These are the results of a brute-force calculation where each string in the search-space is considered.
An algorithm that decreases the time complexity or an analytical expression of maximum BSD variety would be welcome.

Average BSD variety

In order to find the average BSD variety of Leibnizian strings, one needs to find the distribution of absolute indifference values. If
n(a)
is the average number of absolute indifference value
a
, then the average BSD variety will be as follows:
∑
a
n(a)
a
The number
n(a)
must satisfy
0≤n(a)≤
2a+1
2
as discussed above. When we consider the BSD variety per length, we obtain the following expression for that quantity:
∑
a
p(a)
a
where
p(a)
is the probability to have
a
as absolute indifference. The deviation of BSD variety of some Leibnizian string from the average indicates its deviation from pure randomness. In that way, the BSD variety may be used to measure the string’s deviation from random strings. Hence it may be possible to regard the BSD variety as correlated with some information content.

Software

Wolfram Language codes to calculate relative indifference, absolute indifference and BSD variety are available on GitHub. You need to use the file wws25fsd.wl from that repository.

Some Numerics

Here we provide Wolfram Language code to study some preliminary aspects of the second problem. For the first problem, our only method at the moment is to scan through all Leibnizian strings and calculate the variety then find its maximum. For that purpose we include some calculations regarding only the second problem.
In[]:=
SetDirectory[NotebookDirectory[]];
Make sure that the wws25fsd.wl is in the same folder.
In[]:=
<<wws25fsd`
We initialize the random number generator.
In[]:=
SeedRandom[2026];
This function generates a random string of length n over an alphabet of two letters.
In[]:=
randomString[n_]:=StringJoin@@Table[RandomChoice[{"A","B"}],{n}]
Let us create 10 random strings of length 100.
In[]:=
str100=Table[randomString[100],{10}];
We write a function that returns the list of absolute indifference values.
In[]:=
aiList[s_]:=Table[AbsoluteIndifference[s,i],{i,StringLength[s]}]
In[]:=
aiList["AABABB"]
Out[]=
{2,2,1,1,2,2}
We create the list of absolute indifference values of each string.
In[]:=
aiList100=aiList/@str100;
All the generated strings are Leibnizian. Because the value “0” for absolute indifference indicates a non-Leibnizian string.
In[]:=
MemberQ[Flatten[aiList100],0]
Out[]=
False
HistogramFlatten[aiList100],{1},"Probability",

Out[]=
Let us consider 10 strings of length 200.
In[]:=
str200=Table[randomString[200],{10}];
We create the list of absolute indifference values of each string.
In[]:=
aiList200=aiList/@str200;
All the generated strings are Leibnizian. Because the value “0” for absolute indifference indicates a non-Leibnizian string.
In[]:=
MemberQ[Flatten[aiList200],0]
Out[]=
False
HistogramFlatten[aiList200],{1},"Probability",

Out[]=
Let us juxtapose two histograms.
In[]:=
Histogram[{Flatten[aiList100],Flatten[aiList200]},{1},"Probability",AxesLabel->{"
a
i
","Probability"}]
Out[]=
We now use the smooth histogram function. It seems that the expected value of
a
i
increases as the string length increases.
SmoothHistogram{Flatten[aiList100],Flatten[aiList200]},

Out[]=
Length 100 Strings
Length 200 Strings

References

For a more detailed account of these topics, please refer to:
1
.
Barbour, J., & Smolin, L. (1992). Extremal variety as the foundation of a cosmological quantum theory. arXiv:hep-th/9203041.
2
.
Dündar, F. S. (2022). A Use of Variety as a Law of the Universe. Complex Systems, 31(2). Link.
3
.
Dündar, F. S. (2024). A Case Study for Leibnizian Ideas in Wolfram Model. Foundations of Physics, 54(3), 43. Link.
4
.
Dündar, F. S., Arsiwalla, X. D., & Elshatlawy, H. (2025). Quantum Gates from Wolfram Model Multiway Rewriting Systems. arXiv:2512.20587.

CITE THIS NOTEBOOK

Two open problems about Leibnizian strings​
by Furkan Semih Dündar​
Wolfram Community, STAFF PICKS, May 6, 2026
https://community.wolfram.com/groups/-/m/t/3712556