예지73
예지
예지73
전체 방문자
오늘
어제
  • 분류 전체보기 (80)
    • 수학 (27)
      • 경우의 수 (9)
      • 대수학 (7)
      • 정수 (5)
      • 기하 (4)
    • 과학 (33)
      • 물리 (17)
      • 화학 (3)
      • 생물 (11)
      • 지구과학 (1)
    • 컴퓨터 (5)
    • 이것저것 (15)
      • 3차원을 2차원으로 옮기기 (2)
      • 잡소리 (3)
      • Blender (0)
      • AI (4)
      • 생각 (0)
      • WebGL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 수학
  • 물리
  • 화학
  • 생물
  • 지구과학
  • 컴퓨터과학

공지사항

인기 글

태그

  • 비밀키
  • 인공지능
  • 일반항
  • 물리
  • 공개키
  • 수학
  • 나머지
  • 원자력
  • 대수
  • AI
  • 핵분열
  • 정수
  • 전기
  • 점화식
  • 순열
  • 에너지
  • 카탈란수
  • 생물
  • 경우의 수
  • RSA
  • 암호화
  • 물리학
  • ML
  • 비대칭키암호화
  • 이산수학
  • 머신러닝
  • 기하
  • 원자력발전
  • 수열
  • 조합

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
예지73

예지

카탈란수의 활용
수학/경우의 수

카탈란수의 활용

2021. 9. 26. 16:00
반응형

이전 글

 

이전 글에서 카탈란 수는 적당한 대응을 통해 많은 문제를 푸는 데 사용할 수 있다고 하였다.

그 문제들의 목록은 다음과 같다.

  • 경로의 수 문제
  • 다각형 나누기 문제
  • 이진트리 문제
  • 괄호 열고 닫기 문제
  • 입출력 문제
  • 한 요소가 다른 요소보다 항상 크게 유지하는 문제

이 글에서는 각 문제를 카탈란 수에 대응시키는 방법에 대해 알아보겠다.


1. 경로의 수 문제

이 문제는 이전 글에서 다루었으니 넘어가겠다.

설명


2. 한 요소가 다른 요소보다 항상 크게 유지하는 문제

같은 개수의 X와 Y를 활용해 만드는 단어 중 단어의 처음에서 X와 Y의 개수를 셌을 때 항상 X의 개수가 Y의 개수 이상인 단어의 개수를 구하여라.

이 문제는 경로의 수 문제로 대응하여 카탈란 수로 대응할 수 있다. 길이가 $2n$인 단어를 만들기 위해 X $n$개, Y $n$개를 사용한다.

이 상황을 (0, 0)에서 (n, n)까지 격자점만을 지나 도착하는 경우로 생각하면 X는 오른쪽으로, Y는 위쪽으로 이동하는 것으로 보고, "항상 X의 개수가..."라는 조건은 y=x+1 위를 밟지 않는 조건, 즉 카탈란수로 이해할 수 있다.

따라서 이 문제의 답은 단순히 $C_{n}$이다.


3. 괄호 열고 닫기 문제

$n$개 쌍의 괄호를 쌍이 맞도록 열고 닫는 방법의 수를 구하여라.

쌍이 맞도록 열고 닫는다는 뜻은 곧 여는 괄호('(')의 개수가 항상 닫는 괄호(')')의 개수 이상으로 유지하는 것이다.

예를 들어 다음은 쌍이 맞는 괄호이다.

(()(()))

또한 다음은 쌍이 맞지 않는 괄호이다.
(()))()(

 

이 상황은 즉, 항상 여는 괄호의 개수가 닫는 괄호의 개수 이상인 상황으로 생각할 수 있다.

즉, 2번 경우로 대응시켜 $C_n$가지의 경우가 있다.


4. 다각형 나누기 문제

$n+2$각형을 $n$개의 삼각형으로 나누는 방법의 수를 구하여라

육각형을 예로 들어보자.

 

각 변에 a부터 f까지 문자를 매긴다.

이제 육각형을 삼각 분할하고, 분할된 방식대로 각 변의 문자를 괄호로 묶는다.

묶는 규칙은 단순히 2개 이상의 변에 문자가 적혀있는 삼각형을 골라서 각 변의 문자를 괄호로 묶어서 나머지 한 변에 적으면 된다.

그러면 가장 마지막 삼각형에서는 세 변을 모두 괄호로 묶어서 괄호 묶음이 하나 나올 것이다. 이 묶음에서 문자를 지우면 괄호로 이루어진 묶음이 나온다. 그리고 이 쌍은 항상 규칙에 맞는다.

즉, 하나의 분할은 하나의 괄호 묶음과 대응되고, 괄호 묶음의 개수는 2번에서 설명한 대로 구할 수 있다.

따라서 $n+2$각형을 삼각형으로 분할하는 경우의 수는 $C_n$가지이다.


5. 이진트리 문제

단말 노드(자식이 없는 노드)가 $n$개인 이진트리의 개수를 구하여라.

 

우선 이진트리에 대해 간단히 설명하자면 이진트리는 다음과 같이 한 노드가 2개 혹은 0개의 자식 노드를 가지는 트리이다. 여기서 노드는 각 A~I 점을 말한다.

이진트리(Binary tree)의 예시

이 문제는 2번에서 설명한 괄호 문제로 대응할 수 있다.

각 단말 노드에 a부터 문자를 붙이자.

그리고 각 형제 노드끼리 괄호 쌍으로 묶는다. 가령 H에 해당하는 a와 I에 해당하는 b는 한 괄호로 묶인다.

이러한 방식으로 괄호를 묶으면 하나의 완성된 괄호 쌍이 된다. 예를 들어 위 그림에 그려진 트리는 아래와 같이 된다.

(((ab)c)(de))

이는 곧 트리 하나와 괄호 하나가 대응됨을 의미한다.

따라서 $n$개의 단말 노드를 가지는 트리의 개수는 $C_{n-1}$ 개다.


6. 입출력 문제

문자 $n$개를 충분히 큰 크기의 버퍼에 순서대로 입출력하는 경우의 수를 구하여라.

이것도 2번 문제와 같은 문제이다. "버퍼에 입력"의 개수가 "버퍼에 출력"의 개수보다 항상 같거나 커야 한다. 즉 단순히 $C_n$이다.

이 문제는 영화관, 기차 등등 수많은 상황으로 응용될 수 있기 때문에 일반적인 상황으로 알아두는 것이 좋겠다.


반응형
저작자표시 비영리 동일조건 (새창열림)

'수학 > 경우의 수' 카테고리의 다른 글

교란순열(완전순열)  (0) 2022.01.26
중복조합  (0) 2021.12.18
카탈란 수의 점화식  (0) 2021.09.24
분할과 분배 Pt. 2  (0) 2021.04.12
분할과 분배 Pt.1  (0) 2021.04.06
    '수학/경우의 수' 카테고리의 다른 글
    • 교란순열(완전순열)
    • 중복조합
    • 카탈란 수의 점화식
    • 분할과 분배 Pt. 2
    예지73
    예지73
    예리한 지혜

    티스토리툴바