Domanda

Ho appena iniziato cercando di utilizzare il Minimax / negamax algoritmo e mi è venuta un'idea che suona bene per me, ma come nessuno sta utilizzando potrebbe essere una logica difettosa.

Perché non facciamo questo:

Crea un tre con profondità = x, capire quale mossa fare, e attendere il nostro avversario. Dopo aver fatto la sua mossa possiamo solo prendere la sottostruttura delle mosse che abbiamo già valutato e continuare a costruire più profondo mentre usando i vecchi nodi. Potremmo usare i valori già valutati dei nodi e pesare con i nuovi valori dei nuovi nodi più profondi.

Benche i nuovi valori potrebbero non essere il più preciso con il solito metodo siamo riusciti a ottenere molto più profondo e profitto da questo.

Mi scuso per il mio e il male scritta e non strutturati, ma spero che si ottiene la mia idea.

È stato utile?

Soluzione

Penso che quello che ti manca qui è come opere minimax. Minimax enumera tutte le possibilità per una profondità D specificato, quindi assegna un punteggio ai nodi (stati di gioco) a D, e spostando indietro l'albero, restituisce il nodo MAX o MIN a ciascuna profondità in base a se sono massimizzazione giocatore o il giocatore minimizzante.

La tua proposta di farlo top-down significherebbe che devi assegnare un punteggio ai nodi a profondità più basse, con conseguente una valutazione più povera.

Altri suggerimenti

L'idea è in uso, ma in un modo diverso. Invece di mantenere l'albero di ricerca in giro, che sarebbe la memoria proibitivo, i punteggi di valutazione sono conservate nella tabella di trasposizione e riutilizzati. Questo consente di risparmiare tempo quando si fa approfondimento iterativo , dal momento che molte posizioni saranno memorizzate nella cache segna da ricerche precedenti . Così il riutilizzo dei risultati di ricerca vecchi possono aiutare con alcune delle ricerche intermedi e velocizzare mossa ordinazione, ma i nodi foglia sarà ancora bisogno di essere valutati a qualunque terminale profondità di ricerca il motore sta usando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top