viewimage.php?id=2fb1d125eed63db56badc2b819d32d311a&no=24b0d769e1d32ca73fef84fa11d028318f52c0eeb141bee560297e96d761c8946846523215e6dd6ae0241292649fe8f2e2e5d4ec525a6867db67af919e5c229a0756084d9afcce9d





쉽게 생각해서 

10% 강화 10번 하는게

100% 한번하는거랑 똑같은거아냐?


라고 생각하고 


존나 많이 할수록 똑같아진다고 위처럼 생각할 수 있는데

틀린 얘기임.


이에대한 수학적인 답변은 

http://mariabronn.tistory.com/110

http://www.boxnwhis.kr/2015/05/21/binomial_dist_in_games.html


잘정리된게 많으니 관심있으면 보고


저런거 잘모르겟고 깔끔하게 걍 눈으로 

검사모식 강화시스템으로 강화하고!

누가 이득충이 맞는지 보고싶다~


하는사람들을 위한 간단한 실험임


------------------------------------------------------------------------


* 엄밀히 말해선 검사모에서의 랜덤 구현방식과 강화비용등은 다르겠으나 

  x% 확률로 강화 성공/실패, 성공시 강화비용 상승 이라는 점에만 초점을 둠

  대충 돌아만가게 한거라 태클걸 부분도 많지만.. 뭐 대충 느낌만 보는걸로..


테스트코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
//------------------------------+---------------------------------------------------------------
 
bool                            upgrade( const float odds )
{
    if( ( odds * 100 ) >= ( rand() % 100 + 1 ) )
        return 1;
    return 0;
}
 
class                           PLAYER
{
    int                         money;
    int                         weapon;
    float                       odds;    
public:
    PLAYER( int money, float odds ) :
        money( money ),
        weapon( 1 ),
        odds( odds )
    {}
    ~PLAYER()
    {}
 
    void                        run()
    {
        int reinforcemont_cost = 1000;
        while( reinforcemont_cost <= money )
        {
            money -= reinforcemont_cost * odds;
            if( upgrade( odds ) )
            {
                weapon++;
                reinforcemont_cost += reinforcemont_cost;                
            }            
        }
    }
    int                         grade()
    {
        return weapon;
    }
};
 
int                             main()
{
    srand( (unsigned int)time( NULL ) );
    
    int a_win = 0;
    int b_win = 0;
    int draw = 0;
    
    forint i = 0; i < 1000000++i )
    {
        PLAYER a( 1000000001 );
        PLAYER b( 1000000000.1 );
        a.run();
        b.run();
        if( a.grade() > b.grade() )
            a_win++;
        else if( a.grade() < b.grade() )
            b_win++;
        else
            draw++;
    }
    
    cout << "100퍼충 이김 : " << a_win << endl;
    cout << "10퍼충 이김 : " << b_win << endl;
    cout << "비겼음 : " << draw << endl;
 
    return 0;
}
cs



초기강화비용 : 1000원

강화성공시 : 강화비용이 2배씩 늘어남


100퍼충 a와

10퍼충 b가

각각 10억원씩 가지고

돈 떨어질때까지 강화를한다.


a와 b의 강화등급을 비교한다.


위과정을 100만번 시도함.


각각의 승수, 비긴횟수를 출력.


결과


viewimage.php?id=2fb1d125eed63db56badc2b819d32d311a&no=24b0d769e1d32ca73fef84fa11d028318f52c0eeb141bee560297e96d761c8946846523215e6dd6ae0241292649fe8f2e2a186bd3f5a6c67d163a5fd940a79a3ada88c49f22b3b9f2e8e5c1e



총 시도횟수 : 1,000,000회

100퍼충이 이긴횟수 : 352,995회

10퍼충이 이긴횟수 : 29,067회

비긴횟수 : 617,938회



10퍼충이 비긴횟수 + 이긴횟수 = 647,005회


1-(1-(0.1))^(1/(0.1)) = 0.6513215599......


352,995 vs 29,067


아직도 10퍼충 하는 흑우 없제?





근데 난 블스없어서 10퍼충할꺼임 ㅅㄱ