Russell Wallace wrote:
On 3/13/07, *J. Storrs Hall, PhD.* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
But the bottom line problem for using FOPC (or whatever) to
represent the
world is not that it's computationally incapable of it -- it's Turing
complete, after all -- but that it's seductively easy to write
propositions
with symbols that are English words and fool yourself into
thinking you've
accomplished representation.
Yeah. Basically when I advocate logical representation, I'm assuming
everyone on this list is past that pitfall at least. If I were writing
an introductory textbook on AI, I'd dwell at length on it.
A real working logic-based system that did what
it needed to would consist mostly of predicates like
fmult(num(characteristic(Sign1,Bit11,Bit12,...),mantissa(Bitm11,Bitm12,...)),
num(characteristic(Sign2,Bit21,Bit22,...),mantissa(Bitm21,Bitm22,...)),
num(characteristic(Sign3,Bit31,Bit32,...),mantissa(Bitm31,Bitm32,...)))
:- ... .
And it would wind up doing what my scheme would, e.g. projecting the
n-dimensional trajectory of the chipmunk's gait and the leaf's
flutter into a
reduced space, doing a Fourier transform on them, and noting that
there was a
region in frequency space where the clusters induced by the two
phenomena
overlapped.
Dunno about "mostly" but yes, large chunks of it would consist of just
that. So be it. We need a standard representation format. No format is
going to be readable in all cases. Logic is about as good as we'll get
for readability across a wide range of cases.
(And let me emphasize yet again that I am NOT thereby advocating that
we write the whole shebang in Prolog, or
Perhaps it would be best to have, say, four different formats for
different classes of problems (with the understanding that most problems
are mixed). E.g., some classes of problems are best represented via a
priority queue, others via a tree that can be alpha-beta pruned, etc.
For internal processing images might be best implemented via some
derivative of SVG, though the external representations a plausibly bit
maps. Etc.
In this case logical predicates would be great for describing relations
between the various processes (e.g., if you see three lines, and each
intersects with both of the others, then you will have a triangle.), but
not so great for describing the primitives. The SVGish images can be
converted into bit-maps by known procedures, but logic is a very slow
and cumbersome approach to this.
Similarly, if you have several tasks to achieve, a priority queue is
more efficient than logic, though logic can certainly handle the job.
You can, if you like, think of the non-logical methods as "compiled
versions" of what the logical description would have been, and this
would be technically correct, since a computer is basically a logic
engine, but that's not a particularly useful way to chunk the problem.
Also, I note that I'm presuming that the elementary AI has numerous
"high level" chunks "built-in". I feel this will be necessary as a
starting point, though I doubt that they need to remain opaque as the AI
increases its capabilities. If you build in a "topological sort"
function, this will be useful in learning before the AI knows what a
topological sort is. It needn't remain opaque, however. If you label
it as "topological sort" in an AI viewable comment, this will facilitate
the AI discovering just how it thinks (and possibly debugging the code),
but such introspection shouldn't be necessary to reach to starting line.
-----
This list is sponsored by AGIRI: http://www.agiri.org/email
To unsubscribe or change your options, please go to:
http://v2.listbox.com/member/?list_id=303