Hi all,
I have new words for n = 10, 11, 12 and 13:
n = 10: 4,034,873 -> 4,034,855 (-18, previous: rumstd)
n = 11: 43,930,624 -> 43,930,578 (-46, previous: Theo H.)
n = 12: 522,745,531 -> 522,737,299 (-8,232, previous: Theo H.)
n = 13: 6,747,918,066 -> 6,747,802,875 (-115,191, previous: Jay Pantone)I think this is a breakthrough for words made with this construction. Everything I did before kept Jay's closed trails and only changed the cuts and the order, and all of it together gave 1,409 letters at n = 13. These words use other closed trails.
After four days of rearranging, my own bounds said little was left: at n = 11 at most 133 letters with one cut per trail. So I looked at where the letters of the construction go. In Jay's selection one 2-loop in fifteen lies on an all-full trail, and an all-full trail completes to as many closed trails as it has slices. At n = 12 that is 24,192 of the 25,200 closed trails, and every closed trail costs at least a letter to join.
These 2-loops fall into 48 groups, and the slices of a group can be chosen again without touching the rest. With full and short slices only, a new choice already gave an n = 12 word 324 letters under my best one before any search had run. With slices that are neither full nor short it gets better: 3,648 closed trails at n = 12 where Jay's selection has 25,200, and 23,808 at n = 13 where it has 252,000. Completion works for such slices as it stands. Transport is defined for full and short slices only and I found no rule for the others, so n = 11, 12 and 13 each have a selection of their own. The construction is still Jay's and only the selection changes.
The many small closed trails that remain have to be written in chains, which an integer programme chooses. The n = 10 word is made differently: it has the structure of rumstd's word on a selection with 350 closed trails where Jay's has 364, with every cut chosen exactly.
Written as n! + (n-1)! + (n-2)! + c (n-3)!, my n = 12 word has c = 0.5239 and my n = 13 word has c = 0.5136. Jay's words have 0.5467 and 0.5453, and 43/80 is 0.5375. That is just the lengths of verified words and says nothing about the limit.
For the limit I have computation and no proof. One of the new selections has only full and short slices, so it can be transported to every n. The count behind Jay's 193/360, Q plus the number of closed trails, gives 193/378 = 0.5106 for it at n = 12 and n = 13. With connector cycles chosen at n = 12, Jay's argument would give 1771/3456 = 0.5124 in place of 43/80. I checked the hypotheses of his argument for this selection by computation only. Writing the proof down is what I want to do next, in Lean if Jay's certificates can take this selection. I haven't started, so please treat 0.5124 as a claim to be checked.
All four words pass Jay's
literal_check --deletions, my
delcheck and a short numpy script. The three programs share no code, and no single letter can be deleted. Each word can be rebuilt from its selection and a list of its closed trails in order with their cuts, with Python and a C compiler. Words, selections, tools and notes on every step, including what did not work, are at
https://github.com/jhalfar/superpermutations, and the words are in
PR #8 to Jay's repo. The programs behind my words of the last days are public only as of today.
The selections are the best I found and I don't know whether they are optimal, so there may be more to gain. I'd be glad if someone could check the words and the selections independently.
Best,
Jakub