Il mio prof di programmazione ha deciso simpaticamente di darci come progetto di fine anno il seguente testo:
Simulare la vita di un robottino che si muove all'interno di una matrice quadrata. Il movimento deve essere casuale e bisogna che la procedura di spostamento sia ricorsiva. Il robottino all'interno della matrice può trovare degli ostacoli (che deve vedere fino ad una certa distanza , supponiamo di due caselle) contro i quali non deve andare a sbattere; all'interno della matrice è possibile anche trovare delle caselle "cibo" che il robottino mangerà solo se la sua vitalità scende al di sotto di un livello minimo, altrimenti tali caselle saranno evitate come fossero ostacoli. Inoltre il robot deve "ricordare" almeno le ultime 5 mosse fatte (memorizzate in una lista) per non ritornare sui suoi passi a meno che non si ritrovi in un vicolo cieco; di queste ultime 5 mosse effettuate deve anche ricordarsi in ogni casella cosa ha "visto" (ostacoli o cibo). E poi tanto per semplificare la cosa, si introduce un bersaglio verso il quale il robottino deve dirigersi, scegliendo la strategia di azione più breve e veloce. Sono ammesse variazioni al percorso nel caso in cui il robottino abbia bisogno di "nutrirsi", valutando se valga la pena o meno continuare verso il bersaglio o deviare per dirigersi verso il cibo. Ultimo piccolissimo appunto senza alcuna rivelanza: il robot non deve conoscere le coordinate precise del suo bersaglio, ma solo delle indicazioni generali (ad esempio che il bersaglio si trova a NordEst rispetto alla posizione attuale del robot o, al massimo, è possibile dividere la matrice in quadranti più o meno grandi e sapere in quale quadrante si trova il bersaglio).
Insomma la simulazione di una sorta di IA.
Qualcuno ha qualche idea di come sviluppare l' algoritmo? Io una mezza cosa l'ho già abbozzata ma non è ancora completa![]()


Rispondi quotando