Função de emparelhamento - Pairing function

Em matemática , uma função de emparelhamento é um processo para codificar exclusivamente dois números naturais em um único número natural.

Qualquer função de emparelhamento pode ser usada na teoria dos conjuntos para provar que números inteiros e racionais têm a mesma cardinalidade que os números naturais.

Definição

Uma função de emparelhamento é uma bijeção

Mais geralmente, uma função de emparelhamento em um conjunto A é uma função que mapeia cada par de elementos de A em um elemento de A , de modo que quaisquer dois pares de elementos de A sejam associados a diferentes elementos de A, ou uma bijeção de para A .

Função de emparelhamento de Hopcroft e Ullman

Hopcroft e Ullman (1979) definem a seguinte função de emparelhamento:, onde .

Função de emparelhamento Cantor

Um gráfico da função de emparelhamento Cantor
A função de emparelhamento Cantor atribui um número natural a cada par de números naturais

A função de emparelhamento Cantor é uma função de emparelhamento recursiva primitiva

definido por

onde .

Também pode ser expresso como .

Também é estritamente monotônico em cada argumento, isto é, para todos , se , então ; da mesma forma, se , então .

A afirmação de que esta é a única função de emparelhamento quadrático é conhecida como teorema de Fueter-Pólya . Se esta é a única função de emparelhamento polinomial, ainda é uma questão em aberto. Quando se aplicar a função de emparelhamento para k 1 e k 2 , muitas vezes, denotam o número resultante como K 1 , K 2 .

Esta definição pode ser generalizada indutivamente para a função de tupla de Cantor

para como

com o caso base definido acima para um par:

Inverter a função de emparelhamento Cantor

Let Ser um número natural arbitrário. Mostraremos que existem valores únicos, tais que

e, portanto, esse π é invertível. É útil definir alguns valores intermediários no cálculo:

onde t é o número do triângulo de w . Se resolvermos a equação quadrática

para w em função de t , obtemos

que é uma função estritamente crescente e contínua quando t é real não negativo. Desde a

nós entendemos isso

e assim

onde ⌊ ⌋ é a função de piso . Assim, para calcular x e y de z , que fazemos:

Uma vez que a função de emparelhamento Cantor é invertível, deve ser um para um e para .

Exemplos

Para calcular π (47, 32) :

47 + 32 = 79 ,
79 + 1 = 80 ,
79 × 80 = 6320 ,
6320 ÷ 2 = 3160 ,
3160 + 32 = 3192 ,

então π (47, 32) = 3192 .

Para encontrar x e y tais que π ( x , y ) = 1432 :

8 × 1432 = 11456 ,
11456 + 1 = 11457 ,
11457 = 107,037 ,
107,037 - 1 = 106,037 ,
106,037 ÷ 2 = 53,019 ,
⌊53,019⌋ = 53 ,

então w = 53 ;

53 + 1 = 54 ,
53 × 54 = 2862 ,
2862 ÷ 2 = 1431 ,

então t = 1431 ;

1432 - 1431 = 1 ,

então y = 1 ;

53 - 1 = 52 ,

então x = 52 ; assim, π (52, 1) = 1432 .

Derivação

Uma função "sinuosa" que aumenta diagonalmente, a partir dos mesmos princípios da função de emparelhamento de Cantor, é freqüentemente usada para demonstrar a contabilidade dos números racionais.

A forma gráfica da função de emparelhamento de Cantor, uma progressão diagonal, é um truque padrão no trabalho com sequências infinitas e contabilidade . As regras algébricas desta função diagonal podem verificar sua validade para uma gama de polinômios, dos quais um quadrático acabará sendo o mais simples, usando o método de indução . Na verdade, essa mesma técnica também pode ser seguida para tentar derivar qualquer número de outras funções para qualquer variedade de esquemas de enumeração do plano.

A função de emparelhamento pode geralmente ser definida indutivamente - isto é, dado o n º par, o que é o ( n + 1) th par? A forma como a função de Cantor progride diagonalmente ao longo do plano pode ser expressa como

.

A função também deve definir o que fazer quando atinge os limites do primeiro quadrante - a função de emparelhamento de Cantor é redefinida para o eixo x para retomar sua progressão diagonal um passo adiante, ou algebricamente:

.

Também precisamos definir o ponto de partida, qual será o passo inicial em nosso método de indução: π (0, 0) = 0 .

Suponha que haja um polinômio bidimensional quadrático que pode se ajustar a essas condições (se não houvesse, pode-se apenas repetir tentando um polinômio de grau mais alto). A forma geral é então

.

Conecte nossas condições iniciais e de contorno para obter f = 0 e:

,

para que possamos combinar nossos k termos para obter

b = a
d = 1- a
e = 1+ a .

Portanto, todos os parâmetros podem ser escritos em termos de a, exceto c , e temos uma equação final, nosso passo diagonal, que os relacionará:

Expanda e combine os termos novamente para obter valores fixos para a e c e, portanto, todos os parâmetros:

a = 1/2= b = d
c = 1
e =3/2
f = 0 .

Portanto

é a função de emparelhamento de Cantor, e também demonstramos através da derivação que esta satisfaz todas as condições de indução.

Outras funções de emparelhamento

A função é uma função de emparelhamento.

Em 1990, Regan propôs a primeira função de emparelhamento conhecida que é computável em tempo linear e com espaço constante (como os exemplos anteriormente conhecidos só podem ser computados em tempo linear se a multiplicação também pode ser , o que é duvidoso). Na verdade, essa função de emparelhamento e seu inverso podem ser calculados com transdutores de estado finito que funcionam em tempo real. No mesmo artigo, o autor propôs duas funções de emparelhamento mais monótonas que podem ser calculadas online em tempo linear e com espaço logarítmico ; o primeiro também pode ser calculado offline com espaço zero.

Em 2001, Pigeon propôs uma função de emparelhamento baseada na intercalação de bits , definida recursivamente como:

onde e são os bits menos significativos de i e j, respectivamente.

Em 2006, Szudzik propôs uma função de emparelhamento "mais elegante" definida pela expressão que pode ser desemparelhada usando a expressão . (Qualitativamente, ele atribui números consecutivos aos pares ao longo das bordas dos quadrados.) Esta função de emparelhamento ordena as expressões de cálculo do combinador SK por profundidade.

Notas

Referências