配对函数是一个可逆地将 映射到
的函数,其中
表示 非负整数。配对函数自然地出现在证明有理数
和非负整数
的基数相同,即
,其中
被称为 aleph-0,最初由 Georg Cantor 提出。配对函数也出现在编码问题中,在这些问题中,整数值的向量需要可逆地折叠成单个整数值。
5 | 15 | 20 | 26 | 33 | 41 | |
4 | 10 | 14 | 19 | 25 | 32 | |
3 | 6 | 9 | 13 | 18 | 24 | |
2 | 3 | 5 | 8 | 12 | 17 | |
1 | 1 | 2 | 4 | 7 | 11 | |
1 | 2 | 3 | 4 | 5 |
设
(1)
|
然后 Hopcroft 和 Ullman(1979,第 169 页)定义了配对函数
(2)
| |||
(3)
|
如上表所示,其中 。逆函数可以从以下公式计算得出
(4)
| |||
(5)
| |||
(6)
| |||
(7)
|
其中 是向下取整函数。
5 | 15 | 22 | 30 | 39 | 49 | 60 | |
4 | 10 | 16 | 23 | 31 | 40 | 50 | |
3 | 6 | 11 | 17 | 24 | 32 | 41 | |
2 | 3 | 7 | 12 | 18 | 25 | 33 | |
1 | 1 | 4 | 8 | 13 | 19 | 26 | |
0 | 0 | 2 | 5 | 9 | 14 | 20 | |
0 | 1 | 2 | 3 | 4 | 5 |
Hopcroft-Ullman 函数可以重新参数化,使得 和
在
中,而不是
中。这个函数被称为康托函数,由下式给出
(8)
|
如上表所示。它的逆函数由下式给出
(9)
| |||
(10)
| |||
(11)
|
Fueter 和 Pólya 的一个定理指出,康托尔配对函数和 Hopcroft 与 Ullman 的变体是唯一具有实值系数的二次函数,可以将 可逆地映射到
(Stein 1999, pp. 448-452)。
11 | 20 | 24 | 33 | 41 | |
10 | 12 | 19 | 25 | 32 | |
4 | 9 | 13 | 18 | 26 | |
3 | 5 | 8 | 14 | 17 | |
1 | 2 | 6 | 7 | 15 |
17 | 18 | 19 | 20 | 21 | |
16 | 15 | 14 | 13 | 22 | |
5 | 6 | 7 | 12 | 23 | |
4 | 3 | 8 | 11 | 24 | |
1 | 2 | 9 | 10 | 25 |
Stein (1999) 提出了两种回文式(“牛耕式”)变体,如上所示,但没有给出明确的公式。
7 | 42 | 43 | 46 | 47 | 58 | 59 | 62 | 63 | |
6 | 40 | 41 | 44 | 45 | 56 | 57 | 60 | 61 | |
5 | 34 | 35 | 38 | 39 | 50 | 51 | 54 | 55 | |
4 | 32 | 33 | 36 | 37 | 48 | 49 | 52 | 53 | |
3 | 10 | 11 | 14 | 15 | 26 | 27 | 30 | 31 | |
2 | 8 | 9 | 12 | 13 | 24 | 25 | 28 | 29 | |
1 | 2 | 3 | 6 | 7 | 18 | 19 | 22 | 23 | |
0 | 0 | 1 | 4 | 5 | 16 | 17 | 20 | 21 | |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
还有其他定义配对函数的方法。例如,Pigeon(2001,第 115 页)提出了一个基于位交织的配对函数。这个“按位”配对函数,如上所示,定义为
(12)
|
其中 (和
)是
(或
)的最低有效位,
是连接运算符,符号
是空位字符串
要配对两个以上的数字,可以使用配对的配对。例如, 可以定义为
或
,但
应定义为
,以最小化由此产生的数字的大小。一般的方案是
(13)
| |||
(14)
| |||
(15)
| |||
(16)
| |||
(17)
|
等等。