2011-12-27 11 views

risposta

2

Credo che sia solo utilizzando Djikstra's algorithm (o equivalente) che è un algoritmo a percorso più breve non ponderato che è abbastanza buono a risolvere questo particolare problema.

Il gatto è facilmente intercettabile giocando alcuni punti avanti - l ' "intelligenza" è facile ingannare :) Il gatto non sembra tenere conto di piastrelle non-blocking giocato davanti a sé in un potenziale percorso , il che mi fa pensare che sia solo un semplice calcolo della distanza non ponderata.

Quando il gatto rimane intrappolato sembra prendere una direzione casuale, che potrebbe accadere anche in parità.

Il gatto potrebbe possibilmente essere reso "più intelligente" aggiungendo un peso a certe tessere (come quelle adiacenti alle tessere di blocco).

Felice codifica.

+5

Prima di tutto, Dijkstra's non è un algoritmo di percorso più breve non ponderato, lo dice proprio lì nel tuo link. In secondo luogo, non è necessario né Dijkstra né A *, poiché questo problema si riduce a un problema grafico non ponderato. Non proprio rilevante, ma interessante: finché il gatto è al massimo 4 si allontana dall'uscita, non si è mai in grado di intrappolarlo se si gioca bene. Qualunque cosa in più (che è il caso del gioco collegato) e puoi sempre vincere, indipendentemente da ciò che fa il gatto. Questo è il motivo per cui pensi di aver battuto "l'intelligenza" - infatti, ti ha ingannato le prime volte, dal momento che puoi sempre vincere. – IVlad