Регистрация не е нужна, освен при създаване на тема в "Задача на седмицата".

Късметлии

Късметлии

Мнениеот Genie_Almo » 30 Юни 2023, 12:33

Петър и Светлана са истински късметлии! Освен, че са щастливо женени, рождените дни и на двамата, както и тяхната гошишнина от сватбата, винаги се падат в един и същи ден от седмицата. И трите дати винаги се падат или в понеделник, или във вторник, или в сряда и т.н., в рамките на календарната година. Но каква е вероятността това да се случи? За определеност приемаме, че Петър и Светлана са наши съвременници и в момента са някъде из този свят и са щастливи заедно.
Genie_Almo
Фен на форума
 
Мнения: 135
Регистриран на: 16 Авг 2017, 09:31
Рейтинг: 197

Re: Късметлии

Мнениеот Гост » 30 Юни 2023, 21:51

Получих отговор [tex]P = \frac{2704}{133225} \approx 0,02[/tex] - верен ли е, ако не е - далече ли съм, или близо
Гост
 

Re: Късметлии

Мнениеот peyo » 01 Юли 2023, 13:35

Genie_Almo написа:Петър и Светлана са истински късметлии! Освен, че са щастливо женени, рождените дни и на двамата, както и тяхната гошишнина от сватбата, винаги се падат в един и същи ден от седмицата. И трите дати винаги се падат или в понеделник, или във вторник, или в сряда и т.н., в рамките на календарната година. Но каква е вероятността това да се случи? За определеност приемаме, че Петър и Светлана са наши съвременници и в момента са някъде из този свят и са щастливи заедно.


Значи всяка година и трите дати се падат в един и същи ден от седмицата, като в различните години денят не задължително същия.

Това мисля означава че разликите в дни между всеки две от трите дати се дели на 7. Но ако годината е високосна, и ако има дати преди и след края на февруари, то разликите няма да се делят на 7. Значи и трите дати са преди и включително 28 февруари или и трите са след това.

Да видим колко дни за това:
In [1]: from datetime import datetime as dt

In [6]: (dt(year=2023,month=2,day=28) - dt(year=2023,month=1,day=1)).days+1
Out[6]: 59

In [7]: (dt(year=2023,month=12,day=31) - dt(year=2023,month=1,day=1)).days+1
Out[7]: 365


Тогава ако и трите са преди. Първата дата може да бъде където и да е. Втората дата трябва да е на разлика кратна на 7. Това са грубо 1/7 от възможните дати. Третата дата също трябва да е същата 1/7 част грубо. Същото и ако и трите са след 28 фев.

Каква е вероятността и трите дати да са пред 28 фев?

In [8]: (59/365)*(59/365)*(59/365)
Out[8]: 0.004223548071163986

Или много малка. А и трите да са след?

In [10]: 365-59
Out[10]: 306

In [11]: (306/365)**3
Out[11]: 0.5892311338579034

Доста по голяма.

И сега общата вероятност е:

In [12]: 0.004223548071163986*(1/7)*(1/7) + 0.5892311338579034*(1/7)*(1/7)
Out[12]: 0.012111320039368722

И сега остава да направим симулация и да видим дали сме познали!


Код: Избери целия код
from datetime import datetime as dt
from random import randint

def make_random_date(year):
   while True:
      try:
         d = dt(year=year,month=randint(1,12),day=randint(1,31))
         return d
      except ValueError:
         pass
p,N=0,10000000

for i in range(N):
   year= randint(2000,2023)
   d1,d2,d3 = make_random_date(year),make_random_date(year),make_random_date(year)
   if d1.weekday()==d2.weekday()==d3.weekday():
      p+=1

print(p,N,p/N)


203652 10000000 0.0203652

Което въобше не е близо. Но пък е много близо до това:

Гост написа:Получих отговор [tex]P = \frac{2704}{133225} \approx 0,02[/tex] - верен ли е, ако не е - далече ли съм, или близо


Значи Гост е прав, а аз има грешка някъде в логиката. Май се сещам къде греша. Има възможност трите дати да не са от същата страна и пак да са в един и същи ден.
peyo
Математик
 
Мнения: 1746
Регистриран на: 16 Мар 2019, 09:35
Местоположение: София
Рейтинг: 655

Re: Късметлии

Мнениеот peyo » 01 Юли 2023, 14:16

peyo написа:
И сега общата вероятност е:

In [12]: 0.004223548071163986*(1/7)*(1/7) + 0.5892311338579034*(1/7)*(1/7)
Out[12]: 0.012111320039368722

И сега остава да направим симулация и да видим дали сме познали!
...
203652 10000000 0.0203652

Което въобше не е близо. Но пък е много близо до това:

Гост написа:Получих отговор [tex]P = \frac{2704}{133225} \approx 0,02[/tex] - верен ли е, ако не е - далече ли съм, или близо


Значи Гост е прав, а аз има грешка някъде в логиката. Май се сещам къде греша. Има възможност трите дати да не са от същата страна и пак да са в един и същи ден.



Хмм. Като помислих малко повече, няма начин някоя от датите да са от различна страна на 28 фев. Значи симулацията ми е грешна, защото датите не трябва да се променят през годините. Това обяснява разликата от теоретичната стойност. Да оправим симулацията:

Код: Избери целия код
from datetime import datetime as dt
from random import randint

def make_random_date(year):
   while True:
      try:
         d = dt(year=year,month=randint(1,12),day=randint(1,31))
         return d
      except ValueError:
         pass
p,N=0,10000000

for i in range(N):
   year = 2023
   dx = [make_random_date(year),make_random_date(year),make_random_date(year)]
   flag_pass=True
   for year in range(2000,2023):
      for  j in range(3):
         dx[j] = dt(year=year,month=dx[j].month,day=dx[j].day)
      if not (dx[0].weekday()==dx[1].weekday()==dx[2].weekday()):
         flag_pass=False
         break
   if flag_pass:
      p+=1

print(p,N,p/N)


120646 10000000 0.0120646

Много по-добре вече и много близо до теоретичната стойност от 0.012111320039368722.
peyo
Математик
 
Мнения: 1746
Регистриран на: 16 Мар 2019, 09:35
Местоположение: София
Рейтинг: 655


Назад към Математиката-обща тема



Кой е на линия

Регистрирани потребители: Google [Bot]

Форум за математика(архив)