Inscription / Connexion Nouveau Sujet
Niveau énigmes
Partager :

Trouvons les permutations

Posté par
Vassillia
19-12-22 à 12:03

Bonjour, un petit exercice qui peut plaire à tout le monde puisqu'il est facile au début mais se complique lorsque n augmente.
Pour un entier naturel n, on cherche une suite de k entiers naturels où on peut obtenir toutes les permutations des entiers \{1,2...,n\} en supprimant k-n de ses termes

Par ex, pour n=2, il faut faire apparaitre (1,2) et (2,1) et je peux donc utiliser la suite (1,2,1) qui me donne (1,2) lorsque je supprime le troisième terme et (2,1) lorsque je supprime le premier terme.

Le but est de trouver la longueur minimale de ce genre de suite pour tout n et la manière de les construire mais on peut (et même on devrait probablement) commencer par chercher pour des petites valeurs de n.

Bon courage

Posté par
GBZM
re : Trouvons les permutations 19-12-22 à 17:05

Bonjour
1 2 3 1 2 1 3 me semble pas mal.

Posté par
GBZM
re : Trouvons les permutations 19-12-22 à 17:13

Mais 3 2 3 1 3 2 3 n'est pas plus long et ouvre des perspectives
4 3 4 2 4 3 4 1 4 3 4 2 4 3 4

Posté par
Vassillia
re : Trouvons les permutations 19-12-22 à 18:27

C'est plus que pas mal pour n=3 comme il est  impossible de faire mieux. Par contre pour n=4, même si les conditions sont respectées, il y a moyen de faire plus court donc pas mal effectivement

Posté par
GBZM
re : Trouvons les permutations 19-12-22 à 19:07

Dommage, travailler par récurrence me plaisait comme idée et k=2^n-1 me semblait déjà pas mal pour retrouver les n! permutations. Pour le moment, je ne vois pas d'autre idée générale.

Posté par
Vassillia
re : Trouvons les permutations 19-12-22 à 19:34

J'avoue, ta version a le mérite d'être simple mais l'ordre de grandeur sera nettement mieux que ce que tu penses (polynomial et pas exponentiel), il faut avoir pitié des esclaves numériques qui vont traiter les données
Disons que tu étais mieux parti pour optimiser avec ta première proposition, en effet à partir du moment où un chiffre n'apparait qu'une fois, on est fichu car on se retrouve à doubler la taille du cas précédent.

Posté par
GBZM
re : Trouvons les permutations 19-12-22 à 20:39

Ouais. Mais je n'ai pas d'autre idée que de bidouiller pour le moment, et je n'ai pas envie de bidouiller.

Posté par
Vassillia
re : Trouvons les permutations 19-12-22 à 21:00

Bon d'accord mais même sans avoir la version optimisée, essayons de faire mieux à peu de frais et sans trop bidouiller.
En admettant qu'on découpe la suite à trouver en morceaux successifs, qu'est-ce qu'on peut mettre dans le ième morceau pour être sûr d'y trouver le chiffre que l'on veut (c'est à dire le ième chiffre de notre permutation) ?

Posté par
GBZM
re : Trouvons les permutations 19-12-22 à 21:19

Ouais, on peut répéter n fois  1 2 3 ... n, ce qui fait n^2. OK, c'est nettement mieux que 2^n-1.. On peut même enlever le premier 1 et le dernier n, ce qui fait n^2-2
2 3 4 1 2 3 4 1 2 3 4 1 2 3

Posté par
Vassillia
re : Trouvons les permutations 19-12-22 à 21:36

Ah ben voilà, l'ordre de grandeur est le bon, maintenant il faut encore un peu optimiser ce qu'on met dans chaque morceau.
Tu as une bonne idée pour enlever le premier et le dernier mais pourquoi ne pas la pratiquer entre chaque morceau ? Toujours sans vraiment bidouiller
Bon ensuite, pour avoir la version vraiment optimale, il faut quand même un peu bidouiller ce qu'on met dans chaque morceau, je donnerai un indice mais pas avant demain soir histoire de laisser un peu de suspens.

Posté par
Vassillia
re : Trouvons les permutations 20-12-22 à 18:56

Alors l'idée est de mélanger ce que propose GBZM entre tous les morceaux et le fait qu'au moins un des morceaux contiendra (du moins dans la plupart des cas) 2 chiffres successifs de notre permutation si on commence tous les morceaux par le même chiffre.
C'est compliqué à donner un indice sans donner la réponse du coup dites moi quand vous voulez le résultat si personne n'a envie de bidouiller.

Posté par
GBZM
re : Trouvons les permutations 20-12-22 à 19:27

Et y a-t-il une démonstration du fait que c'est bien la longueur minimale ?

Posté par
Vassillia
re : Trouvons les permutations 20-12-22 à 20:23

Par récurrence et une initialisation par ordinateur, on devrait s'en sortir, et d'ailleurs cela devrait peut-être t'aider à trouver.
On rajoute un premier morceau devant la suite du rang précédent, morceau qui doit être aussi rentable que possible autrement dit, il doit être suffisant pour les configurations n***... et *n**...
On introduit des n à des endroits bien choisis dans la suite du rang précédent de sorte à valider les configurations **n**... jusqu'à ...***n, évidemment on en rajoute le moins possible.

Posté par
GBZM
re : Trouvons les permutations 20-12-22 à 23:15

Ça ne répond pas vraiment à la question de la démonstration de la minimalité.

Posté par
Vassillia
re : Trouvons les permutations 21-12-22 à 14:17

Je n'aurais pas mieux

Posté par
dpi
re : Trouvons les permutations 23-12-22 à 10:40

Bonjour,
Je ne suis pas sûr d' avoir bien compris...
pour 4:
34212343243132  soit 14  chiffres mais on devrait tomber à 12

Posté par
dpi
re : Trouvons les permutations 23-12-22 à 12:10

Suite,
Je propose 13 pour n=4
2124234123421

Posté par
Vassillia
re : Trouvons les permutations 23-12-22 à 12:32

En effet, on devrait pouvoir tomber à 12 mais dans ta proposition avec 13 comment on fait pour obtenir 3214 ? Si on ne peut pas, elle n'est pas valable malheureusement

Posté par
dpi
re : Trouvons les permutations 23-12-22 à 12:35

Je tente 12
214234123421
ce qui donnerait la serrure suivante.

Trouvons les permutations

Posté par
Vassillia
re : Trouvons les permutations 23-12-22 à 12:41

c'est très joli mais et 3214 alors ? Je ne le vois toujours pas

Posté par
dpi
re : Trouvons les permutations 23-12-22 à 14:58

Effectivement ;
j'ai un  13 corrigé mais pour 12 toujours un manquant

Posté par
dpi
re : Trouvons les permutations 24-12-22 à 09:17

Bonjour,
Après une pénible nuit de grippe..
En observant la solution de GBMZ pour n=3
on voit que la répétition 123123 ne suffit pas pour le seul cas 321
et qu'il faut finir par 1.
J'en ai déduit que pour 4 il faudra faire pareil.
soit la suite  1234123412341.
Par analogie on peut "postuler" que pour  n il faudra n(n-1)+1 chiffres.
Soit pour 5  : 21 chiffres 4 séquences de1à 5+1
123451234512345123451

Posté par
Vassillia
re : Trouvons les permutations 24-12-22 à 10:28

En fait, on peut même utiliser seulement n^2 -2n+4 chiffres, dis moi si tu veux la manière de le construire ou si tu préfères chercher encore un peu.

Posté par
dpi
re : Trouvons les permutations 24-12-22 à 11:34

Merci,
Il vaut mieux laisser venir d'autres participants ,mais je serais
curieux de  voir une solution  12 chiffres pour 3.

Posté par
dpi
re : Trouvons les permutations 28-12-22 à 16:08

Bonjour,
Pas de succès ...
Je n'ai pas trouvé de suite <13 pour n=3
Merci de me donner l'astuce

Posté par
Vassillia
re : Trouvons les permutations 28-12-22 à 19:02

Voilà ma source mais pour les non anglophones
On repart de la solution de GBZM 1231213
Puis on rajoute 123...n devant la suite et le chiffre n devant chacun des n-3 derniers 2 de la suite
123412314213
1234512341523145213
1234561234516234156231456213

Posté par
dpi
re : Trouvons les permutations 29-12-22 à 09:35

Bonjour et merci.
Il semble que  la solution n'est pas unique.
Par exemple pour n=4
123412314213 et 124312413421
la première ayant l'avantage de se générer plus facilement.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !