안녕하세요 수영못하는물개 입니다. 원래 모험가의 멘토 공략글로 비밀 미션 공략글 외에 하나를 요리 효율을 계산하려고 했는데 마침 어제 몇 달동안 고민했던 강화 기댓값을 계산하는데 성공한 것 같아서 그걸 공유하려고 합니다.
해당글은 검은 사막 토템(신화, 심연) 강화를 기준으로 잡고 있으며 사실상 상승과 하락을 반복하는 게임 강화 시스템의 제일 단순한 버전이라고 생각하시면 됩니다.(이하 ‘상하강화’ 라고 부르겠습니다)
계산식이 난무할 예정이니 수학을 싫어하시는 분들을 위해 결과만 미리 올려드립니다. 참고로 고등학교 수1의 수열만 공부하면 이해할 수 있는 내용입니다
1강 약 1개
2강 약 4개
3강 약 9개
4강 약 23개
5강 약 109개
6강 약 899개
7강 약 15,923개
8강 약 501,721개
9강 약 24,305,901개
10강 약 2,380,919,744개
기댓값(어떤 확률을 가진 사건을 무한히 반복했을 경우 얻을 수 있는 값의 평균으로서 기대할 수 있는 값)이기 때문에 실제 겪으시는 개수와 차이가 납니다. 평균적인 값으로 이해해 주세요.
일단 조건에 대해서 다시 생각해보겠습니다. 아무것도 모르는 상태에서 토템 강화를 설명하려면 다음 세가지 조건으로 설명 가능합니다.
그럼 이제 조건들을 정리 했으니 정보를 정리해보겠습니다. 정보라고 해봤자 하나밖에 없습니다. 강화 확률이죠. 조건과 정보가 다른 점이 뭐냐고 한다면 조건은 지금부터 계산식에서 불변의 사실이고 정보는 변할 수 있는 변수라고 하겠습니다. 즉, 일반화 시키겠다는 겁니다. 일반화를 시키기 전 제가 가장 좋아하는 방법인 단순화를 이용하겠습니다. 검은사막의 토템 강화 확률은 다음과 같습니다
1강 70% 2강 60% 3강 50% 4강 30% 5강 15& 6강 10% 7강 5% 8강 3% 9강 2% 10강 1% (해당 확률은 토템 강화창에서 볼 수 있습니다.)
여기서 1번 조건을 약간 바꿔보겠습니다.
전혀 다른말 같은데 단순하게 생각해보면 사실 같습니다. 예를들어, 0강인 토템을 1강 시킬 때 1/3의 확률로 성공한다고 가정해보겠습니다. 저희가 하려는 검은사막 모바일과 확률이 다르지만 이해를 위해 단순화 시킨 겁니다. 그럼 이제 1번 조건에 따르면 이 확률을 그대로 이용하지만 1-1에 따른 계산법에서는 반드시 다음과 같이 강화됩니다.
0->0(1회 실패)->0(2회 실패)->1(3회 성공)
어떤 느낌인지 아시겠나요? 1/3의 확률의 대한 기댓값은 3회이기 때문에 3회를 시도째에서는 반드시 성공한다고 가정하는 겁니다. 말을 바꿔서, 기댓값에 해당하는 횟수번째에서는 반드시 성공하고 그렇지 않으면 반드시 실패한다는 거죠. 그러면 1-1에 따라 강화를 시도하면 3의 배수번째에서는 반드시 1강을 얻게 되는 거죠.(1강이 최종수치, 혹은 목표수치라고 가정하고 시도횟수가 없는 0강만 사용한다고 가정)
그럼 그건 알겠는데. 문제는 검은사막모바일의 토템의 1강은 70%입니다. 이 확률의 기댓값은 10/7(=1.42857142857…)이죠. 1.428…번째에서 반드시 성공한다? 뭔가 와닿지 않습니다. 때문에 소수에 대한 기댓값을 포함해 1번 조건을 다음과 같이 해석하겠습니다
1-2 확률이 대한 기댓값보다 많이 시행하면 +1, 그렇지 않으면 -1 된다.
이러면 이제 이야기가 달라지게 되겠군요. 소수 부분도 기댓값의 계산에 들어가게 되었고 저희는 이제 이렇게 계산하게 되는 겁니다.
0->0(1<1.42857….회 실패)->1(2>1.42857….성공)
이해를 위해 숫자를 바꿔보겠습니다. 1강의 확률이 30%라고 가정하겠습니다. 그럼 기댓값은 3.333333….이 됩니다. 그럼 다음과 같이 강화가 시행됩니다.
0->0(1<3.3333…회 실패)->0(2<3.3333…회 실패)->0(3<3.3333…회 실패)->1(4>3.3333…회 성공)
30%이기 때문에 3번 시행하면 아직 90%까지 확률이 미치지 않았고, 100%가 넘지 않았기 때문에 여전히 실패하며, 4번째에서 120%를 달성했기 때문에 성공한다고 생각하시면 됩니다. 어라? 이렇게 생각하니 어딘가 익숙하지 않으신가요? 맞습니다. 성장시키는 강화 방식(실비아 여신상, 100%로만 균형의 돌과 태고 토템을 돌리는 방식)과 똑같게됩니다. 1강에서 한정한다면 말이죠. 2강부터 차이점이 드러나게됩니다. 바로 ‘강화 하락’ 때문이죠. 실비아 여신상은 1강을 완료 하면 2강할때까지 100% 채우기만 하면 됩니다. 하지만 토템에서 이러한 방식으로 다르게 해석하게 되면 2강을 위해 100% 때까지, 즉, 2강 한번 시도 할려고 할때마다 1강을 성공시키고 와야 되는거죠. 그럼 단순히 생각해서 (1강 기댓값)X(2강 기댓값)아닌가? 생각 하실 수도 있습니다. 그럼 제가 이 고생을 안했죠. 이해를 돕기 위해 아까 했던 33.333…% 다시 가져오겠습니다.
이제 1강이고 2강이고 확률은 33.3333…%라고 가정하겠습니다. 이때 기댓값은 3입니다. 그럼 제가 고안한 조건에 따르면 다음과 같이 시행되죠. 가독성을 위해 (1<3회 실패)에서 부등호와 기댓값은 생략하겠습니다
0->0(1강 1회 실패)->0(1강 2회 실패)->1(1강 3회 성공)->0(2강 1회 실패)->0(1강 1회 실패)->0(1강 2회 실패)->1(1강 3회 성공)->0(2강 2회 실패)->0(1강 1회 실패)->0(1강 2회 실패)->1(1강 3회 성공)->2(2강 3회 성공)
자, 몇번 시도했나요? 화살표 개수만 세주면 됩니다. 12회네요. 그런데 (1강 기댓값)X(2강 기댓값)으로 계산하면 9회 인데 차이가 나는군요. 이유는 2강 시행도 횟수에 포함되기 때문입니다. (1강 기댓값)X(2강 기댓값)이 그것도 계산 한거 아니냐구요? 우리 곱하기의 의미를 다시 생각해봅시다. 곱하기는 곱해지는 수를 곱하려는 수만큼 반복해서 더한 연산 입니다. 쉽게 말해, 2X3은 2를 3번 더한 겁니다. (1강 기댓값)X(2강 기댓값)은 (1강 기댓값)은 (2강 기댓값)만큼 더한 것이지. 2강 기댓값은 횟수에 넣은 적이 없습니다. 2X3 계산 할 때 더하기로 바꾸면 2+2+2가 되죠? 여기에는 3이 없다는 말입니다. 하지만 우리는 3도 계산 해야만 계산식이 완성됩니다. 그렇기 때문에 식을 다음과 같이 쓰겠습니다.
(0->1강 기댓값)X(1->2강 기댓값)+(1->2강 기댓값) = (0->2강 기댓값)
글자가 너무 많네요. 잠시 기호를 좀 정리하겠습니다.
왜 a는 확률이고 b는 기댓값이냐구요? 기댓값으로 통일하려고 했는데 저희에게 주어지는 정보는 대부분 확률이니 주어지는 정보인 a는 확률로 두고, 확률의 역수가 기댓값이므로 1/a를 n-1 -> n 기댓값, b를 0->n 기댓값으로 두겠습니다.
그럼 식이 다음처럼 바뀌겠네요.
(여기서 편안함을 느끼셨다면 수학과로 오시기 바랍니다.)
자! 이제 반 왔습니다. 여기까지는 금방 생각해냈습니다만, 3강부터가 문제였습니다. 3강을 다음과 같이 놓고 계산하려하니
이렇게 계산하면 단순화 시킨 예시(33.333..%)에서부터 막히더군요. 해당 예시에서는 가 39라고 나오는데 실제로 노가다 해보시면 33회로 나옵니다. 여기서 몇 달을 고생했는데 이유는 단순했습니다. 노가다를 한다고 치고 앞뒤는 생략하고 중요한 부분만 보겠습니다.
…->1(1강 3회 성공)->2(2강 3회 성공)->1(3강 1회 실패)->0(2강 1회 실패)->….
눈치 채셨나요? 핵심은 1(3강 1회 실패)->0(2강 1회 실패) 이부분 입니다. 2강까지 계산할때는 최고 수치 강화를 실패하면 0강으로 돌아가서 2강 횟수만 쌓이지 아무일도 일어나지 않습니다. 하지만, 3강부터는 실패를 하게되면 다시 2강을 해야되는데, 다행히도(계산하는 사람에게는 불행히도) 여기서 실패를 하게 되면 2강 1회 시도가 1번으로 끝나는 겁니다! 실제로는 3번을 시도해서 0->0->0->1을 해야 할 수 있던 2강이 이 경우에는 생략 되는 겁니다. 3강을 하기 위해선 3번의 시도를 해야하고 이 과정에서 2번 실패하니 자연스럽게 3번의 시도가 2번 생략되는 거죠. 때문에 6회라는 오차가 생긴 것입니다. 그럼 이 오차를 보정해보겠습니다. 이 6회는 글로 쓰게 되면
(1강 성공에 대한 기댓값)X(3강 실패 횟수)
와 같게 됩니다. 기호로 쓰면
이걸 방금 식에서 빼야 말이 되니까
가 됩니다. 복잡하군요. 수학을 좋아하는 제가 봐도 복잡하긴 합니다.
이제 3을 n으로 두고 2를 n-1 1을 n-2로 두면 일반화가 완료됩니다.
그럼 이제 검은사막모바일의 실제 확률을 가져와 볼까요? 직접하긴 귀찮으니 엑셀을 빌리겠습니다.
bn의 값을 반올림 까지 하면, 기댓값 계산이 끝났습니다!
여기까지, 상하강화의 기댓값을 계산해보았습니다. 결과값을 시뮬레이션 사이트와 대조하니(9강 10강이 숫자가 너무 커서 사이트가 멈춰버리더군요.) 오차가 심하지 않은 것으로 보아 제 개인적인 생각으론 정확하게 계산했다고 봅니다. 뭐, 사실 시뮬레이션 사이트에서 결과값을 수집해서 최대한 큰 표본을 만들면 더 편하지만 일반화 시키고 싶은 욕심에서 였을까요…. 아니면 컴퓨터로는 8강이 넘는 9강 10강은 힘들다는것 때문 일까요. 누군가에게는 정말 쓸데없는 비효율적인 일을 하고 말았네요. 하지만 뿌듯합니다. 해냈다는 사실 하나만으로도 인정해주는 사람 없어도 굉장히 만족스럽습니다. 그럼, 혹시나 여기까지 읽어주셨을 분을 위해 감사인사 남기며…. 출근 해보겠습니다. 감사합니다!
Ps. 여기에 이제 장비 강화를 대입시켜볼까요? 돌복권과 확률증가권 다 포함해서요.