본문 바로가기
Computer Science

[Programming] The Infinite Hotel

by Henry Cho 2021. 2. 9.
728x90

www.youtube.com/watch?v=faQBrAQ87l4

 

The Infinite Hotel이란,

끝을 알 수 없는 결과에 대한 프로그래밍 알고리즘 구현을 어떻게 해야 할지 알 수 있는 기본적이 개념이다.

위의 영상은 The Infinite Hotel에 대해서 간략하게 살펴볼 수 있는 영상이기에

영어를 잘한다면 포스트 읽기 전에 보고 오고 영어가 부족하다면

포스트를 읽고 나서 보면 The Infinite Hotel에 대한 내용을 이해하는데 도움이 될 것이다.

 

What is the infinite hotel?

The Infinite Hotel은 힐버트가 고안한 프로그래밍 알고리즘 개념이다.

필자가 여기서 수학적 개념이 아닌 프로그래밍 알고리즘 개념이라고 소개하는 이유는

The Infinite Hotel 개념을 바탕으로 자연이나 현실에 대한 문제를 공식화하여 프로그래밍되기 때문이다.

이를 Automata Theory라고 부르며, real time programming 같은 경우 적용되는 개념이다.

비록 간단한 원리처럼 보이는 The Infinite Hotel의 개념이 자연 섭리에 대한 공식화를 하여

프로그래밍으로 이어질 수 있게끔 만든 계기가 되었다.

 

The Infinite Hotel Countable

수학에서 셀 수 있는 수와 셀 수 없는 수에 대해서 살펴볼때 무한의 수는 셀 수 없는 수라고 부른다.

하지만 The Infinite Hotel에서는 Countable의 의미가 조금 다르다.

자연수, 정수, 유리수 등과 같이 사람이 셀 수 있는 개념의 수는

무한정으로 늘어난다고 가정을 하더라도 countable 속한 숫자이다.

한마디로 무한정으로 늘어나지만 사람이 수백만년 숫자를 세면 셀 수 있는 숫자라는 것이다.

 

The Infinite Hotel의 가정

The Infinite Hotel의 이야기는 이렇다.

The Infinite Hotel에는 말 그대로 무한의 방이 존재한다.

어느 날 The Infinite Hotel은 만실이 되었고 지배인은 기분 좋게 여유를 부리고 있다.

그러던 중에 손님 한 명이 찾아와 새로운 방이 있냐고 물어본다.

The Infinite Hotel의 지배인은 새로운 손님을 받을 수 있는 방법을 고민한다.

그러던 중 The Infinite Hotel 지배인 새로운 손님을 받을 수 있는 방법을 찾아내는데

The Infinite Hotel이 만실인 가운데 새로운 손님에게 어떻게 새로운 방을 줄 수 있을까?

이것이 바로 첫번째 간단한 The Infinite Hotel의 문제이자 개념이다.

이 외에도 The Infinite Hotel이 만실인 가운데 무한의 손님이 찾아올 경우,

무한의 버스를 타고 무한의 손님이 찾아올 경우 등

무한에 대한 개념을 어떤 식으로 공식으로 표현이 가능한지에 대해서 알 수 있다.

최종적으로 이러한 개념은 우리가 일상에 느끼는 요소나 상황들을

프로그래밍 알고리즘을 구현할 수 있게끔 생각하는 방식을 배울 수 있다.

728x90

댓글