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

Вероятности

Вероятности

Мнениеот Гост » 05 Яну 2023, 12:38

Задача 42.
Майстор и ученик играят шахматна партия. Майсторът печели мача, ако спечели
всички игри в мача, а ученикът печели мача, ако спечели поне една игра.
Вероятността майсторът да спечели една отделна игра е 0,9, а вероятността ученикът
да спечели една отделна игра е 0,1. От колко игри трябва да се състои мачът, така че
вероятността майсторът и ученикът да го спечелят са възможно най-близки до 1/2?
Гост
 

Re: Вероятности

Мнениеот peyo » 06 Яну 2023, 14:22

Гост написа:Задача 42.
Майстор и ученик играят шахматна партия. Майсторът печели мача, ако спечели
всички игри в мача, а ученикът печели мача, ако спечели поне една игра.
Вероятността майсторът да спечели една отделна игра е 0,9, а вероятността ученикът
да спечели една отделна игра е 0,1. От колко игри трябва да се състои мачът, така че
вероятността майсторът и ученикът да го спечелят са възможно най-близки до 1/2?


$0.9^x = 0.5$

$xlog(0.9) = log(0.5)$

$x= log(0.5)/log(0.9) $

$x = 6.57881347896059$

Изглежда между 6 и 7 игри ше трябва да играят. Да проверим:

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

G = [0]*11
N = 1000000
for n in range(1,10):
   for i in range(N):
      for game in range(n):
         if random() > 0.9:
            G[n]+=1
   print(n,G[n]/N)


1 0.10036
2 0.200959
3 0.300434
4 0.39921
5 0.499751
6 0.599407
7 0.699967
8 0.798096
9 0.899453

Хммм. Оказва се, че точно 5 игри трябва да играят. Нещо първото ни уравнение не е наред. Ще трябва да помислим повече каква е логиката тук...
peyo
Математик
 
Мнения: 1767
Регистриран на: 16 Мар 2019, 09:35
Местоположение: София
Рейтинг: 663

Re: Вероятности

Мнениеот peyo » 06 Яну 2023, 15:44

peyo написа:Хммм. Оказва се, че точно 5 игри трябва да играят. Нещо първото ни уравнение не е наред. Ще трябва да помислим повече каква е логиката тук...


Ok, след кратък размисъл и внимателна проверка за бъгове, оказа се, че имаме бъг в симулацията и правилната версия е:

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

G = [0]*11
N = 1000000
for n in range(1,10):
   for i in range(N):
      for game in range(n):
         if random() > 0.9:
            G[n]+=1
            break
   print(n,G[n]/N)


1 0.100044
2 0.190059
3 0.270092
4 0.343243
5 0.409812
6 0.468746
7 0.520693
8 0.56982
9 0.611857

И този път симулацията съвпада с аналитичното решение много по-добре и отговора пак става между 6 и 7.

Имаме и много добре приближение с обратната проверка:
In [45]: 1-0.9**7
Out[45]: 0.5217030999999999

In [46]: 1-0.9**6
Out[46]: 0.46855899999999995
peyo
Математик
 
Мнения: 1767
Регистриран на: 16 Мар 2019, 09:35
Местоположение: София
Рейтинг: 663


Назад към Вероятности, статистика



Кой е на линия

Регистрирани потребители: 0 регистрирани

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