From jeedward at yahoo.com Wed Apr 1 05:20:30 2009 From: jeedward at yahoo.com (Ed) Date: Wed, 1 Apr 2009 02:20:30 -0700 (PDT) Subject: [galib] IICAI-09 Call for papers Message-ID: <839331.58347.qm@web45914.mail.sp1.yahoo.com> IICAI-09 Call for papers ? The 4th Indian International Conference on Artificial Intelligence (IICAI-09) will be held in Tumkur (near Bangalore), India during December 16-18 2009. The conference consists of paper presentations, special workshops, sessions, invited talks and local tours, etc.? We invite draft paper submissions. Please see the website: http://www.iiconference.org ??for more details of the conference. ? Sincerely ? ? Ed Publicity Committee ? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.mit.edu/pipermail/galib/attachments/20090401/8fdf2f5a/attachment.htm From michele.conconi at unibo.it Wed Apr 8 12:32:53 2009 From: michele.conconi at unibo.it (Michele Conconi) Date: Wed, 08 Apr 2009 18:32:53 +0200 Subject: [galib] How to delete a genome Message-ID: <49DCD1B5.3020605@unibo.it> Hi everybody. I have a probably very stupid question. In my program I need to launch sequentially many GA, so I would like to delete my old genome and ga to free some memory. for example I use ... GABin2DecGenome genome(map, Objective, (MyObject *) Object); GASimpleGA ga(genome); ... and I tried to delete them by writing ... genome.~GABin2DecGenome(); ga.~GASimpleGA(); ... Anyway, my program always breaks down telling me "Unhandled exception at 0x004040f5 in MyProgram.exe: 0xC0000005: Access violation reading location 0xdddddddd." referring to this line (L 123) of gabin2decgenome.h: virtual ~GABin2DecGenome(){delete ptype;} Also, I tried to use these expression delete genome; delete ga; In many different form, but It does not allow me to compile my program. What did I wrong? Thanks in advance Michele -- * Eng. Michele Conconi* Ph.D. student DIEM - Dept. of Mechanical Engineering Alma Mater Studiorum - University of Bologna Viale Risorgimento 2, 40136, Bologna, Italy Email: michele.conconi at unibo.it Website: http://www.diem.ing.unibo.it/grab Office: (+39) 051 20 93451 Mobile: (+39) 329 0287996 * INFORMAZIONE RISERVATA E CONFIDENZIALE * Questo messaggio contiene informazioni riservate e confidenziali. Se il lettore non fosse il destinatario del messaggio, inoltrato e ricevuto per errore, il testo dovr? essere immediatamente cancellato dal computer del ricevente. E' assolutamente proibita qualunque circolazione, disseminazione o copia del messaggio spedito e/o ricevuto per errore. * CONFIDENTIALITY and WARNING NOTICE * This message may contain legally privileged or confidential information. If the reader is not the intended recipient, you received this message in error and it should therefore be deleted from your computer at once. Any dissemination, distribution and copying of a message mistakenly sent or received is strictly forbidden. From adam at nohejl.name Thu Apr 9 05:30:58 2009 From: adam at nohejl.name (Adam Nohejl) Date: Thu, 9 Apr 2009 11:30:58 +0200 Subject: [galib] How to delete a genome In-Reply-To: <49DCD1B5.3020605@unibo.it> References: <49DCD1B5.3020605@unibo.it> Message-ID: > Hi everybody. > > I have a probably very stupid question. In my program I need to launch > sequentially many GA, so I would like to delete my old genome and ga > to > free some memory. for example I use Hi Michele, I think that your question is related more to C++ than to galib itself. If you are new to C++, read at least something about constructors, destructors and memory management. You can try this: and if you still feel lost, get a general book about C++. > GABin2DecGenome genome(map, Objective, (MyObject *) Object); > GASimpleGA ga(genome); In this case, the destructors are called automatically when the variables go out of scope (i.e. at the end of the block where they were declared). This should also answer your primary question about how to reclaim memory. > genome.~GABin2DecGenome(); > ga.~GASimpleGA(); Never call destructors explicitly (unless you know what you are doing). > Anyway, my program always breaks down telling me > > "Unhandled exception at 0x004040f5 in MyProgram.exe: 0xC0000005: > Access > violation reading location 0xdddddddd." That's probably because the destructor is called twice, once by your explicit call, once automatically at the end of the enclosing block. > Also, I tried to use these expression > > delete genome; > delete ga; 1. Use delete only when you allocate objects using the new oprator. 2. Even better, if you decide for dynamic memory allocation, use smart pointers and avoid the explicit use of delete. (Look for RAII.) I hope this helps, -- Adam From michele.conconi at unibo.it Wed Apr 15 08:52:54 2009 From: michele.conconi at unibo.it (Michele Conconi) Date: Wed, 15 Apr 2009 14:52:54 +0200 Subject: [galib] Custom initializer Message-ID: <49E5D8A6.2070203@unibo.it> Hi everybody. I' trying to define my own initializer for a GARealGenome genome. Basically I can obtain my initial value, but the progran than does not run, giving me many times this error message: GAAlleleSet::allele: this method has not been defined. c:\galib27\ga\GAAllele.C : 219 Here is my code -------------------------------- #include #include #include "GASimpleGA.h" #include "GARealGenome.h" #include "std_stream.h" #define cout STD_COUT float Objective(GAGenome &); void MyInitializer(GAGenome& g); int main(int argc, char **argv) { unsigned int seed = 0; int popsize = 5; int ngen = 10; float pmut = 0.001; float pcross = 0.9; unsigned int n=3; float *target = new float[n]; float min[] = {-5, -5, -5}; float max[] = {5, 10, 15}; unsigned int i; for(i=0; i References: <49E5D8A6.2070203@unibo.it> Message-ID: <49E5DD9A.4090005@unibo.it> Michele Conconi wrote: > Hi everybody. > > I' trying to define my own initializer for a GARealGenome genome. > Basically I can obtain my initial value, but the progran than does not > run, giving me many times this error message: > > GAAlleleSet::allele: > this method has not been defined. > c:\galib27\ga\GAAllele.C : 219 > > Here is my code > -------------------------------- > #include > #include > > #include "GASimpleGA.h" > #include "GARealGenome.h" > #include "std_stream.h" > > #define cout STD_COUT > > float Objective(GAGenome &); > void MyInitializer(GAGenome& g); > > int > main(int argc, char **argv) > { > > unsigned int seed = 0; > > int popsize = 5; > int ngen = 10; > float pmut = 0.001; > float pcross = 0.9; > > unsigned int n=3; > float *target = new float[n]; > float min[] = {-5, -5, -5}; > float max[] = {5, 10, 15}; > unsigned int i; > > for(i=0; i { > target[i] = GARandomFloat(min[i], max[i]); > cout< } > > cout << "\n\n"; > > GARealAlleleSetArray alleles; > alleles.add(min[0],max[0]); > alleles.add(min[1],max[1]); > alleles.add(min[2],max[2]); > > GARealGenome genome(alleles, Objective, (void *)target); > > GASimpleGA ga(genome); > ga.populationSize(popsize); > ga.nGenerations(ngen); > ga.pMutation(pmut); > ga.pCrossover(pcross); > > ga.scoreFilename("bog.dat"); > ga.flushFrequency(50); > > cout< genome.initializer(MyInitializer); > genome.initialize(); > cout< > ga.evolve(seed); > > genome = ga.statistics().bestIndividual(); > cout< > delete [] target; > > return 0; > } > > > float > Objective(GAGenome& g) > { > GARealGenome & genome = (GARealGenome &)g; > float *sequence = (float *)g.userData(); > float value=0; > for(int i=0; i<3; i++) > value += 1.0 / (1.0 + fabs(genome.gene(i) - sequence[i])); > return value; > } > > void > MyInitializer(GAGenome& g) > { > GARealGenome & genome = (GARealGenome &)g; > for(int i=0; i<3; i++) > genome.gene(i,2); > } > --------------------------------------------------------- > > What's the problem? I really do not understand and, still worst, I do > not know how to find more galib example or other information to solve > this problem. I reed the galibdoc.pdf, looking for answere in the > mailinglist, studied the examples. What's the next step to improve my > (poor) ability? Thanks in advance for your help > > Michele > > Ok, stupid me, sorry! Once I wrote the mail. I immediately found the solution. I was really discouraged and depressed, 'couse no result come from my stupid program since 3 days. The problem was i did not icluded the source file #include "GARealGenome.C" I hope that at least my mistake can help other beginners. I definitely learned to read 20 times and one more the documentation. Still, could be helpful to have some more complete example. Sorry Michele -- * Eng. Michele Conconi* Ph.D. student DIEM - Dept. of Mechanical Engineering Alma Mater Studiorum - University of Bologna Viale Risorgimento 2, 40136, Bologna, Italy Email: michele.conconi at unibo.it Website: http://www.diem.ing.unibo.it/grab Office: (+39) 051 20 93451 Mobile: (+39) 329 0287996 * INFORMAZIONE RISERVATA E CONFIDENZIALE * Questo messaggio contiene informazioni riservate e confidenziali. Se il lettore non fosse il destinatario del messaggio, inoltrato e ricevuto per errore, il testo dovr? essere immediatamente cancellato dal computer del ricevente. E' assolutamente proibita qualunque circolazione, disseminazione o copia del messaggio spedito e/o ricevuto per errore. * CONFIDENTIALITY and WARNING NOTICE * This message may contain legally privileged or confidential information. If the reader is not the intended recipient, you received this message in error and it should therefore be deleted from your computer at once. Any dissemination, distribution and copying of a message mistakenly sent or received is strictly forbidden. From jeedward at yahoo.com Sat Apr 18 11:35:53 2009 From: jeedward at yahoo.com (John Edward) Date: Sat, 18 Apr 2009 08:35:53 -0700 (PDT) Subject: [galib] Extended draft paper submission: AIPR-09 call for papers Message-ID: <786700.8471.qm@web45907.mail.sp1.yahoo.com> Extended draft paper submission: AIPR-09 call for papers ? This Extended Call for Papers is for those who didn't get a chance to submit the papers for the earlier call for papers. The papers received and accepted in response to this extended call for papers will be included in the final version of the respective conference proceedings. These proceedings will be either ready by the time of the conference (i.e., they will be available during the conference) or soon after the conference (before the end of August 2009), based how fast the proceedings can be prepared. Note: If you have already submitted a paper (whether accepted or rejected or currently under review) for MULTICONF-09, please DO NOT submit that paper again to this extended call for papers. IMPORTANT DATES: Draft paper submission date: May 11, 2009 Acceptance/rejection decision: May 21, 2009 Camera ready paper and copyright and pre-registration due: May 28, 2009 Conference dates: July 13-16, 2009 ? The 2009 International Conference on Artificial Intelligence and Pattern Recognition (AIPR-09) (website: http://www.PromoteResearch.org) will be held during July 13-16 2009 in Orlando, FL, USA. We invite draft paper submissions. The conference will take place at the same time and venue where several other international conferences are taking place. The other conferences include: ????????? International Conference on Automation, Robotics and Control Systems (ARCS-09) ????????? International Conference on Bioinformatics, Computational Biology, Genomics and Chemoinformatics (BCBGC-09) ????????? International Conference on Enterprise Information Systems and Web Technologies (EISWT-09) ????????? International Conference on High Performance Computing, Networking and Communication Systems (HPCNCS-09) ????????? International Conference on Information Security and Privacy (ISP-09) ????????? International Conference on Recent Advances in Information Technology and Applications (RAITA-09) ????????? International Conference on Software Engineering Theory and Practice (SETP-09) ????????? International Conference on Theory and Applications of Computational Science (TACS-09) ????????? International Conference on Theoretical and Mathematical Foundations of Computer Science (TMFCS-09) ? The website http://www.PromoteResearch.org contains more details. ? Sincerely John Edward Publicity committee -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.mit.edu/pipermail/galib/attachments/20090418/e6df85e0/attachment.htm From jeedward at yahoo.com Wed Apr 22 21:52:07 2009 From: jeedward at yahoo.com (Ed) Date: Wed, 22 Apr 2009 18:52:07 -0700 (PDT) Subject: [galib] IICAI-09 Final Call for papers Message-ID: <139766.67854.qm@web45903.mail.sp1.yahoo.com> IICAI-09 Final Call for papers ? The 4th Indian International Conference on Artificial Intelligence (IICAI-09) will be held in Tumkur (near Bangalore), India during December 16-18 2009. The conference consists of paper presentations, special workshops, sessions, invited talks and local tours, etc.? We invite draft paper submissions. Please see the website: http://www.iiconference.org ??for more details of the conference. ? Sincerely ? ? Ed Publicity Committee -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.mit.edu/pipermail/galib/attachments/20090422/6c101966/attachment.htm From michele.conconi at unibo.it Mon Apr 27 05:49:02 2009 From: michele.conconi at unibo.it (Michele Conconi) Date: Mon, 27 Apr 2009 11:49:02 +0200 Subject: [galib] custom scaling scheme Message-ID: <49F57F8E.80205@unibo.it> Hi everybody. I'm trying to define a distance function to pass to the GAShering scaling method. My code is float MyDistance(const GAGenome & c1, const GAGenome & c2, const GAPopulation & pi){ GARealGenome & a = (GARealGenome &)c1; GARealGenome & b = (GARealGenome &)c2; float den=pi.best().score()-pi.worst().score(); float dist=0; if(den!= 0) { dist=fabs(a.score()-b.score())/den; } else { ... } return dist; } This not works, returning the error message error C2664: 'GASharing::GASharing(GAGenome::Comparator,float,float)' : cannot convert parameter 1 from 'float (__cdecl *)(const GAGenome &,const GAGenome &,const GAPopulation &)' to 'GAGenome::Comparator' Clearly i can not pass GAPopulation as a third argument to the comparator. So, how could pass information about best and worst score in the population to my distance function? Basically I'm trying to do this because, evaluating my objective function for different genome, I obtain very large values which differ not much compared with their magnitude, so that the fitness scores of different genomes are close each other. Could this method represent a solution? Thanks in advance Michele -- * Eng. Michele Conconi* Ph.D. student DIEM - Dept. of Mechanical Engineering Alma Mater Studiorum - University of Bologna Viale Risorgimento 2, 40136, Bologna, Italy Email: michele.conconi at unibo.it Website: http://www.diem.ing.unibo.it/grab Office: (+39) 051 20 93451 Mobile: (+39) 329 0287996 * INFORMAZIONE RISERVATA E CONFIDENZIALE * Questo messaggio contiene informazioni riservate e confidenziali. Se il lettore non fosse il destinatario del messaggio, inoltrato e ricevuto per errore, il testo dovr? essere immediatamente cancellato dal computer del ricevente. E' assolutamente proibita qualunque circolazione, disseminazione o copia del messaggio spedito e/o ricevuto per errore. * CONFIDENTIALITY and WARNING NOTICE * This message may contain legally privileged or confidential information. If the reader is not the intended recipient, you received this message in error and it should therefore be deleted from your computer at once. Any dissemination, distribution and copying of a message mistakenly sent or received is strictly forbidden. From fr.teodoro at gmail.com Mon Apr 27 14:21:23 2009 From: fr.teodoro at gmail.com (=?ISO-8859-1?Q?F=E1bio_Roberto_Teodoro?=) Date: Mon, 27 Apr 2009 15:21:23 -0300 Subject: [galib] custom scaling scheme In-Reply-To: <49F57F8E.80205@unibo.it> References: <49F57F8E.80205@unibo.it> Message-ID: The Genome have a member function that returns the GAGeneticAlgorithm that owns it, and the GAGeneticAlgorithm have a member function that returns the population. References: * GAGenome "GAGeneticAlgorithm * geneticAlgorithm() const" "geneticAlgorithm The member function returns a pointer to the genetic algorithm that 'owns' the genome. If this function returns nil then the genome has no genetic algorithm owner. " * GAGeneticAlgorithm "const GAPopulation & population() const" "population Set/Get the population. Returns a reference to the current population." hth 2009/4/27 Michele Conconi : > Hi everybody. > > I'm trying to define a distance function to pass to the GAShering > scaling method. My code is > > float > MyDistance(const GAGenome & c1, const GAGenome & c2, const GAPopulation > & pi){ > ?GARealGenome & a = (GARealGenome &)c1; > ?GARealGenome & b = (GARealGenome &)c2; > > ?float den=pi.best().score()-pi.worst().score(); > ?float dist=0; > > ?if(den!= 0) > ?{ > ? ? ?dist=fabs(a.score()-b.score())/den; > ?} > ?else > ?{ > ? ? ... > ?} > > ?return dist; > } > > This not works, returning the error message > > error C2664: 'GASharing::GASharing(GAGenome::Comparator,float,float)' : > cannot convert parameter 1 from 'float (__cdecl *)(const GAGenome > &,const GAGenome &,const GAPopulation &)' to 'GAGenome::Comparator' > > Clearly i can not pass GAPopulation as a third argument to the > comparator. So, how could pass information about best and worst score in > the population to my distance function? > > Basically I'm trying to do this because, evaluating my objective > function for different genome, I obtain ?very large values which differ > not much compared with their magnitude, so that the fitness scores of > different genomes are close each other. Could this method represent a > solution? > > Thanks in advance > > Michele > > > -- > * Eng. Michele Conconi* > Ph.D. student > DIEM - Dept. of Mechanical Engineering > Alma Mater Studiorum - University of Bologna > Viale Risorgimento 2, 40136, Bologna, Italy > Email: michele.conconi at unibo.it > Website: http://www.diem.ing.unibo.it/grab > Office: (+39) 051 20 93451 > Mobile: (+39) 329 0287996 > > > > * INFORMAZIONE RISERVATA E CONFIDENZIALE * > Questo messaggio contiene informazioni riservate e confidenziali. > Se il lettore non fosse il destinatario del messaggio, inoltrato e > ricevuto per errore, > il testo dovr? essere immediatamente cancellato dal computer del ricevente. > E' assolutamente proibita qualunque circolazione, disseminazione o > copia del messaggio spedito e/o ricevuto per errore. > > * CONFIDENTIALITY and WARNING NOTICE * > This message may contain legally privileged or confidential information. > If the reader is not the intended recipient, you received this message > in error > and it should therefore be deleted from your computer at once. > Any dissemination, distribution and copying of a message > mistakenly sent or received is strictly forbidden. > _______________________________________________ > galib mailing list > galib at mit.edu > http://mailman.mit.edu/mailman/listinfo/galib > -- F?bio Roberto Teodoro From michele.conconi at unibo.it Tue Apr 28 04:36:31 2009 From: michele.conconi at unibo.it (Michele Conconi) Date: Tue, 28 Apr 2009 10:36:31 +0200 Subject: [galib] custom scaling scheme In-Reply-To: References: <49F57F8E.80205@unibo.it> Message-ID: <49F6C00F.5020200@unibo.it> Thank you very much indeed. It works. Michele -- * Eng. Michele Conconi* Ph.D. student DIEM - Dept. of Mechanical Engineering Alma Mater Studiorum - University of Bologna Viale Risorgimento 2, 40136, Bologna, Italy Email: michele.conconi at unibo.it Website: http://www.diem.ing.unibo.it/grab Office: (+39) 051 20 93451 Mobile: (+39) 329 0287996 * INFORMAZIONE RISERVATA E CONFIDENZIALE * Questo messaggio contiene informazioni riservate e confidenziali. Se il lettore non fosse il destinatario del messaggio, inoltrato e ricevuto per errore, il testo dovr? essere immediatamente cancellato dal computer del ricevente. E' assolutamente proibita qualunque circolazione, disseminazione o copia del messaggio spedito e/o ricevuto per errore. * CONFIDENTIALITY and WARNING NOTICE * This message may contain legally privileged or confidential information. If the reader is not the intended recipient, you received this message in error and it should therefore be deleted from your computer at once. Any dissemination, distribution and copying of a message mistakenly sent or received is strictly forbidden. From gpipc at cup.uni-muenchen.de Tue Apr 28 06:15:37 2009 From: gpipc at cup.uni-muenchen.de (gpipc) Date: Tue, 28 Apr 2009 12:15:37 +0200 Subject: [galib] Comparison galib - Matlab genetic algorithm In-Reply-To: <10ceadf37a56ec68a262ea5c5d69271a@cup.uni-muenchen.de> References: <10ceadf37a56ec68a262ea5c5d69271a@cup.uni-muenchen.de> Message-ID: I have compiled the galib genetic algorithm library together with some code that I wrote in order to run as a mex-file im Matlab. I hope that there is someone who knows enough about both galib and Matlab to give me a hint on how to proceed in the situation things are now. I am now in the following situation: the galib code evaluates chromosomes much faster than the Matlab genetic algorithm ('ga') (I would say at least 10 times faster), but it takes many more fitness function evaluations from galib in order to obtain the same level of optimization that I obtain with the Matlab ga; as a result I have not gained a lot in speed (maybe 30% as fast, maybe twice as fast, but not more). Part of the problem is that it not straightforward to test the settings of the two programs with fitness functions that evaluate more quickly - my impression is that I haven't yet found a simple test fitness function on which I can optimize the settings such that the optimized settings will be also optimal for the fitness function I am actually interested in. I am working on that but on the meantime I look here in the newsgroup for some hints. Does anyone know what are the galib settings which would give as a result an algorithm which is as close as possible as the Matlab ga algorithm? I have found that for my fitness function (with 32 variables) these ga settings start to give some reasonable result ga_options = gaoptimset(ga_options,'PopulationSize', 50); ga_options = gaoptimset(ga_options,'CrossoverFraction', 0.5); ga_options = gaoptimset(ga_options,'generations', 30); In the galib library I have tried both the GASteadyStateGA and the GASimpleGA. I realize that the question is a bit involved and that it will take some work on my part to get things to go well, but I hope to get some hints on which direction to look at. Thanks in advance for any replies. ---------------------------------------- Message sent by Cup Webmail (Roundcube) From fr.teodoro at gmail.com Tue Apr 28 14:13:28 2009 From: fr.teodoro at gmail.com (=?ISO-8859-1?Q?F=E1bio_Roberto_Teodoro?=) Date: Tue, 28 Apr 2009 15:13:28 -0300 Subject: [galib] Comparison galib - Matlab genetic algorithm In-Reply-To: References: <10ceadf37a56ec68a262ea5c5d69271a@cup.uni-muenchen.de> Message-ID: Sorry for the self promotion here, but I usually test several parameter combinations using this IDE: http://sourceforge.net/projects/galib-ide, that I am the author. Its beta (semi alpha) now, but I think its usefull. One default parameter of galib that i noted that give poor results is the RankSelector, almost always I change it to RouletteWheel and get better results. But it may vary according to the caracteristics of the problem, so to use your understanding of the problem and to try several combinations is the best advice, because of this I've recommended the above IDE as I think it ease these trys. Sorry for the bad english and hope this help 2009/4/28 gpipc : > > I have compiled the galib genetic algorithm library together with some code > that I wrote in order to run as a mex-file im Matlab. I hope that there is > someone who knows enough about both galib and Matlab to give me a hint on > how to proceed in the situation things are now. > > I am now in the following situation: the galib code evaluates chromosomes > much faster than the Matlab genetic algorithm ('ga') (I would say at least > 10 times faster), but it takes many more fitness function evaluations from > galib in order to obtain the same level of optimization that I obtain with > the Matlab ga; as a result I have not gained a lot in speed (maybe 30% as > fast, maybe twice as fast, but not more). > > Part of the problem is that it not straightforward to test the settings of > the two programs with fitness functions that evaluate more quickly - my > impression is that I haven't yet found a simple test fitness function on > which I can optimize the settings such that the optimized settings will be > also optimal for the fitness function I am actually interested in. I am > working on that but on the meantime I look here in the newsgroup for some > hints. > > Does anyone know what are the galib settings which would give as a result > an algorithm which is as close as possible as the Matlab ga algorithm? > I have found that for my fitness function (with 32 variables) these ga > settings start to give some reasonable result > > ga_options = gaoptimset(ga_options,'PopulationSize', 50); > ga_options = gaoptimset(ga_options,'CrossoverFraction', 0.5); > ga_options = gaoptimset(ga_options,'generations', 30); > > In the galib library I have tried both the GASteadyStateGA and the > GASimpleGA. I realize that the question is a bit involved and that it will > take some work on my part to get things to go well, but I hope to get some > hints on which direction to look at. > > Thanks in advance for any replies. > > ---------------------------------------- > Message sent by Cup Webmail (Roundcube) > > _______________________________________________ > galib mailing list > galib at mit.edu > http://mailman.mit.edu/mailman/listinfo/galib > -- F?bio Roberto Teodoro From gpipc at cup.uni-muenchen.de Tue Apr 28 16:03:20 2009 From: gpipc at cup.uni-muenchen.de (gpipc) Date: Tue, 28 Apr 2009 22:03:20 +0200 Subject: [galib] Comparison galib - Matlab genetic algorithm In-Reply-To: References: <10ceadf37a56ec68a262ea5c5d69271a@cup.uni-muenchen.de> Message-ID: @Matthew > you have a description of the matlab algorithm(s)? is the C/C++ > code for the matlab implementation available? Thanks for the answer. I apologize if the next few sentences are stuff that you know very well - the Matlab algorithm is written in the Matlab programming language, which is for the most part not too different from the basic C constructs (assignments, mathematical operations, decisions, loops); it has (restricting myself to commenting the basic language constructs) also the possibility to do loops in an implicit way by using a special notation when acting on arrays and also to easily select a subset of an array. So, maybe the foregoing was for you old news: I wanted to say that if for you this Matlab programming language is familiar enough I can try to figure out what are the important parts of the algorithm and send it to you, because I think all of it is provided as source code that is compiled just before execution (if I have understood correctly the compilation part). Please let me know. I must add that I have not yet explored all of the files of the Matlab algorithm, so there could be some parts of the code that are provided as compiled code rather than as source, and in that case unfortunately it would not be possible to get the source. In addition I have found a description of how the algorithm works, that at first sight seems too generic to be able to identify exactly the algorithm - there are some further links that describe more in detail how the mutation and crossover are realized, but for example there is no reference to details such as caching. In any case the link is this: http://www.mathworks.com/access/helpdesk/help/toolbox/gads/index.html?/access/helpdesk/help/toolbox/gads/f6187.html @F?bio Roberto >... I usually test several > parameter combinations using this IDE: > http://sourceforge.net/projects/galib-ide, that I am the author. Its > beta (semi alpha) now, but I think its usefull. > Thanks for the link, I will play a bit with the IDE tomorrow. Giovanni ---------------------------------------- Message sent by Cup Webmail (Roundcube)