안드로이드 보안 패턴

스마트폰 운영체제인 안드로이드는 보안을 위하여 9개의 점을 이어서 만드는 패턴을 사용한다.

과연 이 패턴은 몇가지 경우의 수가 있을까?

규칙은 다음과 같다.

1. 최소한 4개의 점을 이어야 한다. 즉, 1개, 2개, 3개로 이루어진 패턴은 만들 수 없다.

2. 한번 지나간 점은 다시 지나갈 수 없다. 단, “꼭지점”으로 기능하지 않으면 스쳐지나갈 수는 있다.

3. 고르는 순서가 다르면 서로 구분되는 경우이다.

4개의 점을 가진 패턴을 생각해 보면, 우선 최초에 9개의 점 중에서 1개를 골라야 한다. 그 다음에는 8개의 점 중에 골라야 하고, 마찬가지로 7개중에 1개, 6개중의 1개를 고르면 된다. 이 모든 경우의 수는 9*8*7*6가지 경우인데, 계산해보면 3024가지 경우이다.

5개의 점은 여기에 5개중의 1개를 더 골라야 하므로 15120가지 경우가 가능하다.

마찬가지로 6개의 점은 4개중의 1개를 고를 수 있다. 이것은 60480가지 경우이다.

7개의 점을 잇는 경우는 181440가지 경우, 8개의 점을 잇는 경우는 362880가지 경우가 있다.

9개의 점을 잇는 경우는 8개의 점을 고른 상황에서 선택할 점이 1개밖에 없으므로 8개의 점인 경우와 마찬가지로 362880가지 경우가 있다. 물론 8개의 점을 고르느냐 9개의 점을 고르느냐의 차이가 있기 때문에 두가지 종류의 경우는 경우의 수는 같더라도 서로 다른 경우로 처리된다.

따라서 전체적으로 3024+15120+60480+181440+362880+362880=985824가지 경우가 존재한다.

물론 이 경우의 수는 4자리수 비밀번호인 10000가지보다 98배 이상 많은 경우의 수이다.

수식으로 멋있게 쓰면, N개의 점 중에 k개 이상의 점을 사용하여 패턴을 만드는 경우의 수 $F_N(k)$는

$F_N(k)=\Sum_{i=k}^N \frac{N!}{(N-i)!}$

이 된다.

유명한 보너스 문제. 선분 4개만 사용해서 9개의 점을 모두 잇는 방법은?


더보기

코멘트

“안드로이드 보안 패턴”에 대한 8개 응답

  1. 
                  snowall
                  아바타

    네 아마 틀렸을 거예요.

    검토해 볼 시간이 없어서 그냥 두고 있습니다.

  2. 
                말이안됨
                아바타
    말이안됨

    4가지부터 틀린것 같아요 9*8*7*6 이라고 하셧는데 9개중에 하나를 골랐으면 그 다음 이을 수 있는 점이 2개에서 4개까지 밖에 없지 않나요

  3. 
                  snowall
                  아바타

    그것은 페르마 드립!?

  4. 
                 하루
                 아바타

    재밌는 주제군요.. ㅋㅋ

    (저도 경우의 수가 몇가지일지 생각해보는 포스팅을 올려보려고 했지만.. 군입대 때문에

    => 핑계일 확률은 100%에 수렴하지만…)

  5. 
                  snowall
                  아바타

    그렇군요

    그럼 경우의 수가 더 줄겠네요.

    수정해두겠습니다

    감사합니다~ ^^

  6. 
                  스트링
                  아바타

    그것까지 고려하면 본문에 써있는 것처럼 단순하게 계산이 되지 않을텐데요. 처음에 오른쪽 위 점을 선택했으면 그 다음에는 왼쪽 아래 점을 선택할 수 없으니까요.

  7. 
                  snowall
                  아바타

    그게 규칙 2번입니다. 그렇게 쓰면 너무 복잡해서 덜 수학적으로 표현했어요

  8. 
                 스트링
                 아바타

    “두 점 사이에 하나의 점이 있을 때에는 그 두 점을 연결할 때 반드시 가운데의 점도 지나게 된다. 단, 이미 그 가운데 점이 선택된 상태에서는 양쪽 점을 직접 이을 수 있다. “라는 규칙을 하나 더 생각할 것 같아요. 그러면 경우의 수가 더 줄어들겠는데요.

댓글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.