Paroles de turfistes et fondement scientifique.

Il est des paroles de turfistes qu’on retient et qu’on utilise au moment de valider ses jeux.

“Le prix Rieussec met le parieur à sec.” n’incite pas le parieur en effet à sélectionner trop de favoris dans son jeu, ce jour là. La valeur scientifique d’une telle stratégie est peu discutable…

Dans d’autres cas, la sentence du vieux turfiste ressemble plus à une farce :

“Par temps pluvieux et terrain lourd, n’hésite pas à jouer les chevaux gris.”
Waiting for the horses 1


photo credit: ksenia B

Gris comme le temps ? Ici on semble loin de tout fondement rigoureusement scientifique !

Et pourtant des généticiens de l’université d’Uppsala en Suède ont identifié la mutation génétique responsable de la robe blanche des chevaux.

Dans la revue Nature genetics, les chercheurs suédois signalent avoir non seulement identifié la mutation conduisant à ce phénotype, mais également déterminé le gène unique permettant de remonter jusqu’à un ancêtre commun, qui a vécu il y a plusieurs milliers d’années.

On peut alors raisonnablement pensé que l’aptitude à se sortir des terrains lourd est elle aussi, d’origine génétique et revoir notre opinion défavorable sur la sagesse du vieux turfiste.

SOURCES :

Billie Jean King, tennis wikipedia et mathématiques

Billie Jean King
Creative Commons License photo credit: t_a_i_s

D’après Wikipedia Billie Jean Moffitt King (née le 22 novembre 1943 à Long Beach, Californie) est une joueuse de tennis américaine.

Le tennis n’est pas, et de loin, l’une de mes préoccupations majeures. Alors pourquoi évoquer ici la première présidente de la World Tennis Association (WTA) ?

Bizarrement son nom est associé à un domaine des Mathématiques passionnant : la théorie des graphes. (Ou à celui de l’étude des réseaux).

Dans les années 60, Stanley Milgram, considéré aujourd’hui comme un des psychologues les plus marquant du XX ème siècle est l’initiateur d’une expérience intéressante :

Pour cette expérience, un agent de change de Boston est choisi comme « individu-cible », et trois groupes de départ d’une centaine de personnes chacun sont constitués aléatoirement, l’un composé d’habitants de Boston choisis au hasard, le deuxième d’habitants du Nebraska choisis au hasard, et le troisième d’habitants du Nebraska aussi, mais qui présentent la particularité d’être détenteurs d’actions. Chaque individu de ces groupes de départ reçoit un dossier décrivant l’expérience et l’individu-cible (son lieu de résidence et sa profession en particulier), et a pour mission de faire parvenir ce dossier par la poste, soit directement à l’individu-cible s’il le connaît personnellement, soit à une personne qu’il connaît personnellement et qui a une plus grande probabilité de connaître personnellement l’individu-cible.

Sur les 296 individus des groupes de départ, 217 ont accepté de participer à l’expérience et ont expédié le dossier à une de leurs connaissances, et finalement, 64 dossiers sont parvenus jusqu’à l’individu-cible, au terme de chaînes de connaissances de longueurs variables, mais dont la longueur moyenne était de 5,2 intermédiaires.

hεtεromogεnεous lınεs rhızlınkıng . .
Creative Commons License photo credit: jεƒ saƒı

Le WEB est un réseau, ie un ensemble d’éléments (des sites) ayant des connexions les uns aux autres par l’intermédiaire de liens (hypertext) .
Si on ne s’intéresse pas à l’ensemble du web, mais à un “sous-groupe” de sites, par exemple Wikipedia, on peut se poser les questions suivantes :
Quel est le diamètre de ce réseau ? ie la longueur de la plus grande chaine qui permet, par de simples clics de joindre un article à un autre.

Quel est le centre de Wikipedia ?
ie la page qui possède la plus petite valeur moyenne (en terme de nombres de clics) pour atteindre toutes les autres pages.

Voici le tiercé dans l’ordre des centres de Wikipedia :
1. 2007
2. United Kingdom
3. Billie Jean King

Si les deux premières places du podium sont compréhensibles, la troisième est plus qu’étonnante. En quoi cette joueuse américaine peut-elle être si proche en moyenne de tous les autres articles de Wikipedia ? Si vous avez la réponse, je suis preneur !

SOURCES :

http://tech.slashdot.org

http://www.internetactu.net

http://www.techno-science.net

http://fr.wikipedia.org

 

977731833235239280 un nombre étonnant !

nb

Ce nombre a une propriété surprenante :

Vous pouvez changez deux quelconques de ses chiffres, et vous ne tomberez jamais sur un nombre premier. Il semble, d’après deux mathématiciens polonais que c’est le plus petit nombre ayant cette propriété !

Ce problème (la recherche de ce nombre) datait d’une vingtaine d’années…

Bravo donc à Witold Jarnicki et Maciej Żenczykowski qui laissent leurs imprononçables noms à la postérité mathématiques !

Combinaisons, coefficients binomiaux et triangle de Pascal

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
1 10 45 120 210 252 210 120 45 10 1
1 11 55 165 330 462 462 330 165 55 11 1
1 12 66 220 495 792 924 792 495 220 66 12 1

Les nombres ci-dessus, disposés géométriquement en triangle vous rappellent probablement quelques choses…

Ils s’agit des coefficients binomiaux que l’on obtient en développement des expressions du genre (a+b)2=1a2+2ab+1b2

Dans cet disposition géométrique chacun des nombres s’obtient en ajoutant le nombre du dessus et son voisin de gauche.

Ces nombres nous les avons déjà évoqués ici, il s’agit des C(n,p) qui servent à dénombrer le nombres de parties à p éléments d’un ensemble à n éléments.

(Par exemple on a vu dans ce billet que C(52,5)=2 598 960 nous donne le nombres de mains au poker)

cnp

On démontre aisément que C(n,p) = C (n-1,p-1) + C (n-1, p), et on peut utiliser cette formule pour se créer une fonction en Python pour calculer de façon récursive les C(n,p)

def cnp2 (n,p):
if p==0 or n==p:
return 1
exit
return cnp2(n-1,p-1)+cnp2(n-1,p)

Pour aller plus loin :
http://fr.wikipedia.org/wiki/Coefficient_binomial

Mathématiques pour les nuls, nombre de mains au poker

I Win

Le terme main désigne un ensemble de 5 cartes :

Par exemple:
As de trèfle, As de carreau, 8 de trèfle, 8 de pique et 6 de carreaux.

L’ordre des cartes n’a pas d’importance.

Pour bien comprendre ce billet, il peut être bon de relire:

Il y a 52 cartes dans le jeu.
Nous avons donc 52 possibilités pour la première carte. Celle-ci disparaît du jeu et il ne reste que 51 pour la deuxième, puis 50 pour la troisième, 49 pour la quatrième et enfin 48 pour la dernière.

52x51x50x49x48=311 875 200

Ce qui ne donne pas 311 875 200 mains! En effet nous avons spécifié plus haut que l’ordre n’avait pas d’importance !

A Six and a King


photo credit: Wade From Oklahoma

Or nous avons dénombré plus de mains qu’il en a, puisqu’on a dénombré toutes les permutations possible des 5 cartes.
or il y a 5!=120 permutations dans un ensemble à 5 éléments.

La réponse au problème est donc
52x51x50x49x48/120=2598960Il y a exactement 2 598 960 mains au poker.
(On peut retenir, ça impressionne toujours en société qu’il y a environ 2,6 millions de mains au poker et que la probabilité d’avoir le plus gros jeu, soit la quinte flush royale à pique servie, est d’environ une chance sur 2,6 millions. Nous reparlerons de probabilité plus tard ! )

Qu’avons nous, mathématiquement, calculer ?

Combinaison, une définition simple :

On appelle combinaison de p élément d’un ensemble à n éléments une partie de cet ensemble ayant p éléments.

On note C(n,p) le nombre de ces combinaisons et on a:

cnp

Le script Python, avec la fonction cnp(n,p) qui permet de calculer le nombres de combinaisons :

Code Python traduit en HTML:
def fact (n):
    """retourne la factorielle de n""" 
    if n==0  :
        return 1
    else:
        return n*fact(n-1) #fonction récursive

def cnp (n,p):
    """retourne le nombre de combinaisons, p parmis n""" 

    if p>n:
        return "erreur" 
    result=1
    for i in range(n,n-p,-1):
        result *= i
    return result//fact(p)
def fact (n):
    """retourne la factorielle de n""" 
    if n==0  :
        return 1
    else:
        return n*fact(n-1) #fonction récursive

def cnp (n,p):
    """retourne le nombre de combinaisons, p parmis n""" 

    if p>n:
        return "erreur" 
    result=1
    for i in range(n,n-p,-1):
        result *= i
    return result//fact(p)

cnp

et un screenshot de l’IDLE:

cnp2

Python, inverser une chaîne de caractères


La qualité numéro 1 du langage de programmation Python est son accessibilité, même pour les débutants.
Le code est lisible, compréhensible rapidement. Python est LE langage par excellence pour apprendre à programmer.

Si vous ne l’avez pas encore installer sur votre système, je vous engage fortement à le faire à partir du site officiel.

L’exemple de script que nous allons étudier aujourd’hui est basé sur une fonction crée par l’utilisateur, qui inverse une chaîne de caractère. Elle renverra par exemple TOM si on lui envoie MOT.

Code Python traduit en HTML:
def envers (mot):
 

    "inverse une chaine de caractères" 

    resultat=""                  # La chaine résultat est vide

    for lettre in mot:          # Pour chaque lettre de la chaine

     resultat=lettre+resultat   # On l'insère en première position

    return resultat             # Et on retourne la chaine

    

# Pour tester dans L'IDLE

a=input("chaine : " )

print (envers(a))

Le code ci-dessus est écrit en utilisant plusieurs couleurs :

Le rouge sert à afficher les commentaires, ceux-ci sont précédés du caractère #. Les commentaires ne sont pas des instructions exécutées par Python, mais sont destinés à la compréhension du code (Pour permettre de se replonger dans ses anciens scripts, sans risquer de maux de tête, par exemple)

En orange : les mots réservés du langage Python
ici nous avons def, for, in et return

En violet : les fonctions prédéfinies (non créées par l’utilisateur )
seule la fonction raw-input() est utilisée dans ce script.

En bleu : Les fonctions crées par l’utilisateur
Ici une seule fonction : envers()

En vert : Les chaînes de caractères.
On en dénombre 3, dans des contextes très différents.

Une remarque importante, les espaces dans le code ont une importance capitale (On parle d’indentation du code), ainsi le bloc de code qui constitue le corps de la fonction envers est décalé de deux espaces vers la droite. Ainsi Python reconnaît la fin des instructions de cette fonction à l’arrêt de cette indentation.

Le mot clef def sert à définir notre propre fonction, il est suivi du nom de cette fonction (Ne pas utiliser de mots réservés ou de nom de fonctions prédéfinies!) puis de parenthèses enserrant une “variable” est du caractère “:”

def envers (mot):

On peut voir une fonction comme une usine, elle reçoit une matière première (ici une chaîne de caractère), effectue un travail (dans le bloc indenté) et livre (avec le mot clef
return) un produit fini (ici, une autre chaîne de caractère)

“inverse une chaîne de caractères”

Cette ligne est étrange, c’est une chaîne de caractères, seule, sans mot clefs qui demanderait à Python de faire quelque chose, sans affectation (On y reviendra). Elle semble ne servir à rien… Et pourtant son rôle est très pratique !
Si cette fonction est chargée en mémoire, en tapant envers ( avec une parenthèse ouvrante, cette phrase apparaît dans une bulle d’aide :

bulle

resultat=“”
On définit au départ la variable resultat comme une chaîne vide. A noter pour les vrais débutants en développement, le sens particulier du signe égal. Ce caractère est le symbole de l’affectation. On range la chaîne vide “” dans une “boite” qu’on a appelé resultat. Le contenue de cette boite changera au cours du script, cette boite est une variable.

for lettre in mot:

littéralement :
Pour lettre dans mot

mot est la matière première livrée à la fonction envers, une chaîne de caractères. Une chaîne de caractères étant constituée de lettres, l’expression for lettre in mot signifie que l’on va successivement affecter à la variable lettre les lettres contenues dans la chaîne mot (celle envoyée à la fonction).

Les deux points qui suivent, ainsi que l’indentation du code indique à Python que ce bloc indenté devra être exécuter pour chacune de ces lettres.

resultat=lettre+resultat

On reconnaît à nouveau ce signe égal d’affectation.
On va placer dans le membre de gauche (la variable resultat) l’évaluation de l’expression lettre + resultat. Je comprends l’étonnement de certain !
lettre est un caractère et resultat une chaîne ! Que signifie donc le signe + ?
Python comprend simplement +, pour des chaîne de caractère comme un ordre de concaténation :

“abc”+”def”=”abcdef”

 

 

Un exemple de ce qui se passe dans ce programme:
Supposons qu’on ait envoyé à la fonction envers, la chaîne “CHAT”

resultat est d’abord vide (resultat=””)
puis la boucle FOR IN parcourt les lettres de CHAT
1. resultat=”C”+”” soit “C”
2. resultat =”H”+”C” soit “HC”
3. resultat =”A” +”HC” soit “AHC”
4. resultat =”T” +”AHC” soit “TAHC”

la variable resultat contient donc une fois toutes les itérations de la boucles terminées, la chaîne de départ inversée.

Et l’usine envers() peut donc livrer son produit fini:

return resultat

La dernière partie du script, sert à tester la fonction:

a=input(“chaine : “)

input() est une fonction prédéfinie, son utilisation est aisée.
On range dans la variable a, la chaîne de caractères saisie au clavier par l’utilisateur.
Notez entre parenthèses une phrase d’invite pour lui indiquer ce qu’il doit faire.

print(envers(a))
Le mot réservé print
 

affiche à l’écran envers(a), le produit de la fonction envers quand on lui envoie la variable a.

On peut donc tester notre fonction:

testons

Elle fonctionne, c’est déjà ça !!!

Tags Python abordés dans cet article

def
for
in
return
print
raw_input

Le bilan sur les factorielles, permutations sans ou avec répetitions

En mathématiques, la notion de permutation correspond simplement à un changement d’ordre des objets d’un ensemble (ordonné).

Si on considère par exemple les anagrammes du mot LOSANGE, on se pose la question de savoir combien de mots (pas au sens littéraire, ces suites de lettres n’ont pas besoin d’avoir un sens) on peut écrire avec les lettres :


L-O-S-A-N-G-E .

Les lettres étant toutes différentes, on parle de permutation sans répétition, et le nombre de ces permutations est la factorielle du nombre d’objet (ici, ce sont des lettres).

soit : 7!= 5040

losange-anagrammes

(Vérification avec le programme Python évoqué ici)

Par contre dans le mot MESSAGES, la lettre E apparaît deux fois, tandis que le S apparaît 3 fois. On parle alors de permutation avec répétition.
Pour les dénombrer, on divise la factorielle du nombres d’objet (8!) par le produit des factorielles de deux et de trois (le nombre d’apparition des objets “répétés”):

On trouve : 8!/(2!x3!) = 40320 / 12 = 3360

anagrammes-messages

On peut résumer la méthode à employer pour dénombrer les permutations avec répétitions :

– On compte le nombre d’objet (lettres).
CHERCHEREZ est écrit avec 10 lettres.

– On se construit un petit tableau avec les objets répétés:

  • Objets : nombre de répétitions
  • C : 2
  • H : 2
  • E : 3
  • R : 2

Le nombre de permutation de CHERCHEREZ est 10! / (2! x 2! x 3! x 2!) = 10! / 48 =75600

anagrammes-chercherez

Cette méthode algorithmique nous incite à développer un petit programme qui affichera le nombre d’anagrammes d’un mot entré au clavier par l’utilisateur. (Non plus en les listant comme dans l’exemple étudié la dernière fois mais en calculant )

def fact(n):
"renvoie la factorielle de n"
if n==1: return 1
else : return n*fact(n-1)

mot=raw_input("Entrez votre mot (ENTREE pour quitter) : ")

while mot<>"":
lettre={}
a=0
while(a1:
denominateur=denominateur*fact(a)
chaine=chaine + str(a) +"!"if chaine<>"" : chaine = "/(" + chaine + ")"

print len(mot),"!",chaine,"=",fact(len(mot)),"/",denominateur,
print "=",fact(len(mot))/denominateur

print "Le nombre d'anagrammes de ",mot," est : ",fact(len(mot))/denominateur
print
print
mot=raw_input("un autre mot ? (ENTREE pour quitter) : ")


Ce qui donne :

anagrammes-py

Newton devancé par les mathématiciens Hindous ?

Doyle Flushing
Creative Commons License photo credit: fdecomite

Rendons à Cesar, ce qui est à Cesar…

Le calcul infinitésimal (ou calcul différentiel et intégral) est une branche des mathématiques, développée à partir de l’algèbre et de la géométrie, qui implique deux idées majeures complémentaires:

Ces deux concepts définissent des opérations inverses au sens précis défini par les théorèmes fondamentaux du calcul infinitésimal. Ceci veut dire qu’ils ont une priorité équivalente. Cependant l’approche pédagogique habituelle commence par le calcul différentiel.

Actualité > Newton devancé par les mathématiciens Hindous ?:

“On attribue généralement à Newton et à Leibniz la découverte de ce qui est probablement le plus puissant outil mathématique à la disposition de l’esprit humain : le calcul différentiel et intégral. Comme le montre George Gheverghese Joseph de l’University of Manchester, certains des résultats obtenus à l’aide de l’analyse infinitésimale à partir de la fin du 17ième siècle en Europe, étaient déjà connus des mathématiciens de l’école du Kerala, au sud-ouest de l’Inde, vers 1 400. Selon lui, on ne peut d’ailleurs pas écarter la possibilité qu’une partie de l’inspiration de Leibniz et Newton ne provienne de la transmission des travaux de Madhava et Nilakantha en Occident par les jésuites.”

les performances des mathématiciens de l’école du Kerala sont spectaculaires et méritent à juste titre d’être universellement reconnues. Incontestablement, leurs noms doivent maintenant figurer au panthéon des grands mathématiciens de l’humanité avec Archimède et Al-Khwarizmi.

LIENS EXTERNES:

Votez pour cet article sur Scoopeo :

Conseil de rentrée : Attention aux premiers prix !

Attention aux premiers prix !

De l’agenda à la trousse en passant par les feutres et les cartouches, les articles
« premier prix » (Ex : Eco+, Coup de pouce, n°1, Top Budget …) sont très présents en
hypermarchés à des prix souvent dérisoires pour faire face à l’assaut du hard
discount. Si l’on peut être tenté d’acheter ces articles « premier prix » en raison de
l’économie apparente qu’ils permettent, qu’en est-il du service rendu ?

La calculatrice TI 40 Collège II TEXAS INSTRUMENTS.
Affichage 2 lignes, idéale collège et lycée professionnel. 5 mémoires. Statistiques à 2 variables et fonctions trigonométriques, scientifiques. 2 opérateurs constants, division euclidienne. Modèle photographié.

www.familles-de-france.org