Факторная система счисления - Factorial number system

В комбинаторика, то факториальная система счисления, также называемый факторадический, это смешанный корень система счисления адаптирован к нумерации перестановки. Его еще называют факториальная база, несмотря на то что факториалы не функционируют как основание, но, как размещаемая стоимость цифр. Преобразуя число меньше, чем п! к факториальному представлению получаем последовательность из п цифры, которые можно преобразовать в перестановку п простым способом, либо используя их как Код Лемера или как инверсия стол[1] представление; в первом случае результирующее отображение целых чисел на перестановки п перечисляет их в лексикографический порядок. Общие смешанные системы счисления изучались Георг Кантор.[2]Термин «факториальная система счисления» используется Knuth,[3]в то время как французский эквивалент "numération factorielle" был впервые использован в 1888 году.[4] Термин "факторадик", который является чемодан факториала и смешанного основания, по-видимому, более позднего времени.[5]

Определение

Факториальная система счисления - это смешанный корень система счисления: the я-я цифра справа имеет основаниея, что означает, что цифра должна быть строго меньше, чем я, и что (с учетом оснований младших цифр) его значение умножается на (я − 1)! (его разрядная стоимость).

Radix87654321
Место значение7!6!5!4!3!2!1!0!
Поместите значение в десятичную дробь5040720120246211
Максимально допустимая цифра76543210

Из этого следует, что крайняя правая цифра всегда равна 0, вторая может быть 0 или 1, третья 0, 1 или 2 и так далее (последовательность A124252 в OEIS ). Факториальная система счисления иногда определяется как 0! место пропущено, потому что оно всегда равно нулю (последовательность A007623 в OEIS ).

В этой статье представление факториального числа будет помечено нижним индексом "!", Например, 3: 4: 1: 0: 1: 0! обозначает 354413021100, значение которого

= 3×5! + 4×4! + 1×3! + 0×2! + 1×1! + 0×0! 
= ((((3×5 + 4)×4 + 1)×3 + 0)×2 + 1)×1 + 0
=  46310.

(Разрядная величина на единицу меньше, чем позиция системы счисления, поэтому эти уравнения начинаются с 5!)

Общие свойства смешанных систем счисления счисления также применимы к факторной системе счисления. Например, можно преобразовать число в факторное представление, производя цифры справа налево, путем многократного деления числа на основание системы счисления (1, 2, 3, ...), считая остаток цифрами и продолжая целое число частное, до этого частное становится 0.

Например, 46310 может быть преобразовано в факторное представление следующими последовательными делениями:

463 ÷ 1 = 463, остаток 0
463 ÷ 2 = 231, остаток 1
231 ÷ 3 = 77, остаток 0
77 ÷ 4 = 19, остаток 1
19 ÷ 5 = 3, остаток 4
3 ÷ 6 = 0, остаток 3

Процесс завершается, когда частное достигает нуля. Чтение остатков назад дает 3: 4: 1: 0: 1: 0!.

В принципе, эта система может быть расширена для представления дробных чисел, хотя вместо естественного расширения разрядов (−1) !, (−2) !, и т.д., которые не определены, симметричный выбор значений системы счисления n = 0 , 1, 2, 3, 4 и т. Д. После точки могут использоваться вместо этого. Опять же, места 0 и 1 могут быть опущены, поскольку они всегда равны нулю. Следовательно, соответствующие значения разряда - 1/1, 1/1, 1/2, 1/6, 1/24, ..., 1 / n !, и т. Д.

Примеры

В следующей сортируемой таблице показаны 24 перестановки четырех элементов с разными инверсия связанные векторы. Левая и правая инверсия считается и (последний часто называют Код Лемера ) особенно подходят для интерпретации как факториальные числа. дает позицию перестановки в обратном порядке колексикографический порядок (порядок этой таблицы по умолчанию), а последний - позицию в лексикографический заказ (оба отсчитываются от 0).

При сортировке по столбцу, в котором справа пропущен 0, факториальные числа в этом столбце соответствуют номерам индексов в неподвижном столбце слева. Маленькие столбцы являются отражением соседних столбцов, и их можно использовать для приведения их в колексикографическом порядке. В крайнем правом столбце показаны суммы цифр факториалов (OEISA034968 в порядке по умолчанию в таблицах).

Факториальные числа заданной длины образуют пермутоэдр при заказе побитового связь

Это правильные подсчеты инверсии (также известные как коды Лемера) перестановок четырех элементов.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
п-б#
04-эл перм матрица 00.svg1234432100000000000000004-эль перм invset 00.svg000000000
14-эл перм матрица 01.svg2134431210000001001001004-эль пермь invset 01.svg100000011
24-эл перм матрица 02.svg1324423101000010010000104-эль пермь invset 02.svg010000101
34-эл перм матрица 03.svg3124421311000011011001104-эль пермь invset 03.svg200000022
44-эл перм матрица 04.svg2314413220000002020000204-эль пермь invset 04.svg110000112
54-эл перм матрица 05.svg3214412321000012021001204-эль пермь invset 05.svg210000123
64-эл перм матрица 06.svg1243342100100100100000014-эль пермь invset 06.svg001001001
74-эл перм матрица 07.svg2143341210100101101001014-эль пермь invset 07.svg101001012
84-эл перм матрица 08.svg1423324101100110110000114-эль пермь invset 08.svg020000202
94-эл перм матрица 09.svg4123321411100111111001114-эль пермь invset 09.svg300000033
104-эл перм матрица 10.svg2413314220100102120000214-эль пермь invset 10.svg120000213
114-эл перм матрица 11.svg4213312421100112121001214-el пермь invset 11.svg310000134
124-эл перм матрица 12.svg1342243102000020200000024-эль пермь invset 12.svg011001102
134-эл перм матрица 13.svg3142241312000021201001024-el пермь invset 13.svg201001023
144-эл перм матрица 14.svg1432234102100120210000124-эль пермь invset 14.svg021001203
154-эль пермь матрица 15.svg4132231412100121211001124-эль пермь invset 15.svg301001034
164-эл перм матрица 16.svg3412214322000022220000224-эль пермь invset 16.svg220000224
174-эл перм матрица 17.svg4312213422100122221001224-эль пермь invset 17.svg320000235
184-эл перм матрица 18.svg2341143230000003300000034-эль пермь invset 18.svg111001113
194-эл перм матрица 19.svg3241142331000013301001034-эль пермь invset 19.svg211001124
204-эл перм матрица 20.svg2431134230100103310000134-эль пермь invset 20.svg121001214
214-эл перм матрица 21.svg4231132431100113311001134-эль пермь invset 21.svg311001135
224-эл перм матрица 22.svg3421124332000023320000234-эль пермь invset 22.svg221001225
234-эл перм матрица 23.svg4321123432100123321001234-эль пермь invset 23.svg321001236

В другом примере наибольшее число, которое может быть представлено шестью цифрами, будет 543210.! что равно 719 в десятичный:

5 × 5! + 4 × 4! + 3x3! + 2 × 2! + 1 × 1! + 0 × 0 !.

Очевидно, следующее представление факториального числа после 5: 4: 3: 2: 1: 0! это 1: 0: 0: 0: 0: 0: 0! что обозначает 6! = 72010, разрядное значение для цифры седьмой системы счисления. Таким образом, первое число и его суммированное выражение, приведенное выше, равно:

6! − 1.

Факториальная система счисления обеспечивает уникальное представление каждого натурального числа с заданным ограничением используемых «цифр». Ни одно число не может быть представлено более чем одним способом, потому что сумма последовательных факториалов, умноженная на их индекс, всегда равна следующему факториалу за вычетом единицы:

Это легко доказать с помощью математическая индукция, или просто заметив, что : последующие термины отменяют друг друга, оставляя первый и последний член (см. Телескопическая серия )

Однако при использовании арабские цифры для записи цифр (без учета индексов, как в приведенных выше примерах) их простая конкатенация становится неоднозначной для чисел, у которых «цифра» больше 9. Самый маленький такой пример - это число 10 × 10! = 36 288 00010, что может быть записано как A0000000000!=10:0:0:0:0:0:0:0:0:0:0!, но не 100000000000! = 1:0:0:0:0:0:0:0:0:0:0:0! что означает 11! = 39 916 80010. Таким образом, используя буквы A – Z для обозначения цифр 10, 11, 12, ..., 35, как в другой системе счисления N, получим наибольшее представимое число 36 × 36! - 1. Для произвольно больших чисел необходимо выбрать основу для представления отдельных цифр, например десятичную, и поставить разделительный знак между ними (например, путем добавления каждой цифры в индекс по ее основанию, также заданному в десятичном виде, например 24031201, это число также можно записать как 2: 0: 1: 0!). Фактически сама факториальная система счисления не является система счисления в смысле обеспечения представления всех натуральных чисел с использованием только конечного алфавита символов, поскольку для этого требуется дополнительный знак разделения.

Перестановки

Есть естественный отображение между целые числа 0, ..., п! − 1 (или эквивалентно числа с п цифры в факторном представлении) и перестановки из п элементы в лексикографический порядок, когда целые числа выражаются в факторадической форме. Это отображение было названо Код Лемера (или инверсионный стол). Например, с п = 3, такое отображение

десятичныйфакторадическийперестановка
0100:0:0!(0,1,2)
1100:1:0!(0,2,1)
2101:0:0!(1,0,2)
3101:1:0!(1,2,0)
4102:0:0!(2,0,1)
5102:1:0!(2,1,0)

В каждом случае вычисление перестановки происходит с использованием крайней левой факторадической цифры (здесь 0, 1 или 2) в качестве первой цифры перестановки, а затем удаления ее из списка вариантов (0, 1 и 2). Думайте об этом новом списке вариантов как о индексированном нулем и используйте каждую последующую факторную цифру для выбора из оставшихся элементов. Если вторая фактическая цифра равна «0», то первый элемент списка выбирается для второй цифры перестановки и затем удаляется из списка. Аналогично, если вторая фактическая цифра равна «1», вторая выбирается и затем удаляется. Последняя фактическая цифра всегда равна "0", и поскольку список теперь содержит только один элемент, он выбирается как последняя цифра перестановки.

Процесс может стать понятнее на более длинном примере. Допустим, нам нужна 2982-я перестановка чисел от 0 до 6. Число 2982 равно 4: 0: 4: 1: 0: 0: 0! Фактически радикально, и это число выбирает цифры (4,0,6,2,1,3,5) по очереди, индексируя убывающий упорядоченный набор цифр и выбирая каждую цифру из набора на каждом шагу:

                            4:0:4:1:0:0:0!  ─► (4,0,6,2,1,3,5) фактор: 4: 0: 4: 1: 0: 0: 0!            ├─┬─┬─┬─┐ │ ├─┬─┬─┬─┐ ├─┐ │ │ │set: (0,1,2,3,4,5,6) ─► (0,1,2 , 3,5,6) ─► (1,2,3,5,6) ─► (1,2,3,5) ─► (1,3,5) ─► (3,5) ─► ( 5) │ │ │ │ │ │ перестановка: (4, 0, 6, 2, 1, 3, 5)

Естественный индекс для группа прямой продукт из двух группы перестановок это конкатенация двух факторных чисел с двумя нижними индексами "!"

           пара конкатенированных десятичных факторизованных перестановок 010     0:0:0!0:0:0!           ((0,1,2),(0,1,2))    110     0:0:0!0:1:0!           ((0,1,2),(0,2,1))               ...    510     0:0:0!2:1:0!           ((0,1,2),(2,1,0))    610     0:1:0!0:0:0!           ((0,2,1),(0,1,2))    710     0:1:0!0:1:0!           ((0,2,1),(0,2,1))               ...   2210     1:1:0!2:0:0!           ((1,2,0),(2,0,1))               ...   3410     2:1:0!2:0:0!           ((2,1,0),(2,0,1))   3510     2:1:0!2:1:0!           ((2,1,0),(2,1,0))

Дробные значения

В отличие от систем с одним основанием, разряды которых основаниеп Как для положительного, так и для отрицательного целого n основание факториального числа не может быть расширено до отрицательных разрядов, поскольку это будет (-1) !, (-2)! и так далее, и эти значения не определены. (видеть факториал )

Поэтому одним из возможных расширений является использование 1/0 !, 1/1 !, 1/2 !, 1/3 !, ..., 1 / n! и т. д., возможно, опуская 1/0! и 1/1! места, которые всегда равны нулю.

При использовании этого метода все рациональные числа имеют завершающее раскрытие, длина которого в «цифрах» меньше или равна знаменателю представленного рационального числа. Это можно доказать, если учесть, что существует факториал для любого целого числа, и, следовательно, знаменатель делится на собственный факториал, даже если он не делится на какой-либо меньший факториал.

Следовательно, по необходимости факторадическое разложение обратной величины простого числа имеет длину точно такое же простое число (за вычетом единицы, если опущен знак 1/1!). Остальные термины даны как последовательность A046021 на OEIS. Также можно доказать, что последняя «цифра» или член представления рационального числа с простым знаменателем равна разнице между числителем и простым знаменателем.

Существует также неограничивающий эквивалент для каждого рационального числа, сродни тому, что в десятичной дроби 0,24999 ... = 0,25 = 1/4 и 0.999... = 1 и т. д., которые могут быть созданы путем уменьшения последнего члена на 1 и последующего заполнения оставшегося бесконечного числа членов наивысшим возможным значением для системы счисления этой позиции.

В следующем наборе примеров пробелы используются для разделения значений разряда, иначе они представлены в десятичном виде. Рациональные числа слева также в десятичном формате:

Есть также небольшое количество констант, которые имеют шаблонное представление с помощью этого метода:

Смотрите также

Рекомендации

  1. ^ Кнут, Д. Э. (1973), "Том 3: Сортировка и поиск", Искусство программирования, Эддисон-Уэсли, стр. 12, ISBN  0-201-89685-0
  2. ^ Кантор, Г. (1869), Zeitschrift für Mathematik und Physik, 14.
  3. ^ Кнут, Д. Э. (1997), "Том 2: получисловые алгоритмы", Искусство программирования (3-е изд.), Addison-Wesley, p. 192, ISBN  0-201-89684-2.
  4. ^ Лезан, Шарль-Анж (1888), "Sur la numération factorielle, application aux permutations", Bulletin de la Société Mathématique de France (На французском), 16: 176–183.
  5. ^ Термин «факторадический», по-видимому, введен в Маккаффри, Джеймс (2003), Использование перестановок в .NET для повышения безопасности системы, Microsoft Developer Network.

внешняя ссылка