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


Groups > comp.programming > #1668

Re: Towards true A.I.

Subject Re: Towards true A.I.
From curt@kcwc.com (Curt Welch)
Organization NewsReader.Com
Message-ID <20120530105956.403$Wh@newsreader.com> (permalink)
Newsgroups comp.ai.philosophy, comp.programming
References (2 earlier) <REM-2012mar27-003@Yahoo.Com> <1jwvj1x0ayc05.ytcz87k1p1x4.dlg@40tude.net> <REM-2012apr17-001@Yahoo.Com> <1qwcrz02cn5hx.1sj169ai6zp0r$.dlg@40tude.net> <REM-2012may30-001@Yahoo.Com>
Date 2012-05-30 14:59 +0000

Cross-posted to 2 groups.

Show all headers | View raw


seeWebInstead@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t)
wrote:
> > From: "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
> > So far "intelligence" resisted all decomposition attempts.

Skinner decomposed it just fine 60 years ago.

The decomposition was easy.  Implementing it is what has turned out to be
hard.

> 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.

Filling the gap is not hard.  Recursive definitions do that very quickly.
Finding and implementing the right recursive definition to create the
implementation is what has proved hard.

> 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..

More like 20 years.  People studying the brain get themselves lost in the
great complexity of details and are typically unable to see the overall
simplicity of the system that makes it all work.

> > 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.

The requirements were written long ago by Skinner and the other
behaviorists.  No one has figured out ANY way to implement them.  No other
requirements are needed.  You just need to find a way to implement the ones
already written.

The requirements were written again, in a slightly different form, by
Hutter (AIXI).  Again, no one has found a way to implement them yet.

Writing the requirements turns out to be the easy part of this puzzle.

> 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.

You could also simulate that entire environment in software and never have
to waste any time building hardware.

> 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.

Yes, AI is in fact simple.  It's why the specifications written that full
explain what it is, are all so simple.  It's just learning the application
of abstractions.  Finding a way to implement this to solve problems of the
scale the brain can solve, is what has stumped everyone for 60 years.

Many people choose to believe that since these specification were so hard
to implement that they must be wrong.  But being hard to implement, does
not make the specification wrong.  These people have searched endlessly for
"easy" specification to implement.  It's pointless.  If you don't implement
the real specification, you don't get "real" AI.

> > >> 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.

Yes, that's why studying pigeons 80 years ago turned out to be so useful.

> 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.

Yes, yes.  That was all done 60 years ago.  If you want to build AI, you
have to implement a high dimension version of operant and classical
conditioning.  That is the full specification of what AI is.  In 60 years,
no one has been able to build a machine to match the specification.

> 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.

The animals use the same technology humans use.  Both are generic learning
machines that learn by operant and classical conditioning.  Rats and mouse
are just as hard to copy as humans are.  No one has yet figured out how to
build intelligence equal to a mouse, because the specification for making
mouse-intelligence is the same specification for making human intelligence
and no has figured out how to code it yet.

> > > 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,

Ant's don't implement operant and classical conditioning (or so little of
it that they are not really worthy subjects).  They are one of many of the
animals that have almost all their behaviors hard-coded by evolution.

We know how to hard code behavior into our machines.  It's how all our
machines currently work.  What we don't know how to do, is implement strong
generic learning in a high dimension sensor and behavior space.  Until we
implement that strong generic learning, we will have not human or mouse
like intelligence.

> 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.

Google works pretty well just because it's searching all the FAQs and
answer sites on the web.  Don't really know how you think your specialized
system would be any different or better.

> 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.

Google is already a far better benchmark.  People often don't understand
how intelligent Google really is.  It's core technology is a far closer
parallel to the general AI problem that most people realize.

> 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's often better not to get one answer, but instead, to see 10 different
answers from different people.

> > 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??

It's called "the field of AI".  They have been trying to define what AI is
for 60 years now.

> 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.

Doing a specific task like that is not AI.  The "task" of AI is "learning".
To test for intelligence, you must test the machine's ability to learn in a
high dimension sensory/action environment.

> 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

-- 
Curt Welch                                            http://CurtWelch.Com/
curt@kcwc.com                                        http://NewsReader.Com/

Back to comp.programming | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Towards true A.I. (was: John McCarthy R.I.P.) seeWebInstead@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t) - 2012-03-27 12:25 -0700
  Re: Towards true A.I. "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-03-29 15:21 +0200
    Re: Towards true A.I. curt@kcwc.com (Curt Welch) - 2012-03-30 15:56 +0000
      Re: Towards true A.I. "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-03-30 18:32 +0200
        Re: Towards true A.I. Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-03-30 14:20 -0700
          Re: Towards true A.I. Patricia Shanahan <pats@acm.org> - 2012-03-30 15:01 -0700
            Re: Towards true A.I. seeWebInstead@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t) - 2012-04-21 15:53 -0700
              Re: Towards true A.I. casey <jgkjcasey@yahoo.com.au> - 2012-04-21 18:47 -0700
              Re: Towards true A.I. "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2012-04-22 10:03 +0100
                Re: Towards true A.I. Don Stockbauer <donstockbauer@hotmail.com> - 2012-04-22 04:10 -0700
        Re: Towards true A.I. Gary Forbis <forbisgaryg@msn.com> - 2012-04-02 19:46 -0700
          Re: Towards true A.I. "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-04-03 09:51 +0200
            Re: Towards true A.I. Gary Forbis <forbisgaryg@gmail.com> - 2012-04-03 05:22 -0700
              Re: Towards true A.I. "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-04-04 10:31 +0200
                Re: Towards true A.I. curt@kcwc.com (Curt Welch) - 2012-04-05 00:24 +0000
                Re: Towards true A.I. "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-04-06 10:41 +0200
        Re: Towards true A.I. curt@kcwc.com (Curt Welch) - 2012-04-05 01:00 +0000
      Re: Towards true A.I. seeWebInstead@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t) - 2012-04-21 15:44 -0700
    Re: Towards true A.I. seeWebInstead@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t) - 2012-04-17 21:57 -0700
      Re: Towards true A.I. "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-04-21 10:08 +0200
        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