f (5,1) = 5 * (2*1 + 1) - 1 = 15 - 1 = 14
und
f (1,7) = 1 * (2*7 + 1) - 1 = 15 - 1 = 14
=> f ist nicht injektiv
Bei Dir müssen die natürlichen Zahlen der 1 beginnen, sonst würde
f(0,0) nicht nach |N abbilden).
Dann wäre der kleinste Funktionswert f(1,1) = 2, also ist f auch nicht
surjektiv
=> f ist nicht bijektiv, es kann daher keine Umkehrabbildung
existieren.
mf
Daß es mit Deiner Funktion nicht geht, hat Dir ja schon Martin gezeigt.
Es gibt aber durchaus eine Funktion, mit der das geht, und das ist die - in
dieser NG von mir bereits mehrfach zitierte - Kantor'sche Diagonalnummerierung:
b
| a-->
| | 0 1 2 3
--+-------------
0 | 0 1 3 6
1 | 2 4 7
2 | 5 8
2 | 9
Viele Grüsse,
Simon
>Hallo Till,
>> Ich suche die Umkehrfunktion zu einer Funktion, die 2-Tupel aus natürlichen
>> Zahlen auf natürliche Zahlen abbildet.
>> Geht das überhaupt? Oder geht das nur nicht in meinen Kopf rein?
>> Die Funktion bildet folgendermaßen ab: (k,l)->k(2l+1)-1
>Daß es mit Deiner Funktion nicht geht, hat Dir ja schon Martin gezeigt.
>Es gibt aber durchaus eine Funktion, mit der das geht, und das ist die - in
>dieser NG von mir bereits mehrfach zitierte - Kantor'sche Diagonalnummerierung:
Wie z.B. f(m,n) = (m+n)(m+n+1)/2 + n.
[...]
Brian
Die ist bijektiv, besitzt also eine Umkehrfunktion.
(Man muss ein bisschen überlegen, um zu sehen, dass sie injektiv und
surjektiv ist)
Ob Du die aber auch explizit angeben kannst ... ?
(scheint mir im Moment nicht so, ich lasse mich aber gern belehren)
mf
> dieser NG von mir bereits mehrfach zitierte - Kantor'sche Diagonalnummerierung:
Meinst du Georg Ferdinand Ludwig Philipp Cantor?
http://www-gap.dcs.st-and.ac.uk/~history/Mathematicians/Cantor.html
Gruss Peter
Falls nicht, gäbe es noch den
Moritz Benedikt Cantor
http://www-gap.dcs.st-and.ac.uk/~history/Mathematicians/Cantor_Moritz.html
(mit obigem weder verwandt noch verschwägert)
und den
Leonid Witaljewitsch Kantorowitsch
http://www-gap.dcs.st-and.ac.uk/~history/Mathematicians/Kantorovich.html
Gruß
Hermann
--
>Gruss Peter
>
f(n) = max{k <= n : 2^k | n+1}
g(n) = (n/2^f(n) - 1)/2
n |--> (f(n), g(n))
Explizit, sogar primitiv rekursiv, wenn auch ein bisschen
hässlich.
Brian
beeindruckend.
Kannst Du mal ein paar Tips zu Deinem Lösungsweg geben ?
mf
>> f(n) = max{k <= n : 2^k | n+1}
>> g(n) = (n/2^f(n) - 1)/2
Korrektur: g(n) = ((n+1)/2^(f(n) - 1)/2
>> n |--> (f(n), g(n))
>beeindruckend.
>Kannst Du mal ein paar Tips zu Deinem Lösungsweg geben ?
Wir hatten die Funktion (k,l)->2^k * (2l+1)-1. '-1' ist eine
kleine Belästigung, also fort mit ihm: lieber betrachte ich die
Funktion h(k,l) = 2^k * (2l + 1).
Jede natürliche Zahl n lässt sich eindeutig in zwei Faktoren
zerlegen, wodurch die eine eine Potenz von 2, die andere ungerade
ist. Diese Zerlegung gibt die Umkehrfunktion zu h; ich habe sie
nur beschrieben.
Brian
>On Mon, 11 Nov 2002 22:43:55 +0100, "Martin Fuchs"
><martin...@gmx.net> wrote:
>>> f(n) = max{k <= n : 2^k | n+1}
>>> g(n) = (n/2^f(n) - 1)/2
>Korrektur: g(n) = ((n+1)/2^(f(n) - 1)/2
Argh! g(n) = ((n+1)/2^f(n) - 1)/2
[...]
Brian