Loading ...
Sorry, an error occurred while loading the content.

Re: [aima-talk] Beginner

Expand Messages
  • Peter Norvig
    Prolog does provide a straightforward way to do logical inference -- if you re satisfied with the depth-first search approach, and with the incomplete
    Message 1 of 5 , Feb 7, 2002
    • 0 Attachment
      Prolog does provide a straightforward way to do logical inference -- if
      you're satisfied with the depth-first search approach, and with the
      incomplete treatment of negation. For some applications this works fine,
      but for most applications what really helps is not the built-in approach,
      but Prolog's support for building the interpreter/compiler you really want
      for your problem. Lisp also offers similar support, so that is why Lisp is
      often just as good, even though Lisp has no built-in support for inference.

      Another thing that Lisp and Prolog provide is an easily-customizable reader
      for parsing your logical expressions. With C++ you have to use YACC or some
      other parser-generator, or build your own parser.

      -Peter


      ----- Original Message -----
      From: "BRANDON C CORFMAN" <bcorfman@...>
      To: <aima-talk@yahoogroups.com>
      Sent: Thursday, February 07, 2002 5:02 AM
      Subject: Re: [aima-talk] Beginner


      > I know straightforward search algorithms can be implemented in C++. But
      > most chapters of the AIMA book deal with first order logic. Are there
      > frameworks to implement first-order logic in C++? I think C++ would
      > require a lot of base functionality before it would become as practical
      > as Prolog for first-order logic.
      >
      > Thanks,
      > Brandon
      >
      >
      > Peter Norvig wrote:
      >
      > >Traditionally (1970s to early 1990s), Lisp and Prolog have been popular
      > >languages for AI, and C has not. The main reason is that Lisp and Prolog
      are
      > >more flexible -- they allow you to delay making certain implementation
      > >decisions until run time -- and they are better for exploratory program
      > >development -- they are interactive, and make it easier to learn what you
      > >really want to program by interactive experimentation. C is less
      flexible,
      > >and is designed for cases when you have a specification of your eventual
      > >program before you start.
      > >
      > >Today, C++ offers many of the advantages of Lisp and Prolog through the
      > >Standard Template Library. It is still less flexible, but it is easier
      to
      > >interface with other code, and it gives finer control of memory and other
      > >machine resources in the few cases where that really matters. So today a
      > >fair amount of AI is done in C++. Other languages like Java, Perl, and
      > >Python are also used.
      > >
      > >-Peter
      > >
      > >----- Original Message -----
      > >From: "ivofilho" <ivofilho@...>
      > >To: <aima-talk@yahoogroups.com>
      > >Sent: Wednesday, February 06, 2002 7:44 AM
      > >Subject: [aima-talk] Beginner
      > >
      > >
      > >>Hello... I am starting my course on eletrical engeneering.. I have
      > >>some knowledge about computer programming and eletronics. So, now I
      > >>am starting building my knowlegde on artificial intellingence.
      > >>
      > >>I have a question now: why c language isn`t good enough for ai? why
      > >>prolog is better?
      > >>
      > >
      > >
      > >
      > >
      > >To unsubscribe from this group, send an email to:
      > >aima-talk-unsubscribe@yahoogroups.com
      > >
      > >
      > >
      > >Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
      > >
      > >
      >
      >
      >
      >
      > To unsubscribe from this group, send an email to:
      > aima-talk-unsubscribe@yahoogroups.com
      >
      >
      >
      > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
      >
      >
    Your message has been successfully submitted and would be delivered to recipients shortly.