Я прошу прощения за отсутствие математического фона, чтобы поставить этот вопрос более формально.
Я ищу, чтобы создать строку из 796 букв (или целых чисел) с определенными свойствами.
По сути, строка является вариацией последовательности B Brujn (12,4), за исключением того, что не учитываются порядок и повторение в каждой подпоследовательности n-длины.
т.е. ABBB BABA BBBA каждый эквивалентен {AB}.
Другими словами, основное свойство строки включает в себя просмотр последовательных групп из 4 букв в большей строке
(то есть с 1 по 4 буквы, со 2 по 5 буквы, с 3 по 6 буквы и т. д.)
И затем создание набора букв, которые составляют каждую группу (повторы и порядок не учитываются)
Например, в строке из 9 букв:
A B B A C E B C D
первые 4-буквенные группы: ABBA, которая состоит из набора {AB}
вторая группа: BBAC, которая состоит из набора {ABC}
третья группа: BACE, которая состоит из набора {ABCE}
и т.д.
Цель состоит в том, чтобы каждая комбинация из 1-4 букв из набора из N букв была представлена 1-4-буквенными результирующими наборами групп из 4 элементов один и только один раз в исходной строке.
Например, если используется набор из 5 букв {A, B, C, D, E}
Тогда возможны 1-4 буквенные комбинации:
A, B, C, D, E,
AB, AC, AD, AE, BC, BD, BE, CD, CE, DE,
ABC, ABD, ABE, ACD, ACE, ADE, BCD, BCE, BDE, CDE,
ABCD, ABCE, ABDE, ACDE, BCDE
Вот рабочий пример, в котором используется набор из 5 букв {A, B, C, D, E}.
D D D D E C B B B B A E C C C C D A E E E E B D A A A C B D D B
Элементы с 1-го по 4-й образуют множество: D
Элементы со 2-го по 5-й образуют набор: DE
Элементы с 3-го по 6-й образуют набор: CDE
Элементы с 4 по 7 образуют набор: BCDE
Элементы с 5-го по 8-й образуют набор: BCE
Элементы с 6-го по 9-й образуют набор: BC
С 7-го по 10-й элементы образуют множество: B
и т.д.
* Я надеюсь найти рабочий пример строки, которая использует 12 различных букв (всего 793 4-буквенные группы в 796-буквенной строке), начиная (и, если возможно, заканчивая) с 4 из то же письмо *
Вот рабочее решение на 7 букв:
AAAABCDBEAAACDECFAAADBFBACEAGAADEFBAGACDFBGCCCCDGEAFAGCBEEECGFFBFEGGGGFDEEEEFCBBBBGDCFFFFDAGBEGDDDDBE