sabato 31 ottobre 2009

Agenti risolutori di problemi: eliminazione degli stati ripetuti

Le strategie di ricerca presentate scelgono un nodo da espandere nella frontiera, senza tener conto di quelli espansi in precedenza. Quando l'algoritmo espande un nodo corrispondente ad uno stato A, potrebbe capitare che un nodo corrispondente al medesimo stato sia stato già espanso nell'albero di ricerca. In un caso di questo tipo risulta ridondante espandere il nodo corrispondente allo stato A poichè non porterebbe nessuna informazione aggiuntiva, e se tramite questo nodo si riesce ad arrivare alla soluzione, ci si arriva ugualmente tramite il nodo già espanso.
Risulta quindi opportuno modificare l'algoritmo di ricerca in modo che tenga conto degli stati visitati e non espanda più di un nodo corrispondente al medesimo stato. Si può creare una lista di questi stati; essa va sotto il nome di lista chiusa; prima di espandere un nodo viene controllato che lo stato a cui corrisponde non sia presente nella lista.
Ogni strategia di ricerca vista ha un suo corrispondente algoritmo con eliminazione degli stati ripetuti.

Nessun commento:

Posta un commento