Everywhere and nowhere: the neglected role of environments

The picture is from a building in (probably East) Berlin, which I took sometime in 2009. Is this a reminder of bygone Communist regime brutality or a critique of the gargantuan Capitalist corporations that took over?

I have been recently working with a number of major corporations, entities ruled by processes and intricate relationships, which reminded me of the importance of considering the environmental aspects of human behavior — and the costs of neglecting them. It is true that much has been said about how a person’s environment is essential to determine his or her behavior. Everybody seems to agree that an individual’s fate is, in the end, shaped by where the action takes place, even if they disagree on the precise reasons. Communists will tell you how a Capitalist system oppresses and alienates workers, whereas Libertarians will argue passionately about how free-markets under the rule of law are the engines of freedom and prosperity for all.  However, when it comes to understanding the details of what environments are, this interest largely evaporates. Alas, if one can’t grow it, one does not really understand it [1].

Refined models target, for the most part, either the individual agent or specific aspects of environments. Psychology is supposed to be the great general science of individual human behavior [2], but what is the general science of human environments? As far as I can tell, Sociology is way too informal (and politically biased) to fill this role, with the exception of Social Network Analysis, which is too specific in its capabilities, and Agent-Based Modeling, which is really a part of Multi-Agent Systems (see below). Economics does address many environmental issues in barely precise terms, particularly through Macroeconomics, but its scope is limited. Not everything — thankfully — is about the production, consumption and exchange of goods.

My own interest in this matter arose from the behaviorist literature and its radical emphasis on observable behavior. This quickly leads to the consideration of the role of environments, since observation is something that takes place outside organisms. As a Computer Scientist, the next question that comes naturally is how this induces concurrent behavior. Nobody outside Computer Science has a general answer for that; Computer Scientists, it turns out, have it. Sadly, however, they themselves are not quite aware of that. Most of my peers act as if Computing is only about computers, machines, abstract Math and the like. The reason why they are so good in understanding concurrency while everyone else fails miserably is that, when programming computers, nothing will work properly unless one considers all the intricate details of the interaction between processes. Yet, once we step outside the realm of programming, this expertise vanishes as if a curse had been cast upon us! Few seem to realize the potential that the field’s developments hold as core parts of other sciences, not only as auxiliary tools. Laymen can be forgiven for having this view, but for professionals this is truly a disgrace. There are wonderful theoretical tools in concurrent systems, particularly with respect to process algebras (e.g., π-calculus, CSP and their many extensions), that are completely ignored by the vast majority of scientists, engineers and practitioners that could derive untold enlightenment from them. Ironically, part of this may well be due to environmental issues (e.g., how university departments are organized) [3], but we can’t really know without experimentation, since we don’t have the necessary tools to imagine.

There are exceptions. Notably, a lot of people in Artificial Intelligence (AI) and related fields get the deep relationship between Computer Science and other sciences. Nevertheless, they have mostly ignored environmental aspects too. In  Artificial Intelligence: A Modern Approach (2ed.), one of the most popular textbooks in the area, about 8 pages (Section 2.3) among 1000 are dedicated to the topic. Multi-Agent Systems people, a subgroup within AI, are perhaps those that can best appreciate such aspects, and yet even they have not invented many general environmental representations, having focused mostly on specific cases of interaction (e.g., argumentation, distributed problem solving, auctions, etc.). This might be a controversial statement, but another textbook example helps to support the case: in An Introduction to MultiAgent Systems (2ed.), well-known in the field, the word “environment” is not listed neither at the Glossary nor at the Index. The place where agents live doesn’t get its own noun, it is not considered worthy of reification! In my research I have attempted to address this (local download), following the lead of a few others. My developments are not conclusive, there is much work to be done, but I’m confident that it shows that considerable potential lies in seeing things this way. My contribution is in making this possibility more practical and concrete, but the key fundamental insight, which we can all thank Robin Milner for, is that communication is not a specific kind of computation, but a general way of seeing all computation [4]. It follows that all the complexity that we see in individual agents can be stated in terms of environmental concepts. This is amazing, isn’t it? It takes time and reflection to appreciate the implications; it certainly did for me, as the research for my thesis gradually shifted from agents to their environments, where I actually got my best results. Further shifts and generalizations were in order, but my career moved elsewhere.

Here are some ideas that come naturally once we realize that the world can be modeled in this manner:

  • Large corporations and governments, owing to their size, must be ruled by processes. Unfortunately, probably everybody knows just how crazy such processes can get. What if we could, at the push of a button, detect insane and unforeseen consequences of complex bureaucratic processes before they can cause harm? There is absolutely no technological issue here, it is a matter of properly stating the problem and building tools on top of existing technology and theory.
  • Endless economic debate could be settled by simply modeling and analyzing the interaction of economic agents, instead of using (in the best case) excessively abstract and biased Macroeconomics or (in the worst case) cheap ideology. Granted, it is far from obvious just what such a model would look like, but it is certainly something that should be a central part of Economics research. Unfortunately, Economists typically (though not always) know nothing of Computing, and Computer Scientists typically know nothing of Economics.
  • Architecture and Urban Planning could be revolutionized. From single homes to entire cities, every space of human interaction could be designed to optimally support precisely defined patterns of interaction. Conversely, existing spaces could be properly understood and improved.

In summary, by neglecting the obvious, we are possibly giving up a much more relaxed professional life, in a much richer world, in vastly more agreeable homes and cities — at the least. How can this be? A generous explanation is that perhaps in virtue of their omnipresence, environmental aspects disappear, just like air. A less generous one is that we are really bad at disseminating Computer Science knowledge, both through our own ranks and through society in general. Psychologists (it sounds insane, after all) or Economists (maybe there is a market failure or an opportunity cost here), this time well within their element, might have more satisfactory answers. What I do know with some conviction is that, while this state of affairs puzzles me, we should all start paying much more attention to and spending more resources on understanding, modeling and analyzing our environments as objects of interest in their own right.



[1] The converse, however, is not true. Just because one can simulate something, it does not follow that it relates to anything real. This is a major open issue in Multi-Agent Systems simulation.

[2] It is true that environmental influences are accounted for, but only insofar as they help to explain the behavior of individual agents. Social Psychology, for instance, cares for the environment only because it can help to address the local conditions of specific agents. Even approaches derived from behaviorism seem to consider mainly how the environment shapes each individual agent. Consider, for example, the infamous Skinner box. It is as if the rest of the interactions among organisms that follows from individual behavior is then a simple affair.

[3] Cognitive limitations are also fundamental here. Nevertheless, the environmental problem remains: how can people be organized so that they can work optimally given the nature of the human intellect?

[4] Mathematically, this means that a process algebra such as the π-Calculus is as expressive as a classical computation model such as the Lambda Calculus or the Turing Machine.

Share your thoughts