팁 · 전략 게시판

전체보기

모바일 상단 메뉴

본문 페이지

[기타] 승률별 5급에서 전설까지 필요한 게임수를 시뮬레이션 해 보았습니다.

Llanowar
댓글: 6 개
조회: 2891
추천: 4
2015-12-13 15:38:15
주관적인 카드 혹은 직업 평가(제작 추천, 전설 카드 추천 등), 과도한 중복 팁, 카드 활용에 대한 추측성 게시물, 질문, 팁 게시판 성격에 맞지 않는 게시물은 무통보 삭제될 수 있으며, 반복 시 제재조치 될 수 있습니다.

승률별 5급에서 전설까지 필요한 게임수를 시뮬레이션 해 보았습니다.

사용한 프로그램은 R입니다. R을 사용한 이유는 통계를 돌리기 편하기 때문입니다.

각각 승률별로 1001회 반복하여 5급 1별부터 전설까지 필요한 판수를 계산해 보았습니다.

결론적으로 승률이 낮을 수록 필요한 판수가 끝없이 늘어나며, 편차도 큽니다.

승률이 50%인 경우에 223번만에 전설로 들어갈 수도 있지만 2069번을 해도 전설을 못갈 가능성도 있습니다(물론 현실적으로는 아래 등급으로 갈수록 승률이 오르기 때문에 실제로는 더 빨리 갈 수도 있습니다).



상위



승률 10% 20% 30% 40% 50%
1.00 25 25 25 25 25
.95 25 25 27 27 27
.90 27 27 29 29 31
.85 29 31 33 33 35
.80 33 35 37 39 41
.75 37 41 43 45 49
.70 41 47 51 55 59
.65 51 59 65 71 77
.60 67 79 91 101 113
.55 97 125 145 173 200
.50 223 323 467 594 727
.45 10,033 23,546 38,137 53,894 74,697


상위


승률 60% 70% 80% 90%
1.00 25 25 25 25
.95 27 29 29 31
.90 31 33 35 37
.85 37 39 41 45
.80 43 45 49 53
.75 51 55 59 67
.70 63 69 77 86
.65 83 89 103 119
.60 125 139 159 187
.55 232 271 317 394
.50 919 1,157 1,454 2,069
.45 102,525 136,212 181,144 274,598






소스코드는 다음과 같습니다.

simRank <- function (p=.5, iRank=-25, fRank=0, iCombo=0)
{
    rank <- iRank # 등급. 0: 전설, -1: 1등급 5별, -2: 1등급 4별 ...
    combo <-iCombo #연승중
    maxi <-1000000 #최대반복횟수
    for (i in 1:maxi)
    {
        if ( runif(1) < p ) #이겼을 때
        {
            combo <- combo +1
            if( combo >=3 && rank < -25 ) # -25: 5등급 1별
            {
                rank <- rank +2
            }
            else
            {
                rank <- rank + 1
            }
            if (rank == fRank )
            {
                return(i)
            }
        }
        else #졌을 때
        {
            combo <- 0
            if (rank >= -85) # -85: 20등급 1별
            {
                rank <- rank -1
            }
        }
    }
    return(maxi)
}

simRankIt <- function (iter = 1, p=.5, iRank=-25, fRank=0, iCombo=0)
{
    r <- 1:iter
    for (i in 1:iter)
    {
        r[i] <- simRank(p, iRank, fRank, iCombo)
    }
    return(r)
}

set.seed(1515)
y=simRankIt(1001,1)
quantile(y, 1:9/10)

set.seed(1515)
y=simRankIt(1001,.95)
quantile(y, 1:9/10)
#etc.

Lv51 Llanowar

모바일 게시판 하단버튼

댓글

새로고침
새로고침

모바일 게시판 하단버튼

지금 뜨는 인벤

더보기+

모바일 게시판 리스트

모바일 게시판 하단버튼

글쓰기

모바일 게시판 페이징

AD