Mount Carlo Tree Research Algorithm（Monte Carlo Tree Search -MCTS）は、主にゲームやその他のシーケンシャルな決定問題で使用される人工知能技術です。アルゴリズムは、ゲームまたは問題の確率的シミュレーションに基づいており、一連の可能な動きがシミュレートされ、木の構造を使用して行われた動きと成功の相対的な確率を追跡します。

MCTSアルゴリズムは反復的な方法で機能し、次の手順を周期的に実行します。

    選択：ツリーのルートから開始すると、ノードは最大上部コンコンダーバウンド（UCB）で選択されます。これは、あまり既知のオプションの探索とすでに調査されているオプションの搾取のバランスをとる関数です。

    拡張：選択したノードが拡張され、可能なすべての子供、つまり、ゲームの現在の状態または問題によって行われる可能性のある動きが追加されます。

    シミュレーション：シミュレーションは、ランダムまたはヒューリスティックな戦略を使用して、シミュレーションの結果を決定するために、新しく追加されたSONノードから開始されます。

    retropying：シミュレーション結果はツリーに上向きに伝播され、選択と拡張中にアクセスしたノードの統計を更新します。

十分な数の反復後、MCTSアルゴリズムは、ツリーで収集された統計に基づいて最適な動きを選択します。MCTSアルゴリズムは、Goやポーカーなどの幅広いゲーム、およびロボット計画などの他の順次決定問題に正常に適用されています。
L'algoritmo di ricerca ad albero di Monte Carlo (Monte Carlo Tree Search - MCTS) è una tecnica di intelligenza artificiale utilizzata principalmente nei giochi e in altri problemi di decisione sequenziale sotto incertezza. L'algoritmo si basa su una simulazione stocastica del gioco o del problema, in cui viene simulata una serie di mosse possibili, e sull'utilizzo di una struttura ad albero per tracciare le mosse effettuate e le relative probabilità di successo.

L'algoritmo MCTS funziona in modo iterativo, eseguendo ciclicamente i seguenti passaggi:

    Selezione: a partire dalla radice dell'albero, viene selezionato il nodo con la massima upper confidence bound (UCB), una funzione che bilancia l'esplorazione delle opzioni meno conosciute e lo sfruttamento delle opzioni già esplorate.

    Espansione: il nodo selezionato viene espanso, aggiungendo tutti i suoi figli possibili, ovvero le possibili mosse che possono essere fatte dallo stato corrente del gioco o del problema.

    Simulazione: viene eseguita una simulazione a partire dal nodo figlio appena aggiunto, utilizzando una strategia casuale o euristica per determinare il risultato della simulazione.

    Retropropagazione: i risultati della simulazione vengono propagati verso l'alto nell'albero, aggiornando le statistiche dei nodi visitati durante la selezione e l'espansione.

Dopo un numero sufficiente di iterazioni, l'algoritmo MCTS seleziona la mossa migliore sulla base delle statistiche raccolte nell'albero. L'algoritmo MCTS è stato applicato con successo a una vasta gamma di giochi, tra cui il Go e il poker, e in altri problemi di decisione sequenziale, come la pianificazione robotica.