PDA

View Full Version : Algoritmi genetici...


51078
04-11-2004, 10:54
Ciao a tutti,
non è che per caso qualcuno si è già cimentato nella realizzazione di qualche algoritmo genetico (C, C++, Java, ecc) e riesce a fornirmi qualche esempio di implementazione?
Di teoria ne ho studiata fin troppa ma senza qualche esempio pratico facio un po fatica a realizzare qualcosa di concreto...

Oppure sapete dove posso trovare listati di questo tipo?

cipi
04-11-2004, 12:11
di algoritmi genetici ne ho scritti ma per copyright non te ne posso spedire... dai un'occhiata qui (http://www.daimi.au.dk/~pmn/Matlab/dochome/toolbox/GAOT/gaotindex.html) per farti un minimo di idea....
Buon lavoro ;)
PS
le cose più importanti in un GA sono:
[list=1]
l'algoritmo di selezione;
la codifica;
la mutazione;
[/list=1]

51078
04-11-2004, 12:42
Ok, grazie del link...

Se poi vuoi inviarmi anche solo qualche spezzone di codice in pvt... :rolleyes: ... non temere per il copyright, tanto a me serve solo per darmi un'idea per la realizzazione pratica del progetto universitario che sto preparando, di certo non faccio cut&paste...

Cmq, grazie lo stesso per la risposta, una curiosita, nel link che mi hai inviato che linguaggio si utilizza? Guardando i link mi sembra simile al "C", ma il file .m che sono?

cipi
04-11-2004, 13:58
Per la prima domanda la risposta è... mi dispiace, non posso proprio! :( Per la seconda... :eek: è MATLAB... Non l'hai mai utilizzato? Devi essere ai primi anni di ingegneria, vero? Non ti preoccupare... imparerai ad usarlo molto presto e poi è molto semplice... ;)
Se hai altre domande sono qui... ciao

51078
04-11-2004, 16:10
Non importa, grazie cmq per l'interessamento... :)

Beh, veramente sarei all'untimo anno (e da un pò... :rolleyes: :cry: ) di Informatica (non ing.) e conosco MatLab di nome, ma non mi era mai capitato di vederlo, fino ad ora ne ho usati tanti (C, Java, Delphi, Prolog, ML, ecc.) ma non MatLab... che figura... :doh:

anx721
04-11-2004, 16:31
Prova a fare un po di ricerca su google;

queso è il link alla direcory sugli algortmi genertici:

http://directory.google.com/Top/Computers/Artificial_Intelligence/Genetic_Programming/Algorithms/

cipi
04-11-2004, 17:00
Originariamente inviato da 51078
serve solo per darmi un'idea per la realizzazione pratica del progetto universitario che sto preparando


Per la figuraccia... non ti preoccupare... io ne faccio di peggio! :p
Per il progetto... ti posso chiedere che tipo di progetto è? Perché avrei alcune cose da suggerirti se tipo stai lavorando ad una tesi.... :O
Fammi sapere (nel mio dipartimento, modestie a parte, ne sappiamo un po' sull'argomento... :D :D :D )

51078
04-11-2004, 17:53
Ovviamente tutti i consigli sono ben accetti... :D
La tesi penso che inizierò a farla a Gennaio e si baserà sempre sugli algoritmi genetici, per ora il progetto (l'ultimo esame finalmente) consisite nel realizzare un classificatore per cifre manoscritte, data e training set ce li ho già ovviamente, devo realizzare l'algoritmo...

Come ho scritto la teoria l'ho già studiata abbastanza, ma partire a programmare senza esempi mi risulta un po' difficile...

cipi
05-11-2004, 08:44
Training set? Ma allora utilizzi anche una rete neurale, vero?
Stavo cercando tra i pdf (ma non lo trovo più :( ) un articolo di un cinese che utilizzava algoritmi genetici per fare text mining degli ideogrammi... Prova a smanettare su google e sicuramente trovi qualcosa che ti può aiutare....
Per quanto riguarda il GA... Sei sicuro di dovertelo scrivere? Oramai è un po' "anti-storico" mettersi a scrivere un GA da zero (a meno che nella tua uni non ci sia chi vi ha già smanettato!). Anche perché non è detto che tu possa scriverne uno realmente efficiente e poi perderesti del tempo prezioso magari per produrre risultati più interessanti ed elaborati del tuo lavoro... Qui da me c'é chi ha sviluppato e ora commercializza un software di ottimizzazione (e dentro ci trovi le evoluzioni di GA) e so per certo che fornisce delle licenze universitarie... Se può interessare mandami un pvt. Capisco però che essendo tu informatico probabilmente ti faranno scrivere tutto da zero... :(
E' anche vero che, essendo informatico, ci metterai meno di mezz'ora a capire la sintassi di MATLAB e quindi il link torna utile... ;)
A presto e fammi sapere.

51078
05-11-2004, 13:00
L'utilizzo di una rete neurale non è richiesto, anzi... lo scopo sarebbere fare evolvere una popolazione di classificatori... naturalmente si dovrebbe prima fare un parsing dei dati per poter rendere il + possibile "atomiche" le operazioni di confronto sui dati...

Certamente l'efficenza non è lo scopo didattico principale, altrimenti non ne uscirei mai vivo... :(

gokan
05-11-2004, 13:12
anche io quest'anno sto seguendo un corso sulla programmazione genetica..se ti può interessare, ti posso dare il link per le lezioni di laboratorio del mio prof.
Anche da noi usiamo il matlab, è un linguaggio interpretato che consente facilmente di lavorare con matrici, quindi array, stringhe etc
Ti posso assicurare che per compiere molte operazioni che in C equivarrebbero a decine e decine di righe di codice, le puoi fare in matlab con estrema semplicità. Ovviamente tutto a discapito della velocità. Diciamo che gli AG, sono sempre molto simili, una volta implementati il crossover, mutazione e qualche altra cosetta, la cosa complicata è creare la fitness,ossia trovare quella soluzione ad un problema. dovrei avere qualche link che ti può servire.
Fammi sapere :)

wicasa
05-11-2004, 15:07
dai cipi non fare il tirchio...:sborone:...fai dell'OpenSource la tua bandiera!! :vicini:
:yeah:

cipi
05-11-2004, 15:14
Originariamente inviato da wicasa
dai cipi non fare il tirchio...:sborone:...fai dell'OpenSource la tua bandiera!! :vicini:
:yeah:

Come no... E poi mi ritroverei con una bella bandiera infilata nel http://www.spammers.it/sbef/5.gif !!!
:D