KAlgebra/Probabilities/uk: Difference between revisions

From KDE Wiki Sandbox
(Created page with "Казино виграє, якщо шістка не випаде або випаде один раз. Якщо рахувати виграш казино за допомог...")
(Created page with "Тепер визначимо, чи є шанси на виграш збалансованими. Створимо функцію win(x), яка обчислюватиме в...")
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=

Revision as of 17:00, 10 September 2012

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, але через похибки у внутрішньому представленні чисел у ком’ютері ми отримали лише близьке до нуля число.

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