Anteprima
Vedrai una selezione di 3 pagine su 6
Intelligenza artificiale - algoritmi evolutivi Pag. 1 Intelligenza artificiale - algoritmi evolutivi Pag. 2
Anteprima di 3 pagg. su 6.
Scarica il documento per vederlo tutto.
Intelligenza artificiale - algoritmi evolutivi Pag. 6
1 su 6
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Per  rappresentare  un  algoritmo  evolutivo  dobbiamo  codificare  le  soluzioni  o  in  modo  binario  o  attraverso  

numeri  reali.  La  popolazione  è  formata  dall’insieme  delle  soluzioni  candidate  codificate.  La  funzione  di  

fitness  indica  il  grado  di  precisione  di  ogni  soluzione  della  popolazione,  cioè  quanto  è  vicina  alla  solzuoine  

cercata.  Attraverso  degli  operatori,  chiamati  operatori  genetici  è  possibile  simulare  la  selezione,  

ricombinazione,  mutazione  e  sostituzione  dei  cromosomi  all’interno  della  popolazione  esistente.  

In  un  algoritmo  evolutivo  si  parte  da  una  popolazione  generata  casualmente,  la  quale  viene  sottoposta  alla  

funzione  di  fitness.  Ai  valori  restituiti  dalla  funzione  di  fitness  per  ogni  soluzione  candidata,  viene  applicato  

il  processo  di  selezione,  in  base  al  quale  vengono  scelte  le  soluzioni  che  più  si  avvicinano  alla  soluzione  

cercata.  Alle  soluzioni  sopravvissute  alla  selezione  viene  applicato  il  processo  di  ricombinazione,  in  base  al  

quale  vengono  scomposte  le  soluzioni  e  poi  ricombinate  in  base  a  criteri  prestabiliti.  Le  soluzioni  ora  

ricombinate  subiscono  il  processo  di  mutazione  in  base  al  quale  alcuni  termini  della  soluzione  vengono  

modificati  secondo  una  data  probabilità  di  mutazione.  Al  termine  della  mutazione  avviene  la  sostituzione  

della  popolazione  esistente,  che  può  avvenire  in  modo  totale  (cambio  generazionale)  o  secondo  politiche  di  

scelta  che  eliminano  le  soluzioni  peggiori  e  aggiungono  le  soluzioni  frutto  della  mutazione  alle  soluzioni  

migliori  (con  grado  di  fitness  più  alto)  già  esistenti.  

In  particolare  i  processi  di  selezione  e  ricombinazione  garantiscono  l’innovazione  delle  soluzioni,  e  i  processi  

di  selezione  e  mutazione  garantiscono  un  miglioramento  continuo.  L’innovazione  e  il  miglioramento  

continuo  delle  soluzioni  rappresentano  l’evoluzione  dell’algoritmo  verso  la  soluzione  ottima.  

 

 

 

 

 

 

 

 

 

 

 

 

2  –  Metodologie  

 

I  principali  algoritmi  evolutivi  sono  sostanzialmente  3:  

-­‐ Algoritmi  Genetici  

-­‐ Strategie  evolutive  

-­‐ Programmazione  evolutiva  

In  dettaglio  verranno  trattati  gli  algoritmi  genetici  

 

  Algoritmi  Genetici  

Gli  algoritmi  genetici  sono  un  modello  di  calcolo  che  si  ispira  alla  metafora  della  genetica  delle  popolazioni  

(Holland  1975  –Goldberg  1989).  

Non  si  possono  considerare  algoritmi  di  apprendimento  in  quanto  l’azione  svolta  da  questi  algoritmi  nel  

loro  funzionamento  è  principalmente  quella  di  individuare  il  massimo  di  una  funzione  data,  detta  funzione  

di  fitness.  

Larga  parte  delle  loro  applicazioni  sono  infatti  relative  all’ottimizzazione  di  funzioni,  discrete  o  continue  e  a  

problemi  di  ottimizzazione  combiantoria.  

Negli  algoritmi  genetici  il  processo  di  ricerca  della  soluzione  in  un  problema  di  ottimizzazione,  che  avviene  

tramite  un  particolare  bilanciamento  della  esigenza  di  esplorare  nuove  regioni  dello  spazio  delle  soluzioni  

(exploration)  e  di  quella  di  sfruttare  con  una  ricerca  locale  le  informazioni  già  a  disposizione  (exploitation),  è  

caratterizzato  dal  fatto  che  ad  ogni  iterazione  dell’algoritmo  viene  aggiornato  un  intero  insieme  di  soluzioni  

(popolazione).  

L’algoritmo  prevede  al  generazione  casuale  di  una  popolazione  inziale  e  finchè  la  condizione  di  

terminazione  non  interrompe  l’evoluzione  itera  sulla  popolazione  i  processi  di  selezione,  crossover,  

mutazione  e  sostituzione.  

Pseudocodice:  

generation = 0

Inizializza popolazione P(t)=P(0)

while not <condizione di terminazione>

do

generation = generation + 1

Calcola fitness di ciascun individuo

Selezione

Crossover(p )

cross

Mutazione(p )

mut

 

end while

I  parametri  da  cui  dipende  il  funzionamento  dell’algoritmo  sono  3:    

n:  numero  di  individui  della  popolazione  

pcross:  probabilità  di  crossover  (interno  all’operatore  di  crossover  tipicamente  pari  a  0.6)  

pmut:  probabilità  di  mutazione  (interno  all’operatore  di  mutazione  tipicamente  pari  a  0.01)  

La  condizione  di  terminazione  può  essere  fissata  da  un  numero  massimo  di  cicli  da  eseguire  o  da  un  numero  

di  cicli  in  cui  non  si  è  modificata  la  soluzione  precedente.  

L’algoritmo  funziona  nel  seguente  modo.  Sia  P(t)  la  popolazione  all’istante  t  di  n  cromosomi  e  P(0)  la  

popolazione  generata  casualmente  all’istante  0.  Il  ciclo  principale  di  un  algoritmo  genetico    genera  una  

nuova  popolazione  P(t+1)  a  partire  da  P(t)  applicando  alcuni  operatori.  Questi  operatori  modificano  alcuni  

individui  scelti  a  caso  dalla  popolazione  P(t)  ottenendo  cosi  la  popolazione  P(t+1)  i  cui  individui  sono  in  

probabilità  migliori  di  quelli  di  P(t),  essendo  con  probabilità  alta  solo  copie  degli  individui  di  P(t)  con  valori  

di  fitness  più  alta.  L’effetto  degli  algoritmi  genetici  è  quindi  quello  di  spostare  P(t)    verso  le  composizioni  

migliori,  ciò  corrisponde  a  dirigere  la  ricerca  del  massimo  della  funzione  fitness  verso  le  zone  nello  spazio  

delle  soluzioni  caratterizzate  da  più  alti  valori  della  stessa  funzione  di  fitness.  Il  modo  di  operare  degli  

algoritmi  genetici  è  tale  per  cui  il  raggiungimento  della  soluzione  ottima  non  è  dovuto  agli  interi  cromosomi  

ma  a  loro  parti  fortemente  correlate  con  alti  valori  della  funzione  di  fitness  dette  building  blocks.  Gli  

algoritmi  genetici  sono  quindi  efficaci  in  tutti  i  casi  in  cui  la  soluzione  può  essere  pensata  come  una  

collezione  di  building  blocks.  

Gli  operatori  genetici  principali  sono  4:  

Selezione  

<
Dettagli
Publisher
A.A. 2011-2012
6 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher wrystell di informazioni apprese con la frequenza delle lezioni di Intelligenza artificiale e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Milano o del prof Bonarini Andrea.