Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need method to randomly sample SimpleCombination #6

Open
dpaukov opened this issue Oct 8, 2014 · 2 comments
Open

Need method to randomly sample SimpleCombination #6

dpaukov opened this issue Oct 8, 2014 · 2 comments

Comments

@dpaukov
Copy link
Owner

dpaukov commented Oct 8, 2014

From PeterVermont on December 21, 2012 18:00:55

I would email but don't know your email address.

I am the main developer for MDR - Multifactor Dimensionality Reduction which is a fairly simple classifier used in bioinformatics. See http://sourceforge.net/projects/mdr/ Normally, users do an exhaustive search over attribute combinations but we also have a random timed mode. Currently I make no effort from to prevent the random from testing the same combination more than once. I would like a tool that would allow me to get combinations without replacement. The issue is that it must be extremely efficient and fast -- it is not worthwhile to just maintain a list of tested combinations. It would be okay and perhaps even preferable if the progression were 'psuedo-random' in such a way that all attributes were tested fairly equally.

Another related, but harder problem, is using evolutionary algorithms to test combinations. I have found that this tends to test the same combinations many many times, since I already use elitism so I don't lose track of winners, this is a big waste of processing time. If I had a good way to know what has been sampled previously I could prevent waste -- this would also act as a form of 'novelty' seeking which has been shown in some evolutionary algorithm contexts to be helpful.

Thanks,

Peter Andrews
Norich, Vermont USA

Original issue: http://code.google.com/p/combinatoricslib/issues/detail?id=6

@dpaukov
Copy link
Owner Author

dpaukov commented Oct 8, 2014

From [email protected] on January 31, 2013 05:49:24

Labels: -Type-Defect Type-Enhancement

@dpaukov
Copy link
Owner Author

dpaukov commented Oct 8, 2014

From [email protected] on March 14, 2014 09:39:44

You can randomly select which results from the Generator to return. The Generator is an Iterable, so you could wrap it and return a RandomIterator which randomly returns results from the underlying Iterator. Get as fancy as you want in the RandomIterator.

The weakness here is that you are still dependent upon the underlying sequence of the Generator, which is not necessarily random between runs. The early results are more probable than the later results.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant