Dynamic Bayesian Approach for Detecting Cheats in Multi-Player ...
Dynamic Bayesian Approach for Detecting Cheats in Multi-Player ...
Dynamic Bayesian Approach for Detecting Cheats in Multi-Player ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
17<br />
18<br />
19<br />
20<br />
21<br />
22<br />
23<br />
24<br />
25<br />
26<br />
27<br />
28<br />
29<br />
30<br />
31<br />
32<br />
33<br />
34<br />
35<br />
36<br />
37<br />
38<br />
39<br />
40<br />
41<br />
42<br />
43<br />
44<br />
45<br />
46<br />
47<br />
48<br />
49<br />
50<br />
51<br />
52<br />
53<br />
54<br />
55<br />
56<br />
57<br />
58<br />
59<br />
60<br />
61<br />
62<br />
63<br />
64<br />
65<br />
6 S.F. Yeung, John C.S. Lui<br />
Cheat<strong>in</strong>g<br />
C ~<br />
Aim<strong>in</strong>g<br />
Accuracy<br />
A ~<br />
Distance<br />
D ~<br />
(a) A <strong>Bayesian</strong> network consists of three random<br />
variables aim<strong>in</strong>g Accuracy, Cheat<strong>in</strong>g<br />
and Distance.<br />
C ~ t-1<br />
A ~ t-1<br />
Fig. 1 An example of <strong>Bayesian</strong> network and <strong>Dynamic</strong> <strong>Bayesian</strong> network.<br />
replicat<strong>in</strong>g the <strong>Bayesian</strong> network <strong>in</strong> Figure 1(a) <strong>for</strong> every<br />
time slices. This enhancement adds a dependency between<br />
the random variable Cheat<strong>in</strong>g( ˜ C) <strong>in</strong> every two adjacent<br />
time slices. In other words, the random variable ˜ Ct at time t<br />
depends on the random variable ˜ Ct−1 at time (t−1).<br />
Inferr<strong>in</strong>g a DBN is much like <strong>in</strong>ferr<strong>in</strong>g a static <strong>Bayesian</strong><br />
network, but one will not <strong>in</strong>fer the whole dynamic <strong>Bayesian</strong><br />
network s<strong>in</strong>ce the state space is large (or <strong>in</strong>f<strong>in</strong>ite) and it is<br />
computational expensive to deal with an arbitrary large dynamic<br />
<strong>Bayesian</strong> network as time elapses. Instead, one needs<br />
to update the probabilities and “roll” the network <strong>for</strong>ward as<br />
time elapses. We illustrate this concept with a work<strong>in</strong>g example.<br />
Figure 1(b) models the temporal change <strong>in</strong> the probability<br />
of whether the player is cheat<strong>in</strong>g or not, as well as the<br />
<strong>in</strong>fluence of the random variable ˜ Ct and ˜ Dt on the probability<br />
of the player’s aim<strong>in</strong>g accuracy.<br />
Without the loss of generality, the very first time slice<br />
occurs at t = 0 is considered as a special case with the assumption<br />
that the prior probability P( ˜ C0 = true) = 0.5<br />
(i.e., <strong>in</strong> the beg<strong>in</strong>n<strong>in</strong>g, we have no <strong>in</strong><strong>for</strong>mation to determ<strong>in</strong>ate<br />
whether a player is a cheater or not. So we consider<br />
the case that a player can be honest or cheat<strong>in</strong>g with equal<br />
probabilities). Let say that <strong>in</strong> the first time slice, we observe<br />
that the player aims accurately from a short distance, i.e.,<br />
Ã1 = 1 and ˜ D1 = 0. For the second time slice, we also observe<br />
that the player aims accurately from a long distance,<br />
i.e., Ã2 = 1 and ˜ D2 = 1. Given the outcomes of Ãt and<br />
˜Dt, <strong>for</strong> t ∈ {1, 2} are known, one can <strong>in</strong>fer the probability<br />
of whether the player is cheat<strong>in</strong>g or not on each of these two<br />
time slices.<br />
The <strong>in</strong>ference can be carried out <strong>in</strong> two stages. For the<br />
first stage, we estimate whether ˜ Ct is true or not based on<br />
the probability distribution of ˜ Ct−1. For the second stage,<br />
we improve the estimate of ˜ Ct based on the observed values<br />
of Ãt and ˜ Dt at time t. Let us illustrate this concept.<br />
On the first time slice, estimate the outcome of ˜ C1 based<br />
on ˜ C0. Note that this estimation is computed based on the<br />
conditional probability distribution P(Ct|Ct−1). The esti-<br />
D ~ t-1<br />
C ~ t-1<br />
A ~ t-1<br />
D ~ t-1<br />
C ~ t-1<br />
A ~ t-1<br />
time slice t-1 time slice t time slice t+1<br />
(b) A DBN unrolled <strong>for</strong> three consecutive time slices.<br />
mate of ˜ Ct is:<br />
P( ˜ C1 = T)<br />
= P( ˜ C1 = T | ˜ C0 = T)P( ˜ C0 = T)<br />
+P( ˜ C1 = T | ˜ C0 = F)P( ˜ C0 = F)<br />
= (0.8)(0.5) + (0.3)(0.5)<br />
= 0.55.<br />
D ~ t-1<br />
For the second stage, we update this estimate base on the<br />
observed values of Accuracy and Distance (i.e., Ã1 and<br />
˜D1) <strong>for</strong> time slice t = 1, which gives:<br />
P( ˜ C1 = T | Ã1 = 1, ˜ D1 = 0)<br />
P(<br />
=<br />
Ã1 = 1| ˜ C1 = T, ˜ D1 = 0)P( ˜ C1 = T)P( ˜ D1 = 0)<br />
�<br />
c1 P(Ã1 = 1| ˜ C1 = c1, ˜ D1 = 0)P( ˜ C1 = c1)P( ˜ D1 = 0)<br />
(0.5)(0.55)<br />
=<br />
(0.5)(0.55) + (0.5)(0.45)<br />
= 0.38.<br />
This gives the probability of whether the player is cheat<strong>in</strong>g<br />
or not at time slice t = 1.<br />
For the second time slice, we estimate the outcome of ˜ C2<br />
based on updated probability of ˜ C1, this gives:<br />
P( ˜ C2 = T)<br />
= P( ˜ C2 = T | ˜ C1 = T)P( ˜ C1 = T)<br />
+P( ˜ C2 = T | ˜ C1 = F)P( ˜ C1 = F)<br />
= (0.8)(0.38) + (0.3)(0.62)<br />
= 0.49.<br />
Then we update this estimate based on the observed values<br />
of Ã2 and ˜ D2, this gives:<br />
P( ˜ C2 = T | Ã2 = 1, ˜ D2 = 1)<br />
P(<br />
=<br />
Ã2 = 1| ˜ C2 = T, ˜ D2 = 1)P( ˜ C2 = T)P( ˜ D2 = 1)<br />
�<br />
c2 P(Ã2 = 1| ˜ C2 = c2, ˜ D2 = 1)P( ˜ C2 = c2)P( ˜ D2 = 1)<br />
(1.0)(0.49)<br />
=<br />
(1.0)(0.49) + (0.5)(0.51)<br />
= 0.66.