Programma di controllo evolutivo per Robby il robot In questa lezione andiamo a presentare in dettaglio un esempio di un semplice algoritmo genetico per il controllo di robot virtuali. Il robot virtuale si chiama Robby. E' un robot molto semplice che vive in un mondo simulato. E' descritto nel mio libro "Complessità. Una visita guidata." e il suo compito e di andare in giro raccogliendo le lattine di soda vuote. Robby si ispira ad un robot reale di nome Robot che ha funzionato nel 1988 nel laboratorio di intelligenza artificiale del MIT che si spostava, sulle sue ruote, di ufficio in ufficio e raccogliendo le lattine vuote di soda le metteva nel contenitore per il riciclo. Robot era il risultato del lavoro di Jonathan Connel, studente al MIT e di Rodney Brooks e Peter Ning. ed era un robot molto impressionante che utilizzava solamente degli algoritmi molto semplici per controllare il suo comportamento Il nostro robot si chiama Robby, è un robot virtuale che vive in un mondo simulato costituito da una griglia di 10 x 10 quadrati, dove ogni quadrato rappresenta un ufficio. Ogni ufficio può essere vuoto o può contenere una lattina di soda vuota Ecco per esempio una lattina di soda vuota . Il compito di Robby è di muoversi in giro per il suo mondo e raccogliere le lattine di soda vuote. Quindi dobbiamo fornire a Robby un programma che gli dica cosa fare a ogni passo Io potrei programmarlo ma invece utilizzerò un algoritmo genetico per fare evolvere i programmi per realizzare questo compito. Per prima cosa lasciatemi descrivere quello che Robby può vedere e può fare. E' un robot molto semplice che ha una pessima vista e la sola cosa che può vedere è il contenuto del quadrato dove si trova e di quelli posti a Nord, al Sud, A Est ed a Ovest. Nella sua posizione attuale, il suo ufficio è vuoto a Nord ha un muro, a Ovest ha un muro a Sud ha un quadrato vuoto e a Est una lattina. E' tutto quello che può vedere. Utilizza quello che può vedere per decidere quale azione compiere a ogni istante Ha sette azioni possibili Si può spostare verso Nord, spostare verso Sud spostarsi verso Est, spostarsi verso Ovest corrispondenti allo spostamento di un quadrato. Può fare uno spostamento casuale in una direzione a caso, può rimanere sul posto senza fare nulla o può cercare di prendere una lattina Se prova a prendere una lattina quando ce n'è una, questo è un successo O può cercare di prendere una lattina in un quadrato vuoto ed è un errore Lui ottiene certe ricompense o penalità a seconda dell'azione compiuta. Se prende una lattina ottiene 10 punti in ricompensa per la sua azione se prova a prendere una lattina in un posto vuoto, riceve -1 punto, e se picchia contro un muro ottiene -5 punti La performance globale dei suoi spostamenti è la somma delle ricompense e delle penalità ricevute. L'obiettivo è di utilizzare un algoritmo genetico per fare evolvere un programma di controllo ovvero una strategia per Robby. Vediamo cosa significa il termine "strategia". la definizione che utilizzo è: un insieme di regole che determinano una azione per ognuna delle possibili situazioni . Le situazioni possibili sono gli input di Robby, ciò che lui può vedere. Stabiliamo una lista delle possibili situazioni che Robby può incontrare Queste situazioni possono essere che cosa vede a Nord, Sud, Est, Ovest, lo stato della sua posizione attuale E la strategia per ogni possibile situazione sarà l'azione da compiere Qui c'è una situazione possibile, che potrebbe essere la più semplice tutto è vuoto in tutte le direzioni è una situazione possibile. Ecco un'altra possibile situazione: tutto è vuoto tranne il posto attuale dove c'è una lattina e potremmo continuare enumerando le situazioni possibili e quindi domandarci quante sono le situazioni possibili ma, giusto per essere sicuri che vuoi abbiate seguito tutto questo, passiamo ad un quiz veloce. Questo quiz contiene due domande per la prima, controllate questa situazione e supponete che Robby abbia un punteggio di 0 prima di iniziare questa serie di azioni spostamento a Est, spostamento ad Est raccolta di una lattina, spostamento ad Est, raccolta di una lattina, spostamento a Sud Compie queste 6 azioni e voi dovete rispondere alla domanda: quale è la situazione dopo queste 6 azioni e qual'è il punteggio ottenuto? E qui c'è un riassunto del modo con cui calcolare i punteggi.