경우의 수 number of cases
경우의 수는 왜 구하는가?
상태공간트리의 예
위 그림에서 알 수 있듯이, 초기상태로부터 나타날 수 있는 경우를 위와 같은 나무 형태로 정리하여 트리로 정리할 수 있다. 동전을 2번 던지는 경우에는 규칙성이 있기 때문에 위와 같은 트리로 정리하지 않더라도 전체 경우의 수를 구할 수 있지만, 규칙성을 알 수 없는 경우에는 위와 같은 트리 형태로 정리하는 것도 한 가지 방법이 될 수 있다.
경우의 수는 확률을 구하는 데에도 이용할 수 있다. 확률은 대개 전체 경우의 수에서 그 문제 상황에서 주시하고 있는 상황에 대한 경우의 수의 비로 구할 수 있다. 가령, 복권이 당첨되는 확률은 복권에서 나타날 수 있는 전체 경우의 수에서 구입한 복권의 수가 당첨될 수 있는 확률이 된다는 것이 이에 대한 대표적인 사례가 될 수 있다. 경우의 수를 통해 확률을 구하는 것을 통해, 실생활에서 접하는 다양한 의사 결정 상황에서 적절한 선택을 하는 데에 도움을 받을 수 있다.
정보과학(전산학)에서는 경우의 수를 활용해서, 알고리즘의 시간 복잡도나 공간 복잡도를 계산하는 데에 경우의 수의 개념을 많이 사용한다. 어떤 알고리즘의 시간 복잡도나 공간 복잡도란 간단하게 말하면 그 알고리즘을 구현한 프로그램이 자료의 크기 n이 주어졌을 때, 어느 정도의 연산 횟수가 필요하며(시간 복잡도), 그 연산을 하는 데에 어느 정도의 공간 저장이 필요한지(공간 복잡도)를 알아본 지표이다. 시간 복잡도나 공간 복잡도를 통해서, 구현하고자 하는 알고리즘이 현실적으로 구현이 가능하며, 그것을 통해서 의미 있는 결과를 얻을 수 있는지 뿐만 아니라, 여러 알고리즘의 특성을 알아 볼 수도 있다. 이런 이유로 현대 컴퓨터 공학에서 알고리즘을 구현하는 데에 있어서 이러한 경우의 수를 구하는 것이 중요하다.
이와 같이, 경우의 수는 시간을 넘어서서 우리 일상 생활에서 여러 결정을 내리는 데에 큰 도움을 준다는 것을 알 수 있다. 경우의 수 그 자체뿐만 아니라, 그것을 통해서 구할 수 있는 확률 역시 우리에게 적절한 의사 결정을 하는 데에 도움을 준다는 것도 알 수 있었다. 경우의 수를 구하는 일련의 과정은 알고리즘을 구현하는 과정에서 알고리즘의 구현 가능성을 알아보고, 정성적인 평가를 하는 데에 이용될 수 있다는 것도 알 수 있었다. 이를 통해, 경우의 수를 구하는 것과 보다 효율적으로 구하는 여러 가지 방법을 아는 것이 대단히 중요하다는 것을 알 수 있다.
'수학(Mathematics) > (구)내용 정리' 카테고리의 다른 글
자연수와 실수의 Cardinality (1) | 2012.06.17 |
---|---|
이산수학의 정의 (1) | 2012.06.16 |
시행의 정의 (0) | 2012.05.20 |
조건의 정의 (0) | 2012.04.21 |
명제의 정의 (0) | 2012.04.21 |