Bonjour,
Soit E un ensemble totalement ordonné d'objets, au plus infiniment dénombrable, je considère que chaque élément a des propriétés que je sais voir et prioriser (l'humain sait dire pour chaque objet de E sa propriétés principale (sa sorte), secondaire etc.)
Je crée ensuite la fonction f de E dans N de la façon suivante (f va numéroter les objets dans leur ordre "d'arrivée") et je cherche à savoir si elle est injective ou pas :
Je prends donc les objets de E un par un, dans l'ordre sur E.
Soit P l'ensemble des nombres premiers, ordonné (P={p1, p2, p3.... pn...} où p1=2, p2=3, p3=5.... pn= le nième nombre premier).
L'idée globale est de numéroter des objets avec les nombres premiers en utilisant le théorème fondamental d'Euclide afin d'effectuer un classement par sorte au sein d'arbres..
1) Soit l'objet x qui arrive de E est d'une nouvelle sorte, en ce cas f(x)= pk où pk est le plus petit élément de P qui n'a pas été utilisé (donc le premier objet de E est forcément numéroté par 2 et si le deuxième objet de E est d'une sorte différente du premier alors il est numéroté par 3)
2) Soit l'objet x qui arrive de E est de la "même sorte" que l'objet numéroté par un certain pk de P. Dans ce cas je commence un tronc d'arbre et f(x)=pkx2
3) Le prochain objet x qui arrive de E ET qui est lui aussi de la même sorte que celui numéroté par pk alors f(x)=pkx2x3 ; et le suivant de la même sorte numéroté par pkx2x3x5 ETC.
Jusqu'ici ça me paraît clair et injectif : chaque objet est numéroté par un nombre premier (nouvelle sorte) ou bien se trouve de la même sorte qu'un objet numéroté par pk et se trouve donc dans le tronc de pk et numéroté par pkx2x3x5x7x...xpi, où pi est le ième nombre premier.
Le souci vient maintenant car je vais mettre des branches sur les troncs...
4) Si un objet x arrive de E est est de la même sorte que les objets du tronc pk mais qu'en plus il a une caractéristique commune avec l'objet numéroté pkx2x3x5 (bien sûr il y a peut-être déjà un objet numéroté pkx2x3x5x7x11, peu importe) dans ce cas alors je numérote par f(x)=pkx2x3x5xpkx2 ; et si plus tard arrive de E un autre objet y de style pk mais ayant aussi la même caractéristique que celui numéroté par pkx2x3x5 alors je le numérote f(y)=pkx2x3x5xpkx2x3 et ainsi de suite (ici f(y)=f(x)x3.
5) On peut bien sûr faire des sous-branches et des sous-sous-branches : si un objet x arrive de E, de style pk, caractéristique commune avec celui numéroté par pkx2x3x5 mais a un troisième point commun avec celui numéroté par pkx2x3x5xpkx2x3x5x7 alors je le numérote par f(x)=pkx2x3x5xpkx2x3x5x7xpkx2. On a créé une sous-branche. Etc.
Ma question est simple : f est-elle injective ? Autrement dit si j'ai un objet codé de la façon décrite ci-dessus, est-ce que je peux à coup sûr remonter les branches de façon unique jusqu'à la racine pk de sorte à retrouver tous les objets ayant des points communs avec lui, en gros ça classe bien ou pas ?
Pour être bien sûr de m'être fait comprendre je donne ici un exemple concret :
1er objet, par exemple, une voiture, je code avec 2
2e objet, mettons un kiwi : je décide (arbitrairement sans doute) qu'il n'y a rien à voir entre voiture et kiwi donc je code kiwi avec 3
3 objet, une trompette, j'estime que ça n'a pas de lien avec kiwi ni voiture donc je code avec 5
4e objet, chaussure, rien à voir, code 7
5e objet, une clémentine, je vois un lien, fruit, avec kiwi, donc je code avec 3x2=6 (3 est le code du kiwi et 2 est le premier nombre premier)
6e objet marteau, rien à voir, code 11
7e objet cerise, fruit, code : 3x2x3
8e objet sandale, lien avec chaussure, code 7x2
9e objet banane, fruit, code 3x2x3x5
10e objet camion, lien avec voiture, je code 2x2
11e objet, botte, lien avec chaussure, code 7x2x3
12e objet fraise, fruit, code 3x2x3x5x7
13e objet pince, lien avec marteau, code 11x2
14e objet, citron : lien avec fruit mais aussi lien de couleur avec citron (jaune), donc je code 3x2x3x5x3x2 (création d'une branche !) le 3 qui suit le cinq vient du premier 3 (racine fruit), le dernier 2 est le premier premier
15e objet pomme jaune, dans la branche : 3x2x3x5x3x2x3
16e objet bottine, lien avec chaussure mais aussi botte, création de branche, code : 7x2x3x7x2
17e objet stylo, pas de lien, code 13
Etc.
La création d'une branche se fait par exemple ainsi : px2x3x5x7x...x29xpx2
C'est cette fonction dont je demande si elle est injective ?
avec 9507960 que faisons-nous par exemple ?
Décomposition suivante : 2x2x2x3x3x5x7x7x7x7x11
Intuitivement on sent le 7 à la racine, le plus nombreux (ou pas ? ),
Mais si le pied était 11 ?
alors 11x2x3x5x7 normal, mais il reste deux 2, un 3 et trois 7, or si on voulait faire une branche il faudrait un autre 11, donc non 11 ne marche pas. Et 2 ni 3 ne marchent. C'est bien 7.
7x2x3x5x7x11, forcément, et là : branche.
7x2x3x5x7x11x7x2
puis forcément le 3 :
7x2x3x5x7x11x7x2x3
Vient forcément une sous-branche, on remet p et 2 :
7x2x3x5x7x11x7x2x3x7x2
Donc on comprend que l'objet 9507960 a une propriété commune avec les objets 679140 et 226380 mais on sait qu'il se distingue d'eux quand même. Au demeurant, tous les trois ont une propriété commune avec 16170 et ses descendants, 1470, 210, 42, 14 et bien sûr la racine : 7. On peut suivre le fil jusqu'en bas.
Ma question reste entière : avec cette façon de numéroter des objets qui arrivent (passés au "crible" de l'humain qui décide qui a un rapport avec qui, ou pas, et sur la base, pour commencer, de : soit un objet n'est relié à rien, soit il est relié à un objet numéroté par un premier, la base, le pied d'un tronc) est-ce injectif ?
J'ai pris l'exemple de 9507960 pour montrer, mais vu qu'on code en partant d'une racine p première, comment prouver que c'est bien injectif, qu'il n'y a pas un nombre qui a deux descentes ?
Question subsidiaire...
Est-il possible de complexifier ce codage de sorte qu'il soit, en plus, possible de numéroter un objet qui serait relié (de façon unique !) à deux troncs ? Voire trois ou plus ? Car ici chaque objet est relié à un seul tronc, une seule branche, une sous-branche etc.
Par exemple la suite 8, 9, 15, 16, 20, 21, 24, 25, 27, 28, 32, 33... est importante, car c'est la suite des entiers qui ne pourront jamais numéroter un objet avec ma façon de numéroter, et déjà, pourquoi toujours deux consécutifs ? (je décide arbitrairement qu'on n'ouvre pas de branche sur une jeune pousse, je vire donc les puissances de deux, on pourrait ne pas le faire).
Mais alors : à supposer que f soit bien injective (f, la fonction qui numérote les objets qui arrivent après qu'ils soient passés dans le jugement pour "point commun" d'un humain, c'est l'humain qui classe) et que donc chaque objet ait son chemin inscrit dans son numéro, ne peut-on pas, ce serait le top, le jour où on a un objet qui a vraiment deux points communs avec deux arbres différents, utiliser ces nombres qui ne sont jamais là pour faire une confluence (contraire d'une branche, ça se réunit plutôt que de se diviser) : le nombre n a deux décompositions possibles, et on sait lesquelles, on identifie toujours tout de manière unique. Puis 3 points communs ? Etc.
Bon voilà,
Merci.
-----