<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Debugging on philipjkim</title><link>https://philipjkim.cc/tags/debugging/</link><description>Recent content in Debugging on philipjkim</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 10 Aug 2026 08:51:18 +0900</lastBuildDate><atom:link href="https://philipjkim.cc/tags/debugging/index.xml" rel="self" type="application/rss+xml"/><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></channel></rss>