CS531: Homework Assignment 1- Answers

Turing's Test:

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.