Re: Just starting out.. newbie help :)
[email protected] (John Porter)
| Newsgroups | perl.ai |
|---|---|
| Message-ID | <[email protected]> |
Gustaf Bjorksten wrote: > I think y'all missing the point. The original premise that "perl is not > fast enough _for_AI_" is incorrect IMHO. This is not about raw execution > speed! Perl is ace for modelling sh!t and definately has a place in my > AI hacking toolkit. I don't give a damn if it aint the bleedingest > lightningest-fast thing on two bits Unfortunately, most AI-related algorithms are computationally intense; execution speed *does* end up being critical. For example, I tried using perl to do some genetic algorithms stuff: > On Sun, 31 Dec 2000 12:46:00 -0500, > in <[email protected]> > John Porter wrote: > > I'd like to say a little something from my own experience with doing > > GA/GP in Perl: Don't. That is, unless you're just doing it for fun, > > to see how it might look if written in Perl. If you're expecting to > > evolve (:-) a useful, production-quality system, think hard about > > your performance requirements. To do a GA/GP system really requires > > OO, I think, and OO in perl is bloody slow. I wrote a little > > OO-based GP testbed, with a total class hierarchy size of less than > > a dozen classes, and it was still a good two orders of magnitude > > slower than the full-blown Java-based system I've been using, ECJ, > > which contains like hundreds of classes. And that's Java. There > > are C++-based systems which are undoubtedly even faster. As you > > know, if you've done any GA/GP research, performce is critical > > because you'd like to run large populations for many generations, > > and in GP particularly, the time to evaluate an individual grows > > like exponentially in the number of generations, unless you have > > some kind of advanced aggressive size control. Undoubtedly some of you are going to argue that my "mistake" was using OO in perl. But as I said, "To do a GA/GP system really requires OO", and I stand firmly by that remark. -- John Porter