CAMBRIDGE SURPRISE MAJOR

This project, initiated in late January 1988 using a Research Machines 380Z computer, had as its original object the production of new peals of Cambridge Surprise Major in parts, or proving by exhaustion that they are unattainable under the conditions proposed.

The numbering of the types was of course arbitrary, but the logic of the process adopted was as follows:

- The 120 coursends were arranged in ascending order, considering each to be a 5-digit integer.
- The first was taken arbitrarily as course No.1, and the other NN-1 courses found which were of the same type. Then the next unused course was No.2, and so on.
- Types 1 to 5 were the five course sections, in order, of the first course coset; types 6 to 10 of the second course coset; and so on.

Program FCE This program calculated a table of falsity of types. It read in the information on false sections from file FALSEX.DAT, then went through all types, working out those types which were false with each. The number of such false types was, initially,

Types 1, 6, 11 etc. 13 false types Types 2, 7, 12 etc. 8 false types Types 3, 8, 13 etc. 6 false types Types 4, 9, 14 etc. 8 false types Types 5, 10, 15 etc. 13 false typesAccordingly, a matrix C(13,120) was computed, and unused elements were left as zero. However, as a section is (very!) false with itself, time was saved in the tree search by making the first false type the type itself. Accordingly, when the table was written as a disk file FTYPES.DAT the number of the line was written in as the first element, making a maximum of fourteen elements in the row. During the tree search, examination of whether or not the starting point had been reached (thus completing a round block) had to precede the examination for falsity.

It sometimes happened that, when transpositions of false sections coincided in character with internal transpositions of the generating Group, some types were false with themselves. This did not happen with a 5-part plan, since none of the transpositions of falsity have a 5 part cycle. In such cases, the types involved could not be used at all, and consequently the tables were purged of them so as not to waste time in the tree search.

A further possible way of contracting the tables is as follows: suppose that a type A gives a type B by means of a particular call, and that type B is on the list of false sections of type A (in which case A will also be on the list of type B). The logical outcome is that this particular call cannot be used, and the possibility of using it can be removed from the table of calls. If the result is no choice left, A necessarily involving being followed by C, then there will be a 'knock on' effect to the next in the chain which might be pursued. Such a procedure was not however carried out.

The tree search incorporated a simple test for a round block of minimum length, then a more complex test to check the length that had been assembled. A minimum of 157 leads is required for a peal. For a 5-part, this means a minimum of 160 leads, 32 in each part. Since a full course of 7 leads had 5 sections (1.4 leads per section) and a short course of 4 leads had 2 sections (2 leads per section) the minimum number of sections per part for a peal was 16. Hence the first test for a possible peal was that a minimum of 16 sections had given a round block of types. A similar calculation applied to other numbers of parts, and SEARCH was programmed for it.

There were 24 possible "tenors home" starts for a 5-part search, and sets of these were likely to be equivalent, but (unlike some other part plans) it was difficult to see any such sets for the 5-part search.