Извиняюсь, что у меня нет математического фона, чтобы поставить этот вопрос более формальным образом. Я хочу создать строку из 796 букв (или целых чисел) с определенными свойствами.
В принципе, строка является вариацией последовательности De Bruijn B (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 A C C C C D A E E E B D A A A A B 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 букв), начиная (и, если возможно, заканчивая) четырьмя из тот же письмо. *
Вот рабочее решение для 7 букв:
AAAABCDBEAAACDECFAAADBFBACEAGAADEFBAGACDFBGCCCCDGEAFAGCBEEECGFFBFEGGGGFDEEEEFCBBBBGDCFFFFDAGBEGDDDDBE