## Benford'S Law

Benford's Law is an observation about the distribution of initial numbers in large datasets, named for Frank Benford, who popularized it in 1938; Simon Newcomb had previously described the phenomenon in 1881.

Without going into detail unnecessary here (the reader is referred to any of numerous excellent articles on the web for more information about the law and its history), Benford's Law states that within a some large datasets*, each digit has a particular probability of appearing as the initial digit in a particular member of the set.

Without going into detail unnecessary here (the reader is referred to any of numerous excellent articles on the web for more information about the law and its history), Benford's Law states that within a some large datasets*, each digit has a particular probability of appearing as the initial digit in a particular member of the set.

* There are some datasets, such as phone numbers, that do not obey Benford's Law.

Below is a graph showing the distributions predicted by Benford's Law for each digit:

## Benford's Law and Orbit design

We can use Benford's Law to design orbits for fictional planetary systems.

First we calculate the Innermost Stable Orbit (

Mass(N) = 1.40; Luminosity(N) = 2.76; IS(N) = 0.276

Mass(A) = 0.98; Luminosity(A) = 0.93; IS(N) = 0.093

Next, we digitally express the probabilities in the table above:

{0.046, 0.051, 0.058, 0.067, 0.079, 0.097, 0.125, 0.176, 0.301}

We generate initial orbital intervals by dividing the second number by the first; the third by the second, etc., so, our initial intervals are:

{1.109, 1.137, 1.155, 1.179, 1.228, 1.289, 1.408, 1.710}

We then add to each of the numbers above a separate value in the range rand[0.091, 0.095]. Let's say that the random values I generate are:

{0.095, 0.091, 0.092, 0.092, 0.093, 0.092, 0.094}

... then adding each of these values to the initial intervals gives us:

{1.204, 1.228, 1.247, 1.271, 1.321, 1.381, 1.502, 1.804}

... a set of 7 orbital intervals, all in the range [1.400, 2.000] AU, and increasing in value from the inner system to the outer system.

Then, we add rand[0.01, 0.03] AU to each of the above values:

{0.028, 0.014, 0.024, 0.020, 0.023, 0.019, 0.027, 0.026}

which gives us the list:

{1.232, 1.242, 1.271, 1.291, 1.344, 1.399, 1.529, 1.829}

... which gives us a final 16 orbital intervals.

First we calculate the Innermost Stable Orbit (

*IS*or*OI*) for the system. For this blog, we'll use the*IS*values calculated for the fictional stars Nysheryn and Anra in previous blogs.Mass(N) = 1.40; Luminosity(N) = 2.76; IS(N) = 0.276

Mass(A) = 0.98; Luminosity(A) = 0.93; IS(N) = 0.093

Next, we digitally express the probabilities in the table above:

{0.046, 0.051, 0.058, 0.067, 0.079, 0.097, 0.125, 0.176, 0.301}

We generate initial orbital intervals by dividing the second number by the first; the third by the second, etc., so, our initial intervals are:

{1.109, 1.137, 1.155, 1.179, 1.228, 1.289, 1.408, 1.710}

We then add to each of the numbers above a separate value in the range rand[0.091, 0.095]. Let's say that the random values I generate are:

{0.095, 0.091, 0.092, 0.092, 0.093, 0.092, 0.094}

... then adding each of these values to the initial intervals gives us:

{1.204, 1.228, 1.247, 1.271, 1.321, 1.381, 1.502, 1.804}

... a set of 7 orbital intervals, all in the range [1.400, 2.000] AU, and increasing in value from the inner system to the outer system.

Then, we add rand[0.01, 0.03] AU to each of the above values:

{0.028, 0.014, 0.024, 0.020, 0.023, 0.019, 0.027, 0.026}

which gives us the list:

{1.232, 1.242, 1.271, 1.291, 1.344, 1.399, 1.529, 1.829}

... which gives us a final 16 orbital intervals.

For the value of the first orbit, we add the probability for the digit "9" (0.046) to the Innermost Stable Orbit (

For Nysheryn, this gives us a first orbit value of (0.276 + 0.046) = 0.322 AU. For our second orbit, we multiply this value by the first interval; the third orbit is found by multiplying the second orbit by the second interval, producing the following orbital table:

*IS*or*OI*).For Nysheryn, this gives us a first orbit value of (0.276 + 0.046) = 0.322 AU. For our second orbit, we multiply this value by the first interval; the third orbit is found by multiplying the second orbit by the second interval, producing the following orbital table:

The orbital distance 16 is too large, and we can drop it, but other than that, we have a perfectly reasonable set of orbits, and we have wide enough gaps in the outer system to accommodate at least one asteroid belt.

Let's do the same for Anra (using the same intervals calculated above, for convenience). Anra has an

Using the same intervals as calculated for Nysheryn, our final orbital table for Anra comes out as:

Let's do the same for Anra (using the same intervals calculated above, for convenience). Anra has an

*IS*of 0.093, so our first orbit is at 0.139 AU.Using the same intervals as calculated for Nysheryn, our final orbital table for Anra comes out as:

In this case, there are also gaps in the outer system that are big enough for at least one asteroid belt.

## The algorithm

So, for this method, we always begin with the interval values:

{1.109, 1.137, 1.155, 1.179, 1.228, 1.289, 1.408, 1.710}

and calculate the Innermost Stable Orbit (

We then:

{1.109, 1.137, 1.155, 1.179, 1.228, 1.289, 1.408, 1.710}

and calculate the Innermost Stable Orbit (

*IS*or*OI*) for the star(s) in the system.We then:

- Add rand[0.091, 0.095] to each of the fundamental intervals, which gives us our first 8 intervals.
- Drop the eighth interval, to avoid intervals >2.0.
- Add rand[0.01, 0.03] to each of the values calculated in Step 1.
- Add the constant 0.046 to the Innermost Stable Orbit (
*IS*or*OI*). - Multiply the value calculated in Step 3 by the first interval calculated in Step 1.
- Multiply the value calculated in Step 4 by the second interval calculated in Step 3.
- Repeat Steps 5 and 6 until all orbits are calculated.
- Discard any excessively large intervals.

## Conclusion

This is a good, robust way of calculating planetary orbits around fictional stars, especially when the Worldbuilder already has a specific luminosity in mind for the star.

This system shares with the previous ones the potential problem of no planet falling at precisely 1.0 AU, and thus, the need to create specialized time-keeping methods and processes.

This system shares with the previous ones the potential problem of no planet falling at precisely 1.0 AU, and thus, the need to create specialized time-keeping methods and processes.