top-shop.ru
Кеды для девочек.
Все возможные "броски" игровых кубиков

Вероятности появления различных комбинаций игральных костей (кубиков)

Если за один ход игры принять бросок двух игральных кубиков, то какова будет вероятность выпадения заданной суммы очков.

Прикинем "вручную": Общее число возможных вариантов хода 6 * 6 = 36. Результатом броска может быть [2,3,4,5,6,7,8,9,10,11,12]. На каждом кубике выпадает число [1,2,3,4,5,6]. Подсчитать число вариантов выпадения заданного результата и разделить на 36 - это и будет величина вероятности.

Для начала, мы просто найдем все решения для выпавших кубиков:

verge(X) :- member(X,[1,2,3,4,5,6]).
summa(X) :- member(X,[2,3,4,5,6,7,8,9,10,11,12]).
dash(X,Y,Z) :- verge(X),verge(Y),summa(Z), Z =:= X + Y.

Прогон запроса dash(X,Y,Z). показвает, что решения найдены. Однако, нам нужны не сами решения, а их число для каждой из возможных к выпадению сумм "очков". Спросим программу по другому:
?- findall(Z,dash(X,Y,Z),Cs).
Cs = [2,3,4,5,6,7,3,4,5,6,7,8,4,5,6,7,8,9,5,6,7,8,9,10,6,7,8,9,10,11,7,8,9,10,11,12]

Это все варианты выпадения пары кубиков в виде списка (суммы очков). Составим цель, подсчитывающую число элементов в этом списке (two_cube.pl).

| ?- listing.

p(A, B) :-
 summa(A),
 findall(C, dash(_, _, C), D),
 delete(D, A, E),
 length(E, F),
 B is 36 - F.

verge(A) :-
 member(A, [1, 2, 3, 4, 5, 6]).

dash(A, B, C) :-
 verge(A),
 verge(B),
 summa(C),
 C =:= A + B.

summa(A) :-
 member(A, [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]).

(10 ms) yes
| ?- p(X,Y).

X = 2
Y = 1 ? ;

X = 3
Y = 2 ? ;

X = 4
Y = 3 ? ;

X = 5
Y = 4 ? ;

X = 6
Y = 5 ? ;

X = 7
Y = 6 ? ;

X = 8
Y = 5 ? ;

X = 9
Y = 4 ? ;

X = 10
Y = 3 ? ;

X = 11
Y = 2 ? ;

X = 12
Y = 1 ? ;
Расшифруем результат? X = 2 Y = 1 - сумма очков 2 выпадает при броске двух кубиков в одном - единственном случае (1 и 1). Т.е. вероятность 1/36.
  • Вероятность выпадения суммы очков = 2 есть 1/36
  • Вероятность выпадения суммы очков = 3 есть 2/36
  • Вероятность выпадения суммы очков = 4 есть 3/36
  • Вероятность выпадения суммы очков = 5 есть 4/36
  • Вероятность выпадения суммы очков = 6 есть 5/36
  • Вероятность выпадения суммы очков = 7 есть 6/36 - вероятнее всего выпадение 7 очков
  • Вероятность выпадения суммы очков = 8 есть 5/36
  • Вероятность выпадения суммы очков = 9 есть 4/36
  • Вероятность выпадения суммы очков = 10 есть 3/36
  • Вероятность выпадения суммы очков = 11 есть 2/36
  • Вероятность выпадения суммы очков = 12 есть 1/36
Итак, "лидер рейтинга" - семерка. Она может выпасть следующими способами:
| ?- dash(X,Y,7).

X = 1
Y = 6 ? ;

X = 2
Y = 5 ? ;

X = 3
Y = 4 ? ;

X = 4
Y = 3 ? ;

X = 5
Y = 2 ? ;

X = 6
Y = 1 ? ;

no
| ?- 

Вероятность выпадения четного и нечетного числа очков

Вероятность получения нечетной суммы очков, после броска двух кубиков:
P1 = 2/36 + 4/36 + 6/36 + 4/36 + 2/36 = 18/36 т.е.(0.5)

Выпадение нечетной суммы очков, также вероятно, как и четной суммы очков.

Блог изучающего Пролог

содержание