최근 수정 시각 : 2018-12-31 22:26:16

천사와 악마(논리)

1. 개요
1.1. 답
2. 바리에이션: 예/아니오로 대답 가능한 질문만 가능할 경우3. 바리에이션: 반드시 천국문 앞에는 천사가, 지옥문 앞에는 악마가 있을 경우4. 베리에이션25. 다른 방식의 베리에이션6. 응용 문제: 거울 퍼즐7. 기타

1. 개요

유명한 논리 문제 중 하나로 여러가지 베리에이션이 존재한다. 비슷한 문제로 기사와 건달 문제가 있으며, 진화 버전으로 가장 어려운 논리 퍼즐가 있다.
천국으로 가는 문과 지옥으로 가는 문이있다.
하지만 두 문이 똑같이 생겨서 구분할수가없다.
그리고 두 문 앞에 각각 천국에서 사는 천사와, 지옥에서 사는 악마가 서있는데
역시 천사와 악마도 똑같이 생겨서 구분할수가없다.
천사와 악마 모두 어떤게 천국의 문인지, 어떤게 지옥의 문인지 알고 있다.
단, 천국의 문 앞에는 반드시 천사가, 지옥의 문 앞에는 반드시 악마가 있다는 보장은 없다.
천국의 문 앞에 있는게 천사일 수도 악마일 수도 있고 지옥의 문 앞에 있는게 천사일 수도 악마일 수도 있다.
천사는 진실만을, 악마는 거짓만을 말한다.[1]
천사는 악마가 거짓만을 말할 것을, 악마는 천사가 진실만을 말할 것을 알고있다.
이 상황에서 한 가지 질문을 해서 천국의 문을 찾아야 한다.

1.1.

우선 "천국으로 통하는 문이 어디야?"라고 직접 물어보는건 소용이 없다. 상대가 천사라면 솔직하게 답해줄테지만, 상대가 악마라면 일부러 거짓말을 해서 지옥으로 통하는 문을 알려줄테니 말이다. 누가 천사인지 악마인지 모르는 상태에서 이 질문은 소용이 없다. 따라서 아래와 같이 질문을 해야한다.
  • 답1: 둘 중 아무에게나 상관 없으니 "네가 사는 곳이 어디야?" 라고 질문하는 것.
    • 천사일 경우

    그러면 천사는 진실을 말할테고 천사는 천국에 살테니 천국의 문을 가리킬 것이다.
    • 악마일 경우

    악마는 거짓을 말할테니 악마가 살고있는 지옥이 아닌 천국의 문을 가리킬 것이다.

누구에게 질문했느냐와 상관없이 결국 천국의 문을 알 수 있다.
  • 답2: 아무에게나 상관없으니 "옆의 녀석에게 천국의 문이 어디인지 물어본다면 어느 쪽 문을 가리킬까?"라고 질문한뒤 대답된 문과 반대 문으로 간다.
    • 천사일 경우

    천사는 악마가 거짓말을 한다는 것을 알고 있기에, 지옥의 문을 가리킨다.
  • 악마일 경우
    악마는 천사가 솔직하게 천국 문을 가리킨다는 것을 알고있지만, 거짓말을 해야 하니 지옥 문을 가리킨다.

논리학에서 이중 부정은 긍정이 된다는 것을 이용한 해답으로, 누구에게 질문했느냐와 상관없이 지옥의 문을 알 수 있기에 지옥 문이 아닌 다른 문은 천국의 문이란걸 알 수 있다.

2. 바리에이션: 예/아니오로 대답 가능한 질문만 가능할 경우

  • 답3: 두개의 문 중 자신이 직접 특정 문 한개를 지목한 뒤, 어느 누구에게든 상관없이 "옆의 녀석에게 내가 지목한 이 문이 천국의 문이 맞냐고 질문한다면, 맞다고 대답할까?'
    • 지목한 문이 천국의 문 일때, 천사일 경우

      • 천사는 악마가 거짓말을 할 것을 알고있다. 따라서 '아니다'라고 대답한다.
    • 지목한 문이 천국의 문 일때, 악마의 경우

      • 악마는 천사가 진실을 말할 것을 알고있다. 하지만 악마는 일부러 거짓말을 해서 '아니다'라고 대답한다.
    • 지목한 문이 지옥의 문 일때, 천사의 경우

      • 천사는 악마가 거짓말을 할 것을 알고있다. 따라서 '맞다'라고 대답한다.
    • 지목한 문이 악마의 문 일때, 악마의 경우

      • 악마는 천사가 진실을 말할 것을 알고있다. 하지만 악마는 일부러 거짓말을 해서 '맞다'라고 대답한다.

난이도를 높여서 '예/아니오로만 대답할 수 있는 질문만 가능하다'는 조건이 붙은 바리에이션에서 통하는 방법으로, 여기서 내가 지목한 문이 천국일 경우, 천사와 악마 둘 다 '아니다(= 옆의 녀석은 천국의 문이 아니라고 대답할 것 이다)'라는 대답이 돌아온다. 따라서 이런 대답이 돌아왔다면 내가 선택한 그 문이 천국의 문 이다.

만약 내가 지목한 문이 지옥일 경우, 천사와 악마 둘 다 '맞다(= 옆의 녀석은 천국의 문이 맞다라고 대답할 것 이다)'라는 대답이 돌아온다. 따라서 이런 대답이 돌아왔을때 내가 선택하지 않은 다른 문이 천국의 문 이다.

3. 바리에이션: 반드시 천국문 앞에는 천사가, 지옥문 앞에는 악마가 있을 경우

오히려 난이도가 더 쉬워진 바리에이션이다.

위 명제는 '반드시 천국의 문 앞에 천사가, 지옥의 문 앞에 악마가 있다는 보장은 없다'라는 전제하의 문제인데, 이걸 바꿔서 '천국의 문 앞에는 반드시 천사가, 지옥의 문 앞에는 반드시 악마가 있다' 라는 전제 조건을 바꾼 문제도 존재한다. 이 경우에 해답은 다음과 같다.
  • 답: '옆의 녀석에게 자신이 지키는 곳이 천국의 문이라 묻는다면 뭐라고 대답할까?'
    • 천사일 경우

    천사는 악마가 지키는 곳이 지옥 문이란걸 알고있고, 악마는 반드시 거짓말을 할 것도 알기에 '녀석은 자신이 지키는 문이 천국의 문이라고 대답할 것 이다' 라고 답한다.
    • 악마일 경우

    악마는 천사가 지키는 곳이 천국 문이며, 그걸 솔직하게 말할걸 알고있다. 하지만 악마는 거짓말을 하기에 '녀석은 자신이 지키는 문이 지옥의 문이라고 대답할 것 이다'라고 답한다.
따라서 '녀석은 자신이 지키는 문이 천국의 문이라고 대답할 것 이다' 라는 대답을 했다면 무조건 천사이며, 이 대답을 한 천사가 지키고 있는 문으로 들어가야 한다. 만약 '녀석은 자신이 지키는 문이 지옥의 문이라고 대답할 것 이다' 라는 대답을 했다면 무조건 악마이며, 이 대답을 한 악마가 지키고 있는 반대 문으로 들어가야 한다.
  • 너희 둘 다 진실을 말하니?
    악마는 그렇다고 할 것이고 천사는 아니라고 할 것이다.

다만 사실, '반드시 천국의 문 앞에는 천사가, 지옥의 문 앞에는 악마가'라는 전제 조건이 딸려있다면 가장 쉽게 풀 수 있는 문제는 아무에게나 "2+2는 4인가?"라는 식으로 본인도 정답을 알 수 있는 질문을 물어보는 것 이다. 정답이 존재하는 수학적 문제에는 상대가 진실을 말할지 아닐지 알 수 있고, 4가 맞다는 진실을 말했다면 천사일테니 천사가 있는 문으로 가면 되고 4가 아니라는 거짓말을 했다면 악마일테니 그 반대편 문으로 가면 된다.

4. 베리에이션2

이 문제와 비슷한 문제로 다음과 같은 문제가 있다.
Y자로 갈라진 길이 있다.
둘 중 한 곳은 진실만을 말하는 사람들이 사는 곳이고,
다른 한 곳은 거짓말만을 말하는 사람들이 사는 곳이다.
길이 갈라지는 길목에 사람이 서 있다.
그 사람은 진실마을에서 온 사람일 수도 있고 거짓마을에서 온 사람일 수도 있다.
그 사람에게 질문을 단 한 번만 해서 진실마을과 거짓마을 중 골라서 가는 방법은?
여기서 질문은 부탁도 포함한다.[2]
이 문제의 답은 이렇다.

둘 중 A마을을 가리키며 "이 마을이 당신이 사는 마을입니까?"라고 물었을 때 그 사람이 "예"라고 답한다면 A마을이 진실마을이고 "아니오"라고 답한다면 B마을이 진실마을이다.
  • 만약 A가 진실마을이라고 했을 때 길목에 서 있는 사람이 진실마을 사람이라면 그 사람이 진짜로 A마을에 살고 있으므로 "예"라고 답하고, 거짓마을 사람이라면 그 사람은 A마을에 살고 있지 않음에도 거짓말로 "예"라고 답할 것이다.
  • 만약 B가 진실마을이라고 했을 때 길목에 서 있는 사람이 진실마을 사람이라면 그 사람은 A마을에 살고 있지 않으므로 "아니오"라고 답하고, 거짓마을 사람이라면 그 사람이 A마을에 살고 있음에도 거짓말로 "아니오"라고 답할 것이다.
  • 따라서, 길목에 서 있는 사람이 진실마을 사람이든 거짓마을 사람이든 둘 중 한 마을을 가리키며 "이 마을이 당신이 사는 마을입니까?"라고 물었을 때 "예"라고 답하면 진실마을이고 "아니오"라고 답하면 거짓마을이 된다.

5. 다른 방식의 베리에이션

"진실을 말하는 천사"를 이용한 다른 방식의 문제들도 있다.
O,X 문제에 대답을 해주는 어떤 천사가 있다. 이 천사는 아래와 같은 특징을 가졌다.

-----------------------------------------------------------------------
이 천사는 진실만을 말한다.

또한, 이 천사는 어떠한 상황에서라도
"O" 또는 "X" 라고밖에 대답을 할수 없다.

천사가 "O"라고 대답 했다면 그것은 무조건 맞는것이고
천사가 "X"라고 대답 했다면 그것은 무조건 틀린것이다.

이 천사는 전지전능하여 모든것을 알고있다.
당신의 비밀이라거나 당신의 친족관계, 매우 어려운 수학문제,생물의 창조 또는 진화,
세계적인 미스테리,우주의 진실 등등 모든것을 알고있고,
이것들에 대한 대답을 할수 있다.
-----------------------------------------------------------------------
(천사에게 대답이 O,X로 나누어지는 질문을 해야하지 이상한 질문이나 요구를 하면 안된다.)
(거짓말이 들어간 내용으로 질문을 해서는 안된다.)
(말이 안되는 어떠한 것에 대해 질문하지 못한다.)
(천사가 대답을 한 이후의 상황에 대해서는 질문할수 없다.)

그런데,
이 천사에게 한 문장의 질문을 하였더니,
천사가 대답을 할수 없는 상황이 나와버렸다.

천사에게 했던 질문은 무엇이었을까??

이 문제의 경우 기존 천사와 악마 문제와는 요구하는 답이 다르다. "천사는 진실만을 말한다" 라는 특징을 이용하여 정답을 찾을수 있다. '진실만을 말한다'는 것은 '거짓을 말할수 없다' 라는 것을 이용하여 정답을 찾을수 있다. 답은 아래와 같다.
당신은 제가 지금 묻고있는 질문에 "X" 라고 대답 할 것입니까?
위와 같은 질문을 천사에게 한다면 진실만을 말하는 천사가 거짓된 대답을 할수밖에 없다.

위 질문에서 <천사에게 "X"라고 대답 할 것입니까?>라고 물었는데 천사가 "O"라고 대답한다면 천사의 대답은 모순되고 거짓된 대답이 된다.반대로 천사가 "X"라고 대답하더라도 천사의 대답은 모순되고 거짓된 대답이 된다. 천사는 거짓을 말할수 없으므로 위 질문에 대한 대답을 하지 못하게 되는것이다. 이 외에도 여러가지의 정답이 있다.

천사에게 당신이 모르는 게 있는지 알고 있나요? 라고 하여도 천사가 답을 할수 없는 상황이 나올 것이다. 천사는 모든 것을 알고있다, 즉 알지 못 하는 게 없어야만 한다. 그러나 "O"라고 하면 모르는 것이 있다, 즉 알지 못 하는 것이 있다는 답변이 되고, X라 대답하면 자신이 뭘 모르는 지 알지 못 한다고 하게 된다. 그래서 대답을 하지 못하는 상황이 나온다. 이 상황은 성립할 수가 없는 게, "모르는 게 없다"는 조건도 "모르는 게 있는지 안다"의 범주에 속해서 O라고 대답할 수 있다. 천사는 모르는 게 없다. 즉 자신이 모르는 것의 수가 0으로 존재함을 알고 있으므로, O라고 대답해도 딱히 질문의 논지에 벗어나지 않으면서 천사의 능력 안에서 해결할 수 있는 답이 나오게 된다.


이 문제에서 이용된 원리는 가장 어려운 논리 퍼즐 에서 신의 머리가 폭발하는 경우의 상황과 같은 원리이다. "가장 어려운 논리 퍼즐"은 미국의 철학자이자 논리학자인 조지 불로스가 이탈리아의 한 신문에 실었던 논리 퍼즐인데, 이 논리퍼즐의 상황에서도 "신이 대답을 하지 못하는 상황"이 나올수 있었다, (A simple solution to the hardest logic puzzle ever에서 신이 대답을 하지 못하는 상황이 나올수 있는것을 알아냈는데, 여기에서는 이것을 신의 머리가 폭발했다 라고 표현했다.)

6. 응용 문제: 거울 퍼즐

마녀에게는 무엇이든 알려주는 거울이 존재한다. 그런데 이 거울은 어느날엔 진실을 말하고 어느날엔 거짓을 말한다. 마녀는 수학을 못해서 2+2가 4인지 궁금해서 거울에게 물어보고자 한다. 원하는 답을 얻기 위해서 거울에게 어떤 식으로 질문을 해야하는가?

답: "오늘 내가 너에게 "2+2가 4니?"라고 질문한다면, 넌 어떻게 대답할 것 이니?" 라는 식으로 조건(if)를 걸어서 질문을 하면 원하는 대답을 얻을 수 있다.
  • 오늘이 거울이 진실을 말하는 날이라면 별 문제없이 그 질문에 "저는 '맞다'라고 대답할 것 입니다."라고 말을 한다.
  • 오늘이 거울이 거짓말을 말하는 날이라면, 거울은 자신이 '아니다'라고 대답할 것을 알고있다. 그런데 이 질문의 핵심은 "2+2가 4니?"이 아니라 "거울 너는 어떻게 대답할 것 이니?"가 핵심이다. 따라서 거울은 거짓말을 해서 "저는 '맞다'라고 대답할 것 입니다."라고 말을 한다.

이 문제의 핵심은 부정+부정 이라는 이중 부정은 긍정이 된다는 점 이다.

7. 기타

유희왕에도 등장한 적이 있다.미궁 형제가 미궁을 헤매는 무토오 유우기 일행에게 '미'의 문과 '궁'의 문을 제시하면서 두 문 중 하나만이 출구라고 말하면서, 둘 중 한 명이 진실만을 말하고 나머지 한 명은 거짓만을 말한다는 조건으로 문제가 제시되었다. 죠노우치 카츠야는 위의 예시를 그대로 들어 해결하려 했지만, 어둠의 유우기는 위의 조건을 말한 자들이 당사자 본인이라는 점을 들어 의심했다. 이후 유우기는 듀얼을 끝낸 후 똑같은 방법으로 미궁 형제를 속여 정답을 찾아냈다. 자세한 것은 플레이어 킬러 문서 참조.

방구석에 인어아가씨에서 박도경임사체험을 할 때에도 등장한다. 박도경은 아주 간단하게 '하느님 개새끼 해봐'로 탈출한다.


[1] 여기서 말하는 거짓말은, 논리적인 명제에서만 무조건 참과 반대의 대답한다는 뜻이다. 주관적인 문제(나는 예쁜가?)가 아니라 논리적으로 참/거짓만 존재하는 명제(2+2는 4인가?)에서만 참/거짓을 말할 수 있다.[2] 문제적남자에 출제된 적이 있는 문제다.

분류