Parte I. Prima Parte

Documenti analoghi
Page 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini

Riproduzione Crossover Mutazione

Breve introduzione al Calcolo Evoluzionistico

Il modello generale di commercio internazionale

SOMIGLIANZA TRA INDIVIDUI

Intelligenza Artificiale. Introduzione al calcolo evolutivo

Capitolo 25: Lo scambio nel mercato delle assicurazioni

Gestione dei servizi all utenza. 3. Autorizzazioni

Dimensione di uno Spazio vettoriale

Automazione Industriale (scheduling+mms) scheduling+mms.

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Introduzione alla teoria dei database relazionali. Come progettare un database

Capitolo 2 Distribuzioni di frequenza

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Cos è l ISC (Indicatore Sintetico del Conto Corrente) e cosa sono i Profili tipo d utilizzo

Capitolo 13: L offerta dell impresa e il surplus del produttore

Come valutare le caratteristiche aerobiche di ogni singolo atleta sul campo

La ricerca empirica in educazione

STRATEGIA DI TRADING. Turning Points

come nasce una ricerca

queste domande e l importanza delle loro risposte, per quanto concerne questo lavoro.

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

DIPARTIMENTO DI STUDI UMANISTICI

CRM Configurazione e gestione accessi

Il modello generale di commercio internazionale

Strumenti e metodi per la redazione della carta del pericolo da fenomeni torrentizi

Che cos è l intelligenza e come funzionano i test del Q.I.

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Appunti sulla Macchina di Turing. Macchina di Turing

RELAZIONE SUL TEST GENERALE D ACCESSO AL CORSO DI LAUREA IN LINGUE E CULTURE STRANIERE

Ottimizzazione Multi Obiettivo

SISTEMI MULTIAGENTE. Esercizio

I tassi di interesse e il loro ruolo nella valutazione PAS 2014: Mishkin Eakins Forestieri, Istituzioni e mercati finanziari, Pearson, 2010.

Corso di Valutazione Economica dei Progetti e dei Piani. Marta Berni AA

Il modello generale di commercio internazionale

Teoria delle code. Sistemi stazionari: M/M/1 M/M/1/K M/M/S

Il presente documento viene redatto da Career Counseling con lo scopo finale di avere una visione dell andamento del MdL, in modo da poter

IL GRUPPO BIOTECH DENTAL, IL PARTNER DELLO STUDIO DENTISTICO 2.0.

GUIDA AL CALCOLO DEI COSTI DELLE ATTIVITA DI RICERCA DOCUMENTALE

Università degli Studi di Messina

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Studente: SANTORO MC. Matricola : 528

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

RECUPERO DATI LIFO DA ARCHIVI ESTERNI

Raggruppamenti Conti Movimenti

Corrispondenze e funzioni

Laboratorio di Pedagogia Sperimentale. Indice

4 modulo didattico - Modalità di trasmissione delle malattie

Legga le informazioni che seguono e poi risponda alla domanda:

Funzioni in C. Violetta Lonati

Equilibrio bayesiano perfetto. Giochi di segnalazione

L isola del futuro. Guida per l insegnante

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

Più processori uguale più velocità?

Università di Friburgo (Svizzera) Facoltà di lettere Dipartimento di lingue e letterature Ambito Italiano

Come modificare la propria Home Page e gli elementi correlati

CORSO DI STATISTICA (parte 2) - ESERCITAZIONE 8

Antonella Martinucci, Rossana Nencini, 2013 IL PESO. classe quarta

STUDI SU MATERIALE GENETICO

Pro e contro delle RNA

19txtI_BORRA_ /11/13 10:52 Pagina 449 TAVOLE STATISTICHE

Indice. pagina 2 di 10

EasyPrint v4.15. Gadget e calendari. Manuale Utente

Dispensa di Informatica I.1

Introduzione al MATLAB c Parte 2

I F O R M A T I V I D E O

Anno 3. Funzioni: dominio, codominio e campo di esistenza

Commissione di Massimo Scoperto e Commissione di Mancato Utilizzo: cosa sono e come funzionano.

Sistema per il monitoraggio della Spesa Sanitaria

(liberamente interpretato da SCHEDA ALUNNI. Descrizione dell attività:

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

= femmina. = maschio. = fenotipo banda bianca. = fenotipo pezzato. =fenotipo colore uniforme

Sistemi Informativi Territoriali. Map Algebra

Guida Compilazione Piani di Studio on-line

MUTAZIONI ED EVOLUZIONE

S.A.I.? Servizio Accoglienza e Informazione. Roberta Speziale Responsabile ufficio stampa, comunicazione e S.A.I.? Anffas Onlus Nazionale

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano

Guida per la gestione del proprio profilo in Scopus utilizzando la piattaforma Scival di Elsevier

CP Customer Portal. Sistema di gestione ticket unificato

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

fit-up), cioè ai problemi che si verificano all atto dell assemblaggio quando non si riescono a montare i diversi componenti del prodotto o quando il

SPC e distribuzione normale con Access

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26

GESTIONE DELLE TECNOLOGIE AMBIENTALI PER SCARICHI INDUSTRIALI ED EMISSIONI NOCIVE LEZIONE 10. Angelo Bonomi

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Tipi di colore. Informazioni sul colore. Durante la stampa. Uso del colore. Gestione della carta. Manutenzione. Risoluzione dei problemi

Transcript:

Parte I Prima Parte

Capitolo 1 Introduzione generale 1.1 Il problema dell assegnazione Corsi-Borsisti Il problema dell assegnazione delle borse dei corsi ai vari studenti può essere riassunto nei punti seguenti: tutte le borse devono essere assegnate. tutti gli studenti devono essere utilizzati, preferibilmente per la totalità delle ore messe a disposizione. uno studente deve aver sostenuto la materia per aver assegnata la borsa. Si preferisce, tra gli studenti, colui che ha avuto una votazione maggiore. uno studente non può essere assegnato a due o più borse associate allo stesso corso. Per una risoluzione ottimale al problema potrebbero essere necessarie svariate ore, se non giorni. In questi casi può essere proficuo l utilizzo degli algoritmi genetici che, grazie alla modellazione informatizzata della genetica, ci permettono di trovare una soluzione in tempi ridotti. In tal caso, potremmo non avere una soluzione ottima globalmente, ma riusciremmo ad ottenere una soluzione valida in tempi ragionevoli. 1.2 Gli Algoritmi Genetici Gli Algoritmi Genetici sono una metaeuristica che si basa sull analogia con i meccanismi di selezione naturale in campo genetico. Il metodo è stato sviluppato a partire da una ricerca il cui obiettivo era quello di astrarre e spiegare i processi di adattamento dei sistemi naturali alle diverse condizioni ambientali e di progettare, quindi, 3

1 Introduzione generale sistemi software che ricalcassero i meccanismi di evoluzione di questi sistemi. L idea di base è quella di considerare una popolazione di soluzioni che evolve in accordo con un meccanismo di selezione in modo da produrre soluzioni con buoni valori della funzione obiettivo. L evoluzione di una popolazione è legata al processo di riproduzione. Durante la loro vita gli individui (genitori) si accoppiano producendo nuovi individui (figli) il cui patrimonio genetico è una combinazione di quello dei genitori. I figli subiscono mutazioni rispetto al patrimonio genetico ereditato dai genitori per effetto della vita di relazione e delle influenze dell ambiente. La legge di selezione naturale si basa sul principio che, tra gli individui generati, hanno maggiori probabilità di sopravvivere quelli che possiedono una migliore capacità di adattamento all ambiente. Le caratteristiche di un organismo sono determinate dai geni presenti nei suoi cromosomi. Ciascun gene può assumere alleli diversi che producono differenze delle caratteristiche associate a quel gene. (es: i piselli hanno un singolo gene che determina, in funzione dell allele, il colore del fiore (bianco o rosa)). L insieme dei geni è detto genotipo. Con il termine fitness (letteralmente forma fisica), si intende la capacità di adattarsi ad un determinato ambiente. L evoluzione è un processo che altera, di generazione in generazione, le caratteristiche genetiche degli organismi in modo che possano adattarsi meglio al proprio ambiente. In altri termini, il processo di evoluzione è la progressiva selezione di individui con elevata fitness. Gli Algoritmi Genetici simulano il processo di evoluzione partendo da una popolazione iniziale ed applicando ad essa i cosiddetti operatori genetici. Considerando i problemi di ottimizzazione, ad un gene corrisponde una variabile decisionale e ad un allele il valore ad essa associato. Ad un cromosoma corrisponde un insieme di variabili decisionali mentre il genotipo, ossia l insieme dei valori assunti dai geni, è una possibile soluzione del problema. La fitness associata ad ogni genotipo è il valore di funzione obiettivo. Due soluzioni (genitori) si accoppiano attraverso l applicazione di un operatore (crossover) che consente di produrre nuove soluzioni (figli) con valori delle variabili dedotti da quelli dei genitori. Alle soluzioni così generate si applicano altri operatori genetici (mutazione, inversione,..) in modo da produrre modifiche che simulino gli effetti delle variazioni indotte dall ambiente. 4

Capitolo 2 Trattazione del problema tramite Algoritmo Genetico 2.1 GaLib GAlib è una libreria contenente un insieme di oggetti per la programmazione di algoritmi genetici. La documentazione comprende una descrizione estesa su come implementare un algoritmo genetico, oltre a esempi che illustrano come personalizzare le classi di GAlib. 2.2 Modalità Funzionamento L algoritmo prevede due modalità di funzionamento. ASAP fornisce una soluzione non appena è disponibile. TIMEOUT consente all utente di impostare un tempo limite terminato il quale verrà prodotta in output la migliore soluzione trovata fino a quel momento. 5

2 Trattazione del problema tramite Algoritmo Genetico 2.3 Rappresentazione di una soluzione Nel nostro problema una soluzione, non necessariamente feasible, è composta da una serie di numeri interi. Figura 2.1. Una possibile soluzione. In figura è possibile osservare qual è la struttura di una possibile soluzione. In tal caso la soluzione nel mondo reale descritta da tal vettore di interi sarebbe: La borsa 1 è assegnata allo studente 1 La borsa 2 è assegnata allo studente 4 La borsa 3 è assegnata allo studente 2 La borsa 4 è assegnata allo studente 8 La borsa 5 è assegnata allo studente 5 La borsa 6 è assegnata allo studente 7 La borsa 7 è assegnata allo studente 3 La borsa 8 è assegnata allo studente 6 La borsa 9 è assegnata allo studente 9 In sostanza dunque, l indice del vettore indica la borsa, mentre l intero associato a tale indice indica lo studente prescelto. 6

2.4 CrossOver 2.4 CrossOver Nello scegliere la tecnica per effettuare il crossover è necessario considerare se la presenza dei duplicati è lecita o meno nella nostra rappresentazione delle soluzioni. Nel nostro caso i duplicati non pregiudicano la validità di una soluzione in quanto uno studente può essere associato ovviamente a più di una borsa. Possiamo dunque utilizzare una tecnica di crossover che può produrre geni duplicati,una tecnica che fa al caso nostro è il two point crossover. Il TWO POINT CROSSOVER consiste nel considerare due soluzioni adatte all evoluzione e nel tagliare i loro vettori di codifica in due punti predefiniti o casuali al fine di ottenere una testa, una parte centrale ed una coda dalla prima e dalla seconda soluzione. La prima nuova soluzione sarà data dalla testa e della coda della prima soluzione e dalla parte centrale della seconda soluzione. La seconda nuova soluzione sarà data dalla parte centrale della prima soluzione e dalla testa e dalla coda della seconda soluzione. Figura 2.2. 2PointCrossover. 7

2.5 Mutazione 2 Trattazione del problema tramite Algoritmo Genetico La mutazione consiste nella modifica pseudocasuale di alcune parti dei geni in base a coefficienti definiti inizialmente.la mutazione è prevelentamente utilizzata per ampliare lo spazio di ricerca e non far ricadere l evoluzione in ottimi locali Nel nostro caso l operazione di mutazione consiste nella variazione di uno dei geni del cromosoma in esame. Il gene che verrà variato è stabilito in modo casuale. Figura 2.3. Mutazione La mutazione è dunque, semanticamente, la variazione dell assegnatario di una borsa. 2.6 Fitness function La funzione di fitness è quella che permette di associare ad ogni soluzione uno o più parametri legati al modo in cui quest ultima risolve il problema considerato. La funzione di fitness da noi utilizzata, guadagna 100k punti per ogni studente le cui ore sono totalmente coperte. guadagna oreborsa x votostudente per ogni borsa assegnata ad uno studente valido(corso superato). perde 100k punti per ogni borsa assegnato ad uno studente non valido. In questo modo la FITNESS FUNCTION ha le seguenti proprietà: Le soluzioni feasible hanno un valore di fitness maggiore di NumeroStudenti*100k. Ogni soluzione sotto NumeroStudenti*100k è sicuramente non feasible. 8

2.7 Altre caratteristiche 2.7 Altre caratteristiche Di seguito altre caratteristiche secondarie: Se dopo N iterazioni il GA non effettua miglioramenti la popolazione viene sterminata così da evitare situazione di stallo. La popolazione è composta da 200 cromosomi La chromosome mutation probability è del 6%. Per allargare lo spazio di ricerca nel 10% dei casi i cromosomi per il crossover sono scelti in modo indipendente dalla fitness function. Tutte le caratteristiche e i valori associati sopraelencati sono configurabili. 9

Bibliografia [1] GaLib,http://lancet.mit.edu/ga/ [2] http://www.wikipedia.it/ 11