안녕하세요 낸드( @nand ) 입니다.
계략님이 냈던 두뇌퀴즈 선행의선행
에 대해 풀이법을 공개합니다.
문제를 모르시는 분은 밑의 링크에서 문제를 읽어주세요.
- 문제: 선행의선행
풀이
처음 보고, 해적의 규칙
이라는 퀴즈가 생각났습니다.
링크
많이 알려져있는 퀴즈인데, 이것도 재밌습니다.
공통점은 상대를 배려해주면서, 내가 많이 가져가야한다는거죠.
뭐든 그렇지만, 문제를 간단하게 만들면, 답은 바로 알 수 없지만,
풀이에 대한 힌트는 얻을 수 있습니다.
극과극
극과 극을 생각해보죠.
100%를 양도하면 어떨까요?
제일 처음 차례가 오지만, 얻을 건 없겠죠.
99%라면? 100%보단 좋을겁니다.
0%를 양도한다면 어떨까요?
다 얻을 수는 있지만 제일 마지막에 남은 보상만 얻어야겠죠.
1%를 양도한다면?
뒤에 0%양도자가 있다면, 그 사람보다는 좋을겁니다.
따라서 극과 극은 안좋다고 예상이 됩니다.
사이에 끼기
사이 어디에 들어가면 좋은지도 예상해봅시다.
10%와 90%에 한명씩 있다고 하고, 그 사이에 들어가야 한다고 가정하죠.
%가 안바뀌고, 이후 추가되는 사람도 없다고 가정하면,
아마도 11%만 양도하고 나머지 다 먹는게 유리하겠죠.
어떤 %가 유리한가
균등하게 분포되어 있을 때, 누가 제일 유리할까요?
귀찮으니까 컴퓨터한테 시킵시다.
일해라 컴퓨터
간격을 0.5에서 0.01 까지 줘가면서 다르게 계산했습니다.
결과를 보면, 간격에 따라 다르지만, 참가자6명(0.2 간격) 이상이라고 할 때, %가 반절 이상인 쪽에서 최대값이 나타나는군요.
종합
위에서 얻은 정보로 직관적으로 추론하면,
간격 중 적당히 높은%를 골라서, 사이 간격 중 낮은% 쪽으로 붙으면 되겠군요.
완전한 해법을 얻지는 못했습니다.
코드
MATLAB 코드입니다.
d_set = [0.5 0.25 0.2 0.1 0.05 0.01];
reward = cell(length(d_set), 1);
bin = cell(length(d_set), 1);
for d_iter = 1:length(d_set)
d = d_set(d_iter);
bin{d_iter} = 1:-d:0;
reward{d_iter}(1) = 1-bin{d_iter}(1);
for k=2:length(bin{d_iter})
reward{d_iter}(k) = (1-sum(reward{d_iter}(1:k-1)) )* (1-bin{d_iter}(k));
end
sum(reward{d_iter})
end
%% fig
figure(1)
plot(bin{1}, reward{1}, '-o')
hold on
for d_iter = 2:length(d_set)
plot(bin{d_iter}, reward{d_iter}, '-o')
end
legend(num2str(d_set'))
%%
는 주석입니다
d_iter
의 for
문은 간격에 대한 for문입니다.
for문 안쪽이 핵심입니다.
기 밑은 그림 그리는 부분입니다.
원글
읽어주셔서 감사합니다.
구독하시려면 위 마크를 눌러서 Follow 부탁드려요.
지금까지 @nand 였습니다.
아이디 마크는 @inhigh님 작품에서 발췌한 것입니다.
@nand님..... 중국에 '两眼墨黑'이라는 성어가 있거든요. 직역을 하면 '두 눈은 뜨고 있으나 먹처럼 깜깜하다.'라는 말입니다. 무슨 뜻인지 아시겠죠? 죄송해요. - -;;; 공부 더 하고 오겠습니다.ㅜㅜ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
깜깜 ㅠ
사실 문제도 약간 어려웠습니다
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
헉 . 무지한 저로서는 무슨말인지 모르겠네요 ... 프로그래밍인가요?
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
네 브레인 퀴즈를 프로그래밍으로 풀어봤습니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
음....이해되지 않지만 이해가 될것같은 그런 애매한 상태가 되어버렸습니다;
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
제가 좀 애매하게 설명한것 같기도 합니다 ㅎㅎ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
하하하~~ 펜잘좀 주세요....에구 머리야!!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
두통엔 펜잘인가요? ㅎㅎ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
안녕하세요 Nand님 아 저에게도 어려운 글 입니다 ㅎㅎ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
아 ㅠ 문제 안푸셨으면 어려울거에요
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
네 ㅎㅎ 감사합니다. 즐거운 일요일 보내세요~~
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
저도 참가했던 사람입니다. ㅎㅎ 저는 프로그래밍은 하나도 모르구요, 그냥 한국 여성의 직감으로 마지막에 수정했습니다.
LPGA에서 한국 여자 골퍼들이 두각을 나타내는 이유가 감 때문이라더군요. 레시피 없이도 맛을 내는 감!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
좋은 감이시네요!
슬쩍 따라가는것도 좋은 방법입니다 ㅎㅎ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
다른 참가자에 영향을 크게 받으니 완전한 해답은 없지 않을까요? 각 상황에 해당하는 답은 있겠지만 그러려면 자신이 마지막 참가자여야겠죠.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
맞습니다. 마지막 참가자라고 가정한다면, 각 상황별로 풀이가 있을것이고요.
마지막이 아니라면 어떤 솔루션이 나올지는 궁금합니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
저를 제외한 kr-brainquiz의 첫 글이네요. 캄사합니다! 미약하지만 풀보팅...
애당초 참가 시점이 다르고, 댓글을 수정할 수 있다는 점에서 완벽한
계전략이란 없었습니다.그런데 이런 방식으로도 접근할 수 있었네요. 신기합니다.
풀이글 감사합니다 :) soso하지만 SBD 조금 보내드렸어요.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
그보다 비슷한 문제가 있다길래 깜짝 놀랐는데, 생각보다는 다르더라고요. 하하... 다행입니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
감사합니다! SBD까지 ㅋㅋ 까방권을 넘길 수는 없겠는데요
해적의 규칙 저 문제도 재밌어요.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
저도 균등분배같은걸 생각했었는데, 997:~~~를 보고 놀랐어요.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
에고.. 머리아파.. 저같은 사람은 시도도 못해보겠어요~ㅋㅋ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
그냥 보고 넘기셔도 됩니당. ㅎㅎ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
응? 저도 잘 모르겠군요 ㅎㅎ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
넘 어렵게 설명한 것도 같아요 ㅠ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
뭔가 알꺼같은데
끝까지보니 (절래절래..)
뭔가 당했습니다 ^^;;
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
끝까지 봐주신 것도 감사합니다 ^^
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
코딩으로 설명하니까 신뢰성이 확 높아지네요.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
하지만 만약 제가 코딩을 잘못 했다면요! ㅎㅎ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
억ㅋ! 디지털 뒷통수?
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
음 ~ 이런걸 부담없이 알아들으려면
얼마나 공부를 해야 할까요 ~ ㅠ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
ㅠ 제가 부담 없이 설명할 수 있도록 해볼게요 ㅎㅎ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit