Înainte să joace, AI-ul trebuie să-și găsească mutarea într-un car cu fân de o sută cincizeci de mii de cuvinte, și apoi să se oprească din căutat.
Scris și editat în limba engleză. Această versiune în română a fost produsă prin traducere automată; acolo unde precizia contează, originalul în engleză este autoritatea. Citiți originalul în engleză →
Dați unui om un set complet de plăci WordChess și instrucțiunea „jucați un cuvânt bun”, iar el va restrânge problema fără să observe că a făcut-o. Computerul nu se bucură de o asemenea intuiție. Pe o tablă de 25×25, cu propriul său set complet de o sută de plăci, poate încerca aproape oricare dintre cele 148.941 de cuvinte din dicționar, iar fiecare cuvânt poate fi așezat în mii de coordonate și orientări legale. Mai rău, o plasare este legală numai dacă fiecare literă nouă pe care o introduce completează și un cuvânt real acolo unde se încrucișează cu ce se află deja pe tablă. Înmulțiți cuvintele cu plasările și cu această constrângere a încrucișărilor și obțineți un spațiu de căutare pe care niciun jucător, de siliciu sau de alt fel, nu îl poate enumera și ierarhiza în întregime.
Acesta este motivul pentru care motoarele serioase de jocuri de cuvinte, printre ele și Quackle, implementarea de referință open-source, nu parcurg niciodată dicționarul prin forță brută. 4 Structura GADDAG a lui Steven Gordon din 1994, și DAWG-ul dinaintea ei, permit unui program să crească cuvinte în afară pornind de la plăcile aflate deja pe tablă și să verifice încrucișările pe parcurs, astfel încât ramurile ilegale mor devreme, în loc să fie punctate și aruncate. 1 Sarcina nu este „enumeră fiecare cuvânt”. Este „generează doar mutările care ar putea fi legale și fă-o repede”.
Chiar și un generator suplu returnează mai multe mutări candidate decât pot fi evaluate în profunzime, așa că a doua problemă este timpul. Maven al lui Brian Sheppard, primul program care i-a întrecut pe cei mai buni jucători umani, s-a confruntat exact cu asta și a răspuns în două etape: o euristică rapidă sortează jocurile brute într-o ordine aproximativă a calității și doar o listă scurtă cu cele mai promițătoare este studiată atent, simulând partida înainte de multe ori pentru a vedea care candidat se descurcă de fapt cel mai bine. 2 Alte jocuri cunosc aceeași idee sub alte nume, „rollout” (desfășurare) la table și „playout” (jucare până la capăt) la programele de Go; în Maven se numește simulare.
WordChess lucrează în același spirit, sub o constrângere mai strictă: un buget fix de timp de căutare pentru fiecare mutare. Când bugetul se epuizează, AI-ul se angajează la cel mai bun cuvânt găsit până atunci. Acesta nu este un compromis pe care inginerii îl regretă; este întregul design. Un jucător care se gândește la nesfârșit nu este un adversar mai bun, ci doar unul mai lent. Ceasul obligă mașina să facă ceea ce oamenii fac instinctiv: să se mulțumească cu o mutare vădit bună, în loc de una demonstrabil cea mai bună.
A cunoaște dicționarul este partea ușoară. A ști când să te oprești din căutat în el este partea grea.
Calea leneșă de a face un AI de joc mai ușor este să-l faci prost la întâmplare, să-l pui să rateze o mutare pe care a văzut-o limpede. Jucătorii observă și se simt jigniți. Designerul Sid Meier este adesea citat pentru că a eliminat din Civilization funcții legate de alianțe, deoarece computerul le putea exploata aproape la fel de bine ca un jucător; efectul, în cuvintele lui Meier citate de o relatare despre proiectarea adversarilor AI, ar fi „lăsat jucătorilor impresia că nu pot câștiga pentru că trișează computerul”. 3 Dificultatea care pare necinste otrăvește jocul, motiv pentru care literatura de cercetare despre ajustarea dinamică a dificultății se preocupă de reglarea a ceea ce AI-ul este capabil să facă, nu a ceea ce i se permite să vadă. 5
WordChess își reglează cele patru niveluri pe axe pe care un om le-ar recunoaște, niciodată prin furnizarea de informații ascunse către AI. Nivelurile diferă prin cât timp pot căuta, cât de adânc ajunge vocabularul lor în dicționarul rar și ce intervale de lungime a cuvintelor favorizează. Un adversar ușor joacă cuvinte plauzibil de slabe, reale, rezonabile, scurte, nu gunoaie. Un mare maestru împarte cu nivelul dificil întregul lexic obscur și are cel mai mult timp pentru a-l exploata. Jucătorul pierde în fața a ceva care arată ca un vocabular mai bogat și o citire mai ageră a tablei, pentru că exact asta este.
| Nivel | Întinderea vocabularului | Buget de căutare | Înclinație în lungimea cuvintelor |
|---|---|---|---|
| Ușor | Doar uzuale | Cel mai scurt | Scurte |
| Normal | Uzuale + medii + jumătate din cele rare | Scurt | Mixte |
| Dificil | Complet | Lung | Mai lungi |
| Mare maestru | Complet | Cel mai lung | Fără limită |
Un calculator dă același răspuns de fiecare dată; un adversar vă surprinde. WordChess adaugă selecției un pas deliberat aleatoriu, astfel încât mutările aproape egale nu sunt rezolvate mereu în același fel, iar AI-ul nu joacă de fiecare dată același cuvânt. Combinat cu plafoanele de vocabular ale fiecărui nivel, efectul este varietatea, senzația că de cealaltă parte a tablei stă cineva care face alegeri, dintre care pe unele le-ați fi putut face și dumneavoastră.
Aceasta este arta discretă a lucrului. Un adversar credibil are nevoie de reținere la fel de mult ca de forță: disponibilitatea de a juca un cuvânt doar bun, de a lăsa puncte pe masă, de a putea fi învins într-un fel care pare meritat. Cea mai grea problemă de inginerie a mașinii a fost căutarea în carul cu fân. Cea mai subtilă a fost să învețe când să se oprească din căutat, ce să știe și cât să se abțină.