Some time ago I was invited to the Webcongress Colombia to talk about the future of Data and how Data can transform the world. It was more than 1,300 professionals expecting to talk about the latest advances in technology.
Most of the people I was talking with was really optimistic about what a computers can (and can’t) do. My normal answer is “Computers are stupid and bureaucratic at creating but they work amazingly good at repeating things. On the opposite humans really good at creating but very clumsy at repeating things”.
As I wrote in my book Meta Analytics, repetitive activities become transparencies for humans, so at some point we can’t identify mistakes that are not far ahead from our nose. Like when we do those excel reports, after the second month of repeating the report it has one thousand errors (no matter how many times we review it).
Since I was a kid I was in love with the idea of creating a machines that can emulate humans behavior. At that point I thought it was possible, complex but possible.
The more I was getting into math, physics, statistics and machine learning (all topics that I’m very passionated about) I started realizing that the “thing” could be way much harder than it appeared. Then I started working in projects that required the development of some AI algorithms and all the fears became true. My first reaction was, let’s ask some friends that are more into it and have years of practical experience. Their answer was clear “that’s impossible”.
At the end of 1960, Terry Winograd (expert in the philosophy of mind and artificial intelligence fields, one of the greatest professionals I know in the field of natural language) developed SHRDLU (we have to admit is not a great name, looks like the FLDSMDFR from Cloudy with a chance of meatballs), a AI algorithm that was supposed to be a point of inflection in AI.
The project begun with a small world of geometric forms (small block world) that was displayed to SHRDLU (A three-dimensional environment in which there were cubes, pyramids, spheres, etc), on which instructions could be given to SHRDLU, such as “Take the cone and put it between the cube and the pyramid”. SHRDLU did the proposed action and asked if the action was properly done. Then it was also possible to ask SHRDLU about the history of its actions and the justification of its behavior.
Here’s the real “conversation” that SHRDLU has with its programer.
Can a pyramid hold another pyramid? I do not know.
Stack two pyramids. (SHRDLU tries and fails). I can not.
The blue pyramid is mine. I get it.
I own the blocks that are not red but I do not own anything that supports a pyramid. I get it.
Do I have the box? No.
Do I have something inside the box? Yes, two things: the blue block and the blue pyramid.
Is there anything greater than any pyramid that is not as wide as the thing that holds it? Yes, the blue block.
Does something green hold the shortest thing holding the support of the highest pyramid Yes, the green pyramid.
What color is it? I suppose you mean the shortest thing holding the highest pyramid holder. Red.
A tower. I’m sorry, I do not know the word tower.
A “tower” is a stack containing two green cubes and a pyramid. I get it.
Is there a tower now? No.
Can you stack the two red blocks and a green cube or a pyramid, please? Yes I can (SHRDLU does what ordered). […]
Have you touched a pyramid before putting one on the green block? Yes, the green one.
When did you get her? When I was stacking a red cube, a big green cube and a big red block.
Why? To remove it.
Why did you do that? To clear the red cube. […]
Why did you do that? Because you asked me to.
At that time, the conversation was shocking for most people. This is one of the first times that a man communicates with a machine through natural language in a totally coherent way. Winograd thought that the only difficulty for his program to fully manage the totality of natural language was to progressively enlarge its world.
His idea was just adding objects and properties to the, initially small universe, so that, little by little, SHRDLU could get to talk about anything. Ingenious error! He later faced the biggest problem in AI which has not yet been overcome: the problem of consciousness.
Let’s see why in an example made by Douglas Lenat, president at Cycorp. Suppose we took a very advanced version of SHRDLU to dinner at a restaurant with a friend named Fred. This new version has a powerful dictionary with all the definitions of the Spanish language and a grammar to understand and build any type of sentence.
When we are there, referring to another day that I came with Fred to the same restaurant, I tell SHRDLU:
“Fred told the waiter he wanted english style fries”
It seems a trivial phrase that we all understand without the slightest problem. But, if we analyze it deeply, we see that it is necessary to know many things to understand it.
- The word “he” refers to Fred, not the waiter. That was in a restaurant.
- Fred was a customer who was dining there.
- Fred and the waiter were about a meter away.
- The waiter worked there and was now tending Fred.
- Fred wants thinly sliced potatoes, not strips.
- Fred does not want certain potatoes, but only a certain type of potatoes.
- Fred indicates this through the spoken words he addresses to the waiter.
- Both Fred and the waiter are human beings.
- Both speak the same language.
- Both are old enough to express themselves, and the waiter is old enough to work.
- Fred is hungry.
- He wants and hopes that in a few minutes the waiter will bring him a normal portion, that Fred will start eating as soon as they serve him.
- We can also assume that Fred supposes that the waiter also supposes all those things.
If SHRDLU does not know this information, it will be impossible for it to understand the phrase. Only knowing the meanings of words and grammar is not enough. And the language that humans use conventionally is plagued with extra-linguistic elements (gestures, intonations, prior knowledge of intentions …) as well as other clearly contextual.
It is paradoxical that computers are capable of solving complex mathematical theorems or they beat us at chess but they are not able to understand a very simple phrase.
The key is understanding that self consciousness is a qualitative and not just quantitative gap between repeating things and understanding things.
In my opinion I’m not sure if we are going to be able to emulate human intelligence basically because we don’t know what self consciousness is and how it works. By now what I can say is that in my personal opinion, we can only emulate human intelligence in those cases were the variables can take a finite or limited quantity of values but not in those cases were the variables can take infinite quantity of variables.
That all the above mean that computers are not useful? No, all the contrary. I believe that we can increase the quality of life of people significantly by using computers for process automation so we (humans) can focus on strategy/hi-added-value creative things.