accord-net / framework

Machine learning, computer vision, statistics and general scientific computing for .NET
http://accord-framework.net
GNU Lesser General Public License v2.1
4.49k stars 1.99k forks source link

Create an Tutorial for using the Accord.Genetic namespace #423

Open danrayson opened 7 years ago

danrayson commented 7 years ago

I don't believe that this namespace should even be in the release, it's broken and unusable. Just frustrating. A tutorial may convince me otherwise, but for now, this namespace should be moved into a holding branch and taken out of the release version.

cesarsouza commented 7 years ago

Hi Danrayson,

The Genetics namespace was inherited from the AForge.NET Framework project (the Accord.NET Framework merged with AForge.NET about a year ago) and almost no modification has been done to this namespace ever since.

Can you please describe a bit more why you came to the conclusion that the namespace is broken and unusable? I would be glad to work on it, but I just need some concrete examples where the code fails to meet the expected behavior. If you could please describe what you tried, what you expected the code to do, and what it gave as a result, I could use it as a starting point to investigate what is going on.

And thanks a lot for opening the issue, I hope it can get resolved soon.

Regards, Cesar

danrayson commented 7 years ago

Hi Cesar,

Great to see that things get followed up at Accord! I'll put together something properly over the coming days, and I'd be honoured to help improve the software.

I think it'll require that I specify exactly what's expected against what is available, and that could take some time with how complicated it all is haha.

I'll be in touch!

Cheers,

Dan.


From: César Souza notifications@github.com Sent: 14 February 2017 23:25 To: accord-net/framework Cc: danrayson; Author Subject: Re: [accord-net/framework] Create an Tutorial for using the Accord.Genetic namespace (#423)

Hi Danrayson,

The Genetics namespace was inherited from the AForge.NET Framework project (the Accord.NET Framework merged with AForge.NET about a year ago) and almost no modification has been done to this namespace ever since.

Can you please describe a bit more why you came to the conclusion that the namespace is broken and unusable? I would be glad to work on it, but I just need some concrete examples where the code fails to meet the expected behavior. If you could please describe what you tried, what you expected the code to do, and what it gave as a result, I could use it as a starting point to investigate what is going on.

And thanks a lot for opening the issue, I hope it can get resolved soon.

Regards, Cesar

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/accord-net/framework/issues/423#issuecomment-279869327, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AEfMMqtnKu7mvA4v_yuQQCtFePkIAW-eks5rcjfTgaJpZM4MBAWX.

danrayson commented 7 years ago

OK so I've had a proper look...

It's a little awkward to explain in text, and I'm an avid believer in "a picture tells a thousand words." So, I've attached an example project (<-link) which lays out pretty much what's missing. It's by no means a working application, it's just there as an example of what's missing from Accord.Genetics currently.

(btw, I used a Visual Studio .csproj, and apologies for the "free file hosting", this form doesn't allow ZIP files, even though it says it does...)

There are Summaries on each of the properties in the classes/interfaces which describe what they are supposed to do. The main missing ones are in the IChromosome interface, which is missing the To and From Phenotype Convert methods.

Having said that;

The goal of my project is to be able to very quickly set up the evolution of anything at all based on three things which the developer would have to implement themselves;

And some of the shortfalls of the Accord.Genetics namespace are as follows;

Finally, if there's anything I can do to implement any of these changes for you guys, I'd be happy to work on it over the weekends. I'm not sure how you folks approach that kind of thing, I'm completely new to OpenSource dev...

cesarsouza commented 7 years ago

Hi Dan,

The best way to contribute to the project is the way you would more comfortable with. As a maintainer I cannot really afford to ignore the efforts of people who really want to contribute to the project but haven't found the ideal way of doing so.

However, if you are up to suggestions, the best way would be to create a fork of the project in your own GitHub account, do your modifications, and then send them as a pull request in the project issue tracker.

If you cannot manage to build the entire project yourself (as you might be more interested in improving the Genetics namespace than anything else), you can also feel free to disable projects what are not loading/building for you and I can take care of the merge afterwards.

Thus said, some of the suggestions you gave are very pertinent, and I am sure they could be solved incrementally, i.e. without the need of tossing everything away and starting from scratch. Regarding the lack of samples, I recognize the .Genetics namespace has not been the main focus of my attention lately. Most of the examples come in the form of sample applications and there haven't been many released for genetic algorithms.

If you would like to send pull requests, or maybe just point me out to your branch where you have done your improvements, I would be glad to merge them and, of course, include your authorship and copyright information on any files you contribute!

Best regards, Cesar

cesarsouza commented 7 years ago

Hi @danrayson,

Have you managed to fork the project? Are you still interested in working on this issue?

Regards, Cesar