The problems with the acting humanly definition of intelligence have
basically to do with the imperfections of people. Most people are not
very good at a variety of tasks, not only mundane tasks like
calculations and memorizing things, but also more creative things
like solving puzzles, playing chess, and writing poetry. So trying to
imitate most humans should not require a great deal of intelligence
[as this term is used in ordinary everyday sense]. By this definition,
making errors in arithmetic and forgetting things would be considered
intelligent, and showing extraordinary speed and accuracy in calculations
would not be considered intelligent. Similarly superhuman intelligence
such as writing best sellers at the rate of one per day would give away
the machine in the Turing Test. The Turing Test also requires the
program to lie convincingly -- hardly something to boast about. The
positive aspect of this definition, however, is that we have an existence
proof. We know that human-level intelligence is possible because humans
exist, and if we believe Turing's thesis that any physical machine (entity)
can be simulated by a general-purpose digital computer, then it must be
possible to simulate people at some level and achieve human-level
intelligence in a computer.
One problem with defining intelligence as acting rationally is that it
is too broad. What does it mean to be rational? It depends on one's
utility function. Suppose I give you a perfect chess program. The program
does not play any other game. Its goal in life is to play perfect chess.
It is perfectly rational according to its utility function, but its
utility function is too narrow. So we may not want to call it intelligent.
One way to rescue this definition is to say that intelligence is the
ability to optimize not just one utility function, but any arbitrary
utility function defined by the user. Now that is too hard. Optimizing
one's own utility function is hard enough, and sometimes provably
impossible with limited resources. But there is no evidence at all that
people can optimize arbitrary utility functions chosen by someone else.
Thus, there is no existence proof for this kind of intelligence. More over,
what is rational depends on what kinds of sensory and actuatory apparatus
is available. Comparing agents with different such sets of apparatus would
not be fair. Since there are hardware differences between any two people
and agents, it makes it impossible to compare any two entities.
Thus, there are problems with each definition and I don't have a
favorite. If I have to choose one, I'd probably go with Turing's
mainly because it offers an existence proof and we will not be looking
for some kind of impossible device like the perpetual motion machine.
Thinking humanly is also interesting because it seeks to replicate and
explain the micro-structure of thought. But this has the problem of
being more psychology than computer science from my point of view.
1.4
AI is impossible if it means solving all problems
efficiently, i.e., "acting perfectly". This is one reason to prefer
"acting humanly" definition so that we do not have a hopelessly
unrealistic metric.
Undecidable problems cannot be solved by any effective procedure.
The limitations apply to people as well as machines to the degree
that they are mechanical at some (perhaps neural) level. Similarly
there is no evidence to suggest that people can solve NP-complete
problems efficiently. To the degree they do, they can only find
approximate solutions, and machines can do that as well.
1.8
There is no single correct answer to this question. For this
question to make sense, we have to take the goal of AI to be building
machines with general intelligence, not just those that excel at a particular
narrow task. Because general rationality is ill-defined -- one could
ask in what tasks -- I take Turing's definition of intelligence:
acting humanly.
Personally, I think that this point of view has some merit. Since evolution
has taken years to optimize certain functions of the brain, e.g., vision,
and evolution works by tinkering what one has (rather than a top-down
design), it makes sense to think that the rest of the cognitive aparatus
that came later exploits what is already there and builds on top of it.
If so, it may not be possible to build a thinking machine that excels
at everything that people do without understanding the lower level functions
like vision. Even if you consider a domain like chess which is easily
formalizable at a higher level, people seem to think about it in a very
different way than machines. For example, they exploit spatial relationships
like "barriers", "open lines", "closed structures" and so on, when they
discuss a position. The reason that they analyze a position thoroughly
without searching millions of positions may be that they exploit their
"visual hardware" very cleverly to do most of the work for them. In one of
the famous experiments, chess experts and novices were asked to reconstruct
chess positions that they have seen only for a few seconds. Chess
experts are able to do the task almost perfectly, whereas novices were
very bad at it. The interesting thing is that this is only true of the
chess positions that are taken from actual chess games. If the pieces
are arranged randomly on the board, then experts are as bad as novices in
reconstructing them. This suggests that the experts may be using
their vision to recognize familiar patterns on the chess board. This
ability has not been duplicated in machines yet and might indeed need a
vision-based approach.
One could argue against this, however. Even if one mechanism evolves before another, it may not follow that it is easier to study than the other. In fact, one could make a case that we should study things in the opposite direction to the evolution! The reason is that mechanisms that developed later may not have been perfected, and so it may be easier to duplicate these and even do better. For example, machines are much better than people at arithmetic because evolution did not find it useful to build-in a perfect ALU in our brains. So we are sloppy in arithmetic. Already machines are better than us in scheduling, data analysis, and a variety of other tasks. Even if your goal is human-level intelligence at all tasks, we can focus first on what is easier to study, assuming that we can correctly abstract the function of the lower levels such as vision. The goal is to build intelligent machines and that involves solving a variety of problems. It is a good strategy to solve easier problems first. They are not always evolutionarily prior.