KAlgebra/Probabilities/uk: Difference between revisions

From KDE Wiki Sandbox
(Created page with "Нехай ми ведемо гру 5 гральними кістками.")
No edit summary
 
(48 intermediate revisions by 2 users not shown)
Line 9: Line 9:
[[Image:25849-IMG_0837_1600.JPG|200px|right]]
[[Image:25849-IMG_0837_1600.JPG|200px|right]]


== Theory behind game ==
== Теорія, яка лежить в основі гри ==


First we have to analyze one die:
Спочатку проаналізуємо ситуацію з киданням однієї кістки:


The probability to get a number on a dice is 1/6 or 16,667% because the total numbers of events is 6 and the die is equiprobal.
Ймовірність отримати під час викидання будь-яке з чисел на кістці дорівнює 1/6 або 16,667%, оскільки ми маємо рівно 6 можливих результатів викидання і кожен з них є рівноймовірним з іншими.


The probability to get each number is on the right
Нижче наведено таблицю, де праворуч від числа на кістці записано ймовірність його випадання.


{{Input|
{{Input|
     1    16.667%
     1    16,667%
     2 16.667%
     2   16,667%
     3    16.667%  
     3    16,667%  
     4 16.667%  
     4   16,667%  
     5    16.667%  
     5    16,667%  
     6 16.667%  
     6   16,667%  
}}
}}
When we launch 2 dices probabilities change, so we report them:
Якщо ми кидатимемо 2 кістки, розподіл ймовірностей, звичайно ж, зміниться:


{{Input|
{{Input|
     2 2.778%
     2   2,778%
     3 5.556%
     3   5,556%
     4 8.333%
     4   8,333%
     5 11.111%
     5   11,111%
     6 13.889%
     6   13,889%
     7 16.667%
     7   16,667%
     8 13.889%
     8   13,889%
     9 11.111%
     9   11,111%
     10  8.333%
     10  8,333%
     11 5.556%
     11   5,556%
     12  2.778%
     12  2,778%
}}
}}


Why is the probability for each number so different respect to first one, you may ask, the solution is very simple. Let's take '4' and make all the combinations of 2 numbers that summed gives 4:
Чому ж, на відміну від випадку з однією кісткою, маємо різні значення ймовірностей для кожного з чисел? Відповідь дуже проста. Розглянемо результат «4» і всі комбінації з двох натуральних чисел, які у сумі дають 4:


     1+3 = 4
     1+3 = 4
Line 48: Line 48:




So we have to sum the probability of these numbers to get the total probability of 4. Let's test it:
Таким чином, нам слід додати ймовірності кожної з цих комбінацій, щоб отримати загальну ймовірність випадання суми 4. Ось результат:


   Prob(1,3) + Prob(3,1) + Prob(2,2) = 1/6 * 1/6 + 1/6 * 1/6 + 1/6 * 1/6 = 0.08333 = 8,333%
   P(1,3) + P(3,1) + P(2,2) = 1/6 * 1/6 + 1/6 * 1/6 + 1/6 * 1/6 = 0,08333 = 8,333%


So if we have 5 dice, we should get for each resulting number the 5 numbers on dice that summed up give us it. The way to get the probabilities of each number with more dices is equal.
Отже, якщо у нас буде 5 кісток, нам доведеться додавати ймовірності для всіх варіантів чисел на 5 кістках, які у сумі дають потрібне нам число. Спосіб отримання ймовірностей сум для більшої кількості кісток є аналогічним.


== The probability problem ==
== Задача зі знаходження ймовірності ==


Now we mind at a problem, if we roll our 5 dice and we want 3 '6', what is the probability to get them?
Розгляньмо задачу зі знаходження ймовірності випадання з п’яти кісток трьох з шістками.


ok, the problem is: probability on first dice * probability on second dice * probability on third dice * negative probability on fourth * negative probability on fifth
Знайти цю ймовірність можна таким чином: ймовірність випадання шістки на одній кістці * ймовірність випадання шістки на ще одній кістці * ймовірність випадання шістки на ще одній кістці * ймовірність випадання не шістки на одній кістці * ймовірність випадання не шістки на ще одній кістці


So for instance the dice can be: '''6 6 6 2 3''', but they can also be '''5 6 6 6 1''', so we have to introduce a binomial coefficient to count all this cases.
Потрібна нам комбінація може бути такою: '''6 6 6 2 3''', або такою: '''5 6 6 6 1'''. Отже нам слід врахувати те, що нас задовольнятиме будь-який порядок випадання кісток, аби лише серед них було рівно три шістки. Тому слід ввести до розрахунків біноміальні коефіцієнти.
To have the binomial coefficient of '''N''' numbers on '''M''' position the formula for '''KAlgebra''' is:
Обчислити біноміальний коефіцієнт з '''N''' по '''M''' у '''KAlgebra''' можна таким чином:
{{Input|1=factorial(N) / (factorial(M) * factorial(N-M))}}
{{Input|1=factorial(N) / (factorial(M) * factorial(N-M))}}
This is the combinatorial coefficient, which we can define like this:
Це комбінаторне число, яке визначається такою формулою:


{{Input|1=comb:=(N,M)->factorial(N) / (factorial(M) * factorial(N-M))}}
{{Input|1=comb:=(N,M)->factorial(N) / (factorial(M) * factorial(N-M))}}


So the binomial coefficient of 3 numbers on 5 position is:  
Отже, біноміальний коефіцієнт для 3 чисел у 5 позиціях буде таким:  


{{Input|1=comb(5,3)}}
{{Input|1=comb(5,3)}}
Line 73: Line 73:




so at last our function will be:
Отже наша функція набуде такого остаточного вигляду:


{{Input|1=(comb(5, 3)*(1/6)*(1/6)*(1/6)*(5/6)*(5/6))}}
{{Input|1=(comb(5, 3)*(1/6)*(1/6)*(1/6)*(5/6)*(5/6))}}
{{Output|1== 0.0321502}}
{{Output|1== 0.0321502}}


We can now define a simple function to get the result:
Тепер ми можемо визначити просту функцію для отримання результату:


{{Input|1=binomial:=(b, p, k)->(comb(b, k)*p^k)*(1-p)^(b-k)}}
{{Input|1=binomial:=(b, p, k)->(comb(b, k)*p^k)*(1-p)^(b-k)}}


So now:
Отже тепер маємо:


{{Input|1=binomial(5, 1/6,3)}}
{{Input|1=binomial(5, 1/6,3)}}
{{Output|1== 0.0321502}}
{{Output|1== 0.0321502}}


It's the probability on 5 extraction to get 3 identical number where the probability of each card is 1/6 and the negative probability is 5/6
Це ймовірність отримати з п’яти елементарних подій (випадання певного числа на кістці) 3 сприятливих, якщо ймовірність сприятливого результату у елементарній події дорівнює 1/6, а ймовірність несприятливого — 5/6.


We can notice that the sum of probabilities is 1:
Ви можете зауважити, що сума ймовірностей дорівнює 1:


{{Input|1=sum(binomial(5,1/6,t):t=0..5)}}
{{Input|1=sum(binomial(5,1/6,t):t=0..5)}}
Line 95: Line 95:




We can think that the probability progress until the maximum value and then it decrease constantly as it has progressed. So we can see that the distribution of numbers among the extraction is like a bell, this kind of distribution is called a [http://en.wikipedia.org/wiki/Binomial_distribution binomial distribution].
У розподілі ймовірностей за значеннями величини ймовірностей спочатку зростають до максимального значення, а потім спадають. Форма розподілу нагадує форму дзвону. Такий розподіл ймовірностей називається [https://uk.wikipedia.org/wiki/Біноміальний_розподіл біноміальним розподілом].


So now we understand that the game is non balanced, there are probabilities better than other so who choose the best can win easily.
Отже, тепер зрозуміло, що розподіл між можливими сумами на кістках не є рівномірним, тому вибір комбінацій з більшою ймовірністю випадання може вести до виграшу у грі з вгадування суми.


The only way to have a fair game is to gambling with only one die because each face has 1/6 of probability. Another type of equiprobal chances are the launch of a coin where each face is 1/2 of probability.
Єдиним варіантом, коли всі результати є рівноймовірними, є варіант з однією кісткою, оскільки ймовірність випадання будь-якого числа у цьому випадку дорівнює 1/6. Ще одним прикладом такого рівномірного розподілу ймовірностей є підкидання монетки, коли ймовірність випадання будь-якої з її сторін дорівнює 1/2.


A simple way where a player can win is to improve the probability on a face so it will be unbalanced, for istance the bank in a game can put a small load on the face with '6' so the probabilities change and the dice now became:
Простим способом досягнення виграшу є збільшення ймовірності випадання потрібної грані. Наприклад, казино може додати невеличку вагу навпроти грані з шісткою, щоб ймовірності змінилися, скажімо так:


{{Input|
{{Input|
Line 112: Line 112:
}}
}}


So now if we roll the 5 dices with this probability and we want 3 '6' to win the total probability is:
Тепер, якщо ми викинемо 5 кісток, а нам потрібно буде три шістки, загальна ймовірність зміниться так:


{{Input|1=binomial(5,0.25,3)}}
{{Input|1=binomial(5,0.25,3)}}
Line 118: Line 118:




[[Image:Kalgebra-dice.png|300px|right|Snapshot of '''KAlgebra''' window doing calculations about probabilities]]
[[Image:Kalgebra-dice_uk.png|thumb|300px|right|Знімок вікна '''KAlgebra''' під час виконання обчислень ймовірностей]]


=== Real World Example ===
=== Реалістичний приклад ===


There are two person, the bank and the player.
Нехай маємо казино, яке грає проти гравця.
Let's say they have 5 dices and the entrance fee for player is 1$. We can create a game like this:
Припустімо, що маємо також 5 кісток і початкову ставку у 1$. Тепер створимо правила гри таким чином:


0 to 1 times dice with '6': player loses 1$ with the fee
немає шісток або одна шістка: гравець програє 1$


2 to 3 times dice with '6': player win 1$ with the fee
дві або 3 шістки: гравець виграє 1$


4 times dice with '6': player win 175$ with the fee
чотири шістки: гравець виграє 175$


5 times dice with '6': player win 375$ with the fee
п’ять шісток: гравець виграє 375$


{|class="tablecenter" style="border: 1px solid grey;"
{|class="wikitable" style="border: 1px solid grey;"
! k times '6'
! Кількість шісток
! win or loose
! Виграш або програш
|-
|-
| 0
| 0
Line 156: Line 156:
|}
|}


Let's calculate the probability:
Виконаємо розрахунок ймовірностей:


Probability for player:  
Виграш гравця:  


The player can win only with 2-3 times '''6''', 4 times '''6''' or 5 times '''6''', so if we want to process the probability with '''KAlgebra''' it will be:
Гравець виграє лише якщо випаде від двох до п’яти шісток. Отже, якщо рахувати ймовірність виграшу за допомогою '''KAlgebra''', матимемо:


{{Input|
{{Input|
Line 170: Line 170:




Probability for bank:
Виграш казино:


The bank can win only with 0-1 times '''6''', so if we want to process the probability with '''KAlgebra''' it will be:
Казино виграє, якщо шістка не випаде або випаде один раз. Якщо рахувати виграш казино за допомогою '''KAlgebra''', матимемо:


{{Input|
{{Input|
Line 181: Line 181:
}}
}}


We now want to see if player and bank are balanced,
Тепер визначимо, чи є шанси на виграш збалансованими.
We create a function win(x), that create a correspondence between values and prizes:
Створимо функцію win(x), яка обчислюватиме відповідність між сумами ставок і ймовірностями виграшу:


{{Input|1=
{{Input|1=
Line 188: Line 188:
}}
}}


Let's verify the expression with '''KAlgebra''':
Давайте перевіримо наші обчислення за допомогою '''KAlgebra''':


{{Input|
{{Input|
Line 197: Line 197:
}}
}}


The result should be 0, but because of the internal representation of numbers in the computer the result is not exact.
Результатом мав бути 0, але через похибки у внутрішньому представленні чисел у ком’ютері ми отримали лише близьке до нуля число.


As we can see the problem is equilibrated and player and bank will not win or lose anything for an infinite number of games.
Як бачимо, у цьому випадку маємо гру з нульовою сумою: ні гравець, ні казино нічого не виграють, якщо гра продовжуватиметься нескінченно довго.


[[Category:Education]]
[[Category:Освіта/uk]]

Latest revision as of 16:39, 8 October 2022

Other languages:

На цій сторінці наведено декілька прикладів використання KAlgebra для розв’язування задач теорії ймовірностей.

Вступ

Нехай ми ведемо гру 5 гральними кістками.

Теорія, яка лежить в основі гри

Спочатку проаналізуємо ситуацію з киданням однієї кістки:

Ймовірність отримати під час викидання будь-яке з чисел на кістці дорівнює 1/6 або 16,667%, оскільки ми маємо рівно 6 можливих результатів викидання і кожен з них є рівноймовірним з іншими.

Нижче наведено таблицю, де праворуч від числа на кістці записано ймовірність його випадання.

    1    16,667%
    2    16,667%
    3    16,667% 
    4    16,667% 
    5    16,667% 
    6    16,667% 

Якщо ми кидатимемо 2 кістки, розподіл ймовірностей, звичайно ж, зміниться:

    2    2,778%
    3    5,556%
    4    8,333%
    5    11,111%
    6    13,889%
    7    16,667%
    8    13,889%
    9    11,111%
    10   8,333%
    11   5,556%
    12   2,778%

Чому ж, на відміну від випадку з однією кісткою, маємо різні значення ймовірностей для кожного з чисел? Відповідь дуже проста. Розглянемо результат «4» і всі комбінації з двох натуральних чисел, які у сумі дають 4:

   1+3 = 4
   3+1 = 4
   2+2 = 4


Таким чином, нам слід додати ймовірності кожної з цих комбінацій, щоб отримати загальну ймовірність випадання суми 4. Ось результат:

  P(1,3) + P(3,1) + P(2,2) = 1/6 * 1/6 + 1/6 * 1/6 + 1/6 * 1/6 = 0,08333 = 8,333%

Отже, якщо у нас буде 5 кісток, нам доведеться додавати ймовірності для всіх варіантів чисел на 5 кістках, які у сумі дають потрібне нам число. Спосіб отримання ймовірностей сум для більшої кількості кісток є аналогічним.

Задача зі знаходження ймовірності

Розгляньмо задачу зі знаходження ймовірності випадання з п’яти кісток трьох з шістками.

Знайти цю ймовірність можна таким чином: ймовірність випадання шістки на одній кістці * ймовірність випадання шістки на ще одній кістці * ймовірність випадання шістки на ще одній кістці * ймовірність випадання не шістки на одній кістці * ймовірність випадання не шістки на ще одній кістці

Потрібна нам комбінація може бути такою: 6 6 6 2 3, або такою: 5 6 6 6 1. Отже нам слід врахувати те, що нас задовольнятиме будь-який порядок випадання кісток, аби лише серед них було рівно три шістки. Тому слід ввести до розрахунків біноміальні коефіцієнти. Обчислити біноміальний коефіцієнт з N по M у KAlgebra можна таким чином:

factorial(N) / (factorial(M) * factorial(N-M))

Це комбінаторне число, яке визначається такою формулою:

comb:=(N,M)->factorial(N) / (factorial(M) * factorial(N-M))

Отже, біноміальний коефіцієнт для 3 чисел у 5 позиціях буде таким:

comb(5,3)
=	10


Отже наша функція набуде такого остаточного вигляду:

(comb(5, 3)*(1/6)*(1/6)*(1/6)*(5/6)*(5/6))
=	0.0321502

Тепер ми можемо визначити просту функцію для отримання результату:

binomial:=(b, p, k)->(comb(b, k)*p^k)*(1-p)^(b-k)

Отже тепер маємо:

binomial(5, 1/6,3)
=	0.0321502

Це ймовірність отримати з п’яти елементарних подій (випадання певного числа на кістці) 3 сприятливих, якщо ймовірність сприятливого результату у елементарній події дорівнює 1/6, а ймовірність несприятливого — 5/6.

Ви можете зауважити, що сума ймовірностей дорівнює 1:

sum(binomial(5,1/6,t):t=0..5)
=	1


У розподілі ймовірностей за значеннями величини ймовірностей спочатку зростають до максимального значення, а потім спадають. Форма розподілу нагадує форму дзвону. Такий розподіл ймовірностей називається біноміальним розподілом.

Отже, тепер зрозуміло, що розподіл між можливими сумами на кістках не є рівномірним, тому вибір комбінацій з більшою ймовірністю випадання може вести до виграшу у грі з вгадування суми.

Єдиним варіантом, коли всі результати є рівноймовірними, є варіант з однією кісткою, оскільки ймовірність випадання будь-якого числа у цьому випадку дорівнює 1/6. Ще одним прикладом такого рівномірного розподілу ймовірностей є підкидання монетки, коли ймовірність випадання будь-якої з її сторін дорівнює 1/2.

Простим способом досягнення виграшу є збільшення ймовірності випадання потрібної грані. Наприклад, казино може додати невеличку вагу навпроти грані з шісткою, щоб ймовірності змінилися, скажімо так:

0.15 	 1
0.15	 2
0.15	 3
0.15	 4
0.15	 5
0.25	 6

Тепер, якщо ми викинемо 5 кісток, а нам потрібно буде три шістки, загальна ймовірність зміниться так:

binomial(5,0.25,3)
=	0.087890625


Знімок вікна KAlgebra під час виконання обчислень ймовірностей

Реалістичний приклад

Нехай маємо казино, яке грає проти гравця. Припустімо, що маємо також 5 кісток і початкову ставку у 1$. Тепер створимо правила гри таким чином:

немає шісток або одна шістка: гравець програє 1$

дві або 3 шістки: гравець виграє 1$

чотири шістки: гравець виграє 175$

п’ять шісток: гравець виграє 375$

Кількість шісток Виграш або програш
0 -1$
1 -1$
2 1$
3 1$
4 175$
5 375$

Виконаємо розрахунок ймовірностей:

Виграш гравця:

Гравець виграє лише якщо випаде від двох до п’яти шісток. Отже, якщо рахувати ймовірність виграшу за допомогою KAlgebra, матимемо:

binomial(5,1/6,2)+binomial(5,1/6,3)+binomial(5,1/6,4)+binomial(5,1/6,5)
=	0.196244855967


Виграш казино:

Казино виграє, якщо шістка не випаде або випаде один раз. Якщо рахувати виграш казино за допомогою KAlgebra, матимемо:

binomial(5,1/6,0)+binomial(5,1/6,1)
=	0.803755144033

Тепер визначимо, чи є шанси на виграш збалансованими. Створимо функцію win(x), яка обчислюватиме відповідність між сумами ставок і ймовірностями виграшу:

win:=x->piecewise { x=0 ? -1, x=1 ? -1, x=2 ? 1, x=3 ? 1, x=4 ? 175, x=5 ? 375, ? 0 }

Давайте перевіримо наші обчислення за допомогою KAlgebra:

sum(win(x)*binomial(5,1/6,x): x=0..5)
=	-2.01227923213e-16

Результатом мав бути 0, але через похибки у внутрішньому представленні чисел у ком’ютері ми отримали лише близьке до нуля число.

Як бачимо, у цьому випадку маємо гру з нульовою сумою: ні гравець, ні казино нічого не виграють, якщо гра продовжуватиметься нескінченно довго.