Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.ai.philosophy > #4271

Re: Towards true A.I.

From seeWebInstead@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t)
Newsgroups comp.ai.philosophy, comp.programming
Subject Re: Towards true A.I.
References (1 earlier) <1d202j8607dz7.dgimh8xoxlwo$.dlg@40tude.net> <REM-2012mar27-003@Yahoo.Com> <1jwvj1x0ayc05.ytcz87k1p1x4.dlg@40tude.net> <REM-2012apr17-001@Yahoo.Com> <1qwcrz02cn5hx.1sj169ai6zp0r$.dlg@40tude.net>
Message-ID <REM-2012may30-001@Yahoo.Com> (permalink)
Date 2012-05-30 00:38 -0700

Cross-posted to 2 groups.

Show all headers | View raw


> From: "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
> So far "intelligence" resisted all decomposition attempts.

Yes, the job is nowhere near done, but neurobiologists *have* made
some progress in that direction, using NMR imaging to watch which
parts of the brain are active when performing which kinds of
cognitive tasks. I we can identify which cognitive tasks are
performed by each part of the brain, then we can lump those
same-part skills into a better research program where each group of
researchers concentrates on trying to understand just that small
group of skills instead of trying to do everything at one time.
Thus both the decomposition per se and the detailed studying of
each component looks feasible as this kind of research progresses.

> > Most likely a set of low-level skills plus a set of skills that
> > coordinate the low-level skills. Perhaps a heirarchy that has more
> > than of two bottom-up levels.
> and a huge gap somewhere between these levels, which we have not
> been able to bridge.

Not yet, but someday. In 1800 we did not yet understand how
earthquakes are caused, but now we basically have it figured out
(tektonic plates grinding against each other in various
configurations, and magma pressing+melting+flowing upward toward
the surface). We might likewise make similar progress in
understanding natural intelligence over the next 200 years, and
thus be better able to emulate it in A.I..

> The task AI1 is to build an intelligent system. The task AI2 is
> to build a system capable to determine if AI1 is intelligent.

> My bet is that the task AI2 is likely far more complex than AI1.
> We know this from software engineering, proving correctness,
> testing, debugging, maintenance tasks are more difficult than
> mere solving the end problem.

I side with extreme TDD (Test-Driven Development), whereby you
write one requirement the software must satisfy, then write the
simplest software capable of satisfying, then add another
requirement, then modify the software to satisfy both, then add a
third requirement, then modify the software to satisfy all three,
etc. AI2 (both the specification and the test/validation rig) are
easier than AI1 at each step of adding requirements. If the
requirements include solving "trap door" problems, then it's *much*
easier to write the specification and test rig than to design the
algorithm to solve the problem.

Although it's possible to manually calculate the result from each
input, and simply write a program that compares each input for
exact match against a known input and simply writes out the
corresponding canned answer, a better approach would be to write an
algorithm that really does compute the answers, thus given several
test examples is able to satisfy not just those cases but several
additional cases of the same type not yet presented to it.

Or a specification for a class of input could be given, and a
specification for a way to test whether the algorithm under
construction produces a correct answer, and then it's the job of
the software team to write a minimal program that works with *any*
input within that class to produce output that always passes the
specified test. That would make it impossible for a simple lookup
table to pass validation.

Here's an example of a task and validator, not closely related to
A.I., but something like what I worked on for a while in 1992:
Given a bit-raster, which contains mostly off bits, but some
sequences of on bits that form (curved/bet) lines, what are called
lineaments, parameterize each such linement, i.e. put all the
on-bits within each lineament into a sequence from one end to the
other end. The test rig takes the output from the program under
development, verifies that each list of points is indeed locally
connected, then turns on all the bits in a raster per the
lineaments, and does a bitwize compare between the original and
reconstructed rasters to see whether the lineaments were indeed the
correct ones from the original image. To generate a set of test
data, all we need is a random-walk program that avoids turning too
tightly and avoids closing back to itself. (A more advanced task
would involve multiple lineaments that are allowed to cross each
other and also allowed to form closed loops, whereby the graph must
be cut anywhere two lieaments cross, and closed loops that don't
include any crossing or branching points may be "started" at any
arbitrary point around the loop. An even more advanced task would
also allow lineaments that were more than one pixel wide, varying
in width along the path, which is actually what I worked on in
1992. However I didn't know about TDD back then, so we checked the
results manually/visually rather than writing an automatic test
rig.)

Back to AI: I think we might easily devise test rigs to produce
test data and verify correct output from the AI program under
development. For example, we can specify that there's a table with
an object on it, and the AI program is supposed to use its "eyes"
to locate the object and then use its "arm" to reach out and grab
the object and lift it up and drop it into a hopper. It should be
easy to devise an automated test rig that tosses any of several
objects onto the table, bouncing off walls, ending an a sort of
random final position, and then to verify by pressure sensor when
the object hits the bottom of the hopper. To make the test rig
easiest of all, the bottom of the hopper could be attached to a
high-pressure air hose and explosive-style pump, so that a single
object could be repeatedly tossed onto the table (by the test rig)
and then "fetched" (by the program under development) without human
intervention. Every so often, the test rig could empty the current
obeject from the hopper and replace it with a different object.
Maybe a device similar to a music-CD "carousel" would suffice for
that task.

In summary, there are a whole bunch of AI tasks that are easy to
set up the test conditions and test whether the program does the
task correctly, but not so easy to devise an algorithm to actually
do the task under test. Thus AI2 is much easier than AI1.

> If we cannot solve AI1, we will not do AI2.

I disagree, see previous paragraphs.

> > If that's your claim, then I disagree. As we study various animals,
> > we will discover types of intelligence some of them have which we
> > do not ourselves have.

> Intelligence /= ability.

We might be nitpicking as to the difference between "intelligent"
(ability to solve new kinds of problems) and "smart" (ability to
solve a specific class of problems). In fact most humans aren't
intelligent in the general sense. They can't even solve mathematics
problems except if they are almost exactly of a type they've been
taught how to solve in a class. Very few humans can solve the kinds
of mathematics problems typical of the University of Santa Clara
high-school math contest, or "Elementary Problems" in the American
Mathematical Monthly, or problems typical of the William Lowell
Putnam mathematics competition. At best, most humans are "smart" in
that they can solve algebraic problems and a few limiited kinds of
"word problems" treduce to algebraic problems, and at worst most
humans can't even do elementary algebra to save their lives.

Most humans at best can solve the kinds of problems (math, or
social situations, or economic situations, or political situations,
or housekeeping situations) where they've already been taught the
basics of that kind of situation and at most have to stretch a
teensy bit from what they taught to solve a slightly novel problem,
such as how to prepare a recipe if you're missing one of the
ingrediants, or how to clean a stain on the rug if simple detergent
and scrub-brush isn't sufficient, or how to vote if the polling
place moved, etc. Even learning how to use the next version of
MicroSoft Office can be a daunting task, even a stumper, for many
workers in offices.

For the most part, in both humans and other animals, the limit of
intelligence is being "smart" at what one has already learned by
explicit classroom instruction and/or on-the-job training, plus
being able to self-extend that smartness just a teensy bit further.
If we can build smart computer systems that are able to self-extend
to solve slightly novel problems, I think that will be entirely
sufficient to achieve Artificial run-of-the-mill Intelligence. If
we could make an A.I. device that demonstrated greater intelligence
than 90% of humans, that would be "good enough" for this century.
No need to set our sights too high, to Artificial Genius.

> >> Presumably there may exist things which cannot be understood
> >> directly or indirectly in any way in any time. Is this what you
> >> meant?
> > No, just that present we aren't thinking outside the
> > human-intelligence "box" so we are blind (at present) to other
> > forms of intelligence.
> Other forms in the sense that they don't imply human
> intelligence? In that case they are irrelevant to the task of
> building human AI.

It wasn't until we studied other planets, that we finally had the
ability to truly appreciate how Earth works. Likewise, until we
study other animals, we won't truly appreciate how Human
intelligence works. In A.I. as well as in mathematics and Earth
science, doing the general is more productive than doing the
specific. Understanding the specific comes from understanding some
of the general first. We need to study the specific in more cases
than our target, then generalize, then finally finish our specific
target.

I believe we'll build (non-human) animal models first, then have
enough examples to understand the general pattern across all
animals including human, before we can finally actually get to work
on Artifical true human run-of-the-mill Intelligence.

> > A few years ago I posted an alternate idea, that birds can be
> > trained to collect litter and separate the various materials, which
> > might be faster to develop than an A.I. system.

> Huh. The uncomfortable fact is, that not only birds, just ants
> are far more intelligent than anything we were able to build so
> far. This might be a perception problem or a real one. I hope
> that studies simulating nervous system of insects and whole
> insects (brain + sensors + actuators) will shed some light.

I agree, we're nowhere close to emulating even a single ant,
although specific aspects of an ant such as locomotion are close to
practical use, such as a 6-legged rover for Luna or Mars.

> >> An intelligent system is able to maintain a model of the world in
> >> which things like relevance (as well as many other things) get
> >> defined. Unintelligent systems are bound to a method to measure
> >> relevance. An intelligent system does not need that, it already
> >> knows what is relevant, it is itself a measurement instrument.
> > That remark smells like a circular definition.
> Yes, as well as the Turing test itself, it is not a definition.

The Turing test itself is not a precise specification that could be
implemented in an automated test rig, but it *could* be implemented
by "crowdsourcing", whereby lots of random people on the Internet
are asked to judge whether they are talking with a human or a
computer program, and various humans and computer programs are thus
rated per the score they get.

There are some Web sites such as "Bing" which make pretense that
they answer user's questions, but my experience is that every last
one of them is complete crap, worse than a regular search engine
such as Google because of the pretense that builds up false hope
only to be dashed by the fact that they aren't even as good as
Google.

I have long proposed a simple FAQ-lookup-engine, which would be
much better than anything Bing has offered. It would match
user-submitted questions against the questions listed in FAQs, and
upon confirmation (by the user) of a correct match, will then tell
the answer to the user. I have developed some technology, such as
SegMat, which ought to be useful for such a question-matcher, and
have several times asked if anyone would like me to go ahead and
write the application, but nobody has offered to pay me for my
time, and nobody has even offered emotional support, such as being
willing to try whatever I build and give me feedback as to how well
it performs, so I've had better things to do with my time.

But if and when anyone contracts for me to write the FAQ-answering
application, that can be the first benchmark towards an AI
question-answering service. My first benchmark would define the Q&A
interface, and then anyone claiming to have an AI
question-answering system could ask me to link theirs with mine,
whereby if the AI system thinks it understands the question well
enough to construct an appropriate answer based on information it
finds via traditional or Watson-style searching on the Internet,
then the AI system submits the Q&A pair to my system as if it were
from an existing FAQ list, and my system then treats it as such,
and if the AI-constructed Q is one of the closest five or ten
matches to the user's question, then the user has a chance to
select it, and if selected it's then evaluated by the user for
correctness, and thus the AI program is rated as to whether it's
just bluffing or really is answering questions appropriately. Any
number of competing AI question-answering programs can thus be
included within this basic framework. If the AI programs are
"honest", they will decline to answer (in the Watson/Jeopardy
model, they will decline to "buzz in") if they don't have
confidence in any answer. With tens of AI programs all playing the
game, only a few honest programs will "buzz in" for any partiular
question. Something like TinyURL.Com/TruFut can be used to evaluate
the appropriateness and correctness of each individual AI answer,
and also to "predict" whether a particular AI system is bluffing or
actually answering. A combination of the TruFut value of a given AI
program and the nearness-of-match of Q from a regular FAQ, can be
used to rate answers as to likelihood of correctly answering the
user's question.

> It is how intelligence is perceived when not properly defined.

Agreed. We are nowhere near having a mathematically precise
definition of intelligence that can be implemented as a test rig.
Crowdsourced Turing-style testing is still our best way to
generally judge intelligence, although specific "smart" tasks can
be test-rigged already.

The sorta-vague definition of intelligence (more like genius
actually), which I gave above (ability to solve new kinds of
problems somewhat unlike any seen before), is sorta well defined,
but nowhere near mathematically precise, because we at present have
no measure of how different various problems are, hence no way to
set a threshold whereby solving problems more than a threshold away
from any previous problems would count as intelligence while
solving problems within threshold of old problems would only count
as "run of the mill" self-extending a smart system. We have an
intuitive "feeling" how to measure how novel a problem is, hence
whether intelligence is needed to solve it, but at best we can
engage in political debate whether a particular problem is
sufficiently novel to be used as an intelligence test.

In addition to the question-answering service, another obvious way
to test intelligence (or at least evolved smarts) is a test of
survival. Set up a physical or mathematical arena where a "robot"
is supposed to try to survive against either randomly-generated
environmental challenges or a "live" enemy (another AI robot).
Unlike the "Robot Wars" TV series, where the "robots" are merely
tele-operated devices, controlled in real-time by humans, but in a
similar physical arena, the robots would be totally
self-AI-controlled, with no input from humans allowed once the bout
has started. If a given robot pushes its "enemy" off the edge of
the platform first, it wins. If after ten minutes neither robot has
been pushed off-platform, then BOTH robots lose the bout.

> Note also that if incomputable, then there cannot be a definition
> without some incomputable reference system. Computability of
> intelligence and its constructive definition are close issues.

Agree, it's currently an open question whether we can define a
class of problems (mathematical, or physical) to solve, and define
a distance function (a "metric") between any two problems, such
that we can then define a measure (not an absolute yes/no decision)
of intelligence as to how wide a metric/distance gap the AI program
can bridge without further human input. Well, yeah, it's trivial to
define a class and metric that is totolly worthless for our actual
purpose, but what I mean is defining a class of problems where
human intelligence can bridge a distance somewhat proportional to
I.Q. of that person with a specified time (3 hours, i.e. one
session of a Putnam math contest, seems reasoanble). So we need to
define a class of mathematical problems that covers virtually every
Elementary Problem or Putnam problem to date, or a class of
physical problems that covers all the ordinary life tasks that we
witness various animals performing (finding food or mate or place
to sleep, etc.), and captures the difficulty of the problems as
well as the distance between any two of the problems, and
correlates the distance with how high the IQ is needed to cross
that distance in a single 3-hour contemplative+scientificExperiment
step without any outside coaching, such that the distance is highly
coreated with the IQ needed to cross that distance (i.e. most of
the variance of the IQ needed is captured by the distance between
known and new problem). Has anybody ever even begun to tackle that
problem-of-definition??

Virtually every Elementary Problem and Putnam problem is quite
strongly a Word Problem, seldom anything that can be directly
translated to an algebraic equation as with "word problems" typical
of high-school algebra classes. Whereas those simple algebraic
"word problems" might be automatically translated to algebraic
equations without too much trouble, the kinds of strong Word
Problems I'm talking about would require somewhat true AI just to
understand the question, nevermind solving it. Most of these
problems are of a general nature, so evidence of understanding the
problem could consist of nothing more than generating a few
examples of what the question is talking about. Perhaps we could
use such evidence of understanding the question as a good test of
true AI? If so, again we must define the class of problems, and a
way to test whether the AI program has generated sufficient
examples to show understanding of the problem (nevermind solving
the problem), then define a metric (distance) between different
problems, etc. as in previous paragraph.

For the physical (robot-wars combat arena) test of AI, the question
is very simple, can you push the other robot off the platform or
not, so we'll stick to the actual task of doing that, and not
bother testing whether the robot understands the task or not.

Slight variation on the robot-wars test of survival: Multi-robot
contest, where the task is to join forces with other robots to gang
up against one of the other robots and push it off the edge of the
platform. Thus social smartness is as important as brute combat
ability. The bout ends as soon as one robots goes off-edge, with
all the remaining robots scoring a "win". Of course any one robot
that's very much stronger than any other robot can ignore
the cooperation theme and just immediately push one of the other robots
off the edge to share in a win. With randomized combinations of
robots in each bout, the super-strong robot will accumulate more
wins than any other robot. But as more and more of the weaker
robots are eliminated from the contest, only the strongest robots
will remain, and none of them will be able to push any of the
others off-platform so easily, and even attempting such a push may
make the pushing robot vulnerable to a rear/side attack by a third
robot, so then ganging up will be the only way to win on a regular
basis.

Google-groups-search-key: imtrgfdi

Back to comp.ai.philosophy | Previous | NextNext in thread | Find similar


Thread

Re: Towards true A.I. seeWebInstead@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t) - 2012-05-30 00:38 -0700
  Re: Towards true A.I. Walter Banks <walter@bytecraft.com> - 2012-05-30 09:43 -0400
    Re: Towards true A.I. seeWebInstead@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t) - 2012-06-18 11:08 -0700
      Re: Towards true A.I. casey <jgkjcasey@yahoo.com.au> - 2012-06-18 13:19 -0700
      Re: Towards true A.I. Walter Banks <walter@bytecraft.com> - 2012-06-18 20:51 -0400
        Re: Towards true A.I. seeWebInstead@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t) - 2012-06-21 01:48 -0700
          Re: Towards true A.I. Walter Banks <walter@bytecraft.com> - 2012-06-21 11:40 -0400
  Re: Towards true A.I. curt@kcwc.com (Curt Welch) - 2012-05-30 14:59 +0000
  Re: Towards true A.I. "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-05-30 19:25 +0200

csiph-web