John and Ed,
Re the blackboard with lotsa agents reading and writing,
how do you handle lock and deadlock issues? If you only let one agent perform
a complete activity at one time, that would avoid both lock and deadlock, but
would waste the opportunity to use many cpus in the process.
There are classical ways to design threads so that they
are thread-safe, as I am sure you know, but it would seem to require more depth
than just that thread analysis method to really use a buncha cpus and cores and
software functions which will be required for effective AI programs.
Sincerely,
Rich
Cooper,
Rich Cooper,
Chief Technology Officer,
MetaSemantics Corporation
MetaSemantics AT EnglishLogicKernel DOT com
( 9 4 9 ) 5 2 5-5 7 1 2
http://www.EnglishLogicKernel.com
-----Original Message-----
From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx
[mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx] On Behalf Of John F Sowa
Sent: Wednesday, May 27, 2015 9:10 AM
To: ontolog-forum@xxxxxxxxxxxxxxxx
Subject: Re: [ontolog-forum] Architecture of Intelligent Systems - Flexible
Modular Framework
Rich and Ed,
Three points:
1. I agree with Ed on the practical issues of
collaboration.
2. The Flexible Modular Framework (FMF) is a very
lightweight
and efficient mechanism. After I wrote that
article,
Arun Majumdar implemented the first version in 2
weeks, and
later versions have formed the backbone of VivoMind
software
for over a dozen years.
3. I'd like to mention a famous collaboration of three
very
independent and creative individuals.
Re #3: In the 1930s, Kurt Gödel and Alonzo Church were
at the Princeton IAS, and Alan Turing went to Princeton U. where he wrote his
famous PhD thesis with Church as his adviser. Each of them had developed a
universal paradigm for computing: Gödel used recursive functions, Church
invented the lambda calculus, and Turing combined finite-state automata with an
infinite tape.
They worked independently, but they challenged one
another with examples of what each of their methods could compute: "Here's
what my system can do. Can yours do the same?" As a result, they agreed
that the three systems (and many other variations) are equivalent in
computational power.
Their work in the 1930s became the foundation for
computer science.
It stimulated Turing (and another guy at IAS named von
Neumann) to invent modern digital computers.
That kind of constructive criticism and collaboration is
the foundation for progress in science and engineering. By contrast, the
constant bickering about symbolic vs connectionist vs conceptual vs statistical
is *advertising hype* in competing for grants. It leads to silos, stovepipes,
and stagnation.
Re #2: As I said, the foundation is *lightweight*. It
was stimulated by McCarthy's Elephant 2000 and Minsky's Society of Mind, but
the implementation is based on three widely used technologies:
1. Blackboards, which have been used in AI systems long
before the
the name 'blackboard' was coined. In fact, *every*
bottom-up
parser, forward-chaining theorem prover, and
event-driven OS
uses the equivalent of a blackboard.
2. Gelenter's Linda system, which has been used to
support high-speed
message passing for event triggering among multiple
independent
processors (or agents or modules).
3. Direct addressing for message passing. The
associative indexing
for blackboards is very flexible when you don't know
which agent
(or module) can handle the task. But after one
agent makes an
initial contact with another agent, they can send
messages directly.
Note the message format, p. 14 of http://www.jfsowa.com
/pubs/arch.pdf .
It allows arbitrary languages, which can be as complex as
English, or as simple as a single bit. Most messages are simple. Also not the
character strong for 'speech act'. Most speech acts are
also simple,
such as tell (update), ask (query), or do (execute). But
they can also lead to complex transactions.
And by the way, the arch.pdf article was published in a
special AI issue of the _IBM Systems Journal_. That same issue had an article
on "An architecture of diversity for commonsense reasoning" by ten
co-authors, starting with McCarthy, Minsky, Sloman:
http://www.jfsowa.com/ikl/McCarthy02.pdf
I had not seen that article before I submitted mine. If
I had, I would have pointed out that the architectures in Figs 1, 2, 3, and 4
of that article (and many, many more) could have been implemented very quickly
by putting together a collection of FMF agents.
In fact, the various VivoMind applications use different
architectures which are assembled by putting together previously written
modules (or adding new ones). In fact, the modules can reorganize themselves
and create (AKA 'learn' or 'discover') new ways of interacting. That's the
point of http://www.jfsowa.com/pubs/paradigm.pdf
By the way, the FMF is, in effect, a distributed
operating system.
We use modules written in Java, Prolog, C, and other
languages.
The software is very easy to port from Linux, to Windows,
to Apple OS.
And it can communicate with agents in other FMF systems
anywhere on the WWW -- there may be a delay, but the message passing is
independent of the location.
John
_________________________________________________________________
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