J'ai besoin de mettre en œuvre un solveur Démineur. J'ai commencé à mettre en œuvre un agent basé sur des règles. J'ai mis en place certaines règles. J'ai une fonction heuristique pour choisir la meilleure règle de correspondance pour la cellule actuelle (avec des informations sur les cellules environnantes) en cours de traitement. Ainsi, pour chaque cellule choisie, elle peut décider que 8 cellules environnantes les ouvrent, les marquent ou ne font rien. Je veux dire. pour l'instant, l'agent obtient comme entrée une cellule révélée et décide quoi faire avec les cellules environnantes (pour l'instant, l'agent ne sait pas, comment décider quelle cellule traiter).Projet de dragueur de mines AI
Ma question est, quel algorithme mettre en œuvre pour décider quelle cellule à traiter? Supposons que, pour le premier mouvement, l'agent révèle une cellule d'angle (ou une autre, selon une règle pour le premier mouvement). Que faire après ça? Je comprends que j'ai besoin de mettre en œuvre une sorte de recherche. Je connais beaucoup d'algorithmes de recherche (BFS, DFS, A-STAR et autres), ce n'est pas le problème, je ne comprends tout simplement pas comment je peux utiliser ces recherches.
Je dois le mettre en œuvre dans un des principes de l'intelligence artificielle: Une approche moderne.
J'ai implémenté certaines de ces techniques dans les règles, j'ai implémenté certaine méthode: treatCell (i_CellToTreat), elle correspond à la meilleure règle et l'exécute. Je ne sais tout simplement pas dans quel ordre traiter les cellules révélées, et lequel d'entre elles doit choisir de traiter, pour le moment il ne fait qu'illiter tout au long de la collection de cellules révélées et les traite. Cela fonctionne plutôt bien sur une petite carte, mais j'ai besoin de mettre en place un meilleur algorithme. – Nikita