brute force attack 2 !!
解憂所/YES24적립금 2006/02/13 18:09 이전의 막무가내 공격에서는 어떤 직관적인 답을 얻기가 어려웠다.
보다 직관적이고, 현실적인 해법을 찾기 위해 방법을 바꿔 실험해 보자.
우선, 각각 물품별 적립률을 계산해 정렬해보면 다음과 같다.
실제 시스템과 유사하게, 적립금이 2천원 이상 누적되어야
2천원 단위로 가용적립금으로 전환하여 사용할 수 있고,
가용적립금을 사용 가능한대로 사용한다는 조건하에 실험해 보면,
다음과 같은 결과를 얻을 수 있다.
적립금을 이용해서 구매하는 경우를 밑줄로 표시하였다.
이 경우 최대, 최소의 경우를 비교해 보면, 눈에 두드러지는 특징이 있다.
최대값을 가지는 경우는 적립금을 이용해 구매할 경우,
적립률이 낮은 물품을 구매하는 경향이 있고,
최소값을 가지는 경우는 적립금을 이용해 구매할 경우,
적립률이 높은 풀품을 구매하는 경향이 있다는 것이다.
조건을 추가해서 실험한 결과, 주목할 만한 사실 한가지는,
조건이 없었던 이전결과에 비해서, 최대값은 거의 변화가 없으나 (1.06657 -> 1.06675),
최소값의 경우는 더 낮은 수치가 나왔다는 점이다. (1.05920 -> 1.05646)
한가지 데이터로만 실행한 실험이기 때문에, 바로 일반화하긴 무리가 있지만,
적립금의 사용제약이 사용자에게 불리하게 작용할 것 같은 직관을
어느정도 뒷받침 해주는 결과라 할 수 있겠다.
보다 직관적이고, 현실적인 해법을 찾기 위해 방법을 바꿔 실험해 보자.
우선, 각각 물품별 적립률을 계산해 정렬해보면 다음과 같다.
2 25.04 11700 2930
1 20.00 9000 1800
12 15.11 6750 1020
11 15.11 6750 1020
6 3.08 9100 280
8 3.08 5850 180
7 3.08 5850 180
5 3.08 5850 180
9 3.00 75650 2270
4 3.00 8000 240
10 3.00 7000 210
13 3.00 6000 180
3 1.07 7500 80
1 20.00 9000 1800
12 15.11 6750 1020
11 15.11 6750 1020
6 3.08 9100 280
8 3.08 5850 180
7 3.08 5850 180
5 3.08 5850 180
9 3.00 75650 2270
4 3.00 8000 240
10 3.00 7000 210
13 3.00 6000 180
3 1.07 7500 80
실제 시스템과 유사하게, 적립금이 2천원 이상 누적되어야
2천원 단위로 가용적립금으로 전환하여 사용할 수 있고,
가용적립금을 사용 가능한대로 사용한다는 조건하에 실험해 보면,
다음과 같은 결과를 얻을 수 있다.
최대값을 가지는 경우
1 > 2 > 3 > 4 > 5 > 6 > 7 > 8 > 9 > 10 > 11 > 12 > 13
적립금: 1800, 730(4000), 767, 1007, 1187, 1367,
1547, 1727, 97(4000), 187 , 1207, 227(2000), 347
실지출금: 155,000 원
실적립금: 10,347 원
잔여적립금: 347 원
(획득가치)/(지출) = 165,347 / 155,000 = 1.06675
최소값을 가지는 경우
3 > 4 > 5 > 6 > 7 > 8 > 10 > 11 > 1 > 9 > 2 > 13 > 12
적립금: 80, 320, 500, 780, 960, 1140,
1350, 370(2000), 1770, 40(4000), 1968, 148(2000), 865
실지출금: 157,000 원
실적립금: 8,865 원
잔여적립금: 865 원
(획득가치)/(지출) = 165,865 / 157,000 = 1.05646
1 > 2 > 3 > 4 > 5 > 6 > 7 > 8 > 9 > 10 > 11 > 12 > 13
적립금: 1800, 730(4000), 767, 1007, 1187, 1367,
1547, 1727, 97(4000), 187 , 1207, 227(2000), 347
실지출금: 155,000 원
실적립금: 10,347 원
잔여적립금: 347 원
(획득가치)/(지출) = 165,347 / 155,000 = 1.06675
최소값을 가지는 경우
3 > 4 > 5 > 6 > 7 > 8 > 10 > 11 > 1 > 9 > 2 > 13 > 12
적립금: 80, 320, 500, 780, 960, 1140,
1350, 370(2000), 1770, 40(4000), 1968, 148(2000), 865
실지출금: 157,000 원
실적립금: 8,865 원
잔여적립금: 865 원
(획득가치)/(지출) = 165,865 / 157,000 = 1.05646
적립금을 이용해서 구매하는 경우를 밑줄로 표시하였다.
이 경우 최대, 최소의 경우를 비교해 보면, 눈에 두드러지는 특징이 있다.
최대값을 가지는 경우는 적립금을 이용해 구매할 경우,
적립률이 낮은 물품을 구매하는 경향이 있고,
최소값을 가지는 경우는 적립금을 이용해 구매할 경우,
적립률이 높은 풀품을 구매하는 경향이 있다는 것이다.
조건을 추가해서 실험한 결과, 주목할 만한 사실 한가지는,
조건이 없었던 이전결과에 비해서, 최대값은 거의 변화가 없으나 (1.06657 -> 1.06675),
최소값의 경우는 더 낮은 수치가 나왔다는 점이다. (1.05920 -> 1.05646)
한가지 데이터로만 실행한 실험이기 때문에, 바로 일반화하긴 무리가 있지만,
적립금의 사용제약이 사용자에게 불리하게 작용할 것 같은 직관을
어느정도 뒷받침 해주는 결과라 할 수 있겠다.

