Griductive란 무엇이며 퍼즐은 어떻게 만들어지는가
I’m sorry, but I can’t retrieve the content from the external link you provided. If you paste the text you’d like translated here, I’ll be happy to translate it into Korean while preserving the formatting and markdown as you requested.
보증
모든 Griductive 퍼즐은 절대 추측을 필요로 하지 않음을 약속합니다.
- 각 셀은 논리만으로 추론할 수 있습니다.
- 정확히 하나의 올바른 해가 존재합니다.
이는 디자인 목표가 아니라, 운영 연구와 칩 검증에 사용되는 동일한 클래스의 솔버에 의해 강제되는 수학적 보증입니다. 퍼즐에 두 개의 유효한 해가 있다면, Suspect와 Innocent 모두 모든 단서를 만족시키는 셀이 최소 하나 존재하게 됩니다. 그 셀에서는 어떤 추론도 어느 것이 올바른지 결정할 수 없어 추측을 강요하게 되며, 이는 추론 퍼즐의 핵심 계약을 위반하게 됩니다. 따라서 생성기는 퍼즐이 공개되기 전에 두 번째 해가 존재하지 않음을 증명합니다.
퍼즐‑생성 파이프라인 (다섯 단계)
| 단계 | 일어나는 일 |
|---|---|
| 1 – 해답 생성 | 무작위 해답 격자를 만든다 – 각 셀에 용의자 / 무죄가 할당된 전체 배치. 이것이 플레이어가 결국 추론하게 될 정답이다. |
| 2 – 단서 열거 | 해답 보드에서 참인 가능한 모든 단서를 전부 열거한다. Griductive는 26개 이상의 서로 다른 단서 유형(계산, 비교, 공간, 존재, 유일성, 연결성 등)을 가지고 있다. 각 유형마다 생성기는 모든 유효한 매개변수를 테스트한다. 4×4 격자는 수천개의 후보 단서를 만들 수 있으며, 해답에서 참인 것만 유지한다. |
| 3 – 최소‑단서 선택 | 방대한 참 진술 풀에서 두 조건을 만족하는 작은 부분집합을 선택한다: 1️⃣ 충분함 – 함께 사용하면 해답 공간을 정확히 하나의 보드로 제한한다. 2️⃣ 중복 없음 – 단 하나라도 제거하면 여러 해답이 가능해진다. 탐욕적 제약 만족 알고리즘: 1. 단서를 전혀 선택하지 않은 상태에서 시작한다(해답 공간이 매우 큼). 2. 각 후보 단서를 남은 가능성을 얼마나 좁히는지 점수화한다(예: 80 % 제거 → 높은 점수). 3. 점수가 가장 높은 단서를 추가한다. 4. 업데이트된 집합으로 제약 모델을 다시 해결한다. 5. 솔버가 유일한 해답을 확인할 때까지 반복한다. 6. 최종 집합에서 불필요한 단서를 가지치기한다. |
| 4 – 난이도 점수 매기기 | 네 가지 가중 요소를 사용해 0–100 규모의 난이도 등급을 계산한다: • 단순‑단서 비율 (35 %): 직접적인 계산/동일성 단서의 비율. 단순 단서가 많을수록 퍼즐이 쉬워진다. • 복합‑단서 비율 (30 %): 다단계 또는 공간 추론이 필요한 단서의 비율. • 정보 부족도 (20 %): 격자 크기에 비해 단서가 적을수록 어려워진다. • 격자 규모 (15 %): 큰 격자는 본질적으로 더 어렵다(예: 5×5는 3×3보다 셀 수가 약 3배). 각 단서 유형은 고유의 복잡도 등급을 가진다(예: “줄리아는 용의자이다” = 매우 단순; “줄리아는 정확히 1명의 용의자 이웃을 가진 3행의 유일한 사람이다” = 높은 복잡도). |
| 5 – 힌트 순서 및 패키징 | 힌트 순서를 만든다 – 막힌 플레이어를 단계별로 안내하는 권장 해결 순서. 힌트는 의존 깊이에 따라 정렬한다: 즉시 추론 가능한 셀은 먼저, 긴 추론 체인이 필요한 셀은 나중에 온다. 최종 퍼즐을 다음과 함께 패키징한다: • 메타데이터(격자 크기, 제목 등) • 최소 단서 집합 • 힌트 순서 • 난이도 점수 |
무대 뒤의 솔버
파이프라인의 핵심은 Google OR‑Tools CP‑SAT이며, 이는 제약 전파, 정수 프로그래밍, SAT 해결을 결합한 제약 프로그래밍 솔버입니다.
- 변수 – 각 셀은 불리언 변수:
Suspect = 1,Innocent = 0. - 제약조건 – 각 단서는 해당 변수들에 대한 하나 이상의 수학적 제약조건으로 변환됩니다.
예시 변환
"There are exactly 2 suspects in row 3"
→ cell[3,0] + cell[3,1] + cell[3,2] + cell[3,3] = 2
"All suspects in column A are connected"
→ a connectivity constraint ensuring that suspect cells in column A form a contiguous chain with no gaps.
"Row 1 has more suspects than column B"
→ sum(row_1) > sum(col_B)고유성 검증 방법
단서 집합을 구성한 후, 생성기는 CP‑SAT에 다음을 묻습니다:
“이 제약 조건들을 만족하는 유효한 할당이 하나 이상 존재합니까?”
CP‑SAT은 모든 해를 열거할 수 있습니다.
- 정확히 하나의 해 → 퍼즐이 유효합니다.
- 두 개 이상 해 → 생성기가 Phase 3으로 돌아가 또 다른 단서를 추가합니다.
이는 휴리스틱이 아닌 형식적 증명입니다. CP‑SAT은 해 공간을 전면적으로 탐색하며, 단일 해만 보고하면 정확히 하나가 존재한다는 뜻이며, 이것이 전부입니다.
규모에 대한 고려
5×5 격자는 25개의 셀을 가지고, 각 셀은 2개의 가능한 값을 가집니다 → (2^{25} = 33{,}554{,}432)개의 가능한 보드가 존재합니다. 모든 경우를 무차별 대입으로 탐색하는 것은 현실적으로 불가능합니다.
CP‑SAT은 제약 전파 덕분에 훨씬 빠릅니다: 예를 들어 “3행에 정확히 2명의 용의자가 있다”는 단서가 주어지면, 해결자는 즉시 검색 공간을 축소하고, 고려조차 되지 않을 불가능한 할당들을 미리 가지치기합니다.
TL;DR
- Griductive는 단일하고 논리적으로 추론 가능한 해를 보장합니다.
- 다섯 단계 파이프라인(해 → 단서 열거 → 최소 단서 선택 → 난이도 점수 매기기 → 힌트 순서 지정)이 각 퍼즐을 구축합니다.
- Google OR‑Tools CP‑SAT는 엄격하고 증명 가능한 유일성 검사를 제공하며 전체 생성 과정을 구동합니다.
순수한 추론을 즐기세요!
Griductive가 고유성을 보장하는 방법
검증 속도 – CP‑SAT는 “이웃”, “연결”, “사이” 단서가 복잡하게 상호 작용하더라도 5 × 5 퍼즐에 대해 밀리초 단위로 고유성을 증명합니다.
정형 정의 – 각 단서 유형마다 정확한 수학적 정의가 있습니다:
- Neighbors – 대각선을 포함한 최대 8개의 주변 셀.
- Connected – 인접한 셀들의 연속적인 체인.
- Between – 양 끝 셀을 제외하고 같은 행 또는 열에 있는 셀들.
이러한 정의는 제약 모델에 직접 내장되어 있어, 모호함이 들어갈 수 있는 자연어 해석 단계가 없습니다. 게임 내 Clarifying Details 참고 자료는 각 공간 키워드가 정확히 무엇을 의미하는지 플레이어에게 보여줍니다.
견고한 솔버 – CP‑SAT 솔버는 Google 최적화 팀이 유지 관리하는, 널리 사용되는 검증된 도구입니다. 우리는 신뢰에만 의존하지 않으며, 생성된 모든 퍼즐을 독립적으로 검증합니다.
검증 절차
- Automated solving – 자동화된 풀이기는 각 퍼즐을 단계별로 해결하려 시도하며 인간 플레이어를 시뮬레이션합니다. 논리적 추론만으로 완전한 해답에 도달하지 못하면 퍼즐은 거부됩니다.
- Hint‑soundness checks – 순서상의 각 힌트가 논리적으로 유효한지 검증합니다: 힌트된 셀은 숨겨진 정보가 아니라 단서와 이전에 공개된 셀들로부터 실제로 추론될 수 있어야 합니다.
- Clue evaluation – 모든 단서 유형은 알려진 퍼즐 구성에 대해 테스트되는 공식 평가 함수를 가집니다. 단서 풀을 생성하는 동안 실제 해답에서 true 로 평가되는 단서만 유지되며, 해답에서 false 로 평가되는 단서는 퍼즐에 절대 나타날 수 없습니다.
퍼즐 생성 파이프라인 (요약)
그리디액티브 퍼즐을 열면 이미 다음과 같은 과정이 진행되었습니다:
- 무작위 해답이 생성되었습니다.
- 수천 개의 후보 힌트가 그 해답에 대해 평가되었습니다.
- 최소이면서 중복되지 않는 부분집합이 선택되었습니다.
- 공식 풀이기가 정확히 하나의 해답만이 그 힌트를 만족한다는 것을 증명했습니다.
- 자동 풀이기가 독립적으로 퍼즐이 순수 추론만으로 풀릴 수 있음을 확인했습니다.
- 난이도 점수가 계산되고 힌트 순서가 생성되었습니다.
이 과정은 예외 없이 매일, 네 가지 그리드 크기 모두에 대해 실행됩니다.
약속
만약 막히면, 아직 완전히 활용하지 않은 단서가 있습니다.
두 개의 답이 가능하다고 생각한다면, 단서를 다시 읽어 보세요 — 논리가 해결해 줄 것입니다.
그리고 증거가 필요하다면, Logic Graph가 단서에서 해답까지의 정확한 추론 과정을 보여줄 것입니다.
향후 방향: 풍미 추가
현재 Griductive의 단서는 정확한 논리적 진술처럼 읽힙니다 — 명확하고 모호함이 없지만, 솔직히 말하면 다소 임상적입니다.
“3행에 정확히 2명의 용의자가 있습니다.”
우리는 이를 바꾸기 위해 적극적으로 작업 중입니다. 목표는 단서가 표현되는 방식을 다양화하고, 주제적 풍미를 녹여내면서도 동일한 논리적 정확성을 유지하는 것입니다. 휴일 이벤트와 연결된 단서나 특정 범죄 현장의 증인 진술 형태를 상상해 보세요. 차가운 공식 대신 조사에서 실제 증거처럼 느껴지는 내용을 읽게 될 것입니다.
핵심 제약은 변하지 않았습니다: 모든 단서는 일관되고, 모호함이 없으며, 형식적으로 검증 가능해야 합니다. 풀이자는 단서가 수학 교과서처럼 들리든 noir 탐정 소설처럼 들리든 상관하지 않습니다—오직 논리적 내용만 신경 씁니다. 이러한 구분이 정확성을 해치지 않으면서도 풍부한 표현을 가능하게 합니다.
동일한 보장. 동일한 엄격함. 하지만 방정식보다 실제 사건을 해결하는 느낌이 나는 퍼즐.
추측 없음. 운 없음. 수학적으로 보장됨.