Inscription / Connexion Nouveau Sujet
Niveau exercices
Partager :

Rencontre et proba

Posté par
flight
05-07-20 à 21:38

Bonjour

Deux automobiliste A et B séparés par une route de 40kms on prévu de se rencontrer et partent chacun des extrémités de la route , cependant il ne roulent pas à vitesse constante, la vitesse de A suit une loi normale de moyenne 35km/h et d'écart type  10km/h , tandis que la vitesse de B suit une loi normale de moyenne 38km/h et d'écart type  5km/h , à quelle distance du point de départ de A les automobilistes peuvent ils espérer se rencontrer ?

Posté par
dpi
re : Rencontre et proba 06-07-20 à 16:18

Bonjour,
Bon pour le moral...

 Cliquez pour afficher

Posté par
verdurin
re : Rencontre et proba 06-07-20 à 18:39

Bonsoir,
je suis presque certain que la variable aléatoire donnant la distance entre A et le point de rencontre n'a pas d'espérance.

En effet je trouve une probabilité petite ( 3,310-11 ) mais non nulle pour qu'ils ne se rencontrent jamais.

Posté par
dpi
re : Rencontre et proba 07-07-20 à 08:01

Bonjour,
>verdurin
On présume que  les deux automobilistes partent en même temps de A vers B  et de B  vers A...
Quelles que soit leurs vitesses  instantanées la rencontre aura lieu (hors Moebius....).
Il me tarde d'avoir une répons kilométrique.

Posté par
verdurin
re : Rencontre et proba 07-07-20 à 18:00

Salut dpi.
Le problème est que l'on peut avoir des vitesses négatives.
C'est un inconvénient souvent oublié de la loi normale.
En pratique ça n'a en général pas d'importance, mais on est sur un forum de maths . . .

Sinon une simulation me donne la rencontre à environ 18,85 km de A.

Posté par
jarod128
re : Rencontre et proba 07-07-20 à 19:25

Bonjour,
@verdurin: tu parles d'une simulation. Je voulais m'y atteler mais je me demande quel intervalle de temps entre deux valeurs calculées de la vitesse? Tu as fais comment?

Posté par
verdurin
re : Rencontre et proba 07-07-20 à 20:29

Salut jarod128.
J'ai considéré  les vitesses de A et B comme des constantes tirées au hasard suivant les lois données.
Si on prend un modèle où elles peuvent varier il faudrait un autre énoncé avec, par exemple, un processus de Markov du style v(t+dt)=f(v(t)).

Posté par
jarod128
re : Rencontre et proba 07-07-20 à 20:39

Ok, l'énoncé précisant que les vitesses ne sont pas constantes, je n'avais pas la même interprétation que toi. Je me suis dit que pour une simulation, il me fallait prendre pour valeur de la vitesse une valeur suivant la loi à un intervalle dt de temps donné. Et je me demandais donc quel intervalle dt prendre? Je voyais plutôt la vitesse comme "évoluant" tout le temps.

Posté par
dpi
re : Rencontre et proba 07-07-20 à 21:03

Oui jarod128,
C'est ce que j'ai scolairement retenu  :A--->25 35 45 km/h  un tiers du temps
et B--> 33 38 43 un tiers du temps.on respecte ainsi les écart types et les moyennes données.
Jamais je n'aurais pensé aux vitesses négatives...
Avec mes données je trouve 18.037 km de A

Posté par
verdurin
re : Rencontre et proba 07-07-20 à 22:52

L'énoncé :

Citation :
la vitesse de A suit une loi normale de moyenne 35km/h et d'écart type  10km/h , tandis que la vitesse de B suit une loi normale de moyenne 38km/h et d'écart type  5km/h

Si on admet que les vitesses changent au cours du temps je ne vois qu'une solution ( mais je n'ai pas une très bonne vue ) : à chaque instant on tire la vitesse de A et B suivant des lois normales indépendantes, ce qui me semble très bizarre.

Je penche plutôt pour une hypothèse du genre flight n'a pas vraiment pensé avant de poser sa question.

Posté par
flight
re : Rencontre et proba 07-07-20 à 23:00

salut

voici une simulation , ...elle vaut ce qu'elle vaut :

Sub simulation_rencontre()
Randomize


Do
va = (Rnd * 40) + 15  'intervalle de confiance utilisé pour la vitesse de A:[ va + - 2 ecart type]
'et choix aleatoire d'une vitesse sur cet intervalle
vb = (Rnd * 20) + 28  'intervalle de confiance utilisé pour la vitesse de B:[ vb + - 2 ecart type]
  'et choix aleatoire d'une vitesse sur cet intervalle
t = Rnd 'choix aleatoire d'une d'une durée en seconde
xa = xa + va * (t / 3600) 'cumul de la distance parcourue par A
xb = xb + vb * (t / 3600) 'cumul de la distance parcourue par A

Loop Until Abs(xb + xa - 40) < 0.005  'juusqu'a la rencontre à 5 metres prè
MsgBox xa  'retourne la distance xa cumulée jusqu'au lieu de rencontre ici 19,23 kms


End Sub

Posté par
flight
re : Rencontre et proba 07-07-20 à 23:01

..lire  xb = xb + vb * (t / 3600) 'cumul de la distance parcourue par B

Posté par
verdurin
re : Rencontre et proba 07-07-20 à 23:24

Salut flight.
Ce que tu donnes n'a aucun sens dans le cadre du problème que tu posas.
Il n'y a aucune raison pour qu'une loi normale reste confinée entre sa moyenne plus ou moins deux écart-type.
Et j'ai l'impression ( mais je ne connais pas VBA ) que tu utilises une loi uniforme plutôt qu'une  loi normale.

En gros je dirais que ta simulation n'a aucun rapport avec ta question de départ.

Posté par
jarod128
re : Rencontre et proba 07-07-20 à 23:49

Ma simulation:


import numpy as np
sigma1=10
mu1=35
sigma2=5
mu2=38
def distance(t):
	d1=0
	d2=0
	while d1+d2<40:
		d1+=(np.random.randn(1)[0]*sigma1+mu1)*t
		d2+=(np.random.randn(1)[0]*sigma2+mu2)*t
	return d1
d=0
n=10**3
for i in range(0,n):
	d+=distance(0.001)
print(d/n)
donne 19,19 avec un rafraichissement de la vitesse toutes les millièmes de secondes et en faisant la moyenne des réponses sur 1000 essais.

Posté par
flight
re : Rencontre et proba 08-07-20 à 10:48

salut Verdurin c'est "pour simplifier les choses"que je me suis donné des intervalles du type  µ +-2 ecarts type  pour les vitesse on pourra certes toujours faire mieux du coup la vitesse de A ira du minimum 15 à 55   (avec 5% d'erreur)  même raisonnement pour B ,
ensuite pour la machine ,je lui demande de choisir deux vitesses de façon aléatoire sur les intervalles obtenus pendant un temps (poignée de secondes  choisie de façon aléatoire )
l'erreur dans mon code est que je donne le mème intervalle de temps à appliquer pour les deux vitesses dans mon code ) ..ca peut se corriger ...mais en gros j'essaie d'écrire un code
simulant le comportement de 2 conducteurs ...après je dis pas qu'il est parfait , pour l'utilisation de la loi uniforme que tu évoques ..quelques par oui c'est ce que je fait sur les intervalle de confiance obtenu pour les vitesses.... je te sens bien "rigide "dans tes remarques

Posté par
dpi
re : Rencontre et proba 09-07-20 à 08:33

Une petite remarque:
En supposant que l'écart type soit 0
Le point de rencontre aura lieu au km 19.178

Mon idée  25/35/45 et  33/38/43 qui est la simplification de l'énoncé:
En appelant a,b,c et d,e,f ces  vitesses on obtient:
abc/def 18 037
abc/fed  16.354
cba/def 21.201
cba/fed  20.319


Il ne peut donc y avoir de réponse unique.

Posté par
dpi
re : Rencontre et proba 09-07-20 à 09:10

cba/def  22001 et non 21201
Soit une valeur moyenne de 19.178 qui confirme  que le foisonnement statistique tourne
autour de cette valeur.

Posté par
verdurin
re : Rencontre et proba 09-07-20 à 19:22

Salut à tous.

@jarod128 il me semble que ta méthode, si je l'ai bien comprise, revient à faire une moyenne  de loi normales indépendantes.
Ce qui réduit considérablement l'écart-type.
Mais ce qui me dérange le plus est l'hypothèse que la vitesse peut passer brutalement de 45km/h à 25km/h en un millième de seconde.
Quoique dans ta simulation ce soit plutôt des millièmes d'heures.

@flight j'ai compris ton énoncé comme : la vitesse varie à chaque instant et en moyenne elle suit les lois que tu as donnés.
L'inconvénient de ta simulation est que la vitesse moyenne de chaque automobiliste ne suit pas une loi normale et que l'écart-type n'est pas celui indiqué.
Alors, oui, je suis un peu rigide et quand on me parle de loi normale j'ai la faiblesse de croire qu'il s'agit de loi normale et pas d'autres choses.


Je reviens sur mon interprétation : la vitesse moyenne de A jusqu'à l'instant de la rencontre, suit une loi normale de moyenne 35 et d'écart-type 10, la vitesse moyenne de B jusqu'à l'instant de la rencontre, suit une loi normale de moyenne 38 et d'écart-type 5.
En un sens c'est un résumé des variations de vitesses de A et B.

Ce que j'ai fait.

>>> from random import normalvariate
>>> from statistics import*
>>> def untirage():
	return 40/(1+normalvariate(38,5)/normalvariate(35,10))

>>> def UnEchantillon(n):# n est la taille de l'échantillon
	l=[]
	for i in range(n):
		l.append(untirage())
	return [min(l),median(l), max(l),mean(l),stdev(l)]

>>> UnEchantillon(10000)
[0.07871329614944833, 19.165776774083618, 28.174506110687904, 18.863453322297083, 3.3573370431301344]
>>> UnEchantillon(10000)
[-5.265466143567734, 19.13597804974438, 29.0069187522908, 18.83422941225787, 3.316164325226635]
>>> UnEchantillon(10000)
[-3.7544361184605846, 19.108672192477165, 28.69885754331697, 18.793088979041585, 3.332476645485776]
>>> UnEchantillon(10000)
[-5.434706606898288, 19.17178292883925, 29.851022718351814, 18.85440979596985, 3.2978093723445334] 

Commentaires :
normalvariate(m,s) renvoie une valeur (pseudo)aléatoire suivant la loi normale de moyenne m et d'écart-type s.
Les deux se rencontrent à l'instant t=\frac{40}{v_A+v_B}v_A et v_B sont les vitesses moyennes respectives de A et B.

La distance de rencontre à partir de A est alors \dfrac{40\, v_A}{v_A+v_B}=\dfrac{40}{1+\frac{v_B}{v_A}}

On peut voir que cette distance peut-être négative.
Je n'ai pas testé le cas t<0 qui est pourtant problématique.

Posté par
carpediem
re : Rencontre et proba 09-07-20 à 21:53

salut

merci beaucoup à verdurin pour cette interprétation claire, limpide et  détaillée de ce pb que je ne comprenais pas ... et qui me semble aussi la plus raisonnable ...

Posté par
dpi
re : Rencontre et proba 10-07-20 à 06:33

Salut à tous,

Je maintiens que si les vitesses positives fluctuent selon l'énoncé le point central de toutes les réponses est  19.178.

Posté par
verdurin
re : Rencontre et proba 10-07-20 à 19:12

Salut dpi.
Voici une simulation, toujours avec mon interprétation, qui rejette les vitesses négatives.

>>> from random import normalvariate
>>> from statistics import*
>>> def untirage():
	va=vb=-1
	while (va<0 or vb<0):# on rejette les valeurs négatives
		vb=normalvariate(38,5)
		va=normalvariate(35,10)
	return 40/(1+vb/va)

>>> def UnEchantillon(n):# n est la taille de l'échantillon
	l=[]
	for i in range(n):
		l.append(untirage())
	return [min(l),median(l), max(l),mean(l),stdev(l)]

>>> UnEchantillon(100000)
[0.14355543986119107, 19.183840680166565, 30.17629229036906, 18.858162676926003, 3.3269666692625077]
>>> UnEchantillon(100000)
[0.3566137270658257, 19.172803582416606, 30.12178072339694, 18.849301363874734, 3.3431166254742615]

On peut remarquer que la moyenne ne change pas vraiment beaucoup.
Je crois que ta conviction vient du fait que tu crois que E(1/X)=1/E(X) si X est une v.a. strictement positive.
Or c'est faux.

On peut quand même remarquer que la médiane ( deuxième valeur de la liste ) semble toujours proche de 19,178.

Posté par
dpi
re : Rencontre et proba 11-07-20 à 06:16

Merci cela confirme mon approche

Répondre à ce sujet

Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster :

Connexion / Inscription Poster un nouveau sujet
Une question ?
Besoin d'aide ?
(Gratuit)
Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.


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 !