Jump to content

Комбинаторная система счисления

В математике , и в частности в комбинаторике , комбинаторная система счисления степени k (для некоторого положительного целого числа k ), также называемая комбинадикой , или представлением Маколея целого числа , представляет собой соответствие между натуральными числами (считается, что они включают 0) N и k - комбинации . Комбинации представляются в виде строго убывающих последовательностей c k > ... > c 2 > c 1 ≥ 0, где каждый c i соответствует индексу выбранного элемента в данной k -комбинации. Различные числа соответствуют различным k -комбинациям и создают их в лексикографическом порядке . Числа меньше, чем соответствуют всем k -комбинациям n {0, 1, ..., 1 }. Соответствие не зависит от размера n множества, из которого взяты k -комбинации, поэтому его можно интерпретировать как отображение N в k -комбинации, взятые из N ; с этой точки зрения соответствие является биекцией .

Число N, ( ck соответствующее , ..., c 2 , c 1 ), определяется выражением

.

Тот факт, что любому неотрицательному числу N соответствует уникальная последовательность , впервые заметил Д. Х. Лемер . [1] Действительно, жадный алгоритм находит k -комбинацию, соответствующую N : возьмем c k максимальным с , то возьмем c k −1 максимальное с и так далее. Нахождение числа N по приведенной выше формуле из k -комбинации ( c k , ..., c 2 , c 1 ) также известно как «ранжирование», а противоположная операция (задаваемая жадным алгоритмом) как « снятие с рейтинга"; под этими названиями операции известны в большинстве систем компьютерной алгебры и в вычислительной математике . [2] [3]

Первоначально используемый термин «комбинаторное представление целых чисел» был сокращен Кнутом до «комбинаторной системы счисления» . [4] который также дает гораздо более старую ссылку; [5] термин «комбинадический» введен Джеймсом Маккаффри. [6] (без ссылки на предыдущую терминологию или работу).

В отличие от факториальной системы счисления , комбинаторная система счисления степени k не является смешанной системой счисления : часть числа N, представленного «цифрой» c i, не получается из него простым умножением на разрядное значение.

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

Заказ комбинаций

[ редактировать ]

k с множества S — это подмножество S k ( различными -комбинация ) элементами. Основная цель комбинаторной системы счисления — обеспечить представление каждого числа одним числом всех возможных k -комбинаций множества S из n элементов. Выбирая для любого n , {0, 1, ..., n − 1 } в качестве такого набора, можно добиться того, чтобы представление данной k -комбинации C не зависело от значения n (хотя n должно иметь конечно быть достаточно большим); другими словами, рассмотрение C как подмножества большего набора путем увеличения n не изменит число, представляющее C . Таким образом, для комбинаторной системы счисления C просто рассматривается как k -комбинация множества N всех натуральных чисел, без явного упоминания n .

Чтобы гарантировать, что числа, представляющие k -комбинации {0, 1, ..., n − 1 }, меньше чисел, представляющих k -комбинации, не содержащиеся в {0, 1, ..., n − 1 } , k -комбинации должны быть упорядочены таким образом, чтобы сначала сравнивались их самые большие элементы. Наиболее естественным упорядочением, обладающим этим свойством, является упорядочение убывающей лексикографическое последовательности их элементов. Таким образом, сравнивая 5-комбинации C = {0,3,4,6,9} и C ′ = {0,1,3,7,9}, получаем, что C предшествует C ′, поскольку они имеют одинаковый наибольший размер. часть 9, но следующая по величине часть 6 C меньше, чем следующая по величине часть 7 C '; лексикографически сравниваются последовательности (9,6,4,3,0) и (9,7,3,1,0).

Другой способ описать этот порядок — это комбинации представлений, описывающие k поднятых битов в двоичном представлении числа, так что C = { c 1 , ..., c k } описывает число

(это связывает разные числа со всеми конечными наборами натуральных чисел); тогда сравнение k -комбинаций можно выполнить путем сравнения соответствующих двоичных чисел. В примере C и C ′ соответствуют числам 1001011001 2 = 601 10 и 1010001011 2 = 651 10 , что снова показывает, что C предшествует C ′. Однако это число не является тем числом, которым нужно представлять k -комбинацию, поскольку многие двоичные числа имеют несколько повышенных битов, отличных от k ; требуется найти относительное положение C в упорядоченном списке (только) k -комбинаций .

Место комбинации в заказе

[ редактировать ]

Число, сопоставленное в комбинаторной системе счисления степени k k - комбинации C, есть число k -комбинаций, строго меньшее C в данном порядке. Это число можно вычислить из C = { c k , ..., c 2 , c 1 } с c k > ... > c 2 > c 1 следующим образом.

определения порядка следует, что для каждой k -комбинации S, строго меньшей, чем C , существует единственный индекс i такой, что c i отсутствует в S , а ck Из , ..., c i +1 присутствуют в S и никакое другое значение, большее, чем c i . Таким образом, можно сгруппировать эти k -комбинации S в соответствии с возможными значениями 1, 2, ..., k для i и считать каждую группу отдельно. Для данного значения i необходимо включить c k , ..., c i +1 в S , а остальные i элементов S должны быть выбраны из c i неотрицательных целых чисел, строго ci меньших ; более того, любой такой выбор приведет к тому, что k -комбинаций S строго меньше C . Число возможных вариантов равно , что, следовательно, представляет собой количество комбинаций в группе i ; общее число k -комбинаций строго меньше C тогда равно

и это индекс (начиная с 0) C в упорядоченном списке k -комбинаций.

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

Нахождение k -комбинации по заданному числу

[ редактировать ]

Данная формула позволяет сразу найти место в лексикографическом порядке заданного k -сочетания. Обратный процесс нахождения k -комбинации в заданном месте N требует несколько большей работы, но, тем не менее, является простым. По определению лексикографического упорядочения две k -комбинации, различающиеся наибольшим элементом c k, будут упорядочены по принципу сравнения этих крупнейших элементов, из чего следует, что все комбинации с фиксированным значением наибольшего элемента являются смежными в список. Более того, наименьшая комбинация с c k в качестве самого большого элемента равна , и оно имеет c i = i − 1 для всех i < k (для этой комбинации все члены выражения, кроме равны нулю). Следовательно, c k — наибольшее число такое, что . Если k > 1, то остальные элементы k -комбинации образуют k − 1 -комбинацию, соответствующую числу в комбинаторной системе счисления степени k − 1 , и поэтому его можно найти, продолжая тем же способом для и k − 1 вместо N и k .

Предположим, кто-то хочет определить 5-комбинацию в позиции 72. Последовательные значения для n = 4, 5, 6, ... равны 0, 1, 6, 21, 56, 126, 252, ..., из которых наибольшее число, не превышающее 72, равно 56, для n = 8. Следовательно, c 5 = 8, а оставшиеся элементы образуют 4-комбинацию в позиции 72 − 56 = 16 . Последовательные значения для n = 3, 4, 5, ... равны 0, 1, 5, 15, 35, ..., из которых наибольшее число, не превышающее 16, равно 15, для n = 6, поэтому c 4 = 6. Продолжаем аналогично поиску 3-комбинации в позиции 16 - 15 = 1 находится c 3 = 3, что расходует последнюю единицу; это устанавливает , а остальные значения c i будут максимальными с , а именно c я знак равно я - 1 . Таким образом мы нашли 5-комбинацию {8, 6, 3, 1, 0 }.

Пример национальной лотереи

[ редактировать ]

Для каждого из лотерейных комбинаций c 1 < c 2 < c 3 < c 4 < c 5 < c 6 , существует номер списка N между 0 и который можно найти, добавив

См. также

[ редактировать ]
  1. ^ Прикладная комбинаторная математика , Под ред. Э. Ф. Беккенбах (1964), стр. 27–30.
  2. ^ Генерация элементарных комбинаторных объектов , Люсия Моура, Университет Оттавы, осень 2009 г.
  3. ^ «Комбинации — Справочное руководство Sage 9.4: Комбинаторика» .
  4. ^ Кнут, DE (2005), «Создание всех комбинаций и разделов», Искусство компьютерного программирования , том. 4, выпуск 3, Аддисон-Уэсли, стр. 5–6, ISBN.  0-201-85394-9 .
  5. ^ Паскаль, Эрнесто (1887), Журнал математики , том. 25, с. 45−49
  6. ^ Маккаффри, Джеймс (2004), Генерация m-го лексикографического элемента математической комбинации , Microsoft Developer Network

Дальнейшее чтение

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 663eafebbc5f39937de99ca34799b14d__1712553120
URL1:https://arc.ask3.ru/arc/aa/66/4d/663eafebbc5f39937de99ca34799b14d.html
Заголовок, (Title) документа по адресу, URL1:
Combinatorial number system - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)