PlayPendium
WordChess · 생각의 양식

컴퓨터는 어떻게 단어를 고르는가

AI는 수를 두기 전에 15만 개의 단어로 이루어진 건초 더미 속에서 자신의 수를 찾아야 하고, 그런 다음에는 찾기를 멈춰야 합니다.

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

01 · 건초 더미

너무 커서 한눈에 볼 수 없는 공간

사람에게 WordChess 타일 한 세트를 통째로 주고 “좋은 단어를 두라”고 하면, 그 사람은 스스로 알아차리지도 못한 채 문제의 범위를 좁힙니다. 컴퓨터에게는 그런 직관이 없습니다. 25×25 보드에서 자기 몫의 100개짜리 타일 세트 전체를 쥔 컴퓨터는 148,941개의 사전 단어 가운데 거의 어느 것이든 시도할 수 있고, 각 단어는 수천 가지의 합법적인 좌표와 방향에 놓일 수 있습니다. 더 곤란한 점은, 어떤 배치가 합법이 되려면 그 배치가 새로 들여놓는 모든 글자가 이미 보드에 있는 것과 교차하는 곳에서도 실제 단어를 완성해야 한다는 것입니다. 단어 수에 배치 수를 곱하고 거기에 교차 제약까지 곱하면, 실리콘이든 아니든 어떤 플레이어도 전부 나열하고 순위를 매길 수 없는 탐색 공간이 됩니다.

그래서 오픈 소스 참조 구현인 Quackle을 비롯한 본격적인 단어 게임 엔진들은 결코 사전을 무차별 대입으로 훑지 않습니다. 4 1994년 Steven Gordon이 고안한 GADDAG 구조와 그보다 앞선 DAWG는, 프로그램이 이미 보드에 놓인 타일에서 바깥쪽으로 단어를 키워 나가면서 교차를 그때그때 확인하게 해 주므로, 합법적이지 않은 가지는 점수가 매겨진 뒤 버려지는 대신 일찌감치 잘려 나갑니다. 1 과제는 “모든 단어를 나열하라”가 아닙니다. “합법일 가능성이 있는 수만 생성하되, 빠르게 하라”입니다.

02 · 시계

완벽함보다 충분히 좋음

군더더기 없는 생성기라 해도 깊이 평가할 수 있는 것보다 많은 후보 수를 내놓기 때문에, 두 번째 문제는 시간입니다. 최정상급 인간 상대를 처음으로 능가한 프로그램인 Brian Sheppard의 Maven은 바로 이 문제에 부딪혔고, 두 단계로 답했습니다. 빠른 휴리스틱이 날것의 수들을 대략적인 품질 순서로 정렬하고, 가장 유망한 짧은 후보 목록만이 게임을 앞으로 여러 번 시뮬레이션해 보면서 어느 후보가 실제로 가장 좋은 성과를 내는지 꼼꼼히 검토됩니다. 2 다른 게임에서는 같은 발상을 다른 이름으로 부릅니다. 백개먼의 롤아웃(rollout), 바둑 프로그램의 플레이아웃(playout)이 그것이며, Maven에서는 이를 시뮬레이션이라고 부릅니다.

WordChess는 더 엄격한 제약 아래에서 같은 정신으로 작동합니다. 수마다 고정된 탐색 시간 예산이 있는 것입니다. 예산이 바닥나면 AI는 그때까지 찾은 가장 좋은 단어로 결정합니다. 이것은 엔지니어들이 아쉬워하는 타협이 아니라 설계 그 자체입니다. 한없이 생각하는 플레이어는 더 나은 상대가 아니라 더 느린 상대일 뿐입니다. 시계는 기계에게 사람들이 본능적으로 하는 일을 하도록 강제합니다. 최선임을 증명할 수 있는 수가 아니라 분명히 좋은 수에 만족하는 것입니다.

사전을 아는 것은 쉬운 부분입니다. 언제 사전 탐색을 멈출지 아는 것이 어려운 부분입니다.

03 · 정직한 난이도

믿을 수 있는 약함

게임 AI를 쉽게 만드는 게으른 방법은 무작위로 멍청하게 만드는 것, 즉 뻔히 본 수를 헛디디게 하는 것입니다. 플레이어들은 알아차리고, 불쾌해합니다. 게임 디자이너 Sid Meier는 컴퓨터가 플레이어 못지않게 악용할 수 있다는 이유로 Civilization에서 동맹 기능을 잘라 낸 사례로 자주 언급됩니다. AI 상대 설계에 관한 한 글이 인용한 Meier의 말에 따르면, 그 효과는 “컴퓨터가 속임수를 쓰니 이길 수 없다는 느낌을 게이머들에게 남길” 것이었습니다. 3 부정직하게 읽히는 난이도는 게임을 망칩니다. 그래서 동적 난이도 조절에 관한 연구 문헌은 AI가 무엇을 볼 수 있도록 허용되는지보다 AI가 무엇을 할 수 있는지를 조정하는 데 관심을 둡니다. 5

WordChess는 네 단계의 난이도를 사람이 알아볼 수 있는 축을 따라 조정하며, AI에게 숨겨진 정보를 넘겨주는 방식은 결코 쓰지 않습니다. 단계들은 얼마나 오래 탐색할 수 있는지, 어휘가 희귀어 사전 안으로 얼마나 깊이 닿는지, 어떤 단어 길이 대역을 선호하는지에서 차이가 납니다. 쉬운 상대는 그럴듯하게 약한 단어, 즉 실제로 있고 말이 되는 짧은 단어를 두지, 엉터리를 두지는 않습니다. 그랜드마스터는 난해한 어휘 전체를 어려움 단계와 똑같이 공유하면서, 그것을 캐낼 시간은 가장 많이 가집니다. 플레이어가 지는 상대는 더 넓은 어휘와 더 날카로운 판 읽기를 가진 존재처럼 보이는데, 그것이 바로 실제 모습이기 때문입니다.

한계로 조정되는 네 단계, 이 프로젝트의 설계 및 빌드 노트에서 측정
단계어휘 범위탐색 예산단어 길이 경향
쉬움일반 단어만가장 짧음짧음
보통일반 + 중간 빈도 + 희귀어 절반짧음혼합
어려움전체김더 김
그랜드마스터전체가장 김제한 없음
04 · 계산기가 아닌 상대

무엇이 사람처럼 느끼게 하는가

계산기는 매번 같은 답을 돌려주지만, 상대는 여러분을 놀라게 합니다. WordChess는 선택 과정에 의도적으로 무작위화된 단계를 더해, 거의 대등한 수들이 늘 같은 방식으로 결정되지 않게 하고 AI가 매번 같은 단어를 되풀이해 두지 않게 합니다. 단계별 어휘 상한과 합쳐지면 그 효과는 다양성, 즉 누군가가 보드 맞은편에 앉아 선택을 하고 있으며 그중 몇몇은 여러분도 했을 법한 선택이라는 느낌입니다.

그것이 이 일의 조용한 기술입니다. 믿을 만한 상대에게는 강함만큼이나 절제가 필요합니다. 그저 좋은 단어를 기꺼이 두고, 점수를 남겨 두고, 이겼을 때 제대로 이겼다고 느껴지는 방식으로 질 줄 아는 것입니다. 기계에게 가장 어려운 공학 문제는 건초 더미를 뒤지는 일이었습니다. 가장 미묘한 문제는 언제 탐색을 멈출지, 무엇을 알아야 할지, 그리고 얼마나 힘을 아낄지를 배우는 일이었습니다.

Sources & notes
  1. Wikipedia, "GADDAG", the move-generation data structure introduced by Steven A. Gordon (1994) that grows words from placed tiles and validates crossings during generation. en.wikipedia.org/wiki/GADDAG
  2. Brian Sheppard, "World-Championship-Caliber Scrabble," Artificial Intelligence 134 (2002): 241–275, describes Maven, the first program to outperform the strongest human players against human opposition, with its selective move generation and its simulations of likely game scenarios. doi.org/10.1016/S0004-3702(01)00166-7. Overview of the program: en.wikipedia.org/wiki/Maven_(Scrabble)
  3. Vina Nguyen, "How to Design a Worthy Opponent: AI in Game Development", on believable difficulty, deliberately handicapping the AI, and the resentment bred by opponents that appear to cheat (source of the quoted Sid Meier / Civilization account). vinawrites.com
  4. Quackle (Jason Katz-Brown, John O'Laughlin, et al.), an open-source Scrabble engine bundling a GADDAG move generator, evaluator, and simulator for any lexicon or board. Source: github.com/quackle/quackle; project page: people.csail.mit.edu/jasonkb/quackle
  5. M. Zohaib, "Dynamic Difficulty Adjustment (DDA) in Computer Games: A Review," Advances in Human-Computer Interaction (2018), survey of tuning challenge by adjusting AI capability rather than cheating. onlinelibrary.wiley.com/doi/10.1155/2018/5681652
  6. WordChess-specific facts, the four difficulty tiers, the time/vocabulary/word-length levers, the randomized selection, and the opening-book collapse ("MY" fifteen times), are measured from this project's design and build notes.
Was this worth reading?
Play WordChess
PlayPendium · About · Contact · Privacy · Terms · Cookies · Accessibility · Copyright · Browse all games · Classic arcade games · © 2026