Creating A Conscious entity

Started by
130 comments, last by Nice Coder 19 years, 1 month ago
What I find strange is how easily you step over the whole intelligence problem.

It's actually a long standing point of discussion that started with Alan Turing (the designer of the model our computers are still build by, memory and processor) in the 1940's and has still not been decided.

Question: "When is a computer (-program) intelligent?"

Try and find a clear nonambiguous answer to this question. Turing's answer was the following experiment (called the Turing test):

We have 1 researcher, call him A and a test subject, B, and ofcourse our computer C. We put A, B and C in separate rooms but allow them to communicate in some way (usually 'chatting', but you could ofcourse implement a speech production program etc etc, but that's not the point). Now the test is that A must try to find out which of the two unknown 'persons' he is talking to is the computer and which is the test subject. In order to do this he can ask any kind of question and B and C are allowed to answer however they like. Turing thought that if C was able to consistently be thought to be the human subject than C was to be called intelligent.

What Turing does in this experiment is define intelligence by reference to the only known form of intelligence, namely our own. Ofcourse his experiment leaves a lot of questions about intelligence open, but how might you define intelligence, which we only know from ourselves without reference to ourselves?

A couple of questions to think about:
- Say you had a baby brother, about when would you start calling him intelligent?
- Would you call a chimp intelligent, and what about a dolphin?
- What about an ant? Or a nest of ants?
- What about a single neuron in our brain, or 2 or 5 billion?

Edit: Oh and before you type another word you just MUST have read "Goedel, Escher, Bach: An eternal golden braid". This will give you enough questions to think about that we could just as well close this discussion because you aren't gonna solve them in your lifetime.
Advertisement
Consider the basics:
Chinese Room.
The question of intelligence and understanding has been discussed for millenia. It is quite possible that following some argument like Brain in a vat as well as Gödel's Incompleteness Theorem, it is not possible for us to ever define consciousness or self-awareness in an objective way. It also seems from a purely logical point of view that our current languages are not able to express some basic concepts.

It's a bit like the kitten argument smeone provided. Even our brightest phycicists are not able to provide a sound definition for space and time without running into circular arguments.

Example: your average four-year-old has an abstract concept of natural numbers. (S)he knows what 'three apples' means and can easily extend this concept to any concrete (like other objects) and abstract (like hours/days or the number of times a specific action is performed) entities without the need of a (formal) definition.
In fact, it took mathematicians millenia to come up with a (very crude) formal concept of natural numbers, which then falls into Gödel's incompleteness theorem and while being sound (to some extend, depending on the set of axioms used) cannot be proven.

Current effort have lead to a number of chatbots that act like chinese rooms and appear intelligent, self aware and conscious at first glance (like Alice.
There has also been an AI project (started long before AI winter) written in LISP, which was indeed able to act intelligent and had an internal representation of very limited world. This world only consited of a set of simple three dimensional geometric shapes like cubes, cones, pyramids and cylinders of different color placed on a table. The program was able (using a very limited vocabulary) to describe this world and the relations of the objects therein. It could also alter this world from user input (like "place the red cube on top of the bigger one") and afterwards describe the changes (e.g. it would perceive another
'pyramid' formed by the staclked cubes).

Provided the last example was developed about 40 years ago, it seems that AI research shifted its focus to more practial things like expert systems, ANNs (for very well defined tasks like pattern recognition), GAs (automated processes, advanced scheduling) and data-/knowlegde mining (and any combination of them).

You are aiming for the Holy Grail of computer science, philosophy and psychology. Not that this implies that you must fail (heck, I dreamt of creating such thing , too some years ago), but a lot of knowlegde and insight is required so you have a long road ahead of you. Otherwise you might end-up like this guy who hand-wired thousands of artificial neurons (in hardware) and propably still wonders why his creation doesn't show any sign of intelligence [smile].

Sorry for the long post and hang on to your dreams,
Pat.
Quote:Original post by Horizon
What I find strange is how easily you step over the whole intelligence problem.


its not strange, actually its pretty logic. You have pointed out yourself how futile it is to attempt to answer it. So we'll just go around the question.

sidestepping it is strange? no, mathematicians do it all the time. just cancel the thing out.

People, people, stop looking into philosophy for answers. When was the last time philosophy gave an answer to something? (don't answer that. I'ts sort of trollish.)

Meanwhile, we can take potshots at it, poke around and see what happens.

darookie: we don't need a formal concept of intelligence (yet). we just need an implementation that seems roughly intelligent, even if we don't know for sure what that means. we'll know anyway when we see it.

Alice was a gramatical parser kind of bot, and i'm betting the Lisp based bots were too (string handling.. lisp.. etc) This is not what i'd like to aim for. I don't really care if it talks or beeps, i care about the learning. Language should follow accordingly.

now, can we get a link or name to that 40-year old AI with a limited 3D world?

Nice Coder: so you preseeded the PAD scale with tokens and associated values... do you modify those weights afterwards? or add new tokens? i'd want to do that

preseeding is probably the only way, since in animals and humans this is accomplished with physical punishment/rewards, and well, there are no inherently negative/positive things to do to a program.

Quote:
It also changes the values of the pad, from other things. like, when it gets new information, it gets happier. When it gets told a lot of what it has been said before, it gets bored, ect.


my approach was modifying dominance according to the model hits, if it succeeds, dominance increases (it knows whats going on) and if it doesnt it decreases (its getting lost).
arousal would come from the speed of the input... this would need timestamped inputs.
and i'm unsure about pleasure/displeasure

and the effect of the internal state on the model would be:

dominance should affect the model thresholds, i am unsure of how.
arousal produces faster responses, probably skipping a calculation here and there. low arousal gives a throughout
response.
pleasure is what the AI will attempt to achieve, so this is where goals go.

Can you detail a bit more what you did in this regard?
Working on a fully self-funded project
What I mean is that it's strange in a discussion that tends for a large part towards "creating intelligence", "creating consciousness", "creating self-awareness".
In any practical sense before you can create something you must know what it is and how it works, hence my question. If this discussion had been solely about creating an interesting chat-bot, then it would have been an entirely different matter.

About the chat-bot then: What kind of parser are you using? Have you tried looking at Categorial Grammars and formal semantics? Try this link http://www.phil.uu.nl/preprints/ckipreprints/PREPRINTS/preprint032.pdf. Or are you trying for a more natural implementation?

[Edited by - Horizon on November 9, 2004 10:29:52 AM]
Quote:Original post by Madster
People, people, stop looking into philosophy for answers. When was the last time philosophy gave an answer to something? (don't answer that. I'ts sort of trollish.)

Madster, Madster, start giving credit whom credit is due.
FYI philosophy was the first science and defined the methodology for any scientific work that separates science from alchemy.
Quote:
Meanwhile, we can take potshots at it, poke around and see what happens.

Ok. So that qualifies you for an alchemist[wink].
Quote:
darookie: we don't need a formal concept of intelligence (yet). we just need an implementation that seems roughly intelligent, even if we don't know for sure what that means. we'll know anyway when we see it.

Contradiction. How can we know if a system is intelligent without a formal description of what intelligent is? Given an arbitary definition of intelligence I can provide a number of programs that will roughly fit into the definition, yet you wouldn't consider these programs intelligent. We need to classify different levels of intelligence by attaching properties to each level (bacteria -> insects -> fish -> mammals -> apes -> humans -> ...?). Even Turing tests have different levels and yet cannot finally decide whether the system is intelligent or not. Nowadays a system is considered to be intelligent if it is able to mimic intelligent behaviour (e.g. within a specified domain).
Quote:
Alice was a gramatical parser kind of bot, and i'm betting the Lisp based bots were too (string handling.. lisp.. etc) This is not what i'd like to aim for. I don't really care if it talks or beeps, i care about the learning. Language should follow accordingly.

That proves that you don't know what A.L.I.C.E. is. FYI intelligence can be regarded pattern matching and association, which is exactly what Alice does (in a very limited frame).
Quote:
now, can we get a link or name to that 40-year old AI with a limited 3D world?

I would love to give a brief historical overview of AI, but there are enough books on that topic (just take a look around).
The program I mentioned wa called 'Blocks Micro World', developed at the MIT by students of Minsky at the end of the 1960's. There was a similar programs written in 1964 by Adolfo Gunzman.
Other versions written by Minsky & Papert, Patrick Winston and the most famous (the one I was referring to) called 'SHDRLU' (don't ask - nerds[smile]) by Terry Winograd.

Sample dialog from the program (capital words are responses by SHRDLU):

pick up red block
OK
find a block which is taller than the one you are holding and put it into the box
BY “IT” I ASSUME YOU MEAN THE BLOCK WHICH IS TALLER THAN THE ONE I
AM HOLDING
OK
what does the box contain?
THE BLUE PYRAMID AND THE BLUE
what is the pyramid supported by?
THE BOX
how many blocks are not in the box?
FOUR OF
is at least one of them narrower than the one which I told you to pick up?
YES, THE RED
is it supported?
YES, BY THE TABLE
can the table pick up blocks?
NO
the blue pyramide is mine
I UNDERSTAND
I own all blocks which are not red, but I don’t own anything which supports a pyramid
I UNDERSTAND
do I own the box
NO
do I own anything in the box?
YES, TWO THINGS: THE BLUE BOX AND THE BLUE
will you please stack up both of the red blocks and either a green cube or a pyramid?
OK
is there a large block behind a pyramid?
YES, THREE OF THEM: A LARGE RED ONE, A LARGE GREEN CUBE AND THE
BLUE ONE
put a small one into the green cube which supports a pyramid
OK
put the littlest pyramid on top of it
OK
had you touched any pyramid before you put the green one on the little cube?
YES, THE GREEN ONE
when did you pick it up?
WHILE I WAS STACKING UP THE RED CUBE, A LARGE RED BLOCK AND A
LARGE GREEN CUBE
why?
TO GET RID OF IT
why did you do that?
TO CLEAR OFF THE RED CUBE
why did you clear off that cube?
TO PUT IT ON A LARGE GREEN
why did you do that?
TO STACK UP THE RED CUBE, A LARGE RED BLOCK AND A LARGE GREEN
CUBE
why did you do that?
BECAUSE YOU ASKED ME TO

Looks pretty intelligent to me.
Yet, it is just a very primitive program that only has a very limited knowlegde.

Clicky.

I hope this helps you,
Pat.
About knowing the insides of the car... no, you don't need to know that to drive. But I picked subset for a reason - when you start coding relationships, the natural inclination is to come up with some sort of language for things like drop CAUSES fall, apple ISA fruit, etc. These are concepts that you need some representation of in order to understand information, but when that representation is hard coded, the program can't learn their meaning. It's useless for a program to have information if it doesn't know what it means.
Quote:Original post by Horizon
In any practical sense before you can create something you must know what it is and how it works, hence my question.
Have you ever heard of emergence?
There have been a host of experiments in which emergent behaviour was discovered that wasn't expected or understood fully.
Eh... well here we go =) this is such a controversial topic
I wish i had an implementation to show, arguments have much more weight that way.
Anyways, long post, please read, and keep replies civil...

first the funnies:
Quote:
Madster, Madster, start giving credit whom credit is due.
FYI philosophy was the first science and defined the methodology for any scientific work that separates science from alchemy.

i said that was trollish ;) i'm merely pointing out that philosophy isn't gonna help here. At least not using it to say why we can't do what we're trying to do. There are better tools to prove that, like mathemathics.
And yeah i checked a bit and philosophy was not the first science... it actually is what science was called before. so they're kind of the same. But enough of that.
Also, alchemists were the precursors of chemists, a respected and proven science nowadays. You gotta start somewhere. I'll never be ashamed of poking things until i see something interesting.

now the rebuttals:
Quote:Contradiction. How can we know if a system is intelligent without a formal description of what intelligent is?

and then:
Quote:
Example: your average four-year-old has an abstract concept of natural numbers. (S)he knows what 'three apples' means and can easily extend this concept to any concrete (like other objects) and abstract (like hours/days or the number of times a specific action is performed) entities without the need of a (formal) definition.

This is a contradiction. Remember most of the time the practice comes before the theory (like you just said). So, we're trying practical ideas.


About ALICE, I've seen it and i talked to it. I don't remember where, but i found an online implementation.

Quote:
FYI intelligence can be regarded pattern matching and association, which is exactly what Alice does (in a very limited frame).

And pattern matching is all that we're talking here. Alice only does gramatical pattern matching, which makes it a gramatical parsing bot in my view.
Actually upon closer inspection it seems simpler than that. It only matches preprogrammed patterns defined in AIML (forgot about that bit.. its been a while). So its not intelligent by any means, and even if you don't know, you'll find out in a 3-minute chat.

For an example of non-gramatical pattern matching look up the Babble perl script and the MegaHAL bot.

from the SHRDLU info page linked:
Quote:
The system answers questions, executes commands, and accepts information in an interactive English dialog... The system contains a parser, a recognition grammar of English, programs for semantic analysis, and a general problem solving system


As i mentioned earlier, every AI in lisp i know of is a gramatical parser. Its still an interesting implementation, and i'll give it a look (the graphical Java version at least). However, this one will appear intelligent only for a short time (like ALICE), until you find out it doesn't learn (remembering is not learning).

The megaHAL bot and its derivatives can be taught any language. I can fetch the links if needed, i have them somewhere.

and the explanations:
Horizon:
Quote:
In any practical sense before you can create something you must know what it is and how it works, hence my question.

Exactly. We must know how the process of learning and pattern matching works, and then create it. The intelligence in this kind of AI isn't created, it is taught. Btw yeah, im looking for a natural implementation that doesn't need a predefined ruleset. This would allow the same method to be used for more than just text, maybe controlling outputs and such.

jtrask:
Quote:
...the natural inclination is to come up with some sort of language for things like drop CAUSES fall, apple ISA fruit, etc.
These are concepts that you need some representation of in order to understand information, but when that representation is hard coded, the program can't learn their meaning. It's useless for a program to have information if it doesn't know what it means.

in a statistical AI the concepts are gathered and linked automagically. Our brains do this as well. Avoiding absolute definitions is probably a good idea. For example, the typical baby questions:

What is a lie?
something that is not the truth.
What is the truth?
a fact.
What is a fact?
...

And an easier example:

What is an apple?
its a fruit
What is a fruit?
blah blah...

and you'll eventually resort to showing an apple or a fruit.
And this, is a circular definition with a token from another set of data. So in the end, you can only relate gathered tokens amongst themselves, you can't define absolute meaning.
And this is OK.
My view is that a bot needs more than one sense to seem intelligent, thats why i find the 3D world approach interesting, and probably why it seems intelligent at first glance. It's relating tokens from two sets of data (geometry and text) and since we percieve both as well, we see the connections and regard it as intelligence (that is until you find the text engine doesn't learn new things).

now, can anyone comment on the coding part? i believe this is where the original posting was meant to lead. My main issue with this is linking different sets of data together without the size of the relationship matrixes exploding... also i can't find a way to model continuous input, like floats (discrete is easy, like text.. each new character is a new token, and there arent many of them so its ok).

ps: if i sound pedantic i don't mean to. This is a hot topic and has always interested me, and most people (AI winter) won't touch it with a 10-foot pole.
Working on a fully self-funded project
Nice replies all [grin]!!

Yeah, i don't like alice either... (i would IMO call matrixbot more humanlike than alice!).

With mega-hal... It doesn't seem to be very... Convincing (or anything less then insane and dumb).

How about a general knowledge base (any kind, not known at present),

You ask the kb a question:

What is 2 times the square root of the logorithm of one billion and 5?

To which the bot would reply:
Well 2.65, of cource!

You can also feed it any type of information,

If X causes Y, and Nothing else Causes Y then if Y Exists then X Exists

If something causes something else, then if the second thing exists, then the first thing also exists.

Parsing its going to be hard tho... (but then again, this is for a language other then english, so it would be easier)

Perhaps another thing, which would be handy.

If user asks the question: "What is a " y, you will: output "A " y " is a " query("What is", y) "."

Thats still going to be hard to parse (a scripting language, in a string literal...) But it wouldmake it more extendable.

As another idea:
Data mine the statement (+ context (Prev statements/responces?))/responce structs. Use that information (+ questions) to figure out a probable answer.

Any good ideas here?
From,
Nice coder
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
I've ben doing a bit of thinking.

How about this:
The entity, has two needs
The need for food and the need for water.

There are two types of food, a treat, and a meal.
There is one type of water.

When it hasn't had water for a long piriod of time, or food for a long pieiod of time, it dies.

From its hunger and thirst, it has the desire to be fed, and the desire to be given water. (only the user can do these things).

It also has the desire to learn, and the desire to speak.

These are all pre-programmed.

It uses rules (which were learned from the user), and backwards chained (like an expert system), until it reaches a point at which it gets fed, watered, ect.

It then checks the things it has to do, to the reward from doing it. if its too low, then it keeps checking other rules for other things it could do to get fed, watered, ect.

If it finds no matches, then it will just send a random responce to the user.

From its desire to speak, it uses an algorith to select the best responce, based on the input given.

It would probably look at the differences between previous inputs, and use those to figure out what to say.

From,
Nice coder
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.

This topic is closed to new replies.

Advertisement