Archive for the 'Computing-as-interaction' Category Page 2 of 2



This Much I Know (about CS and AI)

Inspired by The Guardian column of the same name, I decided to list here my key learnings of the last several years regarding Computer Science and Artificial Intelligence (AI). Few of these are my own insights, and I welcome comments and responses. From arguments I have had, I know that some of these statements are controversial; this fact surprises me, since most of them seem obvious to me. Statements are listed, approximately, from the more general to the more specific.




Vale: Robin Milner

 

The death has just occurred of Robin Milner (1934-2010), one of the founders of theoretical computer science.   Milner was an ACM Turing Award winner and his main contributions were a formal theory of concurrent communicating processes and, more recently, a category-theoretic account of hyperlinks and embeddings, his so-called theory of bigraphs.   As we move into an era where the dominant metaphor for computation is computing-as-interaction, the idea of concurrency has become increasingly important; however, understanding, modeling and managing it have proven to be among the most difficult conceptual problems in modern computer science.  Alan Turing gave the world a simple mathematical model of computation as the sequential writing or erasing of characters on a linear tape under a read/write head, like a single strip of movie film passing back and forth through a projector.  Despite the prevalence of the Internet and of ambient, ever-on, and ubiquitous computing, we still await a similar mathematical model of interaction and interacting processes.  Milner’s work is a major contribution to developing such a model. In his bigraphs model, for example, one graph represents the links between entities while the other represents geographic proximity or organizational hierarchy.

Robin was an incredibly warm, generous and unprepossessing man.   About seven years ago, without knowing him at all, I wrote to him inviting him to give an academic seminar; even though famous and retired, he responded positively, and was soon giving a very entertaining talk on bigraphs (a representation of which is on the blackboard behind him in the photo).  He joined us for drinks in the pub afterwards, buying his round like everyone else, and chatting amicably with all, talking both about the war in Iraq and the problems of mathematical models based on pre-categories.  He always responded immediately to any of my occasional emails subsequently.

The London Times has an obituary here, and the Guardian here (from which the photo is borrowed).

References:

Robin Milner [1989]: Communication and Concurrency. Prentice Hall.

Robin Milner [1999]: Communicating and Mobile Systems: the Pi-Calculus. Cambridge University Press.

Robin Milner [2009]: The Space and Motion of Communicating Agents. Cambridge University Press.

Technorati Tags: , , , , ,




Research funding myopia

The British Government, through its higher education funding council, is currently considering the use of socio-economic impact factors when deciding the relative rankings of university departments in terms of their research quality, the Research Assessment Exercise (RAE), held about every five years.   These impact factors are intended to measure the social or economic impact of research activities in the period of the RAE (ie, within 5 years). Since the RAE is used to allocate funds for research infrastructure to British universities these impact factors, if implemented, will thus indirectly decide which research groups and which research will be funded.    Some academic reactions to these proposals are here and here.

From the perspective of the national economy and technological progress, these proposals are extremely misguided, and should be opposed by us all.    They demonstrate a profound ignorance of where important ideas come from, of when and where and how they are applied, and of where they end up.  In particular, they demonstrate great ignorance of the multi-disciplinary nature of most socio-economically-impactful research.

One example will demonstrate this vividly.  As more human activities move online, more tasks can be automated or semi-automated.    To enable this, autonomous computers and other machines need to be able to communicate with one using shared languages and protocols, and thus much research effort in Computer Science and Artificial Intelligence these last three decades has focused on designing languages and protocols for computer-to-computer communications.  These protocols are used in various computer systems already and are likely to be used in future-generation mobile communications and e-commerce systems. 

Despite its deep technological nature, research in this area draws fundamentally on past research and ideas from the Humanities, including: 

  • Speech Act Theory in the Philosophy of Language (ideas due originally to Adolf Reinach 1913, John Austin 1955, John Searle 1969 and Jurgen Habermas 1981, among others)
  • Formal Logic (George Boole 1854, Clarence Lewis 1910, Ludwig Wittgenstein 1922, Alfred Tarski 1933, Saul Kripke 1959, Jaakko Hintikka 1962, etc), and
  • Argumentation Theory (Aristotle c. 350 BC, Stephen Toulmin 1958, Charles Hamblin 1970, etc). 

Assessment of the impacts of research over five years is laughable when Aristotle’s work on rhetoric has taken 2300 years to find technological application.   Even Boole’s algebra took 84 years from its creation to its application in the design of electronic circuits (by Claude Shannon in 1938).  None of the humanities scholars responsible were doing their research to promote technologies for computer interaction or to support e-commerce, and most would not have even understood what these terms mean.  Of the people I have listed, only John Searle (who contributed to the theory of AI), and Charles Hamblin (who created one of the first computer languages, GEORGE, and who made major contributions to the architecture of early computers, including invention of the memory stack), had any direct connection to computing.   Only Hamblin was afforded an obituary by a computer journal (Allen 1985).

None of the applications of these ideas to computer science were predicted, or even predictable.  If we do not fund pure research across all academic disciplines without regard to its potential socio-economic impacts, we risk destroying the very source of the ideas upon which our modern society and our technological progress depend. 

Reference:

M. W. Allen [1985]: “Charles Hamblin (1922-1985)”. The Australian Computer Journal, 17(4): 194-195.

Technorati Tags:




Vale: Stephen Toulmin

The Anglo-American philosopher, Stephen Toulmin, has just died, aged 87.   One of the areas to which he made major contributions was argumentation, the theory of argument, and his work found and finds application not only in philosophy but in computer science.    

For instance, under the direction of John Fox, the Advanced Computation Laboratory at Europe’s largest medical research charity, Cancer Research UK (formerly, the Imperial Cancer Research Fund) applied Toulmin’s model of argument in computer systems they built and deployed in the 1990s to handle conflicting arguments in some domain.  An example was a system for advising medical practitioners with the arguments for and against prescribing a particular drug to a patient with a particular medical history and disease presentation.  One company commercializing these ideas in medicine is Infermed.    Other applications include the automated prediction of chemical properties such as toxicity (see for example, the work of Lhasa Ltd), and dynamic optimization of extraction processes in mining.

S E Toulmin

For me, Toulmin’s most influential work was was his book Cosmopolis, which identified and deconstructed the main biases evident in contemporary western culture since the work of Descartes:

  • A bias for the written over the oral
  • A bias for the universal over the particular
  • A bias for the general over the local
  • A bias for the timeless over the timely.

Formal logic as a theory of human reasoning can be seen as example of these biases at work. In contrast, argumentation theory attempts to reclaim the theory of reasoning from formal logic with an approach able to deal with conflicts and gaps, and with special cases, and less subject to such biases.    Norm’s dispute with Larry Teabag is a recent example of resistance to the puritanical, Descartian desire to impose abstract formalisms onto practical reasoning quite contrary to local and particular sense.

Another instance of Descartian autism is the widespread deletion of economic history from gradaute programs in economics and the associated priviliging of deductive reasoning in abstract mathematical models over other forms of argument (eg, narrative accounts, laboratory and field experiments, field samples and surveys, computer simulation, etc) in economic theory.  One consequence of this autism is the Great Moral Failure of Macroeconomics in the Great World Recession of 2008-onwards.

References:

S. E. Toulmin [1958]:  The Uses of Argument.  Cambridge, UK: Cambridge University Press. 

S. E. Toulmin [1990]: Cosmopolis:  The Hidden Agenda of Modernity.  Chicago, IL, USA: University of Chicago Press.

Technorati Tags: , ,




Computing-as-interaction

In its brief history, computer science has enjoyed several different metaphors for the notion of computation.  From the time of Charles Babbage in the nineteenth century until the mid-1960s, most people thought of computation as calculation, or the manipulation of numbers.  Indeed, the English word “computer” was originally used to describe a person undertaking arithmetical calculations.  With widespread digital storage and processing of non-numerical information from the 1960s onwards, computation was re-conceptualized more generally as information processing, or the manipulation of numerical-, text-, audio- or video-data.  This metaphor is probably still the prevailing view among people who are not computer scientists.  From the late 1970s, with the development of various forms of machine intelligence, such as expert systems, a yet more general metaphor of computation as cognition, or the manipulation of ideas, became widespread, at least among computer scientists.  The fruits of this metaphor have been realized, for example, in the advanced artificial intelligence technologies which have now been a standard part of desktop computer operating systems since the mid-1990s.  Windows95, for example, included a Bayesnet for automated diagnosis of printer faults.

With the growth of the Internet and the Web over the last two decades, we have reached a position where a new metaphor for computation is required:  computation as interaction, or the joint manipulation of ideas and actions. In this metaphor, computation is something which happens by and through the communications which computational entities have with one another.  Cognition and intelligent behaviour is not something which a computer does on its own, or not merely that, but is something which arises through its interactions with other intelligent computers to which is connected.  The network is the computer, in SUN’s famous phrase.  This viewpoint is a radical reconceptualization of the notion of computation.

coveral3roadmap

In this new metaphor, computation is an activity which is inherently social, rather than solitary, and this view leads to a new ways of conceiving, designing, developing and managing computational systems.  One example of the influence of this viewpoint, is the model of software as a service, for example in Service Oriented Architectures.  In this model, applications are no longer “compiled together” in order to function on one machine (single user applications), or distributed applications managed by a single organisation (such as most of today’s Intranet applications), but instead are societies of components:

  • These components are viewed as providing services to one another rather than being compiled together.  They may not all have been designed together or even by the same software development team; they may be created, operate and de-commissioned according to different timescales; they may enter and leave different societies at different times and for different reasons; and they may form coalitions or virtual organizations with one another to achieve particular temporary objectives.  Examples are automated procurement systems comprising all the companies connected along a supply chain, or service creation and service delivery platforms for dynamic provision of value-added telecommunications services.
  • The components and their services may be owned and managed by different organisations, and thus have access to different information sources, have different objectives, have conflicting preferences, and be subject to different policies or regulations regarding information collection, storage and dissemination.  Health care management systems spanning multiple hospitals or automated resource allocation systems, such as Grid systems, are examples here.
  • The components are not necessarily activated by human users but may also carry out actions in an automated and co-ordinated manner when certain conditions hold true.  These pre-conditions may themselves be distributed across components, so that action by one component requires prior co-ordination and agreement with other components.  Simple multi-party database commit protocols are examples of this, but significantly more complex co-ordination and negotiation protocols have been studied and deployed, for example in utility computing systems and in ad hoc wireless networks.
  • Intelligent, automated components may even undertake self-assembly of software and systems, to enable adaptation or response to changing external or internal circumstances.  An example is the creation of on-the-fly coalitions in automated supply-chain systems in order to exploit dynamic commercial opportunities.  Such systems resemble those of the natural world and human societies much more than they do the example arithmetical calculations  programs typically taught in Fortran classes, and so ideas from biology, ecology, statistical physics, sociology, and economics play an increasingly important role in computer science.

How should we exploit this new metaphor of computation as a social activity, as interaction between intelligent and independent entities, adapting and co-evolving with one another?  The answer, many people believe, lies with agent technologies.  An agent is a computer programme capable of flexible and autonomous action in a dynamic environment, usually an environment containing other agents.  In this abstraction, we have software entities called agents, encapsulated, autonomous and intelligent, and we have demarcated the society in which they operate, a multi-agent system.  Agent-based computing concerns the theoretical and practical working through of the details of this simple two-level abstraction.

Reference:

Text edited slightly from the Executive Summary of:

M. Luck, P. McBurney, S. Willmott and O. Shehory [2005]: The AgentLink III Agent Technology Roadmap. AgentLink III, the European Co-ordination Action for Agent-Based Computing, Southampton, UK.

Technorati Tags: , , , ,




Action-at-a-distance

For at least 22 years, I have heard business presentations (ie, not just technical presentations) given by IT companies which mention client-server architectures.   For the last 17 of those years, this is not suprising, since both the Hyper-Text Transfer Protocol (HTTP) and the World-Wide Web (WWW) use this architecture.    In a client-server architecture, one machine (the client) requests that some action be taken by another machine (the server), which responds to the request.  For HTTP, the standard request by the client is for the server to send to the client some electronic file, such as a web-page.  The response by the server is not necessarily to undertake the action requested.    Indeed, the specifications of HTTP define 41 responses (so-called status codes), including outright refusal by the server (Client Error 403 “Forbidden”), and allow for hundreds more to be defined.  Typically, one server will be configured to respond to many simultaneous or near-simultaneous client requests.   The functions of client and server are conceptually quite distinct, although of course, one machine may undertake both functions, and a server may even have to make a request as a client to another server in order to respond to an earlier request from its clients.   As an analogy, consider a library which acts like a server of books to its readers, who are its clients;  a library may have to request a book via inter-library loan from another library in order to satisfy a reader’s request.

Since the rise of file sharing, particularly illegal file sharing, over a decade ago, it has also been common to hear talk about Peer-to-Peer (P2P) architectures.   Conceptually, in these architectures all machines are viewed equally, and none are especially distinguished as servers.   Here, there is no central library of books; rather, each reader him or herself owns some books and is willing to lend them to any other reader as and when needed.   Originally, peer-to-peer architectures were invented to circumvent laws on copyright, but they turn out (as do most technical innovations) to have other, more legal, uses – such as the distributed storage and sharing of electronic documents in large organizations (eg, xray images in networks of medical clinics).

Both client-server and P2P architectures involve attempts at remote control.  A client or a peer-machine makes a request of another machine (a server or another peer, respectively), to undertake some action(s) at the location of the second machine.   The second machine receiving the request from the first may or may not execute the request.   This has led me to think about models of such action-at-a-distance.

Imagine we have two agents (human or software), named A and B, at different locations, and a resource, named X, at the same location as B.   For example, X could be an electron microscope, B the local technician at site of the microscope, and  A a remote user of the microscope. Suppose further that agent B can take actions directly to control resource X.   Agent A may or may not have permissions or powers to act on X.

Then,  we have the following five possible situations:

1.  Agent A controls X directly, without agent B’s involvement (ie, A has remote access to and remote control over resource X).

2.  Agent A commands agent B to control X (ie, A and B have a master-slave relationship; some client-server relationships would fall into this category).

3.  Agent A requests agent B to control X (ie, both A and B are autonomous agents; P2P would be in this category, as well as many client-server interactions).

4.  Both agent A and agent B need to take actions jointly to control X (eg, the double-key system for launch of nuclear missiles in most nuclear-armed forces; coalitions of agents would be in this category)

5.  Agent A has no powers, not direct nor indirect, to control resource X.

As far as I can tell, these five situations exhaust the possible relationships betwen agents A and B acting on resource X, at least for those cases where potential actions on X are initated by agent A.  From this outline, we can see the relevance of much that is now being studied in computer science:

  • Action co-ordination (Cases 1-5)
  • Command dialogs (Case 2)
  • Persuasion dialogs (Case 3)
  • Negotiation dialogs (dialogs to divide a scarce resource) (Case 4)
  • Deliberation dialogs (dialogs over what actions to take) (Cases 1-4)
  • Coalitions (Case  4).

To the best of my knowledge, there is as yet no formal theory which encompasses these five cases.   (I welcome any suggestions or comments to the contrary.)  Such a formal theory is needed as we move beyond Web 2.0 (the web as means to create and sustain social networks) to reification of the idea of computing-as-interaction (the web as a means to co-ordinate joint actions).

Reference:

Network Working Group [1999]: Hypertext Transfer Protocol – HTTP/1.1. Technical Report RFC 2616.  Internet Engineering Task Force.

Technorati Tags: , , , , ,