도구스학업·수학

최적 멈춤(비서 문제) 계산기

되돌아갈 수 없이 하나씩 볼 때 몇 번째부터 골라야 최고를 잡을 확률이 가장 큰지 계산합니다. 37% 규칙이 왜 n이 작으면 맞지 않는지, 이 전략이 평균 순위를 좋게 하지는 않는다는 것도 함께 짚습니다.

집을 몇 군데 볼 수 있는지, 면접을 몇 명 볼 수 있는지처럼 «전부 몇 개인지»입니다.

100명이면 앞 37명은 보내세요

38번째부터

38번째부터 «지금까지 최고»를 만나면 바로 고릅니다. 이때 진짜 최고를 잡을 확률이 37.1%로 가장 큽니다

후보 수 n100
보기만 할 인원37
고르기 시작하는 순번38번째
관찰 구간 비율37%
최고를 잡을 확률37.104%
이때 뽑는 사람의 기대 순위20.01

r에 따른 성공확률

점선이 n/e 자리입니다. 꼭짓점이 뭉툭해서 최적에서 조금 벗어나도 확률이 크게 떨어지지 않습니다 — 실전에서 «대충 3분의 1쯤»으로 해도 되는 이유입니다.

두 목적의 답이 다릅니다

목적최적 r최고를 잡을 확률기대 순위
최고를 잡을 확률을 최대로3837.1%20.01
평균 순위를 좋게1022.14%9.59
「최고를 고를 확률」과 「평균 순위」는 다른 문제입니다. 이 계산기가 푸는 것은 앞쪽입니다. 그런데 그 전략은 실패했을 때 아주 나쁜 사람을 집습니다. 앞 37명 안에 전체 최고가 있으면 끝까지 아무도 못 만나 마지막 사람을 억지로 데려가기 때문입니다.그 대가가 위 표에 있습니다. 100명에서 확률을 최대로 하면 최고를 잡을 확률은 37.1%지만 뽑는 사람의 기대 순위는 20등입니다. 평균 순위를 좋게 하려면 훨씬 일찍(r = 10) 고르기 시작해야 하고, 그러면 기대 순위는 9.6등으로 좋아지지만 최고를 잡을 확률은 22.1%로 떨어집니다.「37% 규칙」을 «평균적으로 좋은 사람을 뽑는 법»으로 소개하는 글이 많은데, 그것은 이 표의 윗줄이 아니라 아랫줄 문제입니다. 목적이 다르면 답도 다릅니다.
1/e는 n이 클 때의 이야기입니다. n이 커지면 최적 r/n이 1/e = 0.3679로, 성공확률도 1/e로 수렴합니다. 그런데 n이 작으면 이 근사가 맞지 않습니다. n=3이면 최적 r이 2(r/n = 0.667)이고 성공확률은 정확히 1/2입니다.n=4에서 «4/e = 1.47이니 반올림해서 1»로 잡으면 성공확률이 0.25로 떨어집니다 — 최적 0.458의 절반을 조금 넘는 수준입니다. 그래서 이 계산기는 근사식을 쓰지 않고 r을 1부터 n까지 실제로 계산해 최적을 찾습니다. 지금 n = 100에서 37% 규칙은 r = 37을 주고 확률이 37.1%인데, 실제 최적은 r = 38 37.1%입니다.
성공확률이 n이 커져도 37% 아래로 내려가지 않습니다. 후보가 100명이든 100만 명이든 최고를 잡을 확률이 3분의 1을 넘습니다. 정보가 늘어나는 만큼 고를 기회도 늘어나 서로 상쇄되기 때문입니다. 직관과 어긋나는 결과라 이 문제가 유명해졌습니다.다만 «최고를 잡을 확률»이지 «만족할 사람을 만날 확률»이 아닙니다. 위 표의 기대 순위를 함께 보세요.
쓸 수 있는 조건이 좁습니다. 후보의 «점수»는 모르고 지금까지 본 사람들과의 우열만 안다고 봅니다. 순서가 무작위여야 하고, 한 번 보낸 사람은 다시 부를 수 없으며, 뽑겠다고 하면 반드시 승낙한다고 봅니다. 현실에서는 이 중 여러 개가 깨집니다 — 집을 다시 볼 수도 있고, 좋은 매물이 먼저 나오기도 하고, 거절당하기도 합니다.그래도 «충분히 보기 전에는 고르지 마라, 그러나 끝까지 재지도 마라»는 뼈대는 남습니다. 곡선이 꼭짓점 근처에서 뭉툭하므로 정확히 38번째일 필요는 없습니다.여기서 내는 «평균 순위 최적»은 같은 모양의 규칙(앞 r−1명은 무조건 보낸다) 안에서만 최적입니다. 기대 순위를 진짜로 최소화하는 정책은 단일 문턱이 아니라 시간이 갈수록 눈높이를 낮추는 규칙이며, 그때 기대 순위는 n이 커져도 3.87 근처에 머뭅니다.입력한 값은 브라우저 안에서만 계산되며 서버로 전송되지 않습니다.

계산 방법

  1. 1후보가 모두 몇 명(몇 개)인지 넣습니다.
  2. 2앞 몇 명을 보기만 하고 보낼지가 나옵니다.
  3. 3그 순번부터는 «지금까지 본 사람 중 최고»를 만나는 즉시 고릅니다.
  4. 4r을 직접 넣어 최적과 견주어 볼 수도 있습니다.
  5. 5표에서 «최고를 잡을 확률»과 «평균 순위»의 답이 다르다는 것을 확인하세요.

자주 묻는 질문

n명의 후보를 한 명씩 만나되 그 자리에서 뽑거나 보내야 하고, 한 번 보낸 사람은 다시 부를 수 없을 때 최고를 뽑을 확률을 최대로 하는 문제입니다. 만나 보면 지금까지 본 사람들과의 우열은 알 수 있지만 앞으로 올 사람은 모른다고 봅니다. 집 구하기, 면접, 주차 자리 고르기가 같은 구조입니다.

앞 r−1명을 보내고 r번째부터 «지금까지 최고»를 만나면 즉시 고릅니다. 성공확률은 P(r) = (r−1)/n × Σ_{i=r}^{n} 1/(i−1)이며, 이 계산기는 r을 1부터 n까지 실제로 계산해 가장 큰 것을 찾습니다. n=100이면 r=38, 즉 앞 37명을 보내는 것이 최적입니다.

n이 클 때만 맞습니다. n이 커지면 최적 r/n이 1/e = 0.3679로 수렴하지만 n이 작으면 다릅니다. n=3이면 최적 r이 2(r/n = 0.667)이고, n=4에서 «4/e = 1.47이니 1»로 잡으면 성공확률이 0.25로 최적 0.458의 절반 남짓으로 떨어집니다. 그래서 이 계산기는 근사식을 쓰지 않습니다.

정보가 늘어나는 만큼 고를 기회도 늘어나 서로 상쇄되기 때문입니다. 후보가 100명이든 100만 명이든 최고를 잡을 확률이 3분의 1을 넘습니다. 직관과 어긋나는 이 결과가 이 문제를 유명하게 만들었습니다.

그렇지 않습니다. 이 전략은 «최고를 잡을 확률»만 최대로 하며, 실패했을 때는 아주 나쁜 사람을 집습니다. 앞 구간 안에 전체 최고가 있으면 끝까지 아무도 못 만나 마지막 사람을 억지로 데려가기 때문입니다. n=1,000이면 최고를 잡을 확률은 36.8%지만 뽑는 사람의 기대 순위는 185등입니다.

훨씬 일찍 고르기 시작해야 합니다. n=1,000이면 r=32(앞 31명만 보기)가 기대 순위 31등으로 가장 좋은데, 대신 최고를 잡을 확률은 10.8%로 떨어집니다. 목적이 다르면 답도 다르며, 「37% 규칙」을 «평균적으로 좋은 선택을 하는 법»으로 소개하는 글은 두 문제를 섞은 것입니다.

그럴 필요 없습니다. 성공확률 곡선이 최적 근처에서 뭉툭해서 조금 벗어나도 확률이 크게 떨어지지 않습니다. n=100이면 r을 33에서 42 사이에 두면 최적의 99% 이상이고, 30~45로 넓혀도 97% 이상입니다. 실전에서 «대충 3분의 1쯤»으로 해도 되는 이유입니다.

조건이 좁습니다. 후보의 점수는 모르고 우열만 안다고 보며, 순서가 무작위여야 하고, 보낸 사람은 다시 부를 수 없고, 뽑겠다고 하면 반드시 승낙한다고 봅니다. 현실에서는 이 중 여러 개가 깨집니다. 다만 «충분히 보기 전에는 고르지 마라, 그러나 끝까지 재지도 마라»는 뼈대는 남습니다.

있지만 이 계산기의 규칙과 모양이 다릅니다. 여기서 내는 «평균 순위 최적»은 앞 r−1명을 무조건 보내는 같은 모양의 규칙 안에서만 최적입니다. 기대 순위를 진짜로 최소화하는 정책은 시간이 갈수록 눈높이를 낮추는 규칙이며, 그때 기대 순위는 n이 아무리 커져도 3.87 근처에 머뭅니다.

전송되지 않습니다. 모든 계산은 브라우저 안에서 이루어지며 입력값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 성공확률 식과 기대순위 식 모두 n ≤ 7의 모든 r에 대해 n!개의 순열을 전부 세어 대조했습니다.
  • 근사식(37% 규칙)을 쓰지 않고 r을 1부터 n까지 훑어 최적을 찾습니다. n이 작으면 근사가 크게 어긋나기 때문입니다.
  • 기대 순위는 1등이 최고인 절대순위입니다. 아무도 못 만나 마지막 사람을 데려가는 경우까지 포함해 계산합니다.
  • 여기서 내는 «평균 순위 최적»은 앞 r−1명을 무조건 보내는 규칙 안에서만 최적입니다. 기대 순위를 진짜로 최소화하는 정책은 단일 문턱 규칙이 아닙니다.
  • 후보의 점수는 모르고 우열만 안다고 봅니다. 순서가 무작위여야 하고, 보낸 사람을 다시 부를 수 없으며, 제안하면 반드시 승낙한다고 봅니다.
  • 입력한 값은 브라우저 안에서만 계산되며 서버로 전송되지 않습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 1일 · 결과는 참고용 추정치입니다.