In realtà no, ma ti stai avvicinando.
Non hai nessuna garanzia con questi metodi euristici, quindi in sostanza lo lanci, aspetti, poi vedi.
Magari cambi un pochino i parametri, lanci di nuovo, aspetti di vedere se migliora.
Eventualmente lanci n thread diversi in parallelo per vedere quale set di parametri ti dà una soluzione migliore
Rammenta che usando un generatore pseudocasuale, ogni esecuzione porta a una popolazione ed una soluzione diversa
Non farti prendere per il naso: non c'è praticamente nulla di similitudine tra una popolazione "vera" e un AG, che è una banalizzazione estrema.Leggevo di convergenza prematura degli "individui" che, dopo x generazioni, cominciavano a somigliarsi... (che poi è la causa dell'utilizzo degli algoritmi di mutazione).
Comunque sì, la mutazione ha la stessa funzione della "ricottura", cioè è come dare un "colpetto" col dito a una lancetta di un misuratore sperando che si muova da sola nella direzione giusta
Data una certa funzione e un certo intervallo possono esistere più minimi, che sono quindi minimi locali (cioè il minimo in un certo intervallo o meglio spazio, visto che usualmente le variabili sono multimensionali e quindi sono spazi, non intervalli).Consentimi, ti prego, un'altra domanda: se noi selezioniamo la soluzione che maggiormente si appresta alla migliore, perchè si parla di minimi e di minimi locali? E locali in che senso?
Le funzioni analitiche di ottimizzazione (che poi alla fin fine sono tutte basate su derivate, discesa del gradiente e cugini vari) cercano IL minimo, cioè il minimo dei minimi, il minimo assoluto.
Ma questo non è banale, quando le funzioni sono "brutte" tipo questa
Qual'è il minimo? E come fai a "beccarlo"? Non è facile, finisci facilmente per andare a "rotolare" verso minimi locali, ma non il minimo globale
Sì.Leggevo inoltre che, per un migliore funzionamento dell'algoritmo, è meglio che individui con valore di fitness simile (in particolare quelli con valori più alti) siano situati vicini tra loro... è per via del crossover? Considerando il solo valore di fitness la interpreto come una affermazione non tanto sensata, o almeno non indispensabile...
In teoria, mooolto in teoria, gli individui "migliori" si accoppieranno tra di loro "figliando" individui ancora migliori.
Ovviamente la semplificazione degli AG è talmente grande che in pratica non funziona affatto così bene come in teoria.
Se ti piazzo un DPE o un granulare poi vediE grazie 1000 per l'apprezzatissimo codice.![]()
Non immaginarti che un "vero" genetico funzioni così, con codifica binaria, perchè la risoluzione è troppo bassa (ridicola, anzi).
Si adottano strategie varie per "zoomare" (cioè riscalare) mantenendo un numero ragionevole di alleli.
Comunque per l'ambito didattico inizi ad "inquadrare"