Continuons la discussion de ce matin, avec l'exemple des capitales américaines. On peut trouver une telle liste liste en ligne sur wikipedia,
> capital=read.table( + "http://freakonometrics.free.fr/US-capital.csv", + header=TRUE,sep=";") > capital=capital[-c(2,11),]
On va enlever Hawaï et l'Alaska, qui forcent à faire de trop grands détours. Dans TSP, sous R, il y a des listes de villes américaines, avec les coordonnées. En bricolant un peu, on va récupérer les coordonnées de la plupart des capitales,
> library(maps) > library(maptools) > library(sp) > library(TSP) > Lcap=paste(as.character(capital[,1]), + as.character(capital[,2]),sep=", ") > M=as.matrix(USCA312) > L=labels(M)[[1]] > Lcap=Lcap[which(Lcap%in%L)] > k=which(L%in%Lcap) > M=M[k,] > M=M[,k] > listeUSA=TSP(M,L[k])
Et cette fois on est prêt,
> tour=solve_TSP(listeUSA, method = "nn")
on a lancé l'algorithme, et on peut faire un dessin,
> COORD=data.frame(USCA312_coords[k,]) > COORD=COORD[as.numeric(tour),] > map('state',fill=TRUE,col="yellow") > lines(COORD$coords.x1,COORD$coords.x2, + lwd=3,col="blue") > points(COORD$coords.x1,COORD$coords.x2, + pch = 19, cex = 1.2, col = "red")

pas mal, n'est pas ? Bon, mais comme d'habitude, rien ne garantie que l'on ait trouvé le trajet optimal... En fait, le soucis est que si on relance l'algorithme, on retombe sur un autre trajet,

voire encore un autre si on lancer une nouvelle fois l'algorithme,

C'est pénible, n'est ce pas ? En fait, si on lance 1,000 fois l'algorithme on obtient la distribution (des distances optimales) suivante
autrement dit, on a encore beaucoup de variabilité, avec une distance optimale qui peut varier d'environ 10% entre deux boucles d'algorithmes. Cela dit, cela reste faible par rapport à un trajet au hasard,

Et d'ailleurs, si on compare la distance obtenue en tirant les villes au hasard, on arrive à un taux de l'ordre de 27% (qui peut être comparé à ce que nous avions obtenu en tirant au hasard dans le carré unité)
> HAZARD=OPTIMAL=RATIO=rep(NA,500) > for(s in 1:500){ + HAZARD[s]=tsp.longueur(M,sample(1:nrow(M))) + tour=solve_TSP(listeUSA, method = "nn") + OPTIMAL[s]=tsp.longueur(M,as.numeric(tour)) + RATIO[s]=HAZARD[s]/ + OPTIMAL[s] + }

Bref, compte tenu de la (grande) dispersion des résultats optimaux obtenu, on pourrait dire que cet algorithme est assez mauvais. Même s'il est très rapide. Un autre avantage est que l'on peut spécifier la ville de départ, par exemple. Ici, si on souhaite partir de Floride, on peut obtenir le trajet suivant
> tour=solve_TSP(listeUSA, method = "nn", + control=list(start=41))

Passionnant
n'est-ce pas ? Et encore, ça ne va pas m'aider à trouver le parcours
optimal pour les enfants, car pour les enfants, il faut spécifier le point de départ (voire le point d'arrivée), il faut en plus rester
sur la route (voire traverser aux passages pour piétons). On peut aussi vouloir faire une pause pipi au milieu de la promenade.... Bref, on a pas
mal de contraintes ! Mais tout est expliqué dans le livre fabuleux de
William Cook, In Pursuit of the Traveling Salesman, qui reprend toute l'histoire des algorithmes les plus fins pour résoudre ce joli problème de maths...

Bon, ben cette fois ça y est, c'est l'Halloween... et comme tous les ans, mon rôle devrait se limiter à creuser les citrouilles, décorer la maison... et attendre à la porte de la maison que les enfants des voisins viennent me dévaliser ma réserve de bonbons ! Je pourrais à la rigueur revendiquer un petit quelque chose dans le déguisement de mon fils (on a passé pas mal de temps à feuilleter les premiers tomes de Walking Deads, histoire de mieux saisir l'essence des personnages de morts-vivants, en plus de la 









Depuis le début de la semaine, après avoir déposé les enfants au camp de jour du Musée des Beaux Arts, je viens à pieds à l'université. Chaque fois, je me dis que je pourrais prendre le bus, mais comme aucun ne vient, je commence en marchant, en me disant que si un bus passe, je le prendrais. Et tous les matins, j'arrive au bureau sans m’être fait dépassé par le moindre bus. Et bien sur, j'en ai croisé un paquet qui passaient en sens inverse...
à parcourir, on suppose que les bus sont espacés d'une distance
, et qu'ils avancent à une vitesse
. Autrement dit, les bus passent tous les
secondes (si ma vitesse est exprimée en secondes).
avec
(oui, on va supposer que je vais moins vite que le bus... ce qui n'est pas forcément une hypothèse faible aux heures de pointes, mais disons que le problème n'a de sens que si aller en bus me permet d'aller plus vite). Le temps que je vais mettre si je fais tous le trajet à pied est
. Maintenant, comptons les bus qui passent en face. Je vais croiser tous ceux qui sont déjà sur ma portion de trajet, et il y en a
. En plus, je croiserais tous ceux qui vont arriver à l'université, et qui n'y sont pas encore, soit
, i.e. le temps qu'il me reste à marcher divisé par le temps qui s'écoule entre deux bus. On a alors un total de
bus à croiser, en face.



, draw a point
in a neighborhood of
,
then
then 
then
then
. To illustrate the idea, consider the following function










There was (once again) a nice puzzle in 
chambers, it
there are
bullets in
if we don't. Not spinning is better if and
only if


... or
(in that case, it might not be a good idea actually to
play the game).
has a priori distribution
, and that
, given
.
with
,
with
,
where
and
are two independent random variables with a uniform distribution on the unit interval. Let us try to derive its distribution, i.e.



Once again, there was a nice maths puzzle on 








Assume that there are (say) 100 chocolate eggs in a basket, 20 are dark chocolate,
while 80 are milk chocolate. Unfortunately, eggs are wrapped, and there is no way
you can distinguish them. My daughter has the following algorithm for eating them (and she actually plans to eat all of them)






A few days ago, 


. Mais il faut des hypothèses complémentaires pour que cette relation soit vraie. Le fait que
existe par exemple ne suffit pas ! (je laisse les amateurs de résultats contre-intuitifs le temps de réfléchir à cette affirmation)
2012 will be, in several countries, a presidential election year. Some decades ago, candidates were not always supposed to spend months on some 
since



is the total number of balls, and if
is the number of white
balls then 
, or to be more precise, in


admits a pair of solutions, then
. Further, the difference between
and
is precisely
. Thus, recursively, it is extremely simple to get all possible answers. Below, we have
and the difference between
, consider an urn with
balls. We draw two balls at the same time. It is equally likely that the two will be the same color as different colors. Then the number of colors within the bag are respectively





Prenons la question suivante "
la taille de la fratrie, que l'on va supposer fixé. Essayons de formaliser les calculs qu'on vient de faire. S'il y a
filles, et
garçons,
sœurs,
et pour les filles,
. Et en faisant intervenir le nombre de combinaisons possibles de
l'espérance du nombre de sœurs chez les garçons, et
chez les filles, on a (merci à
-1 personnes dans la fratrie (je peux renvoyer au livre de Ruma Falk,





