Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#51 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Polygone convexe irrégulier inscrit dans un cercle . » 14-10-2025 16:30:24
Amis des casse-têtes, bonjour.
Je me suis amusé à faire un programme qui recherche les polygones convexes à K sommets choisis parmi N points équidistants sur une circonférence et dont les segments sont de longueur différente, côtés comme diagonales :
https://sites.google.com/view/ernst01/polygones
Le nombre de points est choisi pour permettre autant ou plus de cordes de longueur différente que le polygone a de segments. Pour obtenir un nombre supérieur de points il suffit d’ajuster DELTA. Par exemple avec 9 sommets il faut au minimum 72 points sur la circonférence (nombre calculé automatiquement) il faut donc mettre DELTA à 1 pour obtenir les 73 points de l’énigme
Le programme est bourrin, il part du premier sommet et il cherche toutes les solutions valides pour celui-ci. Il ne s’occupe pas des symétries et néglige les rotations. Pour les petits polygones ça va, il est assez rapide, mais plus le nombre de sommets augmente et plus les temps de calcul deviennent rédhibitoires.
N’empêche, c’est rigolo, avec 7 sommets par exemple on n’a aucune solution jusqu’à 48 points (DELTA de 6) et là tout à coup pof, les solutions apparaissent par centaines ! Même chose avec 11 sommets pour lesquels il faut au moins 120 points sur la circonférence (donc DELTA = 10) pour voir apparaître des solutions.
En passant, je suis impressionné de voir que jpp savait le statut de 7 ou de 11 alors que moi il m’a fallu un programme de recherche pour m’en rendre compte, c’est tout à fait remarquable.
#52 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Polygone convexe irrégulier inscrit dans un cercle . » 13-10-2025 09:55:45
Hello jpp,
#53 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Polygone convexe irrégulier inscrit dans un cercle . » 12-10-2025 21:45:41
Bonsoir,
Proposition : si les sommets sont équidistants sur la circonférence d’un cercle, il n’y a que 36 longueurs de cordes distinctes possibles. Par ailleurs un polygone à neuf sommets a précisément 36 paires de sommets, donc 36 segments distincts, diagonales et côtés compris. Il suffit donc, par tâtonnements et élimination, d’attribuer à chaque segment l’une de ces longueurs de corde, en veillant à ne jamais réutiliser une longueur déjà employée.
Problème fascinant – j’y ai passé mon dimanche !
#54 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » avoir 3333 en utilisant que des 3 » 05-10-2025 22:55:23
Bonsoir,
En écrivant 3 quatre fois de suite.
#55 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Avoir 1000 en utilisant des nombres premiers à 2chiffres » 05-10-2025 22:52:51
Bonsoir,
Chez moi, la somme des 13 nombres premiers distincts à deux chiffres les plus grands est égale à 863.
#56 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Avoir 1000 en utilisant des nombres premiers à 2chiffres » 05-10-2025 19:33:49
Bonsoir,
Bravo, 1000 en 18 nombres premiers à deux chiffres tous différents, moi il m'en a fallu 20...
11+13+17+19+23+29+31+37+41+47+53+59+61+67+71+73+79+83+89+97=1000
#57 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Avoir 1000 en utilisant des nombres premiers à 2chiffres » 05-10-2025 11:15:18
Je viens de voir la réponse de Ernst... la mienne est peut être dedans !
Bonjour Roro,
En fait non, je me suis limité à un produit de deux facteurs et une somme de trois termes max en évitant tout doublon tellement il y a de possibilités. Si on part de produits illimités et de soustractions elles aussi illimitées, pas sûr qu'il y ait une limite au nombre de solutions valides...
Y-a-t-il une seule solution qui utilise uniquement trois nombres premiers, et une seule fois ces nombres !
Oui, j'en ai trouvées :
#58 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Avoir 1000 en utilisant des nombres premiers à 2chiffres » 05-10-2025 10:42:58
Bonjour,
#59 Re : Entraide (supérieur) » fonction à partir du graphe » 30-09-2025 21:30:25
Si tu ne prends qu'un nombre fini de termes dans une série de Fourier alors tu es clairement très loin de décrire toutes les fonctions... tu n'auras, par exemple, pas la fonction $x\mapsto x²$...
Bonsoir,
Voilà le programme Python qui trace cette approximation et affiche la fonction correspondante :
import numpy as np
import matplotlib.pyplot as plt
# Domaine
x = np.linspace(-1, 1, 1000)
# Fonction cible
f = x**2
# Nombre de termes dans la série de Fourier
n_terms = 50
# Coefficients de Fourier pour une fonction paire (série en cosinus)
def compute_fourier_coeffs(x, f, n_terms):
a = np.zeros(n_terms)
a[0] = np.trapz(f, x) # a0 sans diviser ici, on divisera dans la reconstruction
for k in range(1, n_terms):
a[k] = np.trapz(f * np.cos(k * np.pi * x), x)
return a
# Reconstruction de la série de Fourier
def reconstruct_fourier_series(x, a):
s = a[0] / 2 * np.ones_like(x) # Attention : a0 est divisé par 2 ici
for k in range(1, len(a)):
s += a[k] * np.cos(k * np.pi * x)
return s
# Calcul
a = compute_fourier_coeffs(x, f, n_terms)
f_approx = reconstruct_fourier_series(x, a)
# Affichage de la fonction approximée en texte
def format_fourier_series(a):
terms = [f"{a[0]/2:.5f}"]
for k in range(1, len(a)):
coef = a[k]
sign = "+" if coef >= 0 else "-"
terms.append(f" {sign} {abs(coef):.5f} * cos({k}πx)")
return "f(x) ≈ " + "".join(terms)
# Affiche dans la console
fourier_str = format_fourier_series(a)
print(fourier_str)
# Tracé
plt.figure(figsize=(8, 6))
plt.plot(x, f, 'b', label='$f(x) = x^2$')
plt.plot(x, f_approx, 'r--', label=f'Série de Fourier ({n_terms} termes)')
plt.title('Approximation de $x^2$ par série de Fourier')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid(True)
plt.xlim([-1, 1])
plt.ylim([0, 1.2])
plt.show()
Pour les curieux :
f(x) ≈ 0.33333 - 0.40529 * cos(1πx) + 0.10132 * cos(2πx) - 0.04503 * cos(3πx) + 0.02533 * cos(4πx) - 0.01621 * cos(5πx) + 0.01126 * cos(6πx) - 0.00827 * cos(7πx) + 0.00633 * cos(8πx) - 0.00500 * cos(9πx) + 0.00405 * cos(10πx) - 0.00335 * cos(11πx) + 0.00282 * cos(12πx) - 0.00240 * cos(13πx) + 0.00207 * cos(14πx) - 0.00180 * cos(15πx) + 0.00158 * cos(16πx) - 0.00140 * cos(17πx) + 0.00125 * cos(18πx) - 0.00112 * cos(19πx) + 0.00101 * cos(20πx) - 0.00092 * cos(21πx) + 0.00084 * cos(22πx) - 0.00077 * cos(23πx) + 0.00070 * cos(24πx) - 0.00065 * cos(25πx) + 0.00060 * cos(26πx) - 0.00056 * cos(27πx) + 0.00052 * cos(28πx) - 0.00048 * cos(29πx) + 0.00045 * cos(30πx) - 0.00042 * cos(31πx) + 0.00040 * cos(32πx) - 0.00037 * cos(33πx) + 0.00035 * cos(34πx) - 0.00033 * cos(35πx) + 0.00031 * cos(36πx) - 0.00030 * cos(37πx) + 0.00028 * cos(38πx) - 0.00027 * cos(39πx) + 0.00025 * cos(40πx) - 0.00024 * cos(41πx) + 0.00023 * cos(42πx) - 0.00022 * cos(43πx) + 0.00021 * cos(44πx) - 0.00020 * cos(45πx) + 0.00019 * cos(46πx) - 0.00018 * cos(47πx) + 0.00018 * cos(48πx) - 0.00017 * cos(49πx)
#60 Re : Entraide (supérieur) » fonction à partir du graphe » 30-09-2025 16:48:15
Re-bonjour,
Il ne s'agit pas de décrire une fonction, mais un tracé, et on peut choisir n'importe quelle fonction qui fait le job, donc si le tracé est celui d'une parabole verticale, je choisis f(x)=x² bien sûr.
Le demandeur parle bien de fonction qu'on retrouverait à partir d'un tracé :
une figure quelconque en respectant la définition dune fonction , c'est pour tout element de depart ya au plus un seul element à l'arrivée , est ce que son expression existe ?
Je ne vois vraiment pas ce qui permet d'affirmer que 'non', j'ai presqu'envie de dire que déjà on n'en sait rien, mais comme cela exclu d'emblée tout ce qui sort des clous, le 'oui' me paraît plutôt plausible. Avant même Fourier, je pensais à Weierstrass qui permet d’approximer n’importe quel tracé continu aussi tordu soit-il par des polynômes.
Donc je me demande : sur quel critère rigoureux peut-on affirmer qu’il n’existe aucune expression analytique pour un tracé donné ? Montrer l’existence d’une approximation concrète (Weierstrass, Fourier) me semble bien plus tangible que d’invoquer des ensembles abstraits ou la cardinalité.
#61 Re : Entraide (supérieur) » fonction à partir du graphe » 30-09-2025 15:46:18
Pour répondre à Ernst, je pense que les séries de Fourier approchent certaines classes de fonctions, mais peut-on parler d'expression analytique ?
Hello Roro,
Dans mon esprit, une série de Fourier utilisée en pratique pour reproduire un tracé a un nombre fini de termes. Pour moi, c’est clairement une fonction au sens classique, c’est-à-dire une somme finie de sinus et cosinus. Pour chaque $t$ de l’intervalle, on obtient un et un seul $f(t)$.
#62 Re : Entraide (supérieur) » fonction à partir du graphe » 30-09-2025 11:07:21
Saluuut ,
est ce que pour n'importe quelle fonction que je dessine arbitrairement , je peux trouver son expresssion ? expression analytique .Si je trace par hasard un trait , une figure quelconque en respectant la définition dune fonction , c'est pour tout element de depart ya au plus un seul element à l'arrivée , est ce que son expression existe ???
Merci .
Yann1221
Bonjour,
La réponse est oui, grâce aux séries de Fourier. Par approximations successives on peut obtenir une fonction qui peut reproduire n'importe quel dessin :
https://youtu.be/7dihDDO_SLw?t=33
Les explications mathématiques se trouvent ici :
https://youtu.be/r6sGWTCMz2k?t=0
On peut sauter la partie thermodynamique et aller directement aux explications pratiques :
https://youtu.be/r6sGWTCMz2k?t=770
#63 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Des pièces à bien placer ! » 27-09-2025 10:14:32
Re-bonjour,
Hé hé, finalement je prends ça pour l'expression de la rigueur mathématique dans ce qu'elle a de plus implacable : un verre d'eau vide contient de l'eau, même si c'est pas du tout, puisqu'on a parlé de verre d'eau. Même chose ici avec l'absence de deux morceaux, puisqu'on a parlé de coupe. Fort.
#64 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Des pièces à bien placer ! » 27-09-2025 08:51:34
Bonjour,
Marrant, j'aurais juré que la droite passant par le centre d'un cercle extérieur était tangente aux deux cercles adjacents...
(dans mon esprit un cercle qui repose sur une tangente n'est pas coupé par celle-ci, il n'y a aucune corde)
#65 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Des pièces à bien placer ! » 26-09-2025 15:23:22
Bonjour,
Peut-on les superposer ?
#66 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » 15 boules à classer » 25-09-2025 09:36:05
Il t'aura fallu pas mal de temps pour mettre en ordre les triplets, je présume.
Bonjour renéb,
Hé hé, je suis dessus depuis le 8 septembre, suite à ton intervention qui relançait le truc. J’ai mis du temps mais enfin ça y est, j’arrive moi aussi à ton premier résultat : 15 boules indistinctes, 25 passages de la machine à trois boules à la fois, rail qui se retrouve rangé quelle que soit la disposition de départ.
Ouf, il était temps. :-)
Ce que j'ai aimé dans cette histoire, c’est la mise au point d’un algorithme. L’écriture du code est une corvée que l’assistance numérique me rend maintenant moins pénible (encore que), la réflexion peut enfin consacrer davantage de temps à l’heuristique elle-même.
Jusqu’à présent, je calculais le score d’un triplet en considérant les améliorations qu’il permettait (calcul du gain qu’obtient chaque permutation) et je choisissais d’appliquer le triplet ayant le score le plus haut. Une fois les rails améliorés, je recommençais sur ceux-ci.
Après réflexion, j’ai adopté le calcul d’un score pour les rails eux-mêmes sans plus m’occuper d’autre chose, plus ils sont dans le désordre et plus le score est élevé, le triplet qui permet d’obtenir le score le plus bas sur tous rails confondus est le meilleur à ce stade, et c’est lui que j’applique. Une fois les rails améliorés même chose, je recommence sur ceux-ci.
Nette amélioration :
# === Paramètres ===
N = 15
D_values = [2,11,9,12,3,14,5,8,4,13,6,15,7,10,1] # 15 valeurs quelconques
# === attention, triplets en ordre ascendant ===
S = [[1,5,15],[2,10,14],[3,11,13],[4,9,12],[5,8,11],
[6,10,15],[1,7,9],[9,13,14],[2,5,7],[1,3,6],
[11,12,15],[6,9,11],[4,8,10],[10,12,13],[7,8,9],
[3,4,5],[5,6,7],[1,2,3],[9,10,11],[13,14,15],
[11,12,13],[3,4,5],[7,8,9],[9,10,11],[5,6,7]]
bar = [None] + D_values # base 1
print(" ");print(f"{N} valeurs distinctes aux indices 1..{N} :")
print(bar[1:])
for step, (i, j, k) in enumerate(S, start=1):
trio = sorted([bar[i], bar[j], bar[k]])
bar[i], bar[j], bar[k] = trio
print(f"on échange {[i,j,k]} et on obtient")
print(f"{bar[1:]}({step})")
print(f"Barrette finale, {len(S)} étapes.");print(" ")
Pour le moment, cette séquence chez moi a déjà résisté à plus de dix milliards de distributions aléatoires (Fisher-Yates), j’ai l’impression que cette fois c’est du solide…
(finalement c'est bien toi qui avais raison, la solution c'est 25, je n'ai jamais réussi à obtenir moins)
#67 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » 15 boules à classer » 24-09-2025 10:40:41
tu compares deux fois le même triplet 3,4,5 . Bizarre quand-même.
Hello jpp,
Oui, c’est normal, les pesées ne concernent pas les boules qui restent indistinctes, mais les emplacements. Avec quatre emplacements on peut imaginer la séquence [1,2,3], [2,3,4], [1,2,3] qui marche très bien. Le premier triplet pousse la boule lourde vers la droite, le deuxième la met à l’extrémité et ramène à la deuxième place la boule la plus légère si elle était tout à droite, et dans ce cas le dernier triplet met la plus légère tout à gauche.
2 boules ne doivent jamais se retrouver dans deux pesées.
1,2,4.
2,3,5
3,4,6
4,5,7
5,6,1
6,7,2
7,1,3. Chaque boule est comparée avec les six autres en trois pesées.
La caractéristique de ce tri 'en aveugle', c'est que les boules se déplacent et ce ne sont pas toujours les mêmes que l'on évalue quand près quelques mouvements on sélectionne des emplacements. Ceci dit, il est facile d’introduire ces données dans un programme Python et de le coller dans le cadre de gauche de Basthon :
# === Paramètres ===
N = 7
D_values = [6,3,1,7,5,2,4] # 7 valeurs quelconques
# === attention, triplets en ordre ascendant ===
S = [[1,2,4],[2,3,5],[3,4,6],[4,5,7],[1,5,6],[2,6,7],[1,3,7]]
bar = [None] + D_values # base 1
print(" ");print(f"{N} valeurs distinctes aux indices 1..{N} :")
print(bar[1:])
for step, (i, j, k) in enumerate(S, start=1):
trio = sorted([bar[i], bar[j], bar[k]])
bar[i], bar[j], bar[k] = trio
print(f"on échange {[i,j,k]} et on obtient")
print(f"{bar[1:]}({step})")
print(f"Barrette finale en {len(S)} étapes.");print(" ")
En cliquant ‘Exécuter’ en bas on produit :
7 valeurs distinctes aux indices 1..7 :
[6, 3, 1, 7, 5, 2, 4]
on échange [1, 2, 4] et on obtient
[3, 6, 1, 7, 5, 2, 4](1)
on échange [2, 3, 5] et on obtient
[3, 1, 5, 7, 6, 2, 4](2)
on échange [3, 4, 6] et on obtient
[3, 1, 2, 5, 6, 7, 4](3)
on échange [4, 5, 7] et on obtient
[3, 1, 2, 4, 5, 7, 6](4)
on échange [1, 5, 6] et on obtient
[3, 1, 2, 4, 5, 7, 6](5)
on échange [2, 6, 7] et on obtient
[3, 1, 2, 4, 5, 6, 7](6)
on échange [1, 3, 7] et on obtient
[2, 1, 3, 4, 5, 6, 7](7)
Barrette finale en 7 étapes.
et on s’aperçoit que parfois cela ne marche pas toujours aussi bien qu'on le souhaiterait...
#68 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » 15 boules à classer » 24-09-2025 07:35:22
Bonjour,
Un peu mieux, une séquence fonctionnelle de 26 triplets qui range n’importe quelle barrette de 15 boules non identifiables :
# === Paramètres ===
N = 15
D_values = [2,11,9,12,3,14,5,8,4,13,6,15,7,10,1] # 15 valeurs quelconques
S = [
[1,5,15],[2,10,14],[3,11,13],[4,6,12],[5,8,11],
[1,7,10],[6,9,15],[2,3,6],[10,12,14],[6,8,10],
[1,4,5],[9,11,13],[5,7,9],[11,12,15],[3,4,5],
[9,10,11],[13,14,15],[5,6,7],[7,8,9],[1,2,3],
[11,12,13],[3,4,5],[9,10,11],[5,6,7],[7,8,9],
[10,11,12]
]
bar = [None] + D_values # base 1
print(f"\n{N} valeurs distinctes aux indices 1..{N} :")
print(bar[1:])
for step, (i, j, k) in enumerate(S, start=1):
trio = sorted([bar[i], bar[j], bar[k]])
bar[i], bar[j], bar[k] = trio
print(f"on échange {[i,j,k]} et on obtient")
print(f"{bar[1:]}({step})")
print(f"Barrette finale triée en {len(S)} étapes.\n")
À noter que la distribution précédente est maintenant triée à la vingt-troisième étape, mais les boules étant indistinctes, on ne peut bien sûr pas le savoir.
Tout contre-exemple est bienvenu, mes vérifications étant loin d’épuiser les 15! distributions possibles.
#69 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » 15 boules à classer » 22-09-2025 11:19:48
j’ai remarqué que pour sept boules il suffisait de cinq recours à l’appareil.
Bonjour,
Personnellement il me faut six passages pour ranger parfaitement sept boules en barrette. Si elles sont disposées aux positions de 1 à 7 et qu’on ordonne successivement les triplets 1,3,7 puis 2,4,6 puis 3,4,5 puis 1,2,3 puis 5,6,7 puis 3,4,5 on obtiendra toujours une barrette parfaitement rangée. Avec une séquence plus courte je trouve toujours des exceptions.
#70 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » 15 boules à classer » 22-09-2025 11:17:43
(Je crois qu’il y a un dernier passage qui est resté dans la machine).
Bonjour,
Mon programme permet de tester une stratégie d’échange pour un nombre de boules donné. La plupart du temps on obtient des résolutions plus rapides, là j’ai choisi une distribution particulière qui n’était toujours pas triée à la 26ème étape. Voici, en condensé, la sortie du programme :
[2,11,9,12,3,14,5,8,4,13,6,15,7,10,1]
on échange [1,8,15] et on obtient
[1,11,9,12,3,14,5,2,4,13,6,15,7,10,8](1)
on échange [2,9,14] et on obtient
[1,4,9,12,3,14,5,2,10,13,6,15,7,11,8](2)
on échange [3,7,13] et on obtient
[1,4,5,12,3,14,7,2,10,13,6,15,9,11,8](3)
on échange [4,10,12] et on obtient
[1,4,5,12,3,14,7,2,10,13,6,15,9,11,8](4)
on échange [5,11,15] et on obtient
[1,4,5,12,3,14,7,2,10,13,6,15,9,11,8](5)
on échange [1,6,10] et on obtient
[1,4,5,12,3,13,7,2,10,14,6,15,9,11,8](6)
on échange [7,9,11] et on obtient
[1,4,5,12,3,13,6,2,7,14,10,15,9,11,8](7)
on échange [1,4,7] et on obtient
[1,4,5,6,3,13,12,2,7,14,10,15,9,11,8](8)
on échange [2,5,8] et on obtient
[1,2,5,6,3,13,12,4,7,14,10,15,9,11,8](9)
on échange [8,12,14] et on obtient
[1,2,5,6,3,13,12,4,7,14,10,11,9,15,8](10)
on échange [10,13,15] et on obtient
[1,2,5,6,3,13,12,4,7,8,10,11,9,15,14](11)
on échange [11,12,13] et on obtient
[1,2,5,6,3,13,12,4,7,8,9,10,11,15,14](12)
on échange [6,9,11] et on obtient
[1,2,5,6,3,7,12,4,9,8,13,10,11,15,14](13)
on échange [3,5,6] et on obtient
[1,2,3,6,5,7,12,4,9,8,13,10,11,15,14](14)
on échange [6,8,10] et on obtient
[1,2,3,6,5,4,12,7,9,8,13,10,11,15,14](15)
on échange [1,2,3] et on obtient
[1,2,3,6,5,4,12,7,9,8,13,10,11,15,14](16)
on échange [13,14,15] et on obtient
[1,2,3,6,5,4,12,7,9,8,13,10,11,14,15](17)
on échange [5,6,7] et on obtient
[1,2,3,6,4,5,12,7,9,8,13,10,11,14,15](18)
on échange [3,4,5] et on obtient
[1,2,3,4,6,5,12,7,9,8,13,10,11,14,15](19)
on échange [7,8,9] et on obtient
[1,2,3,4,6,5,7,9,12,8,13,10,11,14,15](20)
on échange [9,10,11] et on obtient
[1,2,3,4,6,5,7,9,8,12,13,10,11,14,15](21)
on échange [11,12,13] et on obtient
[1,2,3,4,6,5,7,9,8,12,10,11,13,14,15](22)
on échange [5,6,7] et on obtient
[1,2,3,4,5,6,7,9,8,12,10,11,13,14,15](23)
on échange [2,3,4] et on obtient
[1,2,3,4,5,6,7,9,8,12,10,11,13,14,15](24)
on échange [7,8,9] et on obtient
[1,2,3,4,5,6,7,8,9,12,10,11,13,14,15](25)
on échange [9,10,11] et on obtient
[1,2,3,4,5,6,7,8,9,10,12,11,13,14,15](26)
on échange [3,11,12] et on obtient
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15](27)
Barrette finale triée en 27 étapes.
Je ne vois pas trop où se perdrait un passage. Par ailleurs on peut bien sûr changer la distribution dans le programme histoire de tester du moment qu'elle contienne quinze valeurs numériques séparées par des virgules, perso je n'en ai pas trouvée une seule qui resistait à cette séquence.
#71 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » 15 boules à classer » 21-09-2025 21:17:24
Explications :
En fait j’ai pas mal galéré avec ces histoires de lignes et de colonnes, cela ne me plaisait qu’à moitié. Moi je triais les lignes d’abord, ça marchait mieux, mais une fois la récupération des valeurs extrêmes qui se distribuent assez simplement, j’arrivais à un méchant potage avec les valeurs centrales, contrariant.
Je suis donc passé à une approche différente qui consiste à trier les boules directement dans la barrette. J’ai décidé d’un programme qui allait faire un truc tout simple :
- choisir un petit nombre de boules
- mélanger
- faire la liste de tous les triplets possibles
- tous les essayer
- choisir celui qui permet la meilleure amélioration
- l’appliquer à la barrette
- et recommencer avec cette nouvelle distribution
Émerveillement, ça range, et ça range super vite ! L’étape suivante a consisté à augmenter le nombre de boules (7, 8, 9, 10…) et à augmenter aussi le nombre de barrettes (5, 10, 50, 100, 500…). Bingo, ça marchait toujours. De plus en plus lentement certes, des solutions de plus en plus longues aussi, solutions parfois différentes selon les mélanges mais ça marchait, et je suis tombé sur cet enchaînement.
Pour le moment, cette configuration a résisté à des milliards et des milliards de tirages différents, mais il faut bien reconnaître que cela reste insignifiant par rapport aux 15 ! = 1307674368000 distributions possibles.
Ceci dit, le programme fait de l’optimisation bourrin. Il est incapable de garder des tris légèrement moins bons même si les suivants pourraient faire mieux. Et puis pour l’heuristique, que faut-il privilégier, les bonnes places ? Les rapprochements ? Les groupes adjacents faciles à permuter ?
#72 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » 15 boules à classer » 21-09-2025 21:12:16
Bonjour,
Ce petit casse-tête est quand même bien sympathique. Voici en Python une série de 27 triplets qu'on peut appliquer de façon aveugle et qui fait le taf quelle que soit la distribution des 15 valeurs initiales
# === Paramètres ===
N = 15
D_values = [2,11,9,12,3,14,5,8,4,13,6,15,7,10,1] # 15 valeurs quelconques
S = [
[1,8,15],[2,9,14],[3,7,13],[4,10,12],[5,11,15],
[1,6,10],[7,9,11],[1,4,7],[2,5,8],[8,12,14],
[10,13,15],[11,12,13],[6,9,11],[3,5,6],[6,8,10],
[1,2,3],[13,14,15],[5,6,7],[3,4,5],[7,8,9],
[9,10,11],[11,12,13],[5,6,7],[2,3,4],[7,8,9],
[9,10,11],[3,11,12]
]
bar = [None] + D_values # base 1
print(" "); print(f"===== N : {N} ====="); print(" ")
for step, (i, j, k) in enumerate(S, start=1):
print(f"{bar[1:]} <= {[i,j,k]}")
trio = sorted([bar[i], bar[j], bar[k]])
bar[i], bar[j], bar[k] = trio
print(f"{bar[1:]} ({step})"); print(" ")
print("Barrette finale :", bar[1:], f"en {len(S)} étapes."); print(" ")
On lui propose n’importe quelle liste, on lance la moulinette et hop, c'est trié en 27 passages.
#73 Re : Entraide (collège-lycée) » Petit calcul de probas concrètes » 19-09-2025 18:49:09
Deuxième exemple de subjectivité, comme le soulignait très justement Ernst, « 81425 me paraît quand même plus aléatoire que 55555 alors que la probabilité de sortie de ces deux nombres est exactement la même ». Comment mathématiser cette impression ??
Bonsoir Borassus
Le problème pour moi est cet éternel va-et-vient entre probabilités et statistiques. La probabilité de tirer 55555 est exactement la même que tirer 81425, on est d'accord. Par contre les statistiques montrent qu'il y a beaucoup plus de nombres à parité mélangée que constante, donc que tirer un nombre comme 81425 est plus 'naturel' que tirer 55555. C'est cet oxymore qui nous fait lire, dans les ouvrages autorisés, qu'il faut être bien bête pour croire que PPPPP appelle F, et qui deux pages plus loin nous explique que la probabilité de PPPPPP est très faible et qu'une pièce qui sortirait d'entrée cette suite a toutes les chances d'être truquée (avec toujours de savantes considérations sur les intervalles de confiance, les écarts type, etc.) Au bout d'un moment, les gens comme moi relativisent les avis toujours péremptoires de ceux qui savent.
Pour en venir à la subjectivité des cartes et des tirages, je pense que cela dépend fortement des attentes. Au poker par exemple, on s'intéresse à d'autres occurences qu'au bridge, on guette certaines sorties, on évalue certains tirages, ce qui fait que l'équiprobabilité n'a plus aucune valeur objective, ce qui compte ce sont les gains que permettent certaines distributions.
C'est pourquoi ton approche me paraît loin d'être bête et m'évoque autant la théorie des jeux que les théories économiques qui, comme tu le soulignes très bien, ont des assises tout à fait mathématiques.
#74 Re : Entraide (collège-lycée) » Petit calcul de probas concrètes » 18-09-2025 20:34:11
Comment donc mathématiser des probabilités égales "de hiérarchie" — comme par exemple dans un jeu de cartes — ou de "ressenti", au-delà peut-être de l'établissement d'une loi de probabilité attribuant une valeur à chaque cas ?
Bonsoir Borassus,
Marrant, j’ai des perceptions similaires avec les probabilités générales par rapport à des événements particuliers. Si par exemple je cherche un nombre aléatoire à cinq chiffres, 81425 me paraît quand même plus aléatoire que 55555 alors que la probabilité de sortie de ces deux nombres est exactement la même. C’est un peu le coup de ton as et de ton sept dans un jeu de carte je pense.
Mon raisonnement considère que sur tous les nombres à cinq chiffres, il y a bien plus de nombres avec une répartition variée de chiffres impairs~pairs que de chiffres tous impairs, donc que 55555 est bien plus improbable que 81425, ce qui est ridicule. Et bien sûr ça continue : s’il s’agit d’ajouter un chiffre et que j'obtiens 814257 et 555555, j'ai beau savoir que la probabilité d’ajouter un 7 ou un 5 à un nombre est bien la même, ma conviction se renforce pourtant.
#75 Re : Entraide (collège-lycée) » Petit calcul de probas concrètes » 18-09-2025 09:32:55
Hello Borassus,
Argh, exactement ! Je m'ai trompé dans le produit de fractions (une en trop), après j'ai ré-écrit en LaTeX (maudit soit son nom) et mon résultat est complètement dans les choux ! Merci d'avoir souligné l'erreur avec délicatesse, c'est précieux.
(et dire que j'étais tout content de proposer un truc sans passer par ce machin binomial)








