본문 바로가기
Mathematics

강 건너기 문제

by 작은별하나 2012. 7. 15.
반응형

강건너기 문제

 

한달전쯤에 사람들과 만나서 이야기 도중에 낸 문제를 적어볼까 합니다.

 

강건너기 문제인데, 조건에 따라서 잡아먹히는 문제입니다.

 

crossing the river

 

6명의 사람이 배를 타고 강을 건너려고 합니다. 그런데 문제는 3명의 사람이 식인종인데, 이 식인종들은 자신들의 숫자가 더 많으면 다른 사람을 잡아먹습니다. 자신들끼리는 잡아먹지 않기 때문에 식인종이 아닌 사람은 배를 타고 건널 때, 반드시 강의 양쪽편에 남은 사람들 수에 식인종 수와 같거나 더 많이 남아있어야 합니다. 배는 오직 두명이 타고 갈 수 있으며, 반드시 한명은 타고 있어야 합니다.

 

이 문제를 그 자리에서 풀어버렸는데, 술자리이다 보니.

 

이것을 어떻게 수학적으로 모델링할 수 있을까요? 모델링에는 그다지 소질은 없지만, 다음과 같은 기호를 써서 표기해볼까 합니다.

 

강 건너기 전에 식인종이 아닌 사람수와 식인종의 수를 f(x, y)라고 표기해보도록 할께요.

 

f(x,y)의 조건은 x=y 또는 x=0 또는 x=3이 되어야 합니다.

 

초기 조건은 f(3, 3)에서 출발합니다.

여기서 위 조건에 만족하기 위해서는 각각 1명씩 배를 타야 합니다. 그러면 f(2, 2)가 되죠.

돌아오는 사람은 식인종이 아닌 사람이 타고 와야 합니다. 그러면 f(3, 2)가 되죠.

다음은 식인종 2명이 가야 합니다. 그러면 f(3, 0)이 되죠.

돌아올 때에는 식인종 1명이 옵니다. 그러면 f(3, 1)이 되죠.

다음으로는 사람 2명이 갑니다. 그러면 f(1, 1)이 되죠.

돌아올 때에는 사람 1명, 식인종 1명이 옵니다. 그러면 f(2, 2)가 되죠.

다음으로는 사람 2명이 갑니다. 그러면 f(0, 2)가 됩니다.

다음은 식인종 1명이 옵니다. 그러면 f(0, 3)이 됩니다.

식인종 2명이 갑니다. 그러면 f(0, 1)이 됩니다.

식인종 1명이 옵니다. 그러면 f(0, 2)가 됩니다.

식인종 2명이 갑니다. 그러면 f(0, 0)이 됩니다.

 

조건을 정확하게 정하면 논리를 펴기 편합니다. 아마 수학을 하는 것도 이와 비슷하지 않을까요?

 

728x90

댓글