math

Busy Beaver

Pour coder en FORTRAN, j’ai décidé de retrouver les Busy Beavers de petite taille (nombre d’états  n \leqslant 4 ).

Comme les valeurs de  S(n,2) sont connues pour  n petit, j’ai simplement simulé toutes les Machines de Turing (TM) à  n état(s) et deux symboles pendant 125 steps (soit  S(4,2)+18 steps). Celles qui ne se sont pas arrêtées après  S(n,2) steps ne s’arrêtent jamais. Et Ô bonheur, j’ai retrouvé les bonnes valeurs :

n  S(n,2)  \Sigma(n,2)
1 1 1
2 6 4
3 21 6
4 107 13

Mais la partie interessante de ce projet, pour moi, c’est les temps qu’il a fallu à mon pauvre ordinateur pour calculer tout ça. Pour n=1, mon ordinateur teste toutes les TM possibles en quelques fractions de secondes. Mais pour n=4, il lui a fallu 12 (!) jours. Les TM avec plus d’états ne sont pas (beaucoup) plus difficiles à simuler, mais il y en a beaucoup plus :

 TM(n) = (4n+4)^{2n}

Avec  TM(n) le nombre de TM à n états et deux lettres. Pour chacune des  2n combinaisons de [état(n) + lecture(2)], il y a  2\times2\times(n+1) choix de [direction(2) + écriture(2) + état(n+1)]. Inutile de dire que  TM(n) grandit vite.

Voici un tableau qui récapitule le nombre de TS à tester pour chaque nombre d’état et le temps qu’il a fallu pour calculer tout ça :

n  TM(n) Temps (s)
1 64 0.007
2 20736 0.66
3 1.7×107 537 (9 min)
4 2.6×1010 1036800 (288 h)

J’ai tracé le temps de calcul en fonction du nombre de TM à tester, en log-log.

BBgraph1

Ça à l’air suspicieusement linéaire, mais avec si peu de points, je ne m’avancerai pas. Juste pour être sûr, j’ai aussi tracé le ratio  \frac{\text{Temps de calcul}}{TM(n)}  en fonction de  TM(n) :

BBgraph2

C’est moche.

Je suis déçu de ne pas avoir plus de points, mais pour  n=5 , non seulement il faudra tester  63403380965376=6.3\times10^{13} machines, mais je ne saurais pas quand les arréter, puisque  S(5,2) n’est pas connu. Je soupçonne fortement que le temps de calcul passerait de toutes façons de interminable à stupidement long.

Par défaut
Uncategorized

Poulet et Poivrons au Gingembre et Crème de Coco

Ajourd’hui, une recette de cuisine.

META

1. J’ai aimé cette recette mais ai peu confiance en ma mémoire, donc j’écris.
2. Je veux essayer d’écrire une recette sans jargon.

ABRÉVIATIONS

  • ≃ environ (±20%)
  • ~ ordre de grandeur (entre ÷2 et ×2)
  • {les cerfs-volants c’est joli} considérations esthétiques personnelles

INGRÉDIENTS POUR DEUX PERSONNES

  • deux blancs de poulet
  • deux poivrons {rouge pour contraster avec le blanc de la crème}
  • ~200mL de crème de coco
  • un petit oignon ou échalote
  • ~1 cuillère à soupe d’huile
  • ~½ cuillère à soupe de sauce soja
  • du gingembre en poudre

MATÉRIEL

  • un couteau bien aiguisé (pour pas déchiqueter le poulet)
  • une cuillère en bois
  • une casserole ou un wok ou une sauteuse

ALLONS-Y !

Préparation

Couper le poulet en lamelles {≃¾cm×≃¾cm×~3cm} en enlevant les bouts de gras, tendons, etc. Couper les poivrons en deux dans le sens de la longueur. Retirer la tige, les graines, les parties blanches. Couper la chair {dans le sens de la longueur} en lamelles {≃½cm}. Couper les oignons très fins (~¼cm×~¼cm).

Cuisson

Faire chauffer ~1 cuillère à soupe d’huile dans la casserole sur feu très fort. Vérifier la température en mettant les oignons dans l’huile : si ça fait des bulles, c’est bon. Attendre que les oignons deviennent jaunes et opaques {voire légèrement grillés}. Ajouter le poulet en mélangeant vigoureusement pour bien séparer les lamelles. Mélanger régulièrement (toutes les ~minutes) en baissant le feu si le poulet brûle (devient noir et sent… le brûlé ?). Normalement le poulet rend un peu d’eau, qui va s’évaporer.
Quand le poulet est nettement plus foncé (jaune, pas marron), verser ~½ cuillère à soupe de sauce soja en mélangeant vigoureusement. Quand tout le liquide est évaporé ou absorbé sur le poulet, mais avant qu’il brûle, ajouter les poivrons. Cuire jusqu’à ce que l’extérieur des poivrons soit ramolli, mais l’intérieur ferme (~3min?). Verser la crème de coco. Baisser le feu au maximum et mélanger régulièrement pendant au moins ~10min.

Assaisonnement

Goûter, ajouter le gingembre en poudre ~une cuillère à café à la fois, mélanger, goûter, recommencer jusqu’à ce que ça soit bon.

Manger

Manger.

NOTES

  • C’est très bon avec du riz
  • J’ai essayé avec du curry au lieu du gingembre, mais la noix de coco noyait complètement l’épice
Par défaut
chimie, géométrie

VSEPR et géométries

Donner l’élément qui continue cette liste :
2
3
1-3
1-3-1
1-4-1
1-5-1
4-4

Aujourd’hui, un début de réponse à une question qui me turlupine depuis maintenant des années : comment arranger N points sur une sphère pour qu’ils soient le plus loin possible les uns des autres.

L’idée m’est venue quand j’ai appris les arcanes de la théorie VSEPR, dont l’idée initiale est que, quand plusieurs atomes sont liés à un atome central, ils s’arrangent pour être le plus éloignés les uns des autres.

Par exemple pour le dioxide de carbone O=C=O, les deux oxygènes se placent le plus loin possible l’un de l’autre, c’est à dire alignés avec le carbone central.

C=O=C

Et pour le méthane CH4, les quatre hydrogènes se placent sur les sommets d’un tétraèdre.

Methane-CRC-MW-3D-balls

Plus généralement, mes cours annonçaient ces géométries pour des molécules avec 2-6 atomes autour d’un atome central :

2
vsepr2
3
vsepr3
4
vsepr4
5
vsepr5
6
vsepr6

Je me suis tout de suite demandé d’où venaient ces triangles, tetrahèdres, et autres bipyramides à base carrées. On voit assez facilement une certaine structure dans cet enchainement de formes. Pour n=3, on a un équateur. Pour n=4, on peut presque reconnaître un pôle et l’équateur précédent. Et pour n=5 et n=6, il y a clairement deux pôles encadrant un équateur de 3 et 4 points respectivement.

Mais que se passe-t-il quand n>6 ? Dans ce qui devient rapidement un tradition ici, j’ai évidemment bricolé trois bouts de code qui placent n points au hasard sur une sphère, et les font s’éloigner le plus possible les uns des autres. Voilà ce que ça donne.

n GÉOMÉTRIE COMMENTAIRES SHÉMA
3 icon3.300

Les trois points forment un triangle, comme prévu plus haut.

schem03
4 4hedre4

Les quatre points forment un tétraèdre, aussi comme prévu plus haut.

schem04
5 5hedre4

Les cinq points forment une bipyramide à base triangulaire, encore comme prévu plus haut. Le début d’un pattern apparaît : pôle-équateur-pôle : (1-3-1).

schem05
6 6hedre4

Les six points forment une bipyramide à base carrée, toujours comme prévu plus haut. Le pattern précédent se poursuit : pôle-équateur-pôle : (1-4-1).

schem06
7 7hedre4

Cette fois les points forment une bipyramide à base pentagonale. Le pattern se poursuit : pôle-équateur-pôle : (1-5-1).

schem07
8 8hedre4

Cette fois un antiprisme carré apparaît. Le pattern change, il n’y a plus de pôles : cercle-cercle : (4-4).

schem08
9 9hedre4

Cette géométrie est similaire à la précédente, avec un pôle supplémentaire au-dessus d’une des faces carrées. Pattern : (1-4-4).

schem09
10 10hedre4

Similaire au précédent, avec encore un pôle en plus. Pattern : (1-4-4-1).

schem10
11 11hedre4

Le nouveau point s’ajoute sur un des cercles. Pattern : (1-4-5-1).

schem11
12 12hedre4

Le nouveau point s’ajoute encore sur un des cercles. Pattern : (1-5-5-1).

schem12
13 13hedre4

Le nouveau point s’ajoute encore sur un des cercles. Pattern : (1-5-6-1).

schem13
14 14hedre4

Le nouveau point s’ajoute encore sur un des cercles. Pattern : (1-6-6-1).

schem14
15 15hedre4

Cette fois le pattern change : un des pôles est ramplacé par cercle à trois points. Pattern : (1-5-6-3).

schem15
16 16hedre4

Le nouveau point s’ajoute sur un des cercles. Pattern : (1-6-6-3).

schem16
17 17hedre4

Le pattern initial réapparaît : (1-5-5-5-1).

schem17
18 18hedre4

Le nouveau point s’ajoute sur le cercle central. Pattern : (1-5-6-5-1).

schem18
19 19hedre4

Le nouveau point s’ajoute sur un des cercles les moins encombrés. Pattern : (1-5-6-6-1).

schem19
20 20hedre4

Le nouveau point s’ajoute sur le cercle le moins encombré. Pattern : (1-6-6-6-1).

schem20

Il y a plein de choses intéressantes qui se passent. D’abord, il y a le pattern le plus courant : deux pôles qui enserrent des cercles parallèles contenant chacun à peu près le même nombre de points. Chaque nouveau point s’ajoute dur le cercle le moins encombré. Ce pattern est très bien respecté pour n=5-7,10-14 et 17-20.

Le problème vient évidemment des frontières entre ces zones régulières, qui correspondent aux transitions entre une géométrie à m cercles et une géométrie à m+1 cercles. Et ces transitions sont nettement plus imprévisibles. Pour passer de n=7 (deux pôles + un cercle) à n=10 (deux pôles + deux cercle), d’abord les pôles disparaissent au profit d’un cercle supplémentaire (n=8), puis les deux pôles réapparaissent successivement (n=9,10). Par contre, pour passer de n=14 (deux pôles + deux cercle) à n=17 (deux pôles + trois cercle), d’abord un seul pôle disparait au profit d’un petit triangle (n=15), puis les deux cercles internes continuent de s’étoffer (n=16) et enfin le triangle disparait pour relaisser la place à un pôle avec trois cerlces cette fois (n=17).

Évidemment, toutes ces observations sont à prendre avec du recul. Premièrement mon algorithme pour trouver les géométries est peut-être à la rue. Ça me parrait peu probable, d’abord parce que les premières géométries correspondent aux géométries de la théorie VSEPR. Ensuite parce que majoritairement des pattern prévisibles et des géométries pleines de symétries, l’icosaèdre pour n=12. Surtout, j’ai implémenté un truc tout simple qui greedy-minimise des forces répulsives en 1/r^2, je vois pas bien ce qui peut mal se passer. Mais bon on sait jamais.
Ensuite les découpages que j’ai fait en pôles, cercles, etc. sont assez arbitraires et certaines géométries étaient suffisamment ambiguës pour me faire hésiter, notamment pour les n=15-17.

Il serait intéressant de continuer avec de plus en plus de points, mais ça devient vite fastidieux. Par exemple, pour n=21-22-23, le pattern continue en (1-6-7-6-1),(1-6-8-6-1),(1-6-7-7-2), mais j’ai peu confiance dans ces résultats, puisque je continue à les classifier à l’oeil et les symmétries deviennent de plus en plus imprécises. Au-delà, je ne discerne plus de pattern, mais je m’abstient d’en tirer une conclusion.

Par défaut
perception

Couleurs

J’ai toujours été intrigué par le concept des couleurs. Probablement depuis la première fois que mon père m’a expliqué d’où viennent les arcs-en-ciel. Si chaque couleur est juste une certaine longueur d’onde, qui décide où commence le VERT et où s’arrête le BLEU ? Et où sont le ROSE, le GRIS et le MARRON sur l’arc-en-ciel ? Et pourquoi y a-t-il  trois couleurs primaires et pas 2 ou 8 ? Il semblerait que je ne sois pas le premier à me poser ces questions.

Une question plus prosaïque, serait de savoir ce que *moi* j’appelle JAUNE, ORANGE et VIOLET ? D’une manière aussi surprenante que totalement inattendue de ma part, j’ai écrit deux bouts de code qui affichent une couleur au hasard dans l’espace RGB sur mon écran. Pour chaque couleur affichée, j’ai indiqué la couleur que je voyais parmi : ROUGE, ORANGE, JAUNE, VERT, BLEU, VIOLET, ROSE, MARRON, BLANC, GRIS, NOIR.

Je me rends bien compte de l’absence totale de rigueur de ma démarche, mais c’est pas vraiment le sujet. La compréhension du monde ne passe pas toujours par une démarche rigoureuse. Parfois pour avancer il faut faire un peu n’importe quoi. Voilà ce que ça a donné.

Dans la suite, les couleurs sont représentées dans l’espace RGB (Red/Green/Blue = Rouge/Vert/Bleu par analogie avec le trichromatisme humain) où chaque couleur est représentée par trois nombres (R,G,B) entre 0 et 1. Chaque nombre donne la proportion de chaque couleur primaire (rouge, vert, bleu resp.) dans la couleur décrite. Ainsi (0,0,0) ne contient aucune des couleurs et est donc le NOIR. De même (0.5,0,1) contient beaucoup de BLEU et un peu de ROUGE et c’est est donc un VIOLET.

Voyons déjà les différentes couleurs séparément :

black

NOIR

Je vois du noir vers (0,0,0)

donc noir = pas de couleur.

grey

GRIS

Je vois du gris approximativement sur le plan BLEU=VERT, avec 0.6*ROUGE<VERT<0.4*ROUGE+0.6

donc gris = autant de vert que de bleu et peu importe le rouge (mais pas trop non plus) et globalement pas trop clair.

red

ROUGE

Je vois du rouge dans la zone ROUGE>0.2, BLEU<0.4 et VERT<0.4*ROUGE

donc rouge = au moins un peu de rouge, pas trop de bleu et pas trop de vert.

orange

ORANGE

Je vois du orange dans la zone ROUGE>0.7, 0.2<VERT<0.8 et BLEU<1.5*ROUGE-0.9

donc orange = beaucoup de rouge, un peu de vert mais pas trop et pas trop de bleu.

yellow

JAUNE

Je vois du jaune dans le coin (1,1,0) avec deux bras qui s’étendent vers (0,1,1) et (1,1,1)

donc jaune = beaucoup de vert mais pas trop de bleu (sauf si très clair)

brown

MARRON

Je vois du marron dans la zone juste en dessous de l’axe ROUGE=VERT=BLEU

donc marron = autant de rouge que de vert mais pas trop de bleu

 

greenVERT

Je vois du vert dans la zone VERT>ROUGE, VERT>BLEU et BLEU<0.9

donc vert = plus de vert que des autres, et pas trop de bleu

 

blueBLEU

Je vois du bleu dans la zone BLEU>VERT, BLEU>2*ROUGE et ROUGE<0.6, sauf si BLEU>0.8 et VERT>0.6

donc bleu = plus de bleu que de vert, beaucoup plus de bleu que de rouge et pas trop de rouge, sauf si très clair.

purple

VIOLET

Je vois du violet dans la zone BLEU>0.8*VERT, BLEU>ROUGE, 0.1<ROUGE<0.9 et 0<VERT<0.9

donc violet = beaucoup de bleu, au moins un peu de rouge mais ni trop de vert, ni trop de rouge.

pinkROSE
Je vois du rose dans la zone ROUGE>.5, VERT<.7 et BLEU>VERT donc rose = beaucoup de rouge, pas trop de vert et de toute façon plus de bleu.

Évidemment les conclusions sont très simplifiés. Par exemple le GRIS, le MARRON et le BLEU s’étendent dans des zones au-delà de leur masse principale. Je met ces étrangetés sur le compte de la faiblesse de mes yeux et de mon protocole. La forme de la zone MARRON montre par exemple que j’aurais dû inclure le BEIGE dans ma liste de couleurs. Et le BLEU et le GRIS montrent que, pour les couleurs très proches du blanc, je suis clairement biaisé vers le gris et le bleu.

Voici encore quelques animations pour montrer certains détails que je trouvais intéressant.

gy

VERT et JAUNE

Ici on voit que le JAUNE supporte mieux le BLEU (avant de devenir VERT) quand il contient aussi du ROUGE. À tel point que quand le ROUGE est proche de 1, j’ignore complètement le BLEU.

kyor

ROUGE, ORANGE et JAUNE

Juste pour montrer que quand on rajoute du VERT à du ROUGE, je vois du ORANGE, puis du JAUNE.

kbp

BLEU et ROSE

Il y a clairement un espace vide entre le BLEU et le ROSE, même si apparemment quand on ajoute du VERT à du ROSE, je vois du BLEU ? À noter que les points en question sont très proches du BLANC, ce qui veut peut-être juste dire que quand je sais pas trop, je dis « BLEU« .

kbvp

BLEU, VIOLET et ROSE

L’espace vide précédemment entre le BLEU et le ROSE est évidemment occupé par le VIOLET. Évidemment, il y a un recouvrement considérable entre mon VIOLET et chacun des deux autres.

kewg

VERT, MARRON et GRIS

Ces deux animations sont juste pour montrer comment le GRIS est pris en sandwich entre le VERT et le MARRON d’un coté…

kebv

GRIS, BLEU et VIOLET

… et le BLEU et le VIOLET de l’autre.

En conclusion, j’ai l’impression de comprendre un tout petit peu mieux ce que j’appelle une couleur, en général. Mais pour être franc, la partie la plus intéressante (et de très loin la plus chronophage) de ce projet a été de tracer les volumes en 3D des différentes couleurs. Le point positif, c’est que j’ai appris à faire des triangulations de Delaunay, des envelopes convexes et surtout des alpha-shapes. Le point négatifs c’est que ça a probablement (j’ai pas compté) englouti 20 heures de ma vie. Bah ! je me suis bien amusé et j’ai fait des jolies images. Ça valait le coup.

all

L’étape suivante évidente serait de tout refaire dans l’espace HSV, plutôt que RGB.

Peut-être un jour !

Par défaut
math

L’ami Robert

Imaginez un crabe. Il s’appelle Robert. C’est un crabe comme on en trouve sous n’importe quel rocher. Mais Robert a un problème : il ne sait pas tourner. Il ne peut faire que des pas de côté. Et il s’ennuie. Comme tous les gens qui s’ennuient, il décide donc de faire un petit jeu mathématique : toutes les secondes, il lance une pièce. Si c’est pile il fait un pas à droite, si c’est face il fait un pas à gauche. À votre avis, combien de temps met-il (en moyenne) pour revenir à son point de départ ?

Il est assez facile d’écrire un programme de 38 lignes qui simule Robert faisant des pas vers la gauche ou vers la droite et calculer la durée moyenne entre deux passages par le point de départ. J’ai essayé et la moyenne ne converge apparemment pas, mais semble augmenter avec le temps de simulation, ce qui n’est pas rassurant. Il reste donc a trouver un moyen de formaliser tout ça pour être sûr.

Commençons par nous intéresser à toutes les trajectoires que Robert peut parcourir en n  secondes.

n=2  :

dd dg
gg gd

Les deux trajectoires rouges sont celles qui ramènent Robert à son point de départ. Il y en a deux, sur quatre trajectoires possibles, soit   \frac{2}{4}=\frac{1}{2}  .

n=4  :

dddd dddg ddgd ddgg
dgdd dgdg dggd dggg
gddd gddg gdgd gdgg
ggdd ggdg gggd gggg

Ah ! On dirait qu’il se passe des trucs. Pour commencer, les trajectoires qui commencent par gd ou dg sont « impossibles » : elles sont déjà passées une fois au point de départ ( pour n=2  ) et peuvent être ignorées. Parmi les huit qui restent, seules deux ramènent Robert à sont point de départ, soit  \frac{2}{8}=\frac{1}{4}  .

n=6  :

dddddd dddddg ddddgd ddddgg 
dddgdd dddgdg dddggd dddggg
ddgddd ddgddg ddgdgd ddgdgg 
ddggdd ddggdg ddgggd ddgggg
dgdddd dgdddg dgddgd dgddgg
dgdgdd dgdgdg dgdggd dgdggg
dggddd dggddg dggdgd dggdgg
dgggdd dgggdg dggggd dggggg
gddddd gddddg gdddgd gdddgg
gddgdd gddgdg gddggd gddggg
gdgddd gdgddg gdgdgd gdgdgg
gdggdd gdggdg gdgggd gdgggg
ggdddd ggdddg ggddgd ggddgg
ggdgdd ggdgdg ggdggd ggdggg
gggddd gggddg gggdgd gggdgg
ggggdd ggggdg gggggd gggggg

Ça devient long à taper, ces bêtises. Cette fois, il y a encore plus de trajectoires qui sont déjà repassées par la case départ pour n=2 ou n=4  . Parmi les vingt-quatre qui restent, quatre ramènent Robert à son point de départ, soit  \frac{4}{24}=\frac{1}{6}  .

Vous remarquez un pattern ? Moi aussi : la proportion des trajectoires qui s’arrêtent après n secondes parmi celles qui ne se sont pas encore arrêtées vaut \frac{1}{n} . J’ai vérifié jusqu’à n=20  et ça a l’air de tenir :

  n     valides  finales    proportion
  2         4        2     1/2  =    2/4      
  4         8        2     1/4  =    2/8      
  6        24        4     1/6  =    4/24     
  8        80       10     1/8  =   10/80     
 10       280       28     1/10 =   28/280    
 12      1008       84     1/12 =   84/1008   
 14      3696      264     1/14 =  264/3689   
 16     13728      858     1/16 =  858/13728  
 18     51480     2860     1/18 = 2860/51480  
 20    194480     9724     1/20 = 9724/194480 

Avec dans la colonne ‘valides’ le nombre de trajectoires qui ne sont pas encore passées par le point de départ après n -1  secondes et ‘finales’ le nombre de trajectoires qui sont au point de départ après n secondes. Par contre, je n’ai aucune idée comment ces proportions valent toujours \frac{1}{n}  , donc si vous avez une illumination, n’hésitez pas à me le dire.

On avance : on veut savoir quelle proportion des trajectoires reviennent au point de départ en exactement n secondes. Mais on a seulement cette proportion parmi les trajectoires qui ne sont jamais repassées par le point de départ durant les n-1 secondes précédentes. Pas de problème ! Si on prend  U_n la proportion des trajectoires qui ne sont jamais repassées par le départ après n  secondes, alors :

U_2=\frac{1}{2}

U_{n+2} = U_n \times \left (1-\frac{1}{n} \right )

Toutes les deux secondes, \frac{1}{n} des trajectoires restantes reviennent au point de départ. Wolfram a la gentillesse de trouver une relation directe pour U_n :

U_n = \frac{ \left ( n-2 \right ) ! }{ 2^{n-1} \: ( \frac{n-2}{2} ! )^2 }

Donc ! Après n -1  secondes, il y a U_n des trajectoires qui ne sont jamais repassées par le point de départ. Après exactement n secondes, Robert est revenu à son point de départ pour la première fois dans \frac{U_n}{n} des trajectoires. Donc pour avoir le temps moyen T que Robert met pour revenir au point de départ, il suffit de sommer pour tous les n pairs la proportion \frac{U_n}{n} fois le temps écoulé n .

T = \sum_{ \substack{ n=2, \\ n \: \text{pair}} }^{+\infty} \frac{U_n}{n} \times n = \sum_{ \substack{ n=2, \\ n \: \text{pair}} }^{+\infty} U_n

Voilà qui est suspicieusement sympathique, surtout que Wolfram nous dit (avec n=2k ) :

\begin{equation*} \begin{split} T_n & = \sum_{ \substack{ n=2, \\ n \: \text{pair}} }^{n} U_n = \sum_{k=1}^{\frac{n}{2}} U_{2k} \\[0ex] T_n & = \sum_{k=1}^{\frac{n}{2}} \frac{ \left ( 2k-2 \right ) ! }{ 2^{2k-1} \: ((k-1) ! )^2 } \\[1ex] T_n & = \frac{n \, n!}{2^{n+1}(\frac{n}{2}!)^2} \end{split} \end{equation*}

Où T_n est le temps moyen entre deux passages par le point de départ après n secondes. Et enfin si on suppose n grand, on peut utiliser la Formule de Stirling : n! \sim \, \sqrt{2\pi n} \, \left ( \frac{n}{e} \right )^n qui donne :

\begin{equation*} \begin{split} T_n & \sim \frac{n \sqrt{2 \pi n} \left ( \frac{n}{e} \right )^n}{2^{n+1} ( \sqrt{\pi n} ( \frac{n}{2e} )^{\! \frac{n}{2}} )^2} \\[0ex] T_n & \sim \frac{ \sqrt{2 n} \left ( \frac{n}{e} \right )^n}{2^{n+1} \: \sqrt{\pi} \ ( \frac{n}{e} )^n \ 2^{-n}} \\[1ex] T_n & \sim \frac{ \sqrt{n} }{\sqrt{2 \pi}} \ \xrightarrow[\: n \to +\infty \:]{ } \: + \infty \end{split} \end{equation*}

Donc le temps moyen entre deux passages par le point de départ diverge effectivement. C’est dommage, mais pas inattendu. En fin de compte, après n secondes, on peut s’attendre à ce que Robert soit repassé environ \frac{n}{\sqrt{n} / \sqrt{2 \pi}}=\sqrt{2 \pi n} fois par le point de départ. Mais en moyenne, plus le temps passe, plus Robert s’éloigne vers l’infini et au-delà.

la nébuleuse du crabe

Par défaut
math

ln is weird

L’autre jour, j’ai remarqué un truc bizarre à propos du logarithme.

On sait que la primitive de x^{-n} , c’est :

lnisweird001

Que l’on peut réécrire pour n<1  :

lnisweird003

et pour n>1 :

lnisweird004

Évidemment, quand n=1 , cette solution n’est plus valable, et à la place on a :

lnisweird005

Le tout résumé sur ce joli graphique pour vos yeux ébahis, avec n=.2 , n=1 et n=4 .

ébahissement en cours

Les lignes pointillées sont les primitives des lignes pleines.

D’accord, donc le logarithme est juste entre les primitives de la forme \sqrt[k]{x} et celles de la forme x^{-k} . Ce qui n’est d’ailleurs pas du tout surprenant :

lnisweird006
lnisweird007
lnisweird008a
lnisweird008b
lnisweird009

C’est à dire que quelque soit n, la primitive de x^{-n} est toujours soit au dessus soit en dessous de ln(x) . Mais ça ne veut pas dire que ces primitives tendent gentiment vers le logarithme quand n tends vers 1 , au contraire elles divergent :

Quand n tends vers 1 , les deux primitives explosent. Mais quand n=1 , la primitive est bien définie, et c’est le logarithme :

Donc on a une fonction qui diverge en un point, mais qui y est aussi définie. Vive le logarithme !

Par défaut