When I was in college the professor who taught the AI lab course strongly encouraged us to use languages like awk and perl. It seemed somewhat strange at first (why aren't we using Lisp?) but I'd say that my experience with AI and Perl, more than anything else, really got me into the language. When you're doing AI work, you don't want to worry about the details. Perl lets you forget about most of the details. What's more, languages with powerful text processing facilities allow you to deal with noisy inputs without much hassle. Pattern matching, built in hashes, etc, all make rapid prototyping sublimely easy. Also, you can get a lot of mileage out of online databases such as WordNet in a lot of language-based AI tasks. Perl's net modules come in handy for that.

Of course, certain AI tasks aren't well suited to Perl. The best example I can think of is heuristic search. It's very easy to write a search-based program in Perl, you just spend a lot of time waiting for it to finish. This is mostly a result of Perl's ridiculously slow subroutine calls (I've benched it and even gawk kills perl at sub calls, even without passing args), since most search algorithms do a lot of recursion if you're trying to do something interesting (although you could probably modify some techniques to be iterative, perhaps overcoming this issue).

As to your project, I think it's a great idea. Anything that is designed to interact with people can be really entertaining to work on. As for XML: knowing XML is useful but I'd try to resist looking at Alice's code. You're more likely to come up with a really cool way of doing this if you aren't contaminated with preconceptions about the "right" way to go about it.


In reply to Re: Perl and Artificial Intelligence. by dbp
in thread Perl and Artificial Intelligence. by DigitalKitty

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.