Funzione coppia

Da testwiki.
Vai alla navigazione Vai alla ricerca

In matematica si definisce funzione coppia una funzione che associa ad ogni coppia ordinata di numeri naturali un numero naturale con corrispondenza uno a uno; è quindi un'applicazione biiettiva π fra l'insieme prodotto × e l'insieme dei numeri naturali :

π:×.

Utilizzo per il calcolo delle cardinalità

L'esistenza di tali funzioni dimostra che la cardinalità dei due insiemi e × è la stessa.

Utilizzando opportune funzioni da comporre alla funzione coppia, è possibile dimostrare che anche la cardinalità degli insiemi dei numeri interi e dei numeri razionali è uguale alla cardinalità di .

Inoltre componendo più volte una funzione coppia, è possibile costruire delle applicazioni biunivoche fra qualunque potenza dei naturali k e . Questa tecnica è molto usata anche nella teoria della calcolabilità.

Funzione coppia di Cantor

La funzione coppia di Cantor è una funzione coppia così definita:

π(k1,k2):=12(k1+k2)(k1+k2+1)+k2.

L'immagine π(k1,k2) della funzione coppia si indica solitamente con k1,k2.

Questa definizione può essere generalizzata in modo da ottenere la funzione tupla di Cantor

π(n):n

in questo modo:

π(n)(k1,,kn1,kn):=π(π(n1)(k1,,kn1),kn)

Nel calcolo dell'enumerazione di una funzione calcolabile (in informatica teorica) si usa una versione leggermente modificata della funzione coppia di Cantor:

π(k1,k2):=12(k1+k2)(k1+k2+1)+k2+1.

ottenuta enumerando a partire da 0 al posti di 1

Inversione della funzione coppia di Cantor

Supponiamo sia dato z definito come segue

z=x,y=(x+y)(x+y+1)2+y

e si vogliano trovare x e y. Definiamo alcune variabili intermedie:

w=x+y
t=w(w+1)2=w2+w2
z=t+y

dove t è il numero triangolare di w. Se risolviamo l'equazione di secondo grado

w2+w2t=0

per w in funzione di t, otteniamo

w=8t+112

che è una funzione strettamente crescente e sempre definita per valori di t reali non negativi. Da

tz=t+y<t+(w+1)=(w+1)2+(w+1)2

otteniamo che

w8z+112<w+1

e quindi

w=8z+112.
dove ⌊ ⌋ è la funzione di arrotondamento per difetto.

A questo punto per calcolare x e y da z:

a)     w=8z+112
b)     t=w2+w2=w(w+1)2
y=zt
x=wy.

Esempio

Per calcolare π(x, y) = 1432 = z

Calcoliamo w con la formula a)

8 × 1432 = 11456,
11456 + 1 = 11457,
√11457 = 107.037,
107.037 − 1 = 106.037,
106.037 ÷ 2 = 53.019,
⌊53.019⌋ = 53,

quindi w = 53;

Calcoliamo la t con la formula b)

53 × (53 + 1) = 2862,
2862 ÷ 2 = 1431,

quindi t = 1431;

Ed infine

y=zt = 1432 − 1431 = 1;
x=wy = 53 − 1 = 52;

Bibliografia

  • Ausiello, D'Amore, Gambosi, Linguaggi Modelli Complessità

Collegamenti esterni

Template:Portale