Capítulo 5. Identificación del problema
5.1 Definir el problema real
Interestingly, around the same time P´olya published his account of heuristic, a different but very influential notion began to emerge. It was then that research in computer programming was quickly advancing, and a task that occupied many researchers was programming a com- puter to simulate human intelligence—this was the birth of information-processing theory and the research program of AI. Of course, optimization strategies such as exhaustive search and maximizing utility, though theoretically sound, were for the most part impractically burden- some in terms of time and other computational resources. If the chief interest in AI isactual
rather thanin principleortheoreticalcomputing, then it may very well be irrelevant to employ optimizing strategies, or to investigate whether such strategies even exist (Simon et al., 1967). Thus, what was needed were strategies that would cut down on the computational burden that come with optimization strategies, but that would also perform relatively well by finding satis- factory solutions, although perhaps not providing the best solutions as optimization strategies do. What was needed, in other words, were heuristic strategies.
Perhaps the most notable of pioneers of early AI is Herbert Simon (although his then- colleague, Allen Newell, may be as famous). Simon exalted the employment of heuristics in
computing. He believed that the ability of heuristics to find solutions rapidly with relatively little computational costs not only made their use indispensable to computer programming, but made most of them better than optimizing strategies, even when the latter are available and practicable. In fact, Simon formulated the term “heuristic power” as a relative measure of a computer program’s capacity to find solutions in “reasonable” computation times (Simon et al., 1967). More importantly, however, he believed that “we can use this theory [of heuristic computational problem solving] both to understand human heuristic processes and to simulate such processes with digital computers” (Simon & Newell, 1958, p. 6). That is, Simon observed that there are mutual ramifications of practical computing or AI on the one hand, and human decision-making, or cognition more generally, on the other.
Arguably, the most important contribution Simon made to the study of human decision- making was his notion of bounded rationality. Simon despaired of the formal model of ra- tionality of his time which prescribed optimization strategies, including maximizing expected utility and abiding by the basic axioms of probability. Just as with the demands it puts on com- putation systems, optimization, as he made clear, requires agents to know more than a human can ever know (e.g., all the possible states of a problem and possible outcomes) and do more than a human can ever do (e.g., perform numerous calculations over the sets of possibilities and outcomes). Bounded rationality, however, takes into account empirical limits on human cogni- tion, and offers a more plausible and psychologically realistic notion of rationality. According to Simon (1957), what is fundamental to bounded rationality are special simplifications of com- plex problems in order to render them realistically solvable by humans. Rather than maximize or optimize, agents can employ procedures that exploit the simplifications to solve the problem in a manner that is in some sense “good enough”, orsatisficing(pp. 204-205). As the lessons from computer programming indicate, satisficing procedures are commonly understood to be heuristics.
Simon endeavoured to clarify the term “heuristic”, since he thought that, as it is commonly used, it “denotes an intuitive notion usually misunderstood when oversimplified” (Simon et al.,
1967, p. 10). And yet the notion to which the term refers can be quite complicated (p. 18). He explicitly rejects the characterization of a heuristic as “a technique that yields improved overall performance at the expense of failure on some problems”, claiming that “the usage of ‘heuristic’ does not in itself imply anynecessityof failure on some problems” (p. 11, emphasis in original; cf. my remarks in section 2.2.1 of the present chapter). Simon goes on to note that many heuristics merely adjust the way a problem-space is searched thereby making it easier to find a solution, or by eliminating possibilities that are guaranteed not to be solutions. He offers instead the following as a definition: “Any component of a program that contributes to its heuristic power we may call aheuristic process, or aheuristic” (p. 17), where heuristic power is as characterized above, viz. the capacity to find solutions within certain time-frames.17
However, it is important to note that, although Simon defines “heuristic” squarely from the perspective of computation, he expressly intended heuristics to play a central role in discovery (Kulkarni & Simon, 1988; Langley, Bradshaw, Simon, & Zytgow, 1987; Simon, 1973, 1977). That is, he did not disavow “heuristic” of its etymological roots. Indeed, since Simon vehe- mently believed that human psychological processes can be modeled by computers, heuristics take centre-stage in accounting for how humans discover (scientific) theories or, more gen- erally, discover solutions to problems. Hence, he comments, “if ‘heuristic’ is to be used as a noun, it is best employed as a synonym for ‘heuristic process’—a process that aids in the discovery of a problem solution” (Simon et al., 1967, p. 17). As processes for discovery, the following are examples of heuristics given by Simon:
(7) IfS1 is your current state, S2 is your goal state, d a difference between S1 andS2, andOan operator that, in past experience, affects differences of the type to whichdbelongs, try to applyOto transformS1. (Simon et al., 1967, p. 17)
(8) If the problem is to prove that two triangles are equal, and you are given in- formation about the equality of angles, search for a theorem whose premises refer to equality of angles and whose conclusion refers to the equality of triangles. (ibid.)
17More precisely, “A heuristic is an addition, rearrangement, or other modification to a program that yields an improvement in its heuristic power” (Simon et al., 1967, p. 18). Simon offers this alternative formulation since he notes that it is usually difficult to identify which parts of a program contribute to its heuristic power. But for our purposes, the simplified formulation given in the main text will suffice.
(9) In chess, consider first those moves that remove or protect pieces under at- tack. (ibid.)
(10) To detect regularities in numerical data, if the values of two numerical terms increase together, then consider their ratio. (Langley et al., 1987, p. 66)18