Approfondimento iterativo

Conosciuto anche come: Ricerca ad approfondimento iterativo

Strategia che ripete la ricerca con limiti crescenti, in modo da mantenere sempre disponibile un risultato completato.

Spiegazione

L’approfondimento iterativo fa sì che un cerchi dapprima con un limite piccolo e ripeta poi l’analisi con limiti progressivamente maggiori. Negli scacchi, la profondità viene comunemente misurata in plies, dove un ply è una mossa di una sola parte.

All’inizio può sembrare uno spreco, perché le posizioni vicine alla radice vengono visitate più volte. Le iterazioni precedenti producono però informazioni preziose: una migliore mossa provvisoria, la variante principale, cioè la sequenza considerata migliore in quel momento, risultati memorizzati e indicazioni per l’. Cercare per prime le opzioni promettenti nell’iterazione successiva consente spesso di interrompere prima più rami e compensa gran parte del lavoro ripetuto.

Il vantaggio pratico più evidente è la gestione del tempo. Se l’orologio costringe il motore a fermarsi durante un’iterazione più profonda, resta comunque disponibile il risultato completo dell’iterazione precedente. Il programma non deve rischiare tutto su una ricerca che potrebbe rimanere incompiuta.

L’approfondimento iterativo non significa estendere soltanto una variante preferita. Ogni iterazione riesamina la posizione iniziale con un limite maggiore, anche se tecniche selettive possono assegnare profondità locali differenti nell’albero. Sposta inoltre più lontano l’, senza eliminarlo.

Uso e contesto

Le interfacce mostrano spesso la profondità dell’iterazione corrente, ma un numero maggiore non dimostra da solo che due motori diversi abbiano svolto un lavoro comparabile.

Confusioni comuni

Ripetizione inutile

Il lavoro precedente fornisce l’ordine delle mosse, una variante principale e informazioni di ricerca memorizzate, quindi l’iterazione successiva non riparte davvero da zero.

Approfondimento ed estensione selettiva

L’approfondimento iterativo aumenta il limite complessivo tra un passaggio e il successivo; un’estensione aggiunge ricerca locale a varianti particolari.

Fonti

  1. 1.Depth-first iterative-deepening: An optimal admissible tree search, Artificial Intelligence / Elsevier
  2. 2.Iterative Deepening, Chess Programming Wiki
  3. 3.search.cpp, Stockfish

Termini correlati

© 2026 MindZug