<div><br /></div> <div><br /></div> <div><br /></div> <div><br /></div> <div><br /></div> <div><br /></div> <div><br /></div> <div><br /></div> <div><span style="font-size: x-large; line-height: 1.5">목차</span></div> <div>0. 들어가며</div> <div>1. 과정 I - 관측에 의한 트롤 유저 비율 예측</div> <div>2. 과정 II - 트롤 비율에 따른 승률의 계산</div> <div>3. 과정 III - 명제 "나는 트롤이다" 의 가설 검정</div> <div><br /></div> <div><font size="4">기본적인 표기법</font></div> <div>nCk = n개의 물건 중 k개를 뽑는 경우의 수</div> <div>sum [i = a:b] f(i) = f(a) + ... + f(b)</div> <div>a^b = a*...*a (a를 b번 곱한 것)</div> <div> <div><br /></div> <div><br /></div> <div><br /></div> <div><font size="5">0. 들어가며</font></div> <div>통계적 추론의 방법론을 바탕으로 "난 트롤이 아니다"를 주장하는 것이 이 글의 목표입니다.</div> <div><br /></div> <div> <div>"나는 트롤이 아니다"라고 얘기하려면 다음과 같은 논리를 거쳐야 합니다.</div> <div><font color="#c00000"><span class="Apple-tab-span" style="white-space: pre"> </span>과정 I. 실2 지박령인 내가 최근의 N번의 게임을 관찰한 결과, 전체 유저 중 트롤 유저의 비율이 A% 보다 적을 리가 없다.</font></div> <div><font color="#c00000"><span class="Apple-tab-span" style="white-space: pre"> </span>과정 II. 근데 만약 내가 트롤 유저라면, 최근의 N번의 게임 중 n판을 이겼을 리가 없다</font></div> <div><font color="#c00000"><span class="Apple-tab-span" style="white-space: pre"> </span>과정 III. 따라서 나는 트롤이 아니다.</font></div> <div>각 과정에 따라 한 장(챕터)를 할당하여 설명합니다.</div></div> <div><br /></div> <div>과정 I에서 얻은 트롤 유저의 수를 과정 II의 승률로 바로 계산하지 않은 이유는,</div> <div>서로 비슷한 MMR/ELO대에서 승률을 분석하여 "넌 트롤이다"라고 주장할 수 있게 하기 위함입니다.</div> <div><br /></div> <div>이 문서에서 가정하는 내용은 다음과 같습니다.</div> <div><font color="#c00000">가정 1. 각각의 게임은 같은 MMR/ELO에서 진행되고, 통계적으로 서로 독립이다.</font></div> <div><font color="#c00000">가정 2. 게임이 진행되는 MMR/ELO대의 소환사의 수가 충분히 많다.</font></div> <div><br /></div> <div>ELO를 공개하지 않는 라이엇의 정책 상 다음의 가정도 추가하는 것이 현실적입니다.</div> <div><font color="#c00000">가정 3. 양 팀의 트롤 수가 같으면 50%의 확률로 아군 팀이 승리한다.</font></div> <div>MMR과 ELO의 구간이 일치하지 않으면 (어느 한 티어의 지박령이 아니면) 계산 결과는 크게 다를 수도 있습니다.</div> <div><br /></div> <div><br /></div> <div><br /></div> <div><font size="5">1. 과정 I - 관측에 의한 트롤 유저 비율 예측</font></div> <div> 자신의 MMR 구간에서의 트롤 비율을 추정하는 것이 목표입니다.</div> <div><br /></div> <div> 예를 들어, 최근 10 판 동안 트롤을 한 명도 안 만났으면, 트롤의 비율이 아마 5%는 안 넘지 않을까 .. ? 와 같은 식으로 생각하곤 하는데</div> <div>실제로 10 판 동안 트롤을 한 명도 못 봤다면, 트롤 유저가 전체의 5%가 넘을 확률은 0.04% 밖에 안 된다고 정량적인 판단을 할 수 있습니다.</div> <div><br /></div> <div> <div> 최근에 만난 N명의 중에서 트롤이 모두 t명이었다고 하겠습니다 (단, 1 << N << ∞).</div> <div>이 때 '트롤 유저가 전체의 x%가 안 될 확률'은 x에 관한 함수가 되는데, 이를 <span style="font-size: 9pt; line-height: 1.5">ℬ(x)로 쓰겠습니다.</span></div> <div>이 함수(분포라고도 합니다)를 구하는 것이 이 장의 목표입니다.</div> <div>ℬ(x)이 N과 t에도 의존한다는 사실을 강조하기 위해서 <span style="font-size: 9pt; line-height: 1.5">ℬ(x;N,t)라고 쓰기도 합니다.</span></div> <div><span style="font-size: 9pt; line-height: 1.5"><br /></span></div> <div>이 분포는 직접적으로 계산하는 것은 조금 어렵고, 반대로 생각하면 쉽게 구할 수 있습니다.</div> <div>'트롤 유저가 전체의 x%일 때, N명 중 t명이 트롤일 확률'을 A(N,t;x)라고 하면,</div> <div>A(N,t;x)는 이항정리에서 nCt * p^t * (1-p)^(n-t)라는 걸 유도할 수 있고</div> <div>역함수 정리에서 <span style="font-size: 9pt; line-height: 1.5">ℬ(p;N,t) = (0~p에서 A(N,t;x)를 적분) / (0~1에서 A(N,t;x)를 적분)을 얻을 수 있으므로</span></div> <div><span style="font-size: 9pt; line-height: 1.5">부분적분해서 </span><span style="font-size: 9pt; line-height: 1.5">ℬ를 표현할 수 있게 됩니다(혹은, </span><span style="font-size: 9pt; line-height: 1.5">ℬ(p;N,t) = beta(t+1, N-t+1, p), beta는 정규 불완전 베타 함수).</span></div> <div><br /></div></div> <div><img src="http://thimg.todayhumor.co.kr/upfile/201309/1379126251VpIGuy2qdwmYDP.jpg" width="800" height="561" alt="I_trollRatio.jpg" id="image_0626386228017509" class="chimg_photo" style="border: none" /></div> <div><br /></div> <div>한 판 동안 트롤을 한 명 봤을 때 예상할 수 있는, 전체 유저 중 트롤 유저의 비율 y=<span style="font-size: 9pt; line-height: 1.5">ℬ(x; 9,1)의 그래프는 위와 같습니다.</span></div> <div><span style="font-size: 9pt; line-height: 1.5">가로 축이 전체 유저 중 트롤의 비율, 세로 축이 '실제 트롤의 비율이 가로축이 나타내는 트롤의 비율보다 적을 확률'입니다.</span></div> <div><span style="font-size: 9pt; line-height: 1.5"><br /></span></div> <div>일반적으로 다음과 같은 식으로 주로 말하게 됩니다.</div> <div>"신뢰도 95%로 트롤이 3.67714%보다 많다"</div> <div>무슨 소리냐면, 전체 유저의 <span style="font-size: 9pt; line-height: 1.5">3.67714%보다 트롤이 적은데 한 판에 트롤 한 명을 볼 확률이 5%라는 뜻입니다.</span></div> <div><span style="font-size: 9pt; line-height: 1.5"><br /></span></div> <div><span style="font-size: 9pt; line-height: 1.5">마찬가지로, "신뢰도 95%로 트롤이 </span><span style="font-size: 9pt; line-height: 1.5">39.4163%보다 적다" 와 같은 표현을 쓸 수 있습니다.</span></div> <div><span style="font-size: 9pt; line-height: 1.5">전체 유저의 </span><span style="font-size: 9pt; line-height: 1.5">39.4163%보다 트롤이 많은데 한 판에 한 명 밖에 못 볼 확률이 5%라는 뜻입니다.</span></div> <div><span style="font-size: 9pt; line-height: 1.5"><br /></span></div> <div><span style="font-size: 9pt; line-height: 1.5"><br /></span></div> <div><span style="font-size: 9pt; line-height: 1.5"><br /></span></div> <div><br /></div> <div><font size="5">2. 과정 II - 트롤 비율에 따른 승률의 계산</font></div> <div> 이 장에서는 두 가지로 경우를 나누어 내가 트롤일 때 / 트롤이 아닐 때에 따라<span style="font-size: 9pt; line-height: 1.5"> 전체의 트롤 비율에 따른 승률을 계산하는 것을 목표로 합니다.</span></div> <div>여기서 하나의 가정을 추가하겠습니다.</div><span style="color: #c00000">가정 4. 한 쪽 팀의 트롤 수가 다르면 L%의 확률로 트롤이 적은 팀이 승리한다 (L > 0.5).</span> <div>즉, 한 쪽이 트롤이 많으면 무조건 승패를 결정하는 확률이 일정하다는 가정입니다.</div> <div><br /></div> <div><font size="4">2.0 기호의 정의 & 계산</font></div> <div>이 장에서 쓸 기호의 정의는 다음과 같습니다.</div> <div><br /></div> <div>p = 트롤의 비율 (소환사들 중 10%가 트롤이면 x = 0.1)</div> <div>a(n) = a(n;p) = 아군 팀에 트롤이 n명 있을 확률</div> <div>b(n) = b(n;p) = 적군 팀에 트롤이 n명 있을 확률</div> <div>B(n) = 적군 팀에 트롤이 n명 이상 있을 확률</div> <div>P(p) = 적 팀의 트롤 수가 아군의 트롤 수 보다 많을 확률</div> <div>S(p) = 양 팀의 트롤 수가 같을 확률</div> <div>r(p) = 아군이 승리할 확률</div> <div><br /></div> <div>(식 2.1) P(p) = sum [i=0:5] a(i,p)* B(i+1,p)</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>아군에 트롤이 없는데 적 팀에 트롤이 한 명 이상 + 아군에 트롤 한 명인데 적 팀에 트롤 두 명 이상 + ..</div> <div> <div><br /></div> <div>(식 2.2) B(n) = B(n;p) = sum [i=n:5] b(n;p) + ... + b(5;p)</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>트롤이 n 명 + 트롤이 (n+1)명 + ... + 트롤이 5명</div></div> <div><br /></div> <div>(식 2.3) S(p) = sum [i=0:5] a(i,p)* b(i,p) </div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>아군과 적군에 트롤이 없음 + 아군과 적 팀에 트롤이 한 명 씩 + ..</div> <div><br /></div> <div>(식 2.4) (가정 0.3, 가정 0.4에 의해) r(p) = P(p) * L + S(p) * 0.5 + (1-P(p)-S(p))*(1-L)</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>적 팀이 트롤이 더 많으면 L의 확률로 승리 + 양 팀 트롤 수가 같으면 승률이 0.5 + 우리 팀이 트롤이 더 많으면 (1-L)의 확률로 승리</div> <div><br /></div> <div>(식 2.5) <span style="font-size: 9pt; line-height: 1.5">적군 팀에 트롤이 n명 있을 확률 = 5Cn * p^n * (1-p)^(5-n) = b(n)</span></div> <div><br /></div> <div><font size="4">2.1 예상 승률</font></div> <div><br /></div> <div>한 판만 생각하면, <span style="font-size: 9pt; line-height: 1.5">내가 트롤이 아닐 때는</span></div> <div>아군 팀에 트롤이 n명 있을 확률 = 4Cn * p^n * (1-p)^(4-n) = a(n)</div> <div>이 a, b로 나머지 변수를 구할 수 있는데, 이렇게 얻은 승률을 r1(p)라고 하겠습니다.</div> <div><br /></div> <div>반대로 내가 트롤일 때는</div> <div>아군 팀에 트롤이 n명 있을 확률 = 4C(n-1) * p^(n-1) * (1-p)^(5-n) = a(n)</div> <div>이렇게 얻은 승률을 r2(p)라고 하겠습니다.</div> <div><br /></div> <div>이를 그래프로 그려보면 아래와 같습니다.</div> <div> <div><img src="http://thimg.todayhumor.co.kr/upfile/201309/1379126438pY5hHN3JszjFcZEsGnpw.jpg" width="750" height="525" alt="II_trollRatio-WinRate.jpg" id="image_0.1428776339162141" style="border: none" /></div> <div><br /></div>가로축이 트롤의 비율, 세로 축은 아군이 승리할 확률입니다. L = 1로 두었습니다(다른 값을 잡아도 모양은 비슷합니다).</div> <div><br /></div> <div>주목할 만한 점은 세 가지로,</div> <div>성질 1. 트롤의 비율이 높으면 승률이 높아진다.</div> <div>성질 2. 내가 트롤이면 승률이 50%보다 낮다</div> <div>성질 3. 내가 트롤이 아니면 승률이 50%보다 높다.</div> <div><br /></div> <div>여러 판의 게임을 할 때의 승률을 계산하기 위해, 한 판 <span style="font-size: 9pt; line-height: 1.5">승률이 r일 때 n판의 게임에서 w판 이상을 이길 확률을 R(r)이라고 하면</span></div> <div><span style="font-size: 9pt; line-height: 1.5">(식 2.6) R(r;n,w) = sum [i = w:n] nCi * r^i * (1-r)^(n-i)</span></div> <div><span style="font-size: 9pt; line-height: 1.5">을 얻습니다 (∵ 가정 1). </span><span style="font-size: 9pt; line-height: 1.5">트롤의 비율 p에 대해 증가함수입니다.</span></div> <div><br /></div> <div><br /></div> <div><br /></div> <div><font size="5">3. 과정 III - 가설 검정</font></div> <div> 명제 H0:"나는 트롤이다"를 귀무가설로 삼고 이를 기각하는 방향으로 서술하겠습니다.</div> <div><br /></div> <div> "내가 트롤이면, N판 중 w판 이상을 이길 확률이 (1-𝚺) 미만이다" 와 같은 주장을 할 수 있으면 됩니다 <span style="font-size: 9pt; line-height: 1.5">(여기서 </span><span style="font-size: 9pt; line-height: 1.5">𝚺는 신뢰도).</span></div> <div><br /></div> <div><span style="font-size: 9pt; line-height: 1.5">먼저 트롤 유저의 비율에서 신뢰 구간을 잡는 방법에 대해서 설명해 보겠습니다.</span></div> <div><span style="font-size: 9pt; line-height: 1.5">'2.1-예상 승률'의 성질 1에서 본 것과 같이 트롤 유저의 비율이 높을 수록 승률이 올라가는데</span></div> <div><span style="font-size: 9pt; line-height: 1.5">"트롤 비율은 아무리 적어도 이만큼인데, 그렇게 적다고 가정하더라도 내 승률이 이만큼이나 높다"와 같은 논지를 펼쳐야 하므로</span></div> <div><span style="font-size: 9pt; line-height: 1.5">신뢰도가 허락하는 한 가장 높은 값을 잡아야 합니다.</span></div> <div><span style="font-size: 9pt; line-height: 1.5"><br /></span></div> <div> <div><span style="font-size: 9pt; line-height: 1.5">1장의 끝에서 언급한 예를 다시 들면, 한 판 동안 트롤을 한 명 봤을 때</span></div> <div>"신뢰도 95%로 트롤이 3.67714%보다 많다"와 <span style="font-size: 9pt; line-height: 1.5">"신뢰도 95%로 트롤이 </span><span style="font-size: 9pt; line-height: 1.5">39.4163%보다 적다"의 두 명제 중</span></div> <div> 트롤의 비율이 3.67714%라고 가정해야 합니다.</div> <div> 즉 트롤 유저의 비율의 신뢰 구간은 95%의 신뢰도에서 [3.67714%, 100%]가 됩니다.</div></div> <div><span style="font-size: 9pt; line-height: 1.5"><br /></span></div> <div> <div> 가정 4의 L의 값은 "우리 팀에 <span style="font-size: 9pt; line-height: 1.5">트롤이 있을 때 질 확률이 얼마나 높은가?"의 문제이기 때문에 </span><span style="font-size: 9pt; line-height: 1.5">0.5보다 큰 값으로 적당히 잡으면 됩니다.</span></div> <div><span style="font-size: 9pt; line-height: 1.5"> -100인분이 트롤이라고 생각하시면 1로 잡으시면 되고, 전 0.8 정도로 씁니다.</span></div> <div><span style="font-size: 9pt; line-height: 1.5"><br /></span></div> <div><span style="font-size: 9pt; line-height: 1.5"> 그럼 N판 중 w판을 이길 확률은 식 2.6으로 주어지므로, </span><span style="font-size: 9pt; line-height: 1.5">R(r2(</span><span style="font-size: 9pt; line-height: 1.5">3.67714%), N</span><span style="font-size: 9pt; line-height: 1.5">, w)를 구하면</span><span style="font-size: 9pt; line-height: 1.5"> 됩니다.</span></div> <div><span style="font-size: 9pt; line-height: 1.5"> 만약 그 값이 적절한 신뢰도 </span><span style="font-size: 9pt; line-height: 1.5">𝚺에 대해 1-</span><span style="font-size: 9pt; line-height: 1.5">𝚺보다 작으면, 귀무가설 H0을 기각할 수 있습니다.</span></div></div> <div><br /></div> <div><font color="#c00000"> <span style="font-size: 9pt; line-height: 1.5">"최근 N 게임 중 w판를 이겼으니, </span>𝚺^2 <span style="font-size: 9pt; line-height: 1.5">의 신뢰도로 나는 트롤이 아니다"</span></font></div> <div><font color="#c00000">⇔ "ℬ(𝛂) = 1-𝚺 인 𝛂에 대해 R(r2(𝛂);N,w) < 1-𝚺 이다"</font></div> <div><br /></div> <div><br /></div> <div>========<span style="font-size: 9pt; line-height: 1.5">========</span><span style="font-size: 9pt; line-height: 1.5">========</span><span style="font-size: 9pt; line-height: 1.5">========</span><span style="font-size: 9pt; line-height: 1.5">========</span><span style="font-size: 9pt; line-height: 1.5">========</span><span style="font-size: 9pt; line-height: 1.5">========</span><span style="font-size: 9pt; line-height: 1.5">========</span><span style="font-size: 9pt; line-height: 1.5">========</span><span style="font-size: 9pt; line-height: 1.5">========</span><span style="font-size: 9pt; line-height: 1.5">========</span></div> <div><span style="font-size: 9pt; line-height: 1.5"><br /></span></div> <div><span style="font-size: 9pt; line-height: 1.5">Q.</span></div> <div><span style="font-size: 9pt; line-height: 1.5"> 저와 같은 티어에서 함께 지박령을 하고 있는 친구가 최근 전적이 안 좋다고 울상입니다.</span></div> <div><span style="font-size: 9pt; line-height: 1.5"> 지박령 친구의 최근 20판의 전적을 보며 넌 트롤이 아니야 하며 격려해주고 싶은 욕심이 납니다.</span></div> <div><span style="font-size: 9pt; line-height: 1.5"> L=0.8, 신뢰도 90%로 넌 트롤이 아니야를 시전하려면 친구는 20판 중 적어도 몇 판을 이겼어야 할까요?</span></div> <div><span style="font-size: 9pt; line-height: 1.5"> (단, 제가 </span><span style="font-size: 9pt; line-height: 1.5">열 판을 하는 동안 트롤을 세어 보니 다섯 명이었습니다)</span></div> <div><br /></div> <div>A.</div> <div><span style="font-size: 9pt; line-height: 1.5"> 95%의 신뢰도로 트롤은 전체 유저의 </span>6.2081% 이상입니다.</div> <div> 또 친구가 트롤일 때 <span style="font-size: 9pt; line-height: 1.5">20판 중 8판 이상 이길 확률은 6.9172%, 9판 이상 이길 확률은 2.6165%이므로</span></div> <div> 20판 중 9판 이상을 이겼다면 0.95*0.95 = 0.9025 > 90%이므로 넌 트롤이 아니야 하고 격려해 줄 수 있습니다.</div> <div><br /></div> <div>========================================================================================</div> <div><br /></div></div>
트롤 유저 비율을 계산하는 부분은 쓸만하다고 생각합니다
다른 부분은 조건이 너무 세서 써먹기가 힘들 듯 합니다
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.