A Language for Knowledge and Action

Back in 1993 Michael
Gelfond and Vladimir
Lifschitz published their first paper
(PS format) describing the Action Description Language known as "A". The
language provided a high-level representation of actions and transitions
between action states. The goal was to provide temporal reasoning to
computers, allowing them to reason about the past or future using classical
logic. Now
three AI researchers, Jorge Lobo,
Gisela
Mendez, and Stuart R. Taylor of Raytheon, have published a paper
titled, Knowledge and the
Action Description Language A (PDF format) describing an extension
to A that allows actions which affect knowledge. Their extensions
provide "sensing actions to increase an agents knowledge and
non-deterministic actions to remove knowledge". Also supported are
hypothetical reasoning and translation of A domain descriptions into
epistemic logic programs. With the extensions, A could be interesting
for robotics applications.

As a software engineer I spend my time authoring in deferent languages
for different tasks; each programming language has strong points and
weak points, however, all in all when it comes down to it they all do
the exact same thing; although some do it more efficiently than others;
some are better at working with GUI, others are better suited to
working with low level functions like hardware drivers, others are
better for working with databases or text parsing; in the end, we are
left with line after line of processor specific assembly instructions
that manipulate electrons within the CPU and relate peripherals.

Over the course of many years I have experimented with various
languages that where suppose to be the hottest thing with respect to
AI, like Prolog or Lisp; once again, when it comes right down to it,
none of these languages brought us any closer to achieving any thing
resembling AI, they merely gave us another way at looking at certain
problems and different was of linking data structures.

It is my opinion; the unique problem of eAI†will not be solved by some
new super spiffy programming language; that‛TM]s putting the cart before
the horse, as we have absolutely no understanding of what makes up
intelligence in the first place. The secretes of AI will most likely
be discovered by someone working in the field of genetics or behavioral
science that learned to program in VB or what ever the enon-
programmers†programming language is at the time thus enabling said
scientist to test and verify the resulting theoretical algorithms.

This will most likely be a core set of functions derived from these
newly discovered algorithms that rarely or never change along with some
type of polymorphic script generation that is capable of authoring new
code or altering existing code and data structures. If this holds
true, then it really doesn‛TM]t matter what programming language we used,
consequently the commercially available AI applications will be
authored in C or whatever the popular programming language stuffed down
the gullet of the aspiring software engineers by academia is at the
time.

I doubt that reasoning in humans or animals has much to do with these
sorts of formal logic languages. In the article it's claimed that
extensions to the language A can represent non-deterministic outcomes,
but on closer inspection this doesn't seem to be true. To represent
probablistic causal relations I think you need more than just a "may
affect" function. When you're dealing with real world events things are
rarely known with absolute certainty, and even things like object
recognition are based upon probabilities.

Why does everyone get so caught up with "silicon" based advances in AI?
The vast majority of human advancements have not come from brilliant
quantum leaps in thinking, like Einstein's relativity, but by noticing
what nature does and duplicating it.

We already have successful experiments hooking up live biological neural
tissue to gold-plated electrodes that connect to machines. Wouldn't the
next huge advancement come when we learn to hook up a small mammalian
brain to a robot and simply allow it (the brain) to perform the needed
AI tasks, whether on-board or remotely?

It seems that A uses classical logic. That is, a
representation system where the orthogonality operator is trivial (like
classical physics) - i.e. every state is orthogonal to every other -
hence all states are distinguishable.

That is simply a poor choice for cognitive representations (for the
same reason that classical physics cannot represent quantum mechanical
states).
Only state spaces that have a projection-like orthogonality operator can
describe quantum mechanics and I'd wager that only spaces with a
non-trivial orthogonality operator of some kind will be adequate for
representations necessary for cognition of any significance.

Classical logic assumes that P(a|b) = P(a&b)/P(b) [Bayes' axiom] -
which leads to a contradiction in all cases except where orthogonality
is trivial (i.e. classical systems).