PlayPendium
WordChess · Żywność dla myśli

Jak komputer wybiera słowo

Zanim AI zagra, musi znaleźć swój ruch w stogu siana liczącym sto pięćdziesiąt tysięcy słów, a następnie przestać szukać.

1 · Stóg siana

Przestrzeń zbyt duża, by ją zobaczyć

Daj człowiekowi planszę WordChess i instrukcję „zagraj dobre słowo”, a zawęzi problem, nie zdając sobie sprawy, że to zrobił. Komputer nie posiada takiej intuicji. Na 25×25 planszy, mając dostęp do pełnego puli stu kafelków, może spróbować niemal każdego z 148,941 słów w słowniku, a każde słowo może zostać ułożone w tysiącach legalnych współrzędnych i orientacji. Co gorsza, umieszczenie jest legalne tylko wtedy, gdy każda nowa litera, którą wprowadza, również tworzy prawdziwe słowo w miejscu, w którym przecina to, co już znajduje się na planszy. Pomnóż słowa przez możliwe umieszczenia przez to ograniczenie przecięcia, a otrzymasz przestrzeń wyszukiwania, której żaden gracz, czy to krzemowy, czy inny, nie jest w stanie w pełni wyliczyć i uszeregować.

To jest powód, dla którego poważne silniki gier słownych, Quackle, w tym otwartoźródłowa referencyjna implementacja, nigdy nie stosują siły bruteforce do słownika.4 Struktura GADDAG Stevena Gordona z 1994 roku oraz DAWG przed nim, niech program rozbudowuje słowa na zewnątrz od kafelków już znajdujących się na planszy i sprawdza przecięcia w trakcie, aby nielegalne gałęzie ginęły wcześnie, zamiast być oceniane i odrzucane.1 Zadaniem nie jest „wymienić każde słowo”. Zadaniem jest „wygenerować tylko te ruchy, które mogą być legalne, i zrobić to szybko”.

2 · Zegar

Dobre wystarcza, by pokonać doskonałe

Nawet wydajny generator zwraca więcej ruchów kandydujących, niż można poddać głębokiej ocenie, więc drugim problemem jest czas. Najmocniejszy kiedykolwiek zbudowany program do Scrabble, Maven, stanął przed dokładnie tym wyzwaniem i odpowiedział na nie w dwóch etapach: szybka heurystyka sortuje surowe ruchy w przybliżonym porządku jakości, a tylko krótka lista najbardziej obiecujących jest starannie badana poprzez symulowanie gry do przodu wiele razy, aby zobaczyć, który kandydat faktycznie działa najlepiej.2 Sheppard zapożyczył nazwę tego pomysłu z innych gier, co backgammon nazywa rollout , a Go nazywa playout, on nazwał symulacją.

WordChess działa w tym samym duchu, ale pod surowszym ograniczeniem: stały budżet czasu wyszukiwania na każdy ruch. Gdy budżet się wyczerpie, AI decyduje się na najlepsze słowo, jakie dotychczas znalazło. To nie jest kompromis, którego inżynierowie żałują; to jest cały projekt. Gracz, który myśli wiecznie, nie jest lepszym przeciwnikiem, tylko wolniejszym. Zegar zmusza maszynę do tego, co ludzie robią instynktownie: do przyjęcia ruchu, który jest wyraźnie dobry, a nie udowodnionego najlepszego.

Słownik nie jest umysłem przeciwnika. Zegar jest nim.

3 · Uczciwa trudność

Słabość, której można zaufać

Leniwy sposób na ułatwienie gry AI polega na tym, by uczynić go losowo głupim, by potykał się o ruch, który wyraźnie widział. Gracze to zauważają i odczuwają do tego niechęć. Projektant Sid Meier jest często cytowany za usunięcie Civilization funkcji, które pozwalały komputerowi lepiej negocjować z graczami, ponieważ efekt, jak jedno opracowanie dotyczące projektowania przeciwników AI to ujął, „zostawiałby graczy z poczuciem, że nie mogą wygrać, bo komputer oszukuje”.3 Trudność, która odbiera się jako nieuczciwość, zatruwa grę, dlatego literatura naukowa na temat dynamicznej regulacji trudności zajmuje się strojeniem tego, na co AI jest zdolne , a nie tego, co mu wolno widzieć.5

WordChess stroi swoje cztery poziomy wzdłuż osi, które człowiek by rozpoznał, nigdy nie karmiąc AI ukrytymi informacjami. Każdy poziom różni się tym, jak długo może przeszukiwać, jak głęboko sięga w rzadki słownik, aby osiągnąć swój słownik, oraz które przedziały długości słów preferuje. łatwy przeciwnik gra prawdopodobnie słabe słowa, prawdziwe, sensowne, krótkie, nie śmieciowe. A arcymistrz ma do dyspozycji cały obskurny leksykon i czas, by go eksploatować. Gracz przegrywa z czymś, co wygląda jak lepszy słownik i ostrzejsze czytanie pozycji, ponieważ właśnie tym jest.

Cztery poziomy, dostrojone limitami, zmierzone na podstawie notatek projektowych i budowlanych tego projektu
PoziomZasięg leksykalnyBudżet przeszukiwaniaSkłonność do długości słowa
ŁatwyTylko powszechneNajkrótszeKrótkie
NormalnyPowszechne + średnieKrótkieMieszane
TrudnySzerokiDługiDłuższy
ArcymistrzPełna rzadkośćNajdłuższyNielimitowany
5 · Przeciwnik, nie kalkulator

Co sprawia, że gra wydaje się ludzka

Kalkulator zwraca ten sam wynik za każdym razem; przeciwnik zaskakuje. WordChess dodaje do procesu selekcji celowy, zrandomizowany krok anty-kopiarski, dzięki czemu ruchy o zbliżonej wartości nie są zawsze rozstrzygane w ten sam sposób, a AI nie po prostu lustruje Twojego ostatniego posunięcia. Połączone z limitami słownictwa dla poszczególnych poziomów, daje to różnorodność i poczucie, że po drugiej stronie planszy siedzi ktoś, kto dokonuje wyborów, z których część mógłbyś podjąć również Ty.

W tym tkwi cicha sztuka. Wiarygodny przeciwnik potrzebuje wstrzemięźliwości tak samo jak siły: gotowości do zagrania jedynie dobrego słowa, pozostawienia punktów na stole, bycia do pokonania w sposób, który wydaje się zasłużony. Najtrudniejszym problemem inżynieryjnym maszyny było przeszukiwanie siana. Najsubtelniejszym było nauka, kiedy przestać przeszukiwać, co wiedzieć i ile powstrzymać.

Źródła & uwagi
  1. Wikipedia, „GADDAG”, struktura danych do generowania ruchów wprowadzona przez Stevena A. Gordona (1994), która buduje słowa z umieszczonych kafelków i weryfikuje przecięcia podczas generowania. en.wikipedia.org/wiki/GADDAG
  2. Brian Sheppard, „World-Championship-Caliber Scrabble,” Artificial Intelligence 134 (2002): 241–275, opisuje szybkie generowanie ruchów w Maven, sortowanie heurystyczne oraz „symulację” w przód krótkiej listy posunięć. doi.org/10.1016/S0004-3702(01)00166-7. Przegląd programu: en.wikipedia.org/wiki/Maven_(Scrabble)
  3. Vina Nguyen, „How to Design a Worthy Opponent: AI in Game Development”, o wiarygodnej trudności, celowym osłabianiu AI oraz o frustracji wywoływanej przez przeciwników, którzy wydają się oszukiwać (źródło cytatu Sida Meiera / Civilization). vinawrites.com
  4. Quackle (Jason Katz-Brown, John O'Laughlin i in.), silnik Scrabble o otwartym kodzie źródłowym, zawierający generator ruchów GADDAG, ewaluator i symulator dla dowolnego słownika lub planszy. Źródło: github.com/quackle/quackle; strona projektu: people.csail.mit.edu/jasonkb/quackle
  5. M. Zohaib, „Dynamic Difficulty Adjustment (DDA) in Computer Games: A Review,” Advances in Human-Computer Interaction (2018), przegląd metody dostosowywania wyzwania poprzez regulację zdolności AI, a nie oszustwo. onlinelibrary.wiley.com/doi/10.1155/2018/5681652
  6. Fakty specyficzne dla WordChess, cztery poziomy trudności, parametry czasu/słownictwa/długości słów, losowy wybór anty-kopiujący oraz upadek książki otwarcia („MY” piętnaście razy), są zmierzone na podstawie notatek projektowych i budowy tego projektu.
Was this worth reading?
← Back to WordChess
PlayPendium · About · Contact · Privacy · Terms · Cookies · Accessibility · Copyright · Browse all games · Inspirations · © 2026