A manifesto for heuristics

In developing my ideas over the last few years, I have been guided by two basic intuitions. The first is that conceptual structures in all domains are, ultimately, heuristic models. The second is that the target for the application of these models is an abstraction from, rather than the totality of, reality. The two ideas are connected. Abstraction is a process of ignoring some aspects of a totality and heuristic models are typically simplifications that deliberately ignore many features of the target domain.

The idea about abstraction has been with me for a long time. I think the original inspiration came from the work of Michael Oakeshott, whose postgraduate class at the London School of Economics I attended back in 1980. He argued that we engage with reality in different modes, each targeted at a different abstraction. Although the scientist, the historian and the practical person engage with the same reality, they are engaging with it as different abstractions from a common totality. The role of the philosopher is to understand the conditions that support these diverse engagements.

The idea about model-building, on the other hand, comes from my working life as a software developer. When you build a software application, you are constructing a working model of a target domain. In my case the target domain was the business of investment banking but the same approach applies whatever the target activity is. In a software application the structure of the entities in the target domain are typically captured in the database and message design and the events through which those structures are changed are captured in the program code.

The significance of model-building for the practice of science had much less salience 40 years ago. In his introduction to the philosophy of science, Theory and Reality, Peter Godfrey-Smith summarises the progress that has been made.

The field has become less dominated by questions about language, and proper attention is being paid to model-building as a crucial part of scientific work.

Consider the case of mathematical models. These are abstract mathematical structures that are supposed to represent key features of real systems in the world. But in thinking about how a mathematical model might succeed in representing the world, the linguistic concepts of truth, falsity, reference, and so forth do not seem to be useful.

What is a model in this context?

Not all models in science are mathematical. More generally, we might think of a model as a structure that is intended to represent another structure by virtue of an abstract similarity relationship between them.

Models are attempts to represent relationships that might exist between the components of the real system which is its target.

A mathematical model will treat one variable as a function of others, which in turn are functions of others, and so on. In this way, a complicated network of dependence structures can be represented. And then, via a commentary, the dependence structure in the model can be treated as representing the dependence structure that might exist in a real system.

Models bring an important flexibility to scientific work. Different scientists can interpret the same model in different ways:

One person might use the model as a predictive device, something that gives an output when you plug in specific inputs, without caring how the inner workings of the model relate to the real world. Another person might treat the same model as a highly detailed picture of the dependence structure inside the real system being studied. And there is a range of possible attitudes between these two extremes; another person might treat the model as representing some features, but only a few, of what is going on in the real system.

Both scientific models and the working models built by software developers are heuristic in function. They are intended to accomplish a limited but useful task by simplifying the conceptual model so that it represents an abstraction from, rather than the totality of, the target system. It is this flexibility that implicitly recognises both the heuristic nature of the model and the abstract nature of the real system which is the target of the model.

One actual and reasonable aim of science is to give us accurate descriptions (and other representations) of what reality is like.

If we could generalise the heuristic approach of this kind to model-building to other domains I think it would bring some important advantages. It would allow a unification of method and therefore a continuity of vision not just across philosophy, natural science and the humanities but more widely across theory and practice.

What is getting in the way is a belief about language, one which binds reference and representation to logic and truth in a way that is inflexible and unequivocal.

Models have a different kind of representational relationship with the world from that found in language.

…in thinking about how a mathematical model might succeed in representing the world, the linguistic concepts of truth, falsity, reference, and so forth do not seem to be useful.

There are many kinds of system in the world, all at different scales, with diverse structures and drivers. When we talk about the state of a system we want to talk about, among other things, composition, location, relationship, classification, functioning, form and value.

Some would add that even when we are dealing with language, the concepts of truth and reference might be bad ones to use.

Integrating a philosophy of value into the same model-building structure would open the way to a properly adequate understanding of practical reasoning and ethics and the theory and criticism of the arts. I don’t see any reason in principle why this shouldn’t be possible. If we can build a working model of a business process, we can use the same techniques to build a working model of any domain.

Peter Godfrey-Smith, Theory and Reality (2003). Chicago: University of Chicago Press.