서문은 별로 중요한 내용은 없으니, 볼드체가 있는 부분까지 스크롤을 내리고 보셔도 됩니다.
판정강화는 참 좋은 특기입니다. 콤보를 제대로 잇지 못하는 입력 타이밍에 이어주기도 하고, 판정등급 차이만큼 점수를 올려주기도 합니다. 그래도 역시 대부분의 사람들에겐 풀콤보를 하고 싶은데 굿 판정 때문에 끊어지는 경우를 방지하기 위한 목적이 가장 크다고 생각합니다. 그래서 판정강화의 기대 커버율에 대한 이야기를 해보려고 합니다.
판정강화 카드에는 크게 세 가지 숫자가 쓰여있습니다. 어떤 조건으로 발동하는가, 확률은 얼마인가, 얼마나 지속되는가. 발동 조건에는 시간, 리듬아이콘, 콤보가 있고, 발동 확률은 백분율로, 지속시간은 초 단위로 표시됩니다.
우선 발동조건 가운데 시간의 경우를 봅시다. 타이머 기준의 경우는 조건에 해당하는 시간이 경과하면 표기된 확률대로 발동하고, 표기된 지속시간만큼 유지됩니다. 이 때 문제점이 있는데, 아래와 같습니다.
① 지속시간은 어떤 경우라도 조건시간보다 짧다
② 유지되는 시간은 발동조건 시간에 포함되지 않는다
지속시간이 짧은 거야 성능이 원래 그렇겠지, 하고 넘길 수도 있는데, 문제시되는 것은 두 번째입니다. 예를 들어 9초 마다 36% 확률로 5초 동안 지속되는 특기가 있다면, 특기가 발동하면 5초 동안 지속된 후 특기가 종료되고, 그 때부터 (발동된 시간을 계산한) 4초가 아닌, 처음부터 다시 9초가 지나야 발동할 수 있게 됩니다. 이게 왜 문제가 되냐면, 첫 번째 문제와 겹쳐서, 특기가 100% 발동하는 경우조차 전체 구간의 50%를 커버하는 것조차 불가능하기 때문입니다. 예를 들어 9초 마다 100% 확률로 9초 동안 지속되는 특기 가있다고 가정하더라도, 9초가 지나서 9초 동안 발동하면, 9초를 다시 쉰 후 발동하게 되는데, 실제로는 모든 특기가 이보다 성능이 훨씬 낮기 때문에, 특기 자체의 구조적 한계로 인해 상한선이 엄청나게 낮아지게 됩니다. 대부분의 시간 기준으로 발동하는 특기들은 레벨을 최대로 올려도 커버율이 40%를 넘지 못합니다. 그래서 시간 간격 특기에 대해 할 이야기가 뭐냐면, 그냥 없는 셈 치면 편하다는 겁니다. 네. 그냥 버리세요. UR이라도 버리세요. 특기 없는 셈 치고 쓸 거라면 쓰시구요.
이제 리듬아이콘, 콤보 조건의 경우를 살펴봅시다. 콤보 조건인 카드는 하나 뿐이고, 풀콤보를 가정한다면 리듬아이콘 조건과의 차이가 굉장히 미세하기 때문에 무시해도 좋습니다. 콤보가 끊어졌을 때 SIS 트릭의 성능이 떨어지는 것 외에는 몰라도 됩니다. 그러니 그냥 리듬아이콘 조건의 경우만 볼게요. 리듬아이콘 조건은 화면에 등장한 리듬아이콘 수를 세어서 일정 갯수가 채워지면 발동합니다. 조건은 리듬아이콘인데 지속시간은 초 단위이므로, 시간당 리듬아이콘 밀도가 높은, 높은 난이도의 곡일수록 성능이 높아집니다. 예를 들어 2분 동안 아이콘 120개 나오는 곡과 600개 나오는 곡이 있고, 아이콘 20개마다 발동할 수 있는 특기라면, 전자는 6번, 후자는 30번 발동 가능하게 됩니다. 당연히 지속시간도 그만큼 길어지고, 훨씬 더 많은 구간을 커버하게 되겠죠. 난이도 하드만 하더라도 리듬아이콘 기반의 SR 카드가 시간 기반의 UR 카드보다 커버할 수 있는 구간이 깁니다. 익스퍼트나 마스터는 말할 필요도 없겠죠?
이제 계산을 좀 해보려고 하니 숫자와 수식이 싫으신 분들은 뒤로가기를 누르셔도 좋습니다.
기대되는 커버율을 계산할 때 가장 간단하게 떠올리게 되는 식은 이렇습니다.
⑴ 판정커버율 = (발동확률 x 지속시간 x 발동가능횟수) / 전체 시간
대부분의 DB, 판정강화 서열화 공략 등에서 사용하는 식은 이겁니다. 실제로 많은 경우엔 이정도면 충분합니다. 하지만 정확하지는 않습니다. 특히나 많은 서포트 멤버 투자로 만든 특기 레벨이 높은 카드라면 더더욱 부정확합니다.
식⑴ 은 위 그림처럼 발동 도중에 다음 발동 조건을 채우지 못하는 경우의 계산에 적절합니다. 종료 직전 구간에 오차가 약간은 발생하겠지만, 무시해도 될 만큼 작아서 신경쓰지 않아도 괜찮습니다. 0.1~0.2% 정도 수준이거든요. 그럼 만약에 발동 도중에 다음 발동 조건을 채우게 되는 경우에는 어떻게 될까요?
식⑴과 같이 계산할 경우, 위 그림에서의 남색 상자 부분에서 발동률이 2배로 계산됩니다. 하지만 실제로 2배가 되지는 않죠. 예를 들어 확률이 50%인 특기라면, 겹치지 않는 구간에 특기가 발동하고 있을 가능성은 50%, 겹치는 구간은 발동하지 않을 확률이 제곱인 25%이므로 발동률은 75%입니다. 식(1)과 같이 계산하면 이 경우엔 실제보다 큰 100%인 것처럼 계산되죠. 이런 오차때문에 별 생각없이 계산하면 커버율이 100%를 넘기는 불상사가 일어나기도 합니다. 곡 전체가 100%의 기준이고, 첫 발동까지 대기하는 동안은 절대 불가능 영역이니 100% 이상의 값이 나오는 건 상식적으로 말이 안되죠. 이게 여태까지 다른 공략에서 흔히 보이는 판정강화 계산의 문제점입니다. 특기 레벨이 높아질수록 계산이 부정확하고, 특기레벨을 최대치로 가정한다면, 이를 통한 순위 산출은 신뢰할 수 없는 값이 됩니다.
식⑴과 비교했을 때 발생하는 오차가 어떤 느낌인지 한 번 예를 들어 비교해 봅시다. 아이콘 200개, 길이 100초, 모든 아이콘이 균일하게 분포하는 곡이 있다고 가정합시다. 한 특기는 20개 마다 60% 확률로 10초 지속, 다른 특기는 20개 마다 30% 확률로 20초 지속이라고 하겠습니다. 식⑴처럼 계산하면 둘의 성능은 거의 차이가 없습니다. 하지만 후자는 일정 구간이 지나면 발동 주기가 겹치기 시작합니다.
위 그림처럼 되죠. 이 때 전자는 파란색으로, 후자는 초록색으로 표시했습니다. 파란색은 정확히 확률대로 따라갑니다. 60% 확률로 10초를 커버합니다. 하지만 초록색은 조금 다릅니다. 겹치는 부분에서 특기가 발동하고 있을 확률은 60%가 아니라 51%입니다. 두 번의 발동 체크가 모두 실패할 확률은 0.7의 제곱인 49%니까요. 때문에 실제로 대부분의 상황에서 후자의 성능은 전자의 85% 정도가 됩니다. 첫 20개가 지난 순간부터 10초 동안은 파란색이 확률이 2배 더 높은 것도 포함해, 파란색 특기의 성능이 더 좋다고 할 수 있습니다. 다른 공략에서 이 둘이 같은 성능이라고 계산되는 것을 믿고 있다면, 여러분은 속고 있는 겁니다.
특기 레벨이 거의 최대가 되어서 정말 높은 수치를 가진 경우에는 3개 이상의 구간이 겹치기도 하는데, 이럴 때에는 오차가 엄청나게 커집니다. 이건 무시못해요. 실제의 1.5배가 넘는 값이 나오는 경우도 있거든요. 그러니까 식을 수정해야 합니다. 2번 정도 겹치게 된다면 그 때의 식은 다음과 같은 형태가 될 겁니다.
⑵ 판정 커버율 = [{발동이 겹치는 구간의 길이 x (1 - (1 - 발동확률)^2)} + (겹치지 않는 구간의 길이 x 발동확률)] / 전체시간
만일 3번 겹치는 구간이 있다면 3번 겹치는 구간, 2번 겹치는 구간, 겹치지 않는 구간을 나누면 되겠죠. 시작 직후를 제외한 곡 전체가 발동가능한 범위 안에 들어오기 때문에 발동횟수를 체크하는 것은 의미가 없습니다. 위의 식과 예를 살펴보면 알겠지만, 식⑴처럼 계산하면 발동확률이 낮고 지속시간이 긴 특기들이 일방적으로 실제보다 훨씬 높게 평가됩니다. 반대로 확률이 높고 지속시간이 짧은 특기들은 상대적으로 저평가 되겠죠. 반면에 식⑵와 같이 계산하면 지속시간이 긴 특기들이 비정상적으로 높에 계산되던 부분이 완전히 사라집니다. 특기 레벨이 높아져 발동 간격이 겹치기 시작한다면, 식⑴ 보다는 식⑵가 더 정확한 평가 방법이라 할 수 있을 겁니다.
하지만 여기서 끝이 아닙니다. 리듬아이콘 판정강화 특기에는 다른 특징이 있는데, 지속시간 도중에 발동조건을 만족하고 발동하게 된 경우, 다음 발동은 이번 지속시간이 완료된 이후가 된다는 점입니다. 이건 처리방식이 확실하지는 않은데, 플레이 영상을 찍어보면 이상한 경우를 볼 수 있습니다. 예를 들어 리듬아이콘 20개 기준으로 발동하는 특기인데 20의 배수가 아닌, 310번째 같은 엉뚱한 타이밍에 발동음이 들리는 경우입니다. 만일 발동음만 늦게 들리고, 시간은 조건을 만족한 순간부터 계산한다면 식을 수정할 필요는 없습니다. 식⑵대로 계산해도 오차가 발생하지는 않습니다.
하지만 만일 이렇게 시작점 자체를 밀어내는 효과라면, 지속시간이 길고 발동확률이 충분하다면, 곡의 후반부로 진행될수록 발동하고 있을 확률이 높아지게 됩니다. 식⑴이 지속시간이 긴 특기를 고평가하고 있다면, 이런 경우 식⑵는 오히려 저평가하게 되는 셈입니다. 물론 오차는 식⑵ 쪽이 훨씬 작습니다만, 무시하기 어려운 오차가 있다는 건 중요하니까요. 전자인지 후자인지 알아보려면 성능 좋은 판정강화 특기를 가진 카드로 테스트를 해봐야 하는데, 저에게는 그런 카드가 없네요. 어쨌거나 후자일 가능성이 높을 거라는 생각이 드는 이유는, 전자의 경우라면 굳이 발동음을 끝나는 시간까지 기다려서 재생할 필요는 없다고 생각되기 때문입니다. 물론 이 상황을 가정한다 하더라도 식⑴보다 식⑵의 오차가 훨씬 작기 때문에, 발동주기가 겹치는 경우가 생긴다면 식⑴을 사용할 이유는 없습니다.
어쨌든 여기서 수식을 어떻게 정리해야 실제에 가깝게 기댓값을 근사할 수 있는가, 하고 머리를 굴려보고 있는데 난관에 봉착한 상태입니다. 어떻게 처리해야 이렇게 밀려나는 경우에 대한 확률적인 발동시간의 비율을 구할 수 있을지, 리듬아이콘 밀도가 매우 높은 고난도 곡에서 한 번의 발동시간 동안 조건을 2번 이상 채워버린 경우에는 어떻게 처리해야 하는지에 대해서 도움이 필요합니다. 여유가 있을 때마다 생각해보고 있긴 한데, 답이 잘 안나오네요. 이럴 때는 '그러게 학교 다닐 때 공부 좀 더 열심히 할 걸' 하는 후회가 들기도 합니다.
혜안이 있으신 분은 언제라도 댓글 부탁합니다.
(IP보기클릭)124.195.***.***
(IP보기클릭)121.1.***.***
화면에는 가장 마지막에 발동한 카드를 기준으로 하나만 나타나도록 변경되었지만, 내부적으로는 여전히 각 카드별로 별도로 시간을 계산하고 있습니다. 지속시간의 차이가 큰 판정강화 카드를 2장 이상 사용해서 영상을 찍어보시면 확인할 수 있을 겁니다. 예를 들어 지속시간이 5초인 A와 지속시간이 2초인 B가 있을 때, A가 먼저 발동하고 1초 후에 B가 발동한다면 2초 후에 판정강화가 꺼지는 게 아니라, 남아있는 A의 2초가 더 지속된 후에 끝나게 됩니다. | 17.03.06 21:32 | |
(IP보기클릭)121.156.***.***
(IP보기클릭)121.1.***.***
본문 끝에도 적었다시피 식2가 완전하다는 이야기는 아닙니다. 하지만 기준점인 100%를 넘지 못하는 게 명백한 상황에서 결과값이 90%가 나오는 것과 120%가 나오는 것 중에 어느 것이 오차가 작은가는 누가봐도 명백합니다. 그러므로 해당 조건 하에서는 굳이 오차가 훨씬 큰 식1을 쓸 이유가 없다는 겁니다. 그리고 표기단위가 %이고 그 의미가 '특기가 판정을 보정해줄 수 있는 시간과 전체 시간의 비' 혹은 '특기가 판정을 보정해줄 수 있는 리듬아이콘의 수와 전체 리듬아이콘 수의 비'인 이상, 값이 100%에 도달해서는 안됩니다. 어떤 의미를 부여하건, 그건 명백한 오류입니다. 전자의 경우라면 100초 짜리 곡에서 120초를 커버한다는 건 말도 안되는 소립니다. 만약 첫 5초 동안이 절대 커버할 수 없는 영역의 길이라면 최댓값은 95초가 되어야 합니다. 곡이 끝난 후의 지속시간은 무의미하니까요. 마찬가지로 후자의 경우라면 리듬아이콘 500개 짜리 곡에서 600개를 커버할 수도 없죠. 최초의 20개가 절대 커버할 수 없는 갯수라면 최댓값은 480개가 되어야 합니다. 만일 다른 의미로 % 단위를 사용하면서 그 의미를 명확히 하지 않는 거라면, 당연히 위와 같은 의미일 거라고 예상하고 그 자료를 읽는 사람을 기만하는 행위일 뿐입니다. 발동 도중에 다시 한 번 발동할 경우 결과적으로 후반부의 발동률이 다소 높아지는 결과가 될 수 있습니다. 이에 대한 보정까지 했을 때 얼마큼의 구간을 덮을 수 있을 지 기댓값을 구하려는 것이 지금의 단계이고, 이걸 성공적으로 찾아낼 수 있다면 오차없이 완전한 기댓값이 나오게 될 겁니다. 물론 100%에는 당연히 도달하지 못하는 값이 나오겠죠. | 17.03.11 09:02 | |
(IP보기클릭)115.160.***.***
안전장치의 크기를 간과하면 안됩니다 마술사마키와 수박노조미를 비교해볼때 2번식으로 계산한 결과에서 비슷한 능력이 나오는데 1번식으로 계산하면 꽤 차이가 커집니다 이는 단순히 커버 범위가 차이난다고 하기보다 안전장치 차이가 큰것입니다. ---------- 고민 좀 해봤는데 1. 기준으로 잡아놓은 100초, 500노트를 전면 수정하지는 안되, 최초 발동까지 공백이 있음을 추가할 필요가 있군요 ----- 2. 어느쪽의 식이 오차가 적다 라고 판정하기 힘든게 1번식은 중첩을 고려하지 않았고 2번식은 중첩을 [잘못] 고려했습니다 안전장치도 무시하면 안되구요 1+2번 조화가 필요합니다 | 17.03.11 20:37 | |
(IP보기클릭)121.1.***.***
계속해서 언급하시는 그 '안전장치'라는 것의 정확한 의미가 무엇인지 잘 모르겠습니다. 실제로 기댓값을 읽을 때 우리가 생각하는 것은 곡 전체에서 그정도의 비율은 특기로 인해 보정을 받을 수 있을 거라는 기대입니다. 실제로 기대되는 커버범위가 넓어진다면 기댓값이 크게 나타날 겁니다. 반대로 커버범위가 좁아지는 거라면 기댓값이 작아지겠죠. 편차의 크고 작음은 확률의 크기와 발동 가능한 구간의 간격을 통해 생각할 수 있지만, 편차는 기댓값과 함께 연산하지 않습니다. 따로 고려되는 사항입니다. 그렇다면 그 '안전장치'라는 것은 대체 뭔가요? 어떤 의미로, 어떤 용도로 사용하시는 단어인지 도통 모르겠습니다. 식⑵가 무조건 맞다는 이야기는 아닙니다. 분명히 오차가 있습니다. 하지만 오차의 크기는 식⑴보다 작습니다. 물론 언급한 것처럼 식⑵는 이전의 발동에 의해 뒤의 발동이 영향을 받는 부분은 고려되지 않았습니다. 이것은 고스란히 오차가 되고, 상대으로 발동주기가 짧고 확률이 낮은 종류의 특기에게 더 크게 부정적으로 작용합니다. 따라서 이런 종류의 카드가 실제보다 저평가됩니다. 대표적인 게 마술사 마키와 선녀 에리입니다. 이 카드들의 기댓값을 직접 이항연산을 통해 구해보면 식⑵와 같은 방식의 근사를 통한 것보다 크게 나타납니다. 물론 차이나 니코처럼 이런 식⑵의 근사가 가져오는 부정적 오차의 영향을 상대적으로 적게 받고 있음에도 결과값이 낮게 나타난다면, 그건 충분히 상대적으로 낮은 성능이라 판단할 수 있긴 하겠지만 말입니다. 현재 단계에서는 계산 방식을 완전히 새로 생각할 필요가 있을지도 모르겠습니다. 보다 정확하게 기댓값을 얻고 싶은데, 답이 안나오니 답답해 죽겠네요. | 17.03.11 20:58 | |
(IP보기클릭)115.160.***.***
곡해하실 필요 없이 글자 그대로 입니다 최초 발동 이후 판강이 끊어지지 않고 곡 끝날때까지 지속될 확률 | 17.03.11 22:06 | |
(IP보기클릭)121.1.***.***
그런 의미라면 기댓값에 반영되어야 하는 요인과는 거리가 멉니다. 기댓값에서 끊어지냐 않느냐는 중요하지 않아요. 전체에서 얼마큼의 비율을 덮을 수 있느냐가 전부죠. | 17.03.11 22:10 | |
(IP보기클릭)115.160.***.***
아뇨 중요합니다 힐이나 스코어는 몇번 발동 안되도 하는데 큰 지장 없지만 판강은 끊어지면 그대로 꽝입니다 | 17.03.12 10:09 | |
(IP보기클릭)121.1.***.***
중요하고 아니고를 떠나서 '기댓값'과는 전혀 관계가 없습니다. | 17.03.12 12:26 | |