Velocità
Le reti neurali operano molto più lentamente delle funzioni di valutazione realizzate a mano. Nella Superfinale TCEC , Leela Chess Zero, in esecuzione su due GPU ciascuna con core tensore dedicati, è in grado di cercare circa 60 mila posizioni al secondo. Al contrario, Stoccafisso, su un unico core sul mio PC, cerca oltre 2 milioni di posizioni al secondo.
Mentre i motori moderni hanno una vasta selezione di tecniche per tagliare rami inutili , la ricerca di alberi alfa-beta è ancora una tecnica di forza bruta, che richiede un gran numero di posizioni da cercare per determinare buone mosse.
MCTS, al contrario, è molto più selettivo e espande il suo albero di ricerca solo verso le mosse più promettenti, il che gli consente di sfruttare al massimo il numero più limitato di nodi che è possibile cercare.
Peggior comportamento
Uno dei requisiti chiave della funzione di valutazione per un motore basato sulla ricerca alfa-beta è che deve avere un buon comportamento nel caso peggiore . Questo perché qualsiasi grosso errore nella valutazione, per quanto raro, può essere facilmente propagato alla radice e portare a una mossa orrendamente errata.
Per natura della loro complessità, le reti neurali sono inclini a un eccesso di adattamento e possono essere valide solo come i dati utilizzati per addestrarle. Ad esempio, nella partita 80 della Superfinale della Stagione 14 del TCEC , la mossa 47 Lc0 apparentemente non è stata sbalordita dalla regina in più di Stockfish, valutando la posizione come un fresco +0,77, mentre Stockfish (e la maggior parte degli altri motori) ha mostrato una valutazione di +8,31. Una spiegazione popolare per questo è che Lc0 potrebbe non aver avuto un numero significativo di giochi con più regine sul tabellone nel suo set di allenamento.
Le reti neurali, quindi, hanno uno scarso comportamento nel caso peggiore, e quindi probabilmente hanno prestazioni scarse con la ricerca alfa beta. MCTS, al contrario, consente di compensare un punteggio errato assegnato a una posizione calcolando la media con punteggi ragionevoli assegnati a posizioni vicine nella ricerca.
quiescenza
Tutti i potenti motori alfa-beta utilizzano una tecnica chiamata ricerca di quiescenza , una forma limitata di ricerca alfa-beta applicata ai nodi foglia, in riconoscimento del fatto che le loro funzioni di valutazione artigianali funzionano bene solo in posizioni "silenziose", dove non sono presenti acquisizioni o controlli in sospeso .
Ad esempio, immediatamente dopo la prima metà di uno scambio di regina, una funzione di valutazione artigianale potrebbe dirti che la parte che ha appena preso la regina è completamente persa, mentre una rete neurale potrebbe essere in grado di capire che la regina verrà riconquistata presto.
Ciò rende le funzioni di valutazione fatte a mano allo stesso modo inadatte per MCTS a causa dell'assenza della ricerca di quiescenza, con il risultato che le funzioni artigianali eseguono scarse prestazioni per la maggior parte del tempo (anche se Komodo 12 MCTS aggira questa restrizione usando comunque brevi ricerche alpha-beta , per ottenere posizioni quiescenti e quindi consentire alla sua valutazione artigianale di restituire un punteggio ragionevole)