천사와 악마(논리)
1. 개요
유명한 논리 문제 중 하나로 여러가지 베리에이션이 존재한다. 비슷한 문제로 기사와 건달 문제가 있으며, 진화 버전으로 가장 어려운 논리 퍼즐이 있다.
1.1. 답
우선 "천국으로 통하는 문이 어디야?"라고 직접 물어보는건 소용이 없다. 상대가 천사라면 솔직하게 답해줄테지만, 상대가 악마라면 일부러 거짓말을 해서 지옥으로 통하는 문을 알려줄테니 말이다. 누가 천사인지 악마인지 모르는 상태에서 이 질문은 소용이 없다. 따라서 아래와 같이 질문을 해야한다.
- 답1: 둘 중 아무에게나 상관 없으니 "네가 사는 곳이 어디야?" 라고 질문하는 것.
- 천사일 경우
천사는 진실을 말할테고 천사는 천국에 살테니 천국의 문을 가리킬 것이다.
- 악마일 경우
악마는 거짓을 말할테니 악마가 살고있는 지옥이 아닌 천국의 문을 가리킬 것이다.
누구에게 질문했느냐와 상관없이 결국 천국의 문을 알 수 있다.
누구에게 질문했느냐와 상관없이 결국 천국의 문을 알 수 있다.
- 답2: 아무에게나 상관없으니 "옆의 녀석에게 천국의 문이 어디인지 물어본다면 어느 쪽 문을 가리킬까?"라고 질문한뒤 대답된 문과 반대 문으로 간다.
- 천사일 경우
천사는 악마가 거짓말을 한다는 것을 알고 있기에, 지옥의 문을 가리킨다.
- 악마일 경우
악마는 천사가 솔직하게 천국 문을 가리킨다는 것을 알고있지만, 거짓말을 해야 하니 지옥 문을 가리킨다.
논리학에서 이중 부정은 긍정이 된다는 것을 이용한 해답으로, 누구에게 질문했느냐와 상관없이 지옥의 문을 알 수 있기에 지옥 문이 아닌 다른 문은 천국의 문이란걸 알 수 있다.
논리학에서 이중 부정은 긍정이 된다는 것을 이용한 해답으로, 누구에게 질문했느냐와 상관없이 지옥의 문을 알 수 있기에 지옥 문이 아닌 다른 문은 천국의 문이란걸 알 수 있다.
2. 예/아니오로 대답 가능한 질문만 가능할 경우
- 답3: 두개의 문 중 자신이 직접 특정 문 한개를 지목한 뒤, 어느 누구에게든 상관없이 "옆의 녀석에게 내가 지목한 이 문이 천국의 문이 맞냐고 질문한다면, 맞다고 대답할까?'
- 지목한 문이 천국의 문 일때, 천사일 경우
천사는 악마가 거짓말을 할 것을 알고있다. 따라서 '아니다'라고 대답한다.
- 지목한 문이 천국의 문 일때, 악마의 경우
악마는 천사가 진실을 말할 것을 알고있다. 하지만 악마는 일부러 거짓말을 해서 '아니다'라고 대답한다.
- 지목한 문이 지옥의 문 일때, 천사의 경우
천사는 악마가 거짓말을 할 것을 알고있다. 따라서 '맞다'라고 대답한다.
- 지목한 문이 지옥의 문 일때, 악마의 경우
악마는 천사가 진실을 말할 것을 알고있다. 하지만 악마는 일부러 거짓말을 해서 '맞다'라고 대답한다.
난이도를 높여서 '예/아니오로만 대답할 수 있는 질문만 가능하다'는 조건이 붙은 베리에이션에서 통하는 방법으로, 여기서 내가 지목한 문이 천국일 경우, 천사와 악마 둘 다 '아니다(= 옆의 녀석은 천국의 문이 아니라고 대답할 것 이다)'라는 대답이 돌아온다. 따라서 이런 대답이 돌아왔다면 내가 선택한 그 문이 천국의 문 이다.만약 내가 지목한 문이 지옥일 경우, 천사와 악마 둘 다 '맞다(= 옆의 녀석은 천국의 문이 맞다라고 대답할 것 이다)'라는 대답이 돌아온다. 따라서 이런 대답이 돌아왔을때 내가 선택하지 않은 다른 문이 천국의 문 이다.
3. 반드시 천국문 앞에는 천사가, 지옥문 앞에는 악마가 있을 경우
오히려 난이도가 더 쉬워진 베리에이션이다.
위 명제는 '반드시 천국의 문 앞에 천사가, 지옥의 문 앞에 악마가 있다는 보장은 없다'라는 전제하의 문제인데, 이걸 바꿔서 '천국의 문 앞에는 반드시 천사가, 지옥의 문 앞에는 반드시 악마가 있다' 라는 전제 조건을 바꾼 문제도 존재한다. 이 경우에 해답은 다음과 같다.
- 답: '옆의 녀석에게 자신이 지키는 곳이 천국의 문이라 묻는다면 뭐라고 대답할까?'
- 천사일 경우
천사는 악마가 지키는 곳이 지옥 문이란걸 알고있고, 악마는 반드시 거짓말을 할 것도 알기에 '녀석은 자신이 지키는 문이 천국의 문이라고 대답할 것이다' 라고 답한다.
- 악마일 경우
악마는 천사가 지키는 곳이 천국 문이며, 그걸 솔직하게 말할걸 알고있다. 하지만 악마는 거짓말을 하기에 '녀석은 자신이 지키는 문이 지옥의 문이라고 대답할 것이다'라고 답한다.
따라서 '녀석은 자신이 지키는 문이 천국의 문이라고 대답할 것이다' 라는 대답을 했다면 무조건 천사이며, 이 대답을 한 천사가 지키고 있는 문으로 들어가야 한다. 만약 '녀석은 자신이 지키는 문이 지옥의 문이라고 대답할 것이다' 라는 대답을 했다면 무조건 악마이며, 이 대답을 한 악마가 지키고 있는 반대 문으로 들어가야 한다.- 너희 둘 다 진실을 말하니?
악마는 그렇다고 할 것이고 천사는 아니라고 할 것이다.
다만 사실, '반드시 천국의 문 앞에는 천사가, 지옥의 문 앞에는 악마가'라는 전제 조건이 딸려있다면 가장 쉽게 풀 수 있는 문제는 아무에게나 "2+2는 4인가?"라는 식으로 본인도 정답을 알 수 있는 질문을 물어보는 것 이다. 정답이 존재하는 수학적 문제에는 상대가 진실을 말할지 아닐지 알 수 있고, 4가 맞다는 진실을 말했다면 천사일테니 천사가 있는 문으로 가면 되고 4가 아니라는 거짓말을 했다면 악마일테니 그 반대편 문으로 가면 된다.4. 응용 문제 1
이 문제와 비슷한 문제로 다음과 같은 문제가 있다.
이 문제의 답은 이렇다.
둘 중 A마을을 가리키며 "이 마을이 당신이 사는 마을입니까?"라고 물었을 때 그 사람이 "예"라고 답한다면 A마을이 진실마을이고 "아니오"라고 답한다면 B마을이 진실마을이다.
- 만약 A가 진실마을이라고 했을 때 길목에 서 있는 사람이 진실마을 사람이라면 그 사람이 진짜로 A마을에 살고 있으므로 "예"라고 답하고, 거짓마을 사람이라면 그 사람은 A마을에 살고 있지 않음에도 거짓말로 "예"라고 답할 것이다.
- 만약 B가 진실마을이라고 했을 때 길목에 서 있는 사람이 진실마을 사람이라면 그 사람은 A마을에 살고 있지 않으므로 "아니오"라고 답하고, 거짓마을 사람이라면 그 사람이 A마을에 살고 있음에도 거짓말로 "아니오"라고 답할 것이다.
- 따라서, 길목에 서 있는 사람이 진실마을 사람이든 거짓마을 사람이든 둘 중 한 마을을 가리키며 "이 마을이 당신이 사는 마을입니까?"라고 물었을 때 "예"라고 답하면 진실마을이고 "아니오"라고 답하면 거짓마을이 된다.
5. 응용 문제 2
"진실을 말하는 천사"를 이용한 다른 방식의 문제들도 있다.
이 문제의 경우 기존 천사와 악마 문제와는 요구하는 답이 다르다. "천사는 진실만을 말한다" 라는 특징을 이용하여 정답을 찾을수 있다. '진실만을 말한다'는 것은 '거짓을 말할수 없다' 라는 것을 이용하여 정답을 찾을수 있다. 답은 아래와 같다.
위와 같은 질문을 천사에게 한다면 진실만을 말하는 천사가 거짓된 대답을 할수밖에 없다.당신은 제가 지금 묻고있는 질문에 "X" 라고 대답 할 것입니까?
위 질문에서 <천사에게 "X"라고 대답 할 것입니까?>라고 물었는데 천사가 "O"라고 대답한다면 천사의 대답은 모순되고 거짓된 대답이 된다. 반대로 천사가 "X"라고 대답하더라도 천사의 대답은 모순되고 거짓된 대답이 된다. 천사는 거짓을 말할수 없으므로 위 질문에 대한 대답을 하지 못하게 되는것이다. 이 외에도 여러가지의 정답이 있다.
이 상황은 성립할 수가 없는 게, "모르는 게 없다"는 조건도 "모르는 게 있는지 안다"의 범주에 속해서 O라고 대답할 수 있다. 천사는 모르는 게 없다. 즉 자신이 모르는 것의 수가 0으로 존재함을 알고 있으므로, O라고 대답해도 딱히 질문의 논지에 벗어나지 않으면서 천사의 능력 안에서 해결할 수 있는 답이 나오게 된다.
이 문제에서 이용된 원리는 가장 어려운 논리 퍼즐에서 신의 머리가 폭발하는 경우의 상황과 같은 원리이다. 가장 어려운 논리 퍼즐은 미국의 철학자이자 논리학자인 조지 불로스가 이탈리아의 한 신문에 실었던 논리 퍼즐인데, 이 논리퍼즐의 상황에서도 "신이 대답을 하지 못하는 상황"이 나올수 있었다.(A simple solution to the hardest logic puzzle ever에서 신이 대답을 하지 못하는 상황이 나올수 있는것을 알아냈는데, 여기에서는 이것을 신의 머리가 폭발했다 라고 표현했다.)
6. 응용 문제 3
마녀에게는 무엇이든 알려주는 거울이 존재한다. 그런데 이 거울은 어느날엔 진실을 말하고 어느날엔 거짓을 말한다. 마녀는 수학을 못해서 2+2가 4인지 궁금해서 거울에게 물어보고자 한다. 원하는 답을 얻기 위해서 거울에게 어떤 식으로 질문을 해야하는가?
답: "오늘 내가 너에게 "2+2가 4니?"라고 질문한다면, 넌 어떻게 대답할 것이니?" 라는 식으로 조건(if)를 걸어서 질문을 하면 원하는 대답을 얻을 수 있다.
- 오늘이 거울이 진실을 말하는 날이라면 별 문제없이 그 질문에 "저는 '맞다'라고 대답할 것 입니다."라고 말을 한다.
- 오늘이 거울이 거짓말을 말하는 날이라면, 거울은 자신이 '아니다'라고 대답할 것을 알고있다. 그런데 이 질문의 핵심은 "2+2가 4니?"이 아니라 "거울 너는 어떻게 대답할 것 이니?"가 핵심이다. 따라서 거울은 거짓말을 해서 "저는 '맞다'라고 대답할 것 입니다."라고 말을 한다.
7. 기타
유희왕에도 등장한 적이 있다.미궁형제가 미궁을 헤매는 무토우 유우기 일행에게 '미'의 문과 '궁'의 문을 제시하면서 두 문 중 하나만이 출구라고 말하면서, 둘 중 한 명이 진실만을 말하고 나머지 한 명은 거짓만을 말한다는 조건으로 문제가 제시되었다. 죠노우치 카츠야는 위의 예시를 그대로 들어 해결하려 했지만, 어둠의 유우기는 위의 조건을 말한 자들이 당사자 본인이라는 점을 들어 의심했다. 이후 유우기는 듀얼을 끝낸 후 똑같은 방법으로 미궁형제를 속여 정답을 찾아냈다. 자세한 것은 미궁형제 문서 참조.
수학도둑에서도 등장했는데, 도도와 그 친구들의 조상님[3] 이 악당 마법사 매직코팅을 잡기 위해 한 내기에서도 비슷하게 등장했다. 여기서는 우리 찾는 게이트를 옆의 부하한테 물어보면 어디를 가리키냐고 질문했다.
방구석에 인어아가씨에서 박도경이 임사체험을 할 때에도 등장한다. 박도경은 아주 간단하게 '하느님 개새끼 해봐'로 탈출한다.