<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Board-Game on philipjkim</title><link>https://philipjkim.cc/tags/board-game/</link><description>Recent content in Board-Game on philipjkim</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 10 Aug 2026 09:10:46 +0900</lastBuildDate><atom:link href="https://philipjkim.cc/tags/board-game/index.xml" rel="self" type="application/rss+xml"/><item><title>렉시오 CPU 플레이어 만들기 Part 7: 코드 없이 보는 easy 봇과 hard 봇의 차이</title><link>https://philipjkim.cc/posts/20260810-lexio-cpu-bot-strategy-07/</link><pubDate>Mon, 10 Aug 2026 09:10:46 +0900</pubDate><guid>https://philipjkim.cc/posts/20260810-lexio-cpu-bot-strategy-07/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="이-글은-누구를-위한-것인가"&gt;이 글은 누구를 위한 것인가&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-01/"&gt;Part 1&lt;/a&gt; 부터 &lt;a href="https://philipjkim.cc/posts/20260810-lexio-cpu-bot-strategy-06/"&gt;Part 6&lt;/a&gt; 까지는 비트마스크, 동적 계획법, 평가 함수, 확률 모델 같은 이야기로 채워져 있습니다. 렉시오를 좋아하지만 개발자는 아닌 분에게는 읽을 이유가 없는 글입니다.&lt;/p&gt;
&lt;p&gt;이번 편은 그 여섯 편의 &lt;strong&gt;결론만&lt;/strong&gt; 을 코드와 수식 없이 옮긴 것입니다. 렉시오 규칙을 아는 분이라면 누구나 읽을 수 있습니다. 다루는 것은 셋입니다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;두 CPU 는 각각 무엇을 보고 수를 고르는가&lt;/li&gt;
&lt;li&gt;둘을 어떻게 겨루게 했고, 결과가 어땠는가&lt;/li&gt;
&lt;li&gt;그 결과로 무엇은 말할 수 있고, 무엇은 여전히 말할 수 없는가&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;세 번째가 이 글에서 가장 중요합니다. 숫자를 보여 주는 글은 많지만, 그 숫자가 무엇을 증명하지 &lt;strong&gt;못&lt;/strong&gt; 하는지까지 적는 글은 드뭅니다.&lt;/p&gt;</description></item><item><title>렉시오 CPU 플레이어 만들기 Part 6: 봇이 약한지 어떻게 아는가</title><link>https://philipjkim.cc/posts/20260810-lexio-cpu-bot-strategy-06/</link><pubDate>Mon, 10 Aug 2026 08:51:18 +0900</pubDate><guid>https://philipjkim.cc/posts/20260810-lexio-cpu-bot-strategy-06/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="눈으로-한-판-돌려서는-못-보는-것"&gt;눈으로 한 판 돌려서는 못 보는 것&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://philipjkim.cc/posts/20260807-lexio-cpu-bot-strategy-05/"&gt;Part 5&lt;/a&gt; 에서 고친 결함은 눈에 보이는 것이었습니다. 봇이 거의 모든 턴을 패스했고, 브라우저에서 5인 게임을 한 판 돌리자 바로 드러났습니다.&lt;/p&gt;
&lt;p&gt;그 방법에는 한계가 분명합니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;봇이 100% 패스한다 → 한 판이면 보입니다&lt;/li&gt;
&lt;li&gt;봇이 라운드당 1.4점씩 잃는다 → 몇 판을 돌려도 느낄 수 없습니다&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;렉시오는 딜 운의 분산이 큽니다. 좋은 패를 받은 판과 나쁜 패를 받은 판의 차이가 정책의 차이보다 훨씬 크기 때문에, 사람이 몇 판 보고 &amp;ldquo;이 봇이 좀 약한 것 같다&amp;quot;고 말하는 것은 근거가 되지 못합니다. 측정 도구 없이 가중치를 만지면 더 나쁩니다. 고쳤다고 생각한 것이 실은 운이었는지 확인할 방법이 없습니다.&lt;/p&gt;</description></item><item><title>렉시오 CPU 플레이어 만들기 Part 5: 봇이 아무것도 하지 않는 이유</title><link>https://philipjkim.cc/posts/20260807-lexio-cpu-bot-strategy-05/</link><pubDate>Fri, 07 Aug 2026 07:56:13 +0900</pubDate><guid>https://philipjkim.cc/posts/20260807-lexio-cpu-bot-strategy-05/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="설계와-구현-사이"&gt;설계와 구현 사이&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-01/"&gt;Part 1&lt;/a&gt; 부터 &lt;a href="https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-04/"&gt;Part 4&lt;/a&gt; 까지는 설계안이었습니다. 타일을 정수로 압축하고, 미공개 집합을 복원하고, 손패 분해를 DP 로 풀고, 목적 함수를 정산식에서 유도해 평가 함수의 항을 나열했습니다. 코드 조각은 있었지만 돌려 본 적은 없었습니다.&lt;/p&gt;
&lt;p&gt;이번 편은 그 설계를 실제로 구현해 브라우저에서 5인 게임을 돌려 본 기록입니다. 결과부터 적겠습니다. &lt;strong&gt;봇이 거의 모든 턴을 패스했습니다.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;원인을 추적하고 나서 든 생각은 &amp;ldquo;설계가 틀렸다&amp;quot;가 아니었습니다. 항을 하나씩 뜯어보면 Part 4 가 쓴 대로였고, 개별 함수는 각각 맞는 값을 돌려주고 있었습니다. 틀린 것은 &lt;strong&gt;항을 합치는 방식&lt;/strong&gt; 이었고, 그중 일부는 Part 1~4 가 아예 말하지 않은 자리였습니다.&lt;/p&gt;</description></item><item><title>달무티 vs 렉시오 Part 3: 인원, 운, 정치, 그리고 무엇을 살 것인가</title><link>https://philipjkim.cc/posts/20260806-dalmuti-vs-lexio-03/</link><pubDate>Thu, 06 Aug 2026 14:37:49 +0900</pubDate><guid>https://philipjkim.cc/posts/20260806-dalmuti-vs-lexio-03/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a href="https://philipjkim.cc/posts/20260806-dalmuti-vs-lexio-01/"&gt;Part 1&lt;/a&gt;에서 두 게임의 목적과 구조를, &lt;a href="https://philipjkim.cc/posts/20260806-dalmuti-vs-lexio-02/"&gt;Part 2&lt;/a&gt;에서 전략과 점수 체계를 봤습니다. 마지막 편에서는 실제로 테이블에 앉았을 때 부딪히는 것들을 다룹니다. 몇 명이 모였는가, 운이 어떻게 작동하는가, 사람 사이의 정치가 어디서 발생하는가, 그리고 결국 무엇을 살 것인가입니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="1-인원수에-따른-경험"&gt;1. 인원수에 따른 경험&lt;/h2&gt;
&lt;h3 id="달무티-사람이-많을수록-살아난다"&gt;달무티: 사람이 많을수록 살아난다&lt;/h3&gt;
&lt;p&gt;공식 룰북은 달무티를 &lt;strong&gt;4~8명&lt;/strong&gt; 에서 지원하며, 특히 &lt;strong&gt;5~8명에서 가장 좋다&lt;/strong&gt; 고 적습니다. 4명으로도 할 수 있고 9명 이상으로도 할 수 있다고 덧붙입니다.&lt;/p&gt;</description></item><item><title>달무티 vs 렉시오 Part 2: 강한 패, 혁명, 그리고 점수</title><link>https://philipjkim.cc/posts/20260806-dalmuti-vs-lexio-02/</link><pubDate>Thu, 06 Aug 2026 14:34:56 +0900</pubDate><guid>https://philipjkim.cc/posts/20260806-dalmuti-vs-lexio-02/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a href="https://philipjkim.cc/posts/20260806-dalmuti-vs-lexio-01/"&gt;Part 1&lt;/a&gt;에서는 달무티와 렉시오가 무엇을 재미로 삼는지, 구성물과 조합과 리드권이 어떻게 다른지 봤습니다. Part 2 에서는 실제로 판을 굴릴 때 부딪히는 문제들을 다룹니다. 강한 패를 언제 쓸 것인가, 광대는 어디에 붙일 것인가, 한 판의 결과가 다음 판에 어떻게 이어지는가, 그리고 점수는 어떻게 계산되는가입니다.&lt;/p&gt;
&lt;p&gt;규칙 서술은 Part 1 과 마찬가지로 &lt;strong&gt;달무티 공식 룰북&lt;/strong&gt; 과 &lt;strong&gt;렉시오 공식 홈페이지의 게임방법·기본전략 페이지&lt;/strong&gt; 를 근거로 합니다.&lt;/p&gt;</description></item><item><title>달무티 vs 렉시오 Part 1: 같은 클라이밍 게임, 다른 목적</title><link>https://philipjkim.cc/posts/20260806-dalmuti-vs-lexio-01/</link><pubDate>Thu, 06 Aug 2026 14:31:17 +0900</pubDate><guid>https://philipjkim.cc/posts/20260806-dalmuti-vs-lexio-01/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="사촌인데-닮지-않았다"&gt;사촌인데 닮지 않았다&lt;/h2&gt;
&lt;p&gt;달무티(The Great Dalmuti)와 렉시오(Lexio)는 모두 &lt;strong&gt;클라이밍 게임&lt;/strong&gt; 입니다. 앞사람이 낸 것과 같은 장수의 더 강한 조합으로 받아 올라가고, 손에 든 카드나 타일을 먼저 비우는 쪽이 이깁니다. &lt;a href="https://philipjkim.cc/posts/20260727-climbing-card-games-daifugo-dalmuti-lexio/"&gt;클라이밍 게임 전반을 정리한 글&lt;/a&gt;에서 다뤘듯 둘은 같은 뿌리에서 갈라진 사촌입니다.&lt;/p&gt;
&lt;p&gt;두 게임은 다음 원리를 공유합니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;약한 조합은 리드권이 있을 때 처리합니다.&lt;/li&gt;
&lt;li&gt;강한 조합은 리드권을 되찾는 데 사용합니다.&lt;/li&gt;
&lt;li&gt;같은 숫자가 여러 장 모인 패가 유리합니다.&lt;/li&gt;
&lt;li&gt;상대의 남은 카드 수를 관찰해야 합니다.&lt;/li&gt;
&lt;li&gt;낼 수 있다고 해서 무조건 내는 것이 정답은 아닙니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;패스는 그 트릭에서의 탈락이 아닙니다.&lt;/strong&gt; 두 게임 모두 패스한 뒤에도 자기 차례가 다시 오면 낼 수 있습니다. 달무티 공식 룰북은 이를 명시적으로 규정하고 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;겉으로 보면 렉시오가 달무티에 포커 족보를 얹은 복잡한 버전처럼 보이기도 합니다. 그러나 실제로 플레이해 보면 두 게임이 만들어 내는 경험은 상당히 다릅니다.&lt;/p&gt;</description></item><item><title>달무티 CPU 플레이어 만들기 Part 4: 만들어 보니 hard 봇이 더 약했다</title><link>https://philipjkim.cc/posts/20260803-dalmuti-cpu-bot-strategy-04/</link><pubDate>Mon, 03 Aug 2026 17:57:55 +0900</pubDate><guid>https://philipjkim.cc/posts/20260803-dalmuti-cpu-bot-strategy-04/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="설계안이-검증을-만나면"&gt;설계안이 검증을 만나면&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://philipjkim.cc/posts/20260730-dalmuti-cpu-bot-strategy-01/"&gt;Part 1&lt;/a&gt;에서 공정성 경계와 결정적 easy 봇을 만들었고, &lt;a href="https://philipjkim.cc/posts/20260730-dalmuti-cpu-bot-strategy-02/"&gt;Part 2&lt;/a&gt;에서 hard 봇의 정보 모델을 세웠고, &lt;a href="https://philipjkim.cc/posts/20260730-dalmuti-cpu-bot-strategy-03/"&gt;Part 3&lt;/a&gt;에서 수 평가 함수와 전략적 패스로 실제 결정을 내렸습니다. 세 편 모두 &amp;ldquo;이 글은 설계안이고 코드는 논지를 보이기 위한 발췌&amp;quot;라고 밝혀 두었습니다.&lt;/p&gt;
&lt;p&gt;그 설계안을 실제 게임에 구현하고, 시뮬레이터를 붙여 easy 봇과 같은 조건에서 붙여 봤습니다. 결과는 이랬습니다.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;최초 hard 봇은 easy 봇보다 &lt;strong&gt;평균 종료 순위가 0.6601등 나빴습니다.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>렉시오 CPU 플레이어 만들기 Part 4: 수 평가와 정산 기대값</title><link>https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-04/</link><pubDate>Fri, 31 Jul 2026 09:44:26 +0900</pubDate><guid>https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-04/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="재료에서-결정으로"&gt;재료에서 결정으로&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-02/"&gt;Part 2&lt;/a&gt; 에서 봇이 무엇을 아는지, &lt;a href="https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-03/"&gt;Part 3&lt;/a&gt; 에서 자기 손패를 어떻게 보는지 만들었습니다. 아직 결정은 하나도 하지 않았습니다. 이번 편에서 전부 합칩니다.&lt;/p&gt;
&lt;p&gt;그런데 합치기 전에 답해야 할 질문이 하나 있습니다. &lt;strong&gt;무엇을 최대화할 것인가.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;달무티에서는 이 질문이 쉬웠습니다. 등수가 곧 다음 판의 계급이고 점수도 등수에 비례하므로, &amp;ldquo;평균 등수를 낮춘다&amp;quot;가 그대로 목적 함수였습니다. 렉시오는 다릅니다. 렉시오에는 등수가 없습니다. &lt;strong&gt;금액만 있습니다.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>렉시오 CPU 플레이어 만들기 Part 3: 손패 분해 플랜</title><link>https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-03/</link><pubDate>Fri, 31 Jul 2026 09:37:44 +0900</pubDate><guid>https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-03/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="좋은-손패는-센-손패가-아니다"&gt;좋은 손패는 센 손패가 아니다&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-02/"&gt;Part 2&lt;/a&gt; 에서는 봇이 상대에 대해 무엇을 알 수 있는지 정리했습니다. 이번 편은 시선을 안으로 돌립니다. &lt;strong&gt;내 손패는 몇 번 제출하면 비는가.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;이 질문이 왜 중요한지는 &lt;a href="https://philipjkim.cc/posts/20260727-climbing-card-games-daifugo-dalmuti-lexio/"&gt;클라이밍 게임 전략 글&lt;/a&gt;에서 이미 짚었습니다. 강한 타일이 많은 손패와 조합이 잘 짜인 손패 중 이기는 쪽은 후자입니다. 강한 타일은 한 번에 한 장씩 나가지만, 잘 짜인 손패는 다섯 장씩 나갑니다.&lt;/p&gt;</description></item><item><title>렉시오 CPU 플레이어 만들기 Part 2: 60비트 카운팅과 확실승수 판정</title><link>https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-02/</link><pubDate>Fri, 31 Jul 2026 09:30:12 +0900</pubDate><guid>https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-02/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="hard-봇이-지켜야-할-세-가지"&gt;hard 봇이 지켜야 할 세 가지&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-01/"&gt;Part 1&lt;/a&gt; 에서 만든 easy 봇은 이번 턴에 합법적인 가장 싼 수를 계산할 뿐이었습니다. 이번 편부터 hard 봇을 설계합니다. 다만 시작하기 전에 지켜야 할 선을 못 박아 두겠습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;공정성.&lt;/strong&gt; 봇은 &lt;code&gt;GameView&lt;/code&gt; 만 봅니다. 남의 손패는 그 구조체 어디에도 존재하지 않습니다. 봇이 강해지는 이유는 &lt;strong&gt;더 많이 보기 때문이 아니라, 같은 것을 보고 더 잘 세기 때문&lt;/strong&gt; 이어야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;결정성.&lt;/strong&gt; 같은 입력에서는 같은 출력이 나와야 합니다. 그래야 봇 로직이 테스트 가능한 코드가 됩니다. 난수를 쓴다면 시드를 게임 상태에서 유도합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;실시간성.&lt;/strong&gt; 봇의 판단은 사람이 기다릴 수 있는 시간 안에 끝나야 합니다. 이 제약이 뒤에서 &amp;ldquo;몬테카를로를 런타임에 돌리지 않는다&amp;quot;는 설계 결정으로 이어집니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;이번 편은 hard 봇이 &lt;strong&gt;무엇을 아는가&lt;/strong&gt; 를 다룹니다. 무엇을 결정하는가는 Part 3 과 Part 4 의 몫입니다.&lt;/p&gt;</description></item><item><title>렉시오 CPU 플레이어 만들기 Part 1: 타일 하나를 정수 하나로</title><link>https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-01/</link><pubDate>Fri, 31 Jul 2026 09:22:31 +0900</pubDate><guid>https://philipjkim.cc/posts/20260731-lexio-cpu-bot-strategy-01/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="사촌-게임-전혀-다른-봇"&gt;사촌 게임, 전혀 다른 봇&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://philipjkim.cc/posts/20260730-dalmuti-cpu-bot-strategy-01/"&gt;어제 글&lt;/a&gt;에서 달무티(The Great Dalmuti)의 CPU 플레이어를 세 편에 걸쳐 설계했습니다. 이번에는 같은 클라이밍 계열의 국산 타일 게임 &lt;strong&gt;렉시오(Lexio)&lt;/strong&gt; 로 넘어갑니다.&lt;/p&gt;
&lt;p&gt;두 게임은 &lt;a href="https://philipjkim.cc/posts/20260727-climbing-card-games-daifugo-dalmuti-lexio/"&gt;클라이밍 게임을 정리한 글&lt;/a&gt;에서 봤듯 사촌 사이입니다. 더 센 조합으로 받아 올라가고, 손패를 먼저 비우는 쪽이 이깁니다. 그런데 봇을 짜 보면 &lt;strong&gt;알고리즘이 거의 겹치지 않습니다.&lt;/strong&gt; 달무티 봇 코드를 렉시오로 옮기려 하면 재사용할 수 있는 것은 &amp;ldquo;공정성 경계를 타입으로 못 박는다&amp;rdquo; 같은 뼈대뿐이고, 판단 로직은 전부 새로 써야 합니다.&lt;/p&gt;</description></item><item><title>달무티 CPU 플레이어 만들기 Part 3: 수 평가와 전략적 패스</title><link>https://philipjkim.cc/posts/20260730-dalmuti-cpu-bot-strategy-03/</link><pubDate>Thu, 30 Jul 2026 15:08:35 +0900</pubDate><guid>https://philipjkim.cc/posts/20260730-dalmuti-cpu-bot-strategy-03/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;정정 안내 (2026-08-03):&lt;/strong&gt; 이 글의 설계안을 실제로 구현해 시뮬레이션으로 검증한 결과, 리드 선택·세금 반환·목적 함수에 대한 일부 결론이 뒤집혔습니다. 특히 &amp;ldquo;리드 선택도 같은 계산이다&amp;rdquo; 절과 &amp;ldquo;rank 12 는 반환 카드로 나쁘다&amp;quot;는 주장은 철회되었습니다. 무엇이 왜 틀렸고 무엇이 살아남았는지는 &lt;a href="https://philipjkim.cc/posts/20260803-dalmuti-cpu-bot-strategy-04/"&gt;Part 4: 만들어 보니 hard 봇이 더 약했다&lt;/a&gt;에 정리했습니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="재료에서-결정으로"&gt;재료에서 결정으로&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://philipjkim.cc/posts/20260730-dalmuti-cpu-bot-strategy-01/"&gt;Part 1&lt;/a&gt;에서 공정성 경계와 결정적 easy 봇을 만들었고, &lt;a href="https://philipjkim.cc/posts/20260730-dalmuti-cpu-bot-strategy-02/"&gt;Part 2&lt;/a&gt;에서 hard 봇의 정보 모델을 세웠습니다. 지금까지 확보한 재료는 셋입니다.&lt;/p&gt;</description></item><item><title>달무티 CPU 플레이어 만들기 Part 2: hard 봇의 정보 모델과 확실승수 판정</title><link>https://philipjkim.cc/posts/20260730-dalmuti-cpu-bot-strategy-02/</link><pubDate>Thu, 30 Jul 2026 14:18:37 +0900</pubDate><guid>https://philipjkim.cc/posts/20260730-dalmuti-cpu-bot-strategy-02/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="hard-봇이-지켜야-할-세-가지"&gt;hard 봇이 지켜야 할 세 가지&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://philipjkim.cc/posts/20260730-dalmuti-cpu-bot-strategy-01/"&gt;Part 1&lt;/a&gt;에서는 달무티 CPU 플레이어의 뼈대를 잡고, 결정적 규칙만으로 움직이는 easy 봇을 만들었습니다. easy 봇은 합법적이고 예측 가능하지만, &amp;ldquo;낼 수 있으면 무조건 낸다&amp;quot;는 정책 때문에 사람에게 쉽게 집니다.&lt;/p&gt;
&lt;p&gt;이번 편부터 hard 봇을 설계합니다. 설계 제약은 세 가지입니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. 상대의 손패는 절대 볼 수 없습니다.&lt;/strong&gt; 봇은 Part 1 에서 정의한 &lt;code&gt;GameView&lt;/code&gt; 만 받습니다. 난이도를 올리기 위해 정보를 더 주는 것은 설계가 아니라 반칙입니다. 사람이 &amp;ldquo;저 봇 손패 보는 거 아니야?&amp;ldquo;라고 의심하는 순간 게임의 신뢰가 무너집니다.&lt;/p&gt;</description></item><item><title>달무티 CPU 플레이어 만들기 Part 1: 규칙 기반 easy 봇</title><link>https://philipjkim.cc/posts/20260730-dalmuti-cpu-bot-strategy-01/</link><pubDate>Thu, 30 Jul 2026 14:09:37 +0900</pubDate><guid>https://philipjkim.cc/posts/20260730-dalmuti-cpu-bot-strategy-01/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;후속 정정 안내 (2026-08-03):&lt;/strong&gt; 이 시리즈의 설계안을 실제로 구현해 시뮬레이션으로 검증한 결과, 여기서 &amp;ldquo;easy 봇의 단순화&amp;quot;로 소개한 &lt;strong&gt;리드 정책과 세금 반환 규칙이 hard 봇의 복잡한 평가식보다 강했고&lt;/strong&gt;, 지금은 hard 봇의 guardrail 로 채택돼 있습니다. 자세한 내용은 &lt;a href="https://philipjkim.cc/posts/20260803-dalmuti-cpu-bot-strategy-04/"&gt;Part 4: 만들어 보니 hard 봇이 더 약했다&lt;/a&gt;에 정리했습니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="왜-봇부터-만드는가"&gt;왜 봇부터 만드는가&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://philipjkim.cc/posts/20260727-climbing-card-games-daifugo-dalmuti-lexio/"&gt;지난 글&lt;/a&gt;에서 대부호·달무티·렉시오를 묶어 클라이밍 게임의 전략을 정리했습니다. 이번에는 그중 &lt;strong&gt;달무티(The Great Dalmuti)&lt;/strong&gt; 를 디지털 게임으로 구현한다고 가정하고, &lt;strong&gt;CPU 플레이어를 어떤 전략으로 움직일 것인가&lt;/strong&gt; 를 파고들겠습니다.&lt;/p&gt;</description></item><item><title>대부호부터 렉시오까지: 클라이밍 카드게임의 세계와 전략</title><link>https://philipjkim.cc/posts/20260727-climbing-card-games-daifugo-dalmuti-lexio/</link><pubDate>Mon, 27 Jul 2026 09:38:43 +0900</pubDate><guid>https://philipjkim.cc/posts/20260727-climbing-card-games-daifugo-dalmuti-lexio/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 4.8 을 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="손패를-먼저-비우는-자가-이긴다"&gt;손패를 먼저 비우는 자가 이긴다&lt;/h2&gt;
&lt;p&gt;카드게임에는 여러 갈래가 있습니다. 포커처럼 좋은 조합을 만들어 겨루는 게임, 브리지나 스페이드처럼 정해진 수의 트릭을 따내는 게임, 그리고 손에 든 카드를 &lt;strong&gt;가장 먼저 다 털어내는&lt;/strong&gt; 것이 목표인 게임이 있습니다. 마지막 유형을 보드게임 용어로 &lt;strong&gt;셰딩 게임(shedding game)&lt;/strong&gt; 이라 부르고, 그중에서도 &amp;ldquo;이전 사람이 낸 것보다 더 센 조합을 내야만 한다&amp;quot;는 규칙을 가진 하위 갈래를 &lt;strong&gt;클라이밍 게임(climbing game)&lt;/strong&gt; 이라고 부릅니다. 국내에서는 가장 널리 알려진 게임의 이름을 따 &lt;strong&gt;대부호류(大富豪類)&lt;/strong&gt; 라고 뭉뚱그려 부르는 경우가 많은데, 엄밀히 말하면 대부호는 클라이밍 게임의 여러 갈래 중 하나입니다.&lt;/p&gt;</description></item></channel></rss>