Cecil, (01)
I agree with the following: (02)
CL> There is no perfect ONE language, including Prolog, to approach
> most real world, real time reasoning. In our experience, the best
> performance and logic come from assembling a suite of tools that
> can work together in an orchestrated services platform. There are
> some problems I want to address using DL or regression analysis,
> others with classification and still others with backward chaining.
> Some tools are better for each of these and I think the best systems
> use them in concert. (03)
In our work at VivoMind we use several different programming languages,
several different knowledge representation languages, and a wide
variety of tools. Following are the implementation languages: (04)
1. Java -- for graphics and for integration with tools that are
based on Java. (05)
2. Prolog -- for sophisticated AI programming, for rule-based
reasoning where appropriate, and for processing languages
such as RDF and OWL. We use a version that is compiled to
C for maximum performance or to Java bytecodes for better
integration with Java. (06)
3. C -- for low-level system code and for maximum performance
on critical components that are rarely modified. (07)
4. Haskell -- a functional language with an efficient compiler,
which we have recently started to use as a replacement for C++
(which is notorious for bloatware and memory leaks). (08)
5. Mathematica -- a very high-level language for writing and
testing mathematical algorithms before coding them in a
compiled language, such as Haskell. (The original version
of Mathematica was built on top of Prolog. The current
version uses their own home-grown extension to Prolog.) (09)
For knowledge representation, we use several languages: (010)
1. Common Logic, especially the conceptual graph dialect, which
we use very heavily for processing natural languages and as
an intermediate language for mapping controlled English to
and from other notations. (011)
2. Common Logic Controlled English (CLCE) as a highly readable,
self-documenting language for writing ontologies, scenarios,
and specifications that can be automatically translated to
Common Logic, Prolog, and other notations. (012)
3. Special notations for various tools. (013)
All of our software is based on interactions among multiple agents.
The basic platform is called the Flexible Modular Framework (FMF),
which was described in the following article: (014)
http://www.jfsowa.com/pubs/arch.htm
Architectures for Intelligent Systems (015)
That article was published in 2002, and our current versions
go quite a bit further, but they're built on similar ideas.
Following is a more recent article about our software: (016)
http://www.jfsowa.com/pubs/paradigm.pdf
Two paradigms are better than one and
multiple paradigms are even better. (017)
John (018)
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx (019)
|