Combinatorial Number System

In mathematics, and in particular in combinatorics, the combinatorial number system of degree k (for some positive integer k), also referred to as combinadics, is a correspondence between natural numbers (taken to include 0) N and k-combinations, represented as strictly decreasing sequences ck > ... > c2 > c1 ≥ 0. Since the latter are strings of numbers, one can view this as a kind of numeral system for representing N, although the main utility is representing a k-combination by N rather than the other way around. Distinct numbers correspond to distinct k-combinations, and produce them in lexicographic order; moreover the numbers less than correspond to all k-combinations of { 0, 1, ..., n − 1}. The correspondence does not depend on the size n of the set that the k-combinations are taken from, so it can be interpreted as a map from N to the k-combinations taken from N; in this view the correspondence is a bijection.

The number N corresponding to (ck,...,c2,c1) is given by

The fact that a unique sequence so corresponds to any number N was observed by D.H. Lehmer. Indeed a greedy algorithm finds the k-combination corresponding to N: take ck maximal with, then take ck − 1 maximal with, and so forth. The originally used term "combinatorial representation of integers" is shortened to "combinatorial number system" by Knuth, who also gives a much older reference; the term "combinadic" is introduced by James McCaffrey with a computer program implementation.

Unlike the factorial number system, the combinatorial number system of degree k is not a mixed radix system: the part of the number N represented by a "digit" ci is not obtained from it by simply multiplying by a place value.

The main application of the combinatorial number system is that it allows rapid computation of the k-combination that is at a given position in the lexicographic ordering, without having to explicitly list the k-combinations preceding it; this allows for instance random generation of k-combinations of a given set. Enumeration of k-combinations has many applications, among which software testing, sampling, quality control, and the analysis of lottery games.

This is also known as "rank" ("ranking" and "unranking"), and is known by that name in most CAS software and in computational mathematics.

Read more about Combinatorial Number System:  Ordering Combinations, Place of A Combination in The Ordering, Finding The k-combination For A Given Number, Applications

Famous quotes containing the words number and/or system:

    God ... created a number of possibilities in case some of his prototypes failed—that is the meaning of evolution.
    Graham Greene (1904–1991)

    All who wish to hand down to their children that happy republican system bequeathed to them by their revolutionary fathers, must now take their stand against this consolidating, corrupting money power, and put it down, or their children will become hewers of wood and drawers of water to this aristocratic ragocracy.
    Andrew Jackson (1767–1845)