[r-t] 23-spliced TB major

Don Morrison dfm at ringing.org
Sat May 1 14:20:22 UTC 2010

On Sat, May 1, 2010 at 9:46 AM, Philip Earis <pje24 at cantab.net> wrote:
> Was this product of simply(!) searching through all 23! arrangements of
> methods? If so, did you cover the whole search space, how long did it
> take, and how many compositions did you find? How many more methods could
> be added before running out of computing resources?  And any chance of an
> 8-part composition?! Lots of questions.

Sort of a random search. Set up to try depth first for an hour, and
then randomly rearrange the orders of all the nodes in the graph, and
start again.

The search space was all these methods, all in-course, tenors-parted
lead heads, mod-ed out by the cyclic lead heads. And, of course, only
one lead of each method per part.

I've no idea what fraction of the total space of possibilities was
searched. This solution is the only one that popped out, but
interestingly it popped out for two different randomizations. There
are lots more possibilities if you only want a 4928 in 22 of the

I don't know how many more methods could be fitted in before this
particular sledge-hammer became an impractical tool. Off the cuff
I would guess a few more, but not many. I would also guess that if you
fed it a few more candidate methods, but let a few fall off as unused,
you'd end up with a lot more possibilities. Though not having tried,
that's just a guess.

An eight part seriously increases the difficulty, and I suspect a
completely different approach would have to be taken. I doubt it could
even get started as I'd need a heap eight times the size I'm using,
and I'm pretty close to maxed out on what's practical with my
hardware. Though I've a scheme for doing my set-up, which is the
memory intensive part, which should reduce the memory needs by nearly
an order of magnitude. Don't know when I'll get around to trying that,
though, as it will be at least a few days of programming effort.

Calendar time it took about 18 hours, though probably half of that was
fiddling and tweaking until I'd got things the way that finally paid
off. I started by looking for substantially shorter touches. The run
that did pay off I left going over night, and it wasn't instrumented
in such a way that I could tell at what time it finally found a 5152.
I actually had three instances running in parallel on three different
cores across two different machines.

It took about 7 minutes to set up the graph it was going to search,
mod-ing out by the part heads and then working out the falseness
between nodes and optimizing away things that are statically
determined to be dead-ends and so on, and the rest was actually
searching. It's fairly comical if you're only looking for a 2000 or
so: seven minutes of set up, and about a tenth of a second of actual

Don Morrison <dfm at ringing.org>
"The test of a first-rate intelligence is the ability to hold two
opposed ideas in the mind at the same time, and still retain
the ability to function. One should, for example, be able to
see that things are hopeless and yet be determined to make
them otherwise."              -- F Scott Fitzgerald, _The Crack-up_

More information about the ringing-theory mailing list