> I did not know you were a mathematician =) Yup, trained in theory. This computer stuff is just applied math, With not as much math as I'd like most days, but the pay is better. :-)
(I wasn't even the only Boston.PM member at the NES MAA section meeting last weekend. http://www.southernct.edu/organizations/nesmaa/fall2005meeting.html ) > On The terminology point you mentioned, I must squarely place the blame > of the choice of words on the way Discrete Math is taught these days. > Standard texts refer to Permutation, Combination, Permutation with > Repetition, and Combination with Repetition. Ahh. I guess Google Books hasn't gotten to those texts yet. I didn't take a close look at those texts the last time the Math conference had textbook vendors. I hope Don Knuth's "Concrete Math" book hasn't taken that linguistic shortcut ... but perhaps that's the brave bold future. *sigh* > If you have any hope of rectifying the issue, I recommend you look at > the relevant wikipedia page and submit corrections. The module author has invited me to send him a diff file to update the pod. I'll probably do that from home on my own time. I submitted comment to MathWorld comment page (it's not a Wiki per se, it's managed content). > at hand - the module. In my explorations of it, I have found that it > leves a bit to be desired in terms of performance -- generating the 65k > striungs possible in the (a b c d) alphabeth takes 10 minutes, That's not much better than my naive <HUMOR> generate-filter! > I do not want to add frequency information, every symbol is equally > likely for me, In which case the module's implementation has a *lot* of overhead you don't need. If the module generates the whole set and that gives it out on the "next" options, it's a poor iterator implementation. > and I would like to code up this in a way that (a) is > thread friendly, Issues there ... see below > and (b), more importantly, is memory efficient, which > the module is not. Since you say this, you do need a LIST of all the options, so a pure iterator would do? The optimal solution is probably in MJD's Higher Order Perl, available at Barnes & Noble, Quantum, Borders -- and (is or will be?) online for free-as-in-beer. (And cut-and-paste!) http://hop.perl.plover.com/ (Just don't buy it from Amazon, that would be an insult to the author ... see his website to understand.) Be careful on making the iterator thread-safe ... but an iterator should be easier to make thread safe than a memory hog, as long as you do the critical section right. http://perldoc.perl.org/perlthrtut.html Alas, MJD's book only uses the word "threaded" once, in a non-technical sense. > I need to figure out a way to do it w/o using great amounts of ram, HOP. You want an iterator. He has iterators for general functions and he has functions for permutations, probably has iterators for permutations. http://hop.perl.plover.com/grep.cgi?q=permutation http://hop.perl.plover.com/Examples/ Scroll or search for permut > what would a "Combination with > Repetition" be called MathWorld.Wolfram.com "Ball Picking" page says it's MultiChoose. So I guess that's it's ugly name. Happy Thanksgiving, Bill aka n1vux on use.perl.org ... _______________________________________________ Boston-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/boston-pm

