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.
----- Original Message -----
From: "BRANDON C CORFMAN" <bcorfman@...>
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.
> 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
> >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
> >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
> >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.
> >----- Original Message -----
> >From: "ivofilho" <ivofilho@...>
> >To: <firstname.lastname@example.org>
> >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:
> >Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
> To unsubscribe from this group, send an email to:
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/