Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Algoritmi genetici, Prove d'esame di Dispositivi elettronici

informatica algoritmi

Tipologia: Prove d'esame

2015/2016

Caricato il 07/06/2016

riparoexpress
riparoexpress 🇮🇹

1 documento

1 / 53

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Introduzione agli Algoritmi Genetici 1
Introduzione agli
Algoritmi Genetici
Maurizio Palesi
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35

Anteprima parziale del testo

Scarica Algoritmi genetici e più Prove d'esame in PDF di Dispositivi elettronici solo su Docsity!

Introduzione agli

Algoritmi Genetici

Maurizio Palesi

Introduzione

n L’obiettivo di creare l’ intelligenza artificiale

risale alle origini dell’era informatica

n Già i primi informatici inseguivano il sogno

di instillare nei programmi l’intelligenza

èLa capacità di duplicarsi e di imparare , nonché

quella di controllare l’ambiente circostante

Ispirarsi all ’ Evoluzione

n Perché ispirarsi all’evoluzione per risolvere

problemi computazionali?

èE’ necessario ricercare la soluzione tra un

numero enorme di possibili alternative

üEs., Individuare una proteina con determinate

proprietà tra un numero enorme di possibili

sequenze di amminoacidi

èE’ necessario che un programma funzioni

anche quando l’ambiente cambia

üEs., Problemi di controllo dei robot

Evoluzione

n L’evoluzione è un processo continuo

distribuito su una scala temporale ampia

che cambia una popolazione di organismi

generando prole via via migliore attraverso

la riproduzione

Applicazioni

n Ottimizzazione (es., addestramento di reti neurali,

minimizzazione di funzioni costo, layout di circuiti,

scheduling, …)

n Predizione (es., previsioni meteorologiche,

disposizione spaziale di proteine, …)

n Classificazione (es., verifica di qualità, …)

n Economia (es., strategie d’offerta, valutazione del

mercato, …)

n Ecologia (es., competizione biologica,

coevoluzione ospite-parassita, …)

Indicati per...

n Ricerca in spazi di dimensionalità elevata

èMultimodali

èNon “smooth”

n Funzioni con rapporto S/N elevato

èDi cui non si conosce la formulazione analitica

èO tale formulazione è estremamente

complessa

n Convergenza sub-ottima ma in un tempo

ragionevole

Simulare l ’ Evoluzione

n Ricombinazione

èGenerare nuove soluzioni “mescolando” due o

più soluzioni esistenti

n Mutazione

èCambiamenti casuali nella soluzione

Problemi di Ottimizzazione

n Lo spazio delle soluzioni possibili contiene

una o più soluzioni accettabili

èEventualmente alcune ottime e altre sub-ottime

n Gli algoritmi di ricerca servono a localizzare

tali soluzioni evitando di esplorare tutte le

soluzioni possibili

Algoritmo Genetico

Genera una popolazione iniziale Valuta la funzione obiettivo Individuo migliore Criterio ottimizzazione Selezione Ricombinazione Mutazione Si No Ingresso Uscita

Algoritmo Genetico

n 1. [Inizia] Genera una popolazione casuale di n cromosomi (soluzioni plausibili

  • genitori) n 2. [Fitness] Valuta la fitness f ( x ) di ciascun cromosoma x nella popolazione corrente n 3. [Nuova popolazione] Crea una nuova popolazione (prole) attraverso è [Selezione] Seleziona i cromosomi genitori in base alla loro fitness è [Ricombinazione] Con una certa probabilità di ricombinazione incrocia due genitori per generare un nuovo figlio. Se la ricombinazione ha probabilità nulla, il figlio è una copia esatta dei genitori è [Mutazione] Con una certa probabilità di mutazione cambia gli elementi che costituiscono il figlio è [Accettazione] Introduce il nuovo figlio nella popolazione n 4. [Verifica] Se la condizione di uscita è soddisfatta, la soluzione del problema è rappresentata dall’elemento nella popolazione che presenta la migliore fitness n 5. [Ciclo] Vai al passo 2.

Codifica del Cromosoma

n Il primo passo per sviluppare un GA

consiste nel definire la codifica della

soluzione

èUn cromosoma deve contenere l’informazione

sulla soluzione che rappresenta

èLa codifica dipende dal problema da risolvere

üNumeri interi, numeri reali, permutazione, alberi di

parsing, …

Codifica del Cromosoma

n La modalità usuale di codifica consiste

nell’utilizzare una stringa binaria

èCiascun bit nella stringa rappresenta una

qualche caratteristica della soluzione

n Esempio di cromosoma

èRappresentazione binaria di un numero intero

Cromosoma 1: 1 1 0 1 1 0 0 1 0 0 1 1 0 1 1 0 Cromosoma 2: 1 1 1 0 1 1 1 0 0 0 0 1 1 1 1 0

Codifica Implicita

  • Capacità dello zaino
  • Anello Oggetto Valore Dimensione
  • Anello
  • Anello
  • Orologio
  • Collana
  • Candelabro
  • Candelabro
  • Quadro
  • Quadro
  • Quadro
  • Quadro
  • Pelliccia
    • Anello … … …
    • Anello
    • Anello
    • Orologio
    • Collana
    • Candelabro
    • Candelabro
    • Quadro
    • Quadro
    • Quadro
    • Quadro
    • Pelliccia

Codifica Binaria (8 bit)

n Numero intero compreso tra 0 e 255

n Numero reale compreso tra 0 e 10

Genotipo 163 Fenotipo 128 + 32 + 2 + 1 = 163 1 0 1 0 0 0 1 1 = Genotipo

Fenotipo (163/255)*