"완전한 임의성"을 가정하고 각 문자가 62 개의 가능한 문자 중 하나 일 수있는 길이가 20자인 문자열이 제공됩니다.
- 가능한 총 조합 수는 얼마입니까? (20을 62의 거듭 제곱으로 추측)
- 또한 새 문자열을 하나씩 무작위로 선택하여 지금까지 선택한 문자열 목록에 추가 한 경우 이미 선택된 문자열을 선택하기 전에 몇 개의 문자열을 선택해야합니까?)?
참고 : 62는 숫자 (0-9), 대문자 (AZ) 및 소문자 (az)에서 비롯됩니다.
"완전한 임의성"을 가정하고 각 문자가 62 개의 가능한 문자 중 하나 일 수있는 길이가 20자인 문자열이 제공됩니다.
참고 : 62는 숫자 (0-9), 대문자 (AZ) 및 소문자 (az)에서 비롯됩니다.
답변:
1) 닫습니다! 첫 번째 캐릭터는 62 개, 두 번째 캐릭터는 62 개 중에서 선택할 수 있습니다.이는 엄청나게 큰 숫자입니다.
2) 위에서 설정 한대로 잠재적 인 문자열. "대상"문자열을 추측 할 확률이 10 만 분의 1로 1보다 낫다고 추측해야하는 사람 수를 알고 싶습니다. 본질적으로, 당신은 무엇을 요구하고 있습니다
기본 대수를 통해
수학을하면 에 관한 것입니다 그래서 모든 것을 불러 봅시다. 또는 더 간결하게 말해서, 전체적으로 많은 것들.
물론 긴 암호가 실제로 잘 작동하는 이유는 다음과 같습니다.
이제 다른 시나리오를 생각해 봅시다. 문자열은 무작위로 생성되며 두 문자열이 일치 할 확률이 1 : 100,000가되기 전에 생성 할 수있는 수를 결정하려고합니다. 이 문제의 고전적인 버전을 생일 문제 (또는 '패러독스')라고하며 n 명 중 2 명이 같은 생일을 가질 확률을 묻습니다. wikipedia article [1]은 괜찮아 보이고 유용 할만한 몇 가지 테이블이 있습니다. 그럼에도 불구하고, 나는 당신에게도 여기에 대한 답을 맛 보도록 노력할 것입니다.
명심해야 할 사항 :
-일치 할 확률과 일치하지 않을 확률은 1이어야합니다. 그 반대.
두 개의 독립적 인 이벤트 과 , 확률 .
답을 얻으려면 고정 된 수의 문자열과 일치하지 않는 확률을 계산하여 시작하겠습니다. . 이를 수행하는 방법을 알고 나면 해당 방정식을 임계 값 (1 / 100,000)과 동일하게 설정하고. 편의를 위해 전화합시다 가능한 문자열 수 ().
우리는 목록을 아래로 걸어 가서 확률을 계산할 것입니다. ^ {th} 문자열은 목록에서 "위"에있는 문자열과 일치합니다. 첫 번째 문자열에는 전체 문자열과 목록에 아무것도 없으므로 . 두 번째 줄에는 여전히 전체 가능성이지만 그 중 하나가 첫 번째 문자열에서 "사용"되었으므로이 문자열과 일치 할 확률은 세 번째 문자열의 경우 두 가지 방법으로 일치시킬 수 있습니다. 하지 않는 방법 등등. 일반적으로다른 문자열과 일치하지 않는 문자열은
그러나 우리는 문자열. 모든 사건이 독립적이므로 (질문에 따라) 다음과 같이 이러한 확률을 곱할 수 있습니다.
그러나 계승 계산과 전체 문제에 대한 근사치가 있습니다. 이 논문 [2]은 제안합니다. 여기서 p는 일치하지 않는 확률입니다. 그의 테스트는 최대치 이지만 여전히 정확합니다. 당신의 숫자를 연결하면 약 됩니다.
[1] http://en.wikipedia.org/wiki/Birthday_problem
[2] Mathis, Frank H. (1991 년 6 월). "일반적인 생일 문제". SIAM 검토 (산업 및 응용 수학을위한 사회) 33 (2) : 265–270. JSTOR 링크