Team Groth Solves L(2,19) in two months!

I am writing to let you know that I have completed finding all of the Langford sequences for the 1 - 19 pairs. The calculations were run on several computers by Bob Dumas, Edward Groth, Nevin Savage and myself. The problem was divided to compute the number of sequences for each position of the 19 pair from left end at position 10 through position 18. These individual counts of sequences were combined to give the total number of sequences for L19. These are summarized in the following table.

19 Pos      Performer         Sequences       Computer     Speed
------   ---------------   ---------------   -----------  -------
  10     Frederick Groth    31,009,658,288   Pentium MMX  225 MHz
  11     Frederick Groth    30,964,062,576   Pentium MMX  225 MHz
  12     Frederick Groth    30,684,071,200   Pentium MMX  225 MHz
  13     Bob Dumas          30,154,220,096   Pentium II   400 MHz
  14     Edward Groth*      29,427,099,936   iMac G3      333 MHz
  15     Nevin Savage**     28,470,295,152   PowerMac G3  300 MHz
  16     Nevin Savage       27,209,639,024   PowerMac G3  300 MHz
  17     Nevin Savage***    25,641,225,664   PowerMac G3  300 MHz
  18     Bob Dumas          23,254,619,344   Pentium II   400 MHz
Langford sequences (1-19)= 256,814,891,280

*Begun by Edward Groth on PowerMac 604 120 MHz, then completed on iMac 333 MHz.
**Begun by Edward Groth on iMac 333 MHz, then completed by Nevin Savage.
***Begun by Frederick Groth on PowerMac 601 90 MHz, then completed by Nevin Savage.

The Pentium computers were running Windows 95. The Macintoshes were running OS8.1 or 8.5. All computers ran a version of my program for finding langford sequences. This program can be compiled to run on any system that supports ANSI C. On Macintoshes, the program conditionally compiles to make unique calls in order to yield CPU time to other programs, but is otherwise identical to versions on other machines.

The program appends to a history file every 20 million sequences (on slower computers that was modified to every 5 or 10 million sequences). I have the history files from all of the calculations. A typical history file entry looks as follows:

31,000,000,000 solutions in 1,773,479 seconds at: Sat Apr 10 06:28 1999

number of solutions per second last pass = 24679
number of solutions per second overall = 17480

Positions of pairs at last solution
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19
33  3  4 24 26 20  7 28  2 11 13  1  9 16  5 17 18 19 10
35  6  8 29 32 27 15 37 12 22 25 14 23 31 21 34 36 38 30

The program writes its state to a checkpoint file at the same time it writes to the history file. When restarted following an interruption, it will read the checkpoint file and resume calculating from its last saved state. The checkpoint file is a text file that can readily be edited. A separate checkpoint file was created to start the calculations at each desired position of the 19 pair. The number of sequences for that position is obtained when the algorithm advances the 19 pair to the next position.

I began the calculations on 3/20/99 on my 225 MHz Pentium MMX. After a couple of weeks I decided to involve other machines. I next started calculations for the 19 in the 17 position on my 90 MHz PowerMac (4/3/99). Ed Groth began calculations with the 19 in the 14 position on a 120 MHz PowerMac (4/12/99). Nevin Savage added his 300 MHz PowerMac on 4/20/99 and Bob Dumas added two 400 MHz Pentium IIs on 4/21/99. Finally, Ed Groth's 333 MHz iMac assisted beginning on 5/4/99. Calculations that were begun on the two slower Macs were transferred to faster machines to complete. As different portions were finished, fewer and fewer machines could be involved. The last part of the answer was completed this morning, 5/22/99, on my 225 MHz Pentium MMX.

You might be interested in how these different machines compare in performance on this problem. The following table gives the time in seconds for various machines to calculate all of the langford sequences with pairs of 1-15. All were timed using my latest version of the program as of 4/12/99.

   Machine     Speed   Secs  Score
------------- -------  ----  -----
iMac G3       333 MHz   766   3.92
PowerMac G3   300 MHz   850   3.92
Pentium MMX   225 MHz  1109   4.01
Pentium II    400 MHz  1060   2.36
PowerMac 604  120 MHz  2182   3.82
Dec Alpha 255 300 MHz  2288   1.46
PowerMac 601   90 MHz  3423   3.25

The score is calculated as 1,000,000 / (clock speed * seconds). It is a ranking of a CPU's performance in finding langford sequences that is normalized for clock rate. When you have the time, I will be interested in seeing the performance of my algorithm on your 533 MHz Dec Alpha. If you inform me when you anticipate being able to time the program, I will send the latest version.

I notice from other measurements that the rate at which sequences are found is about 1/2 for the 1-15 series as for the 1-11 series and also 1/2 for the 1-16 series as for the 1-12 series. By extrapolation, I expected that the rate of finding sequences for the 1-19 series would be about 1/2 of the rate for the 1-15 series. Our greatest concentration of computer power at any time was the two G3s, the two Pentium IIs, and the Pentium MMX. These machines combined find langford sequences in the 1-15 series at the rate of about 206,000 sequences per second. By extrapolation, they would find 103,000 sequences per second in the 1-19 series. That is about 9 billion sequences per day. Our data are consistent with (or slightly better than) this figure.

Frederick (Rick) Groth
Date: Sat, 22 May 1999