<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Algorithm on philipjkim</title>
    <link>https://philipjkim.github.io/tags/algorithm/</link>
    <description>Recent content in Algorithm on philipjkim</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <lastBuildDate>Thu, 30 Jul 2026 15:08:35 +0900</lastBuildDate>
    <atom:link href="https://philipjkim.github.io/tags/algorithm/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>달무티 CPU 플레이어 만들기 Part 3: 수 평가와 전략적 패스</title>
      <link>https://philipjkim.github.io/posts/20260730-dalmuti-cpu-bot-strategy-03/</link>
      <pubDate>Thu, 30 Jul 2026 15:08:35 +0900</pubDate>
      <guid>https://philipjkim.github.io/posts/20260730-dalmuti-cpu-bot-strategy-03/</guid>
      <description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;재료에서-결정으로&#34;&gt;재료에서 결정으로&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://philipjkim.github.io/posts/20260730-dalmuti-cpu-bot-strategy-01/&#34;&gt;Part 1&lt;/a&gt;에서 공정성 경계와 결정적 easy 봇을 만들었고, &lt;a href=&#34;https://philipjkim.github.io/posts/20260730-dalmuti-cpu-bot-strategy-02/&#34;&gt;Part 2&lt;/a&gt;에서 hard 봇의 정보 모델을 세웠습니다. 지금까지 확보한 재료는 셋입니다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;Ledger&lt;/code&gt;&lt;/strong&gt; — 공개 정보만으로 만든 오차 0의 카운팅 장부, 그리고 패스를 확정 배제가 아닌 확률적 증거로 다루는 좌석 모델&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;StructurallySafe&lt;/code&gt; 와 &lt;code&gt;SeatBeatRisk&lt;/code&gt;&lt;/strong&gt; — 어떤 수가 받힐 수 있는지에 대한 구조적 참/거짓 판정과 확률 추정&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;BestPlan&lt;/code&gt;&lt;/strong&gt; — 손패를 최소 몇 번에 털 수 있는지, 광대 두 장을 어느 묶음에 붙일지의 플랜&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Part 3 에서는 이 재료로 &lt;strong&gt;실제 결정&lt;/strong&gt; 을 내립니다. 후보를 점수로 환산하고, 낼 수 있어도 참는 판단을 구현하고, 세금과 혁명을 기대값으로 계산한 뒤, 만든 봇이 정말 세졌는지 재는 방법까지 다룹니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>달무티 CPU 플레이어 만들기 Part 2: hard 봇의 정보 모델과 확실승수 판정</title>
      <link>https://philipjkim.github.io/posts/20260730-dalmuti-cpu-bot-strategy-02/</link>
      <pubDate>Thu, 30 Jul 2026 14:18:37 +0900</pubDate>
      <guid>https://philipjkim.github.io/posts/20260730-dalmuti-cpu-bot-strategy-02/</guid>
      <description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;hard-봇이-지켜야-할-세-가지&#34;&gt;hard 봇이 지켜야 할 세 가지&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://philipjkim.github.io/posts/20260730-dalmuti-cpu-bot-strategy-01/&#34;&gt;Part 1&lt;/a&gt;에서는 달무티 CPU 플레이어의 뼈대를 잡고, 결정적 규칙만으로 움직이는 easy 봇을 만들었습니다. easy 봇은 합법적이고 예측 가능하지만, &amp;ldquo;낼 수 있으면 무조건 낸다&amp;quot;는 정책 때문에 사람에게 쉽게 집니다.&lt;/p&gt;&#xA;&lt;p&gt;이번 편부터 hard 봇을 설계합니다. 설계 제약은 세 가지입니다.&lt;/p&gt;&#xA;&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.github.io/posts/20260730-dalmuti-cpu-bot-strategy-01/</link>
      <pubDate>Thu, 30 Jul 2026 14:09:37 +0900</pubDate>
      <guid>https://philipjkim.github.io/posts/20260730-dalmuti-cpu-bot-strategy-01/</guid>
      <description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;왜-봇부터-만드는가&#34;&gt;왜 봇부터 만드는가&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://philipjkim.github.io/posts/20260727-climbing-card-games-daifugo-dalmuti-lexio/&#34;&gt;지난 글&lt;/a&gt;에서 대부호·달무티·렉시오를 묶어 클라이밍 게임의 전략을 정리했습니다. 이번에는 그중 &lt;strong&gt;달무티(The Great Dalmuti)&lt;/strong&gt; 를 디지털 게임으로 구현한다고 가정하고, &lt;strong&gt;CPU 플레이어를 어떤 전략으로 움직일 것인가&lt;/strong&gt; 를 파고들겠습니다.&lt;/p&gt;&#xA;&lt;p&gt;공식 룰북은 달무티를 5~8명에서 권장합니다(4명이나 9명 이상도 가능합니다). 그런데 온라인 게임에서 매번 예닐곱 명을 모으는 것은 현실적이지 않습니다. 봇은 단순한 편의 기능이 아니라 &lt;strong&gt;게임이 성립하기 위한 전제 조건&lt;/strong&gt; 에 가깝습니다. 게다가 봇이 있어야 룰 엔진을 자동화 테스트로 수천 판 돌려볼 수 있습니다.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
