PlayPendium

River Reckoning · 생각의 양식

화물을 건너편으로 실어 나르다

한 번의 건너기는 저마다 하나의 결정이며, 모든 결정은 앞으로 나아가는 일과 뒤에 남겨 두는 것의 안전 사이에서 이루는 균형입니다.

영어로 집필하고 편집했습니다. 이 한국어 판은 기계 번역으로 만들어졌으며, 정확성이 중요한 경우에는 영어 원문이 기준이 됩니다. 영어 원문 읽기 →

게임판으로서의 강

River Reckoning의 강은 그저 풍경으로 깔린 배경이 아니라, 가능한 모든 수를 빚어내는 근본적인 제약입니다. 한쪽 기슭에는 여러분의 화물이 놓여 있고, 품목 하나하나가 서로 구별되며, 저마다 퍼즐의 경계를 정하는 금지 쌍으로 관계가 새겨져 있습니다. 배는 여러분이 가진 유일한 이동 수단이고, 그 적재량은 고정되어 있지 않고 조수에 따라 바뀝니다. 이 단순한 설정이 가능한 것과 불가능한 것으로 이루어진 풍성한 공간을 만들어 내며, 여기서의 도전은 속도가 아니라 모든 제약을 동시에 만족시키는 건너기의 순서를 찾아내는 데 있습니다. 강은 두 상태, 곧 처음의 배치와 모든 품목이 건너간 목표 상태를 갈라놓고 있으며, 여러분이 할 일은 어떤 규칙도 어기지 않고 그 사이의 공간을 헤쳐 나가는 것입니다. 3

이 퍼즐을 특히 매력적으로 만드는 것은 제약들이 서로 얽히는 방식입니다. 금지 쌍은 의존 관계의 그물을 만들어 냅니다. 한 품목을 옮기면 다른 품목이 일시적으로 위태로워질 수 있고, 그래서 계속 나아가기 전에 무언가를 되가져와야 할 수도 있습니다. 조수에 따라 적재량이 달라지므로, 적재량이 고정된 퍼즐에서는 있을 수 없는 방식으로 건너기의 순서가 중요해집니다. 세 번째 건너기에서는 통하는 순서가 네 번째 건너기에서는 불가능할 수도 있고, 그 반대일 수도 있습니다. 이 시간적 차원은 배의 적재량이 처음부터 끝까지 일정한 고전적인 퍼즐을 넘어서는 계획의 층을 더해 줍니다. 3

금지 쌍 제약

River Reckoning에 그 성격을 부여하는 핵심 장치는 금지 쌍 체계입니다. 어떤 품목 쌍들은 한 기슭에 단둘이 남겨질 수 없습니다. 그 양립 불가능함이 게임의 주제에서 암시된 것이든 그저 기계적인 규칙일 뿐이든, 이들은 설계상 서로 어울리지 못합니다. 배가 어떤 기슭을 떠나 그곳을 지키는 이 없이 남겨 둘 때, 그 기슭에는 금지 쌍이 하나도 없어야 합니다. 이것이 작동 중인 안전 검사이며, 여러분이 뒤에 남겨 두는 것이 안정적이어서 돌아왔을 때에도 그대로 있으리라는 것을 보장합니다. 검사를 받는 것은 지키는 이가 없는 기슭뿐입니다. 뱃사공이 자기가 서 있는 기슭의 보호자 노릇을 하기 때문입니다. 금지 쌍은 그의 눈앞에서라면 아주 사이좋게 나란히 앉아 있을 수 있고, 그가 배를 밀어내는 순간에야 문제가 됩니다. 그러므로 건너기에 앞서 던져야 할 물음은 두 기슭이 모두 안전한가가 아니라, 이제 막 버려 두려는 그 기슭을 혼자 내버려 두어도 되는가입니다. 3

이 제약이 이 게임의 근본적인 긴장을 만들어 냅니다. 여러분은 목표를 향해 품목을 앞으로 옮기고 싶지만, 모든 수는 떠나는 기슭에 위험한 상태를 만들 위험을 안고 있습니다. 해법은 흔히 한 품목을 건너편으로 옮겼다가 다시 되가져오거나, 금지 쌍을 떼어 놓는 특정한 순서로 품목들을 실어 나르기를 요구합니다. 고전적인 강 건너기 퍼즐의 전통에서 이것은 늑대와 염소와 양배추 문제를 오직 신중한 순서를 통해서만, 곧 건너가는 네 번과 돌아오는 세 번으로 이루어진 일곱 번의 건너기를 통해서만 풀리게 만드는 바로 그 제약입니다 2. 이 퍼즐은 오래되었습니다. 알려진 가장 이른 등장은 전통적으로 Alcuin of York(요크의 앨퀸)에게 돌려지는 모음집 Propositiones ad Acuendos Juvenes이며, 남아 있는 사본들은 9세기의 것이고, 이 책에는 모두 세 편의 강 건너기 문제가 실려 있습니다 1. River Reckoning은 그 발상을 되풀이하기보다 일반화합니다. 주제에 맞춘 꾸러미에서 뽑은 네 개에서 여섯 개의 품목, 그리고 이야기가 아니라 시드가 고른 두 개에서 네 개의 금지 쌍이 그 사이에 놓이므로, 위험 요소들이 서사적으로 말이 될 필요는 없습니다. 그 쌍들 가운데 하나는 감추어지기까지 합니다. 규칙 줄은 하나만 빼고 모두 보여 주며, 마지막 하나는 여러분이 그것을 처음으로 위험에 빠뜨릴 때에야 드러나는데, 그 대가로 치른 왕복 한 번은 여전히 총 횟수에 더해집니다.

조수는 여러분의 계획에 관심이 없다.

조수와 변하는 적재량

배가 정해진 개수만큼만 실을 수 있는 고전적인 퍼즐과 달리, River Reckoning은 건너기마다 배의 적재량을 바꾸는 조수 장치를 들여옵니다. 배의 적재량은 짧게 되풀이되는 적재량 패턴에서 읽어 오며, 그 색인은 여러분이 이미 건넌 횟수입니다. 가장 쉬운 퍼즐은 하나, 둘로 돌고, 가장 어려운 퍼즐은 둘, 하나, 둘, 하나로 도니, 둘 다 그저 번갈아 갈 뿐입니다. 중간 난이도는 하나, 둘, 하나로 돌기 때문에, 그 주기는 한 품목만 싣는 건너기 두 번이 잇따르며 닫힙니다. 그 패턴의 어느 위상에서 시작하는지는 시드에 달려 있으므로, 어떤 왕복은 둘을 건네줄 수 있는 반면 바로 다음 왕복은 한 명만 태울 수도 있습니다. 건너기의 순서가 결정적으로 중요해집니다. 어떤 적재량 순서에서는 통하는 해법이 다른 순서에서는 불가능할 수 있습니다. 두 번째 품목을 싣고 싶다고 해서 그냥 그렇게 정할 수는 없습니다. 그 순간 조수가 허락하는 범위 안에서 움직여야 합니다. 3

이 장치는 퍼즐을 정적인 제약 충족 문제에서 동적인 계획 과제로 바꾸어 놓습니다. 여러분은 어떤 품목을 옮길지뿐 아니라 언제 옮길지도 생각해야 합니다. 적재량이 고정되어 있었다면 유효했을 순서가, 특정한 건너기 번호에서 조수가 필요한 만큼보다 적재량을 낮춰 놓는 바람에 실패할 수 있습니다. 반대로 비효율적으로 보이는 순서가 주어진 적재량 주기에서는 유일하게 통하는 순서일 수도 있습니다. 조수는 퍼즐에 시간의 리듬을 들여오며, 그 덕분에 금지 쌍과 처음 배치가 똑같더라도 퍼즐 하나하나가 저마다 다릅니다. 3

빈 배로 건너기

모든 건너기에 화물이 필요한 것은 아닙니다. 뱃사공은 아무것도 싣지 않고 혼자 노를 저어 돌아올 수 있습니다. 이것이 빈 배로 건너기입니다. 이 장치는 퍼즐의 해답 공간에 필수적입니다. 앞서 해 둔 일을 되돌리지 않고도 출발한 기슭으로 돌아갈 수 있게 해 주기 때문입니다. 많은 퍼즐에서 금지 쌍의 충돌을 푸는 유일한 방법은 앞서 앞으로 옮겼던 품목을 되가져오는 것입니다. 빈 배로 건너기는 융통성을 줍니다. 때로는 다른 품목을 실으러 빈 배로 돌아가야 하고, 때로는 건너편의 금지 쌍을 떼어 놓기 위해 품목을 하나 싣고 돌아가야 합니다. 엔진은 두 경우를 똑같이 다룹니다. 한 번의 건너기는 배에 실린 것이 무엇이든, 설령 아무것도 아니더라도 그것을 옮기고 배를 반대편으로 넘깁니다. 다만 게임은 여기에 한 가지 선을 긋습니다. 출발한 기슭에서 빈 배로 저어 나가는 것은 거부됩니다. 그것은 결코 도움이 될 수 없기 때문입니다. 빈 배 여행은 돌아가는 길이지 나아가는 길이 아닙니다. 3

빈 배로 건너기는 돌아오는 길을 값싸게 만들어 주기도 합니다. 그것이 없다면 집으로 오는 모든 여정이 무언가를 되싣고 와야 했을 테고, 그러면 방금 해 놓은 일의 일부가 도로 무너져 퍼즐은 지루한 일방통행 운송 문제로 주저앉았을 것입니다. 그러나 혼자 노를 저어 돌아올 수 있으므로, 품목을 앞으로, 뒤로, 다시 앞으로 복잡한 순서를 따라 옮길 수 있는 가능성의 고리가 생겨납니다. 이것은 고전적인 늑대/염소/양배추 문제를 푸는 것과 같은 통찰입니다. 농부는 물건을 되가져올 수 있고, 되돌릴 수 있다는 바로 그 능력이 일곱 번의 건너기로 이루어진 해법을 가능하게 합니다 2. River Reckoning에서 빈 배로 건너기는 여러 선택지 가운데 하나일 뿐이지만, 여전히 뱃사공의 연장통에 든 근본적인 도구입니다.

모든 상태는 겉으로 드러난 결정이다.

상태 공간과 목표

이 게임의 각 배치는 네 가지로 완전히 기술됩니다. 어떤 품목이 왼쪽 기슭에 있는지, 어떤 품목이 오른쪽에 있는지, 배가 어느 쪽에 있는지, 그리고 몇 번이나 건넜는지입니다. 한 번의 건너기는 실린 품목을 건너편 기슭으로 옮기고 배를 반대편으로 넘김으로써 그런 배치 하나를 다른 배치로 바꿉니다. 승리 조건은 이 체계 전체에서 가장 단순한 부분입니다. 모든 품목이 오른쪽 기슭에 있고, 배도 오른쪽 기슭에 있으면 됩니다. 처음의 배치와 그 하나 사이에는 중간 국면들의 공간 전체가 놓여 있으며, 그 가운데 아주 많은 수를 금지 쌍이 배제합니다. 여러분이 할 일은 모든 제약을 지키면서 목표에 이르는 길을 이 공간에서 찾아내는 것입니다. 3

엔진의 한계가 정해진 너비 우선 탐색은 이 상태 공간을 체계적으로 훑어, 퍼즐을 푸는 데 필요한 최소 건너기 횟수, 곧 파(par)를 찾아냅니다. 여러분이 퍼즐을 보기도 전에 그것을 검사하는 것도 같은 탐색입니다. 생성기는 금지 쌍 한 벌을 뽑고, 그 결과를 풀어 본 다음, 풀 수 있으면서 적어도 세 번의 건너기가 필요할 때에만 그것을 남깁니다. 그래서 어떤 시드도 여러분에게 불가능한 것이나 한 번의 왕복으로 끝나 버리는 것을 건네지 않습니다. 이 체계는 결정론적이므로 주어진 시드와 난이도는 언제나 같은 퍼즐을 만들어 내고, 그 퍼즐은 언제나 같은 파를 가집니다. 그래서 River Reckoning은, 그 해답을 찾아내는 데 상당한 계획과 통찰이 필요하더라도, 객관적인 최적해를 가진다는 뜻에서 순수한 논리 퍼즐입니다. 3

계획의 기술

River Reckoning 퍼즐을 푸는 데에는 당장의 수와 장기적인 결과를 저울질하는 특별한 종류의 사고가 필요합니다. 어떤 수가 규칙에 맞는지뿐 아니라, 그 수를 둔 뒤에도 해답이 여전히 가능한 자리에 남는지를 따져야 합니다. 때로는 가장 좋은 수가 가장 많은 품목을 나아가게 하는 수가 아니라 앞으로의 수에 가장 큰 융통성을 만들어 주는 수입니다. 금지 쌍은 여러분을 특정한 순서로 몰아넣을 수 있는 의존 관계를 만들고, 조수는 그 자체로는 유효한 순서라도 잘못된 차례로 실행하면 불가능하게 만들 수 있는 시간적 구조를 만듭니다. 3

이 도전은 누구나 퍼즐 하나에 덤벼 볼 수 있을 만큼 문턱이 낮지만, 최적해를 찾아내는 데에는 흔히 진짜 통찰이 필요할 만큼 깊습니다. 어쩌면 여러분은 목표에서 거꾸로 거슬러 올라가며 어떤 상태가 성공으로 이어질 수 있을지 헤아리고 있을지도 모르고, 아니면 금지 관계 때문에 특정한 시점에 반드시 옮겨야 하는 결정적인 품목을 가려내려 애쓰고 있을지도 모릅니다. 임의로 정해지는 금지 쌍과 조수에 따라 달라지는 적재량을 갖춘 이 게임의 설계는, 어떤 두 퍼즐도 똑같지 않고 저마다 새로운 접근을 요구한다는 뜻입니다. 이것이 강 건너기 퍼즐 전통의 본질입니다. 끝없는 변주를 만들어 낼 수 있는 단순한 뼈대 말입니다 1.

Sources & notes

  1. "River crossing puzzle," Wikipedia, a logic puzzle whose object is to carry items from one river bank to the other, usually in the fewest trips; the difficulty comes from restrictions on which or how many items can be transported at once, or which or how many may be safely left together (in the classic variant a goat and vegetables cannot be left alone together); well-known versions include the wolf/goat/cabbage problem, the missionaries and cannibals puzzle (also called the jealous husbands problem), and the bridge and torch problem; and the earliest known river-crossing problems appear in the "Propositiones ad Acuendos Juvenes" attributed to Alcuin, with copies dating from the 9th century. en.wikipedia.org/wiki/River_crossing_puzzle.
  2. "Wolf, goat and cabbage problem," Wikipedia, a farmer with a wolf, a goat, and a cabbage must cross a river in a boat that can carry only the farmer and a single item; the wolf cannot be left unattended with the goat, nor the goat with the cabbage, or one will eat the other; the puzzle dates back to at least the 9th century AD from a manuscript by Alcuin of York and has entered the folklore of several cultures; and the key insight is that the farmer can bring things back, giving a solution of seven crossings. en.wikipedia.org/wiki/Wolf,_goat_and_cabbage_problem.
  3. River Reckoning game engine: a generalized river-crossing puzzle in which you ferry four to six cargo items across a river, with two to four forbidden pairs that may never be left alone together on a bank; because the ferryman attends only the boat's side, the safety test is applied to the boat-free bank alone; the boat's capacity changes each crossing with the tide, cycling through a short repeating pattern of one- and two-item loads, so ordering matters, and the ferryman may row back alone (the empty crossing), though an empty trip away from the starting bank is refused; a position is the item set on each bank plus the boat side and the crossing count, a crossing carries the loaded items and flips the boat, and the goal is every item on the right with the boat on the right; one forbidden pair is hidden from the rules line until the player first strands it. The engine runs a bounded breadth-first search to find the minimal number of crossings (the par), to validate solvability, and to generate solvable seeded puzzles, all pure and deterministic. Read from the game's own source.
Was this worth reading?
Play River Reckoning
PlayPendium · About · Contact · Privacy · Terms · Cookies · Accessibility · Copyright · Browse all games · Classic arcade games · © 2026