|Perl: the Markov chain saw|
Re: How good is Perl for AI?by stefan k (Curate)
|on Nov 06, 2001 at 21:26 UTC||Need Help??|
strange thing to happen: I'm just reading this very PM posting when I am very unhappy with my current AI project on the other desktop and hit the reload buttons to calm my mind....
Well, the last time I started a new project (for my PhD) I chose ruby. Until today I felt quite content with it. Many of the things I wanted to do were implemented quite fast and in a way it's almost as much fun coding in ruby as it is coding in perl.
Today, though, I set some internal variables of my machine to real values (like setting the size of a population from 3 for testing purposes to 100 to start something like a real world problem) and BOOM it crashes on my head segfaulting at various places throughout the programm (depending on the settings of my variables).
Consulting the comp.lang.ruby newsgroup produced a similar backtrace to mine but no real solution. I'm now hoping for an email of a poster on that group.
Why I'm telling all this crap? Well, first off just to get it off my brain (thank you for listening - it already feels a bit better now :-). The second point is that perl has got a huge code base plus an almost as huge coder base plus the PerlMonks community to call for help, perl has a long history in which it was used in many projects of different sizes (thus it is probable that it works with lots of data just as it does with small amounts) plus there are already a few AI modules available.
Taking into account that many AI problems have been adressed with C (or C++) it should be possible to do just that in perl. I once taught a pupil some first steps in programming (she didn't know anything!) and because we had just a week or so I chose perl. At the end we wrote hello_world as a small and simple genetic algorithm. The next week I released the module to PM. That was AI (GA), it was easy and it worked. I think it should be possible to do other things in perl, too.
As a matter of fact just today I regret having started ruby the other day (but that may change tomorrow when I maybe get a solution, who knows?)
Uh, and you got eval for GP *grin*