Archive for the 'Computer Science' Category

By their voice ye shall know them

Effective strategies are often counter-intuitive.  If you are speaking to a large group, some of whom are speaking to each other, your natural tendency will be to try to speak over them, to speak more loudly.  But doing this just encourages the talkers in the audience to increase their levels of speech, and so an arms race results.   Better for you to speak more softly, which means that audience talkers can hear themselves more clearly over you, and so typically, and unthinkingly, drop the levels of their own speech.

A recent issue of ACM Transactions on Computer Systems (ACM TOCS) carries a paper with a wonderful example of this principle.  Faced with a denial-of-service attack, they propose that a server ask all its clients to increase their messages to the server.  Most likely, attackers among the clients are already transmitting at their local full capacity, and so are unable to do this, which means that messages from attackers will form a decreasing proportion of all messages received by the server.   The paper abstract is:

This article presents the design, implementation, analysis, and experimental evaluation of speak-up, a defense against application-level distributed denial-of-service (DDoS), in which attackers cripple a server by sending legitimate-looking requests that consume computational resources (e.g., CPU cycles, disk). With speak-up, a victimized server encourages all clients, resources permitting, to automatically send higher volumes of traffic. We suppose that attackers are already using most of their upload bandwidth so cannot react to the encouragement. Good clients, however, have spare upload bandwidth so can react to the encouragement with drastically higher volumes of traffic. The intended outcome of this traffic inflation is that the good clients crowd out the bad ones, thereby capturing a much larger fraction of the server’s resources than before. We experiment under various conditions and find that speak-up causes the server to spend resources on a group of clients in rough proportion to their aggregate upload bandwidths, which is the intended result.

Reference:

Michael Walfish, Mythili Vukurutu, Hari Balakrishnan, David Karger and Scott Shenker [2010]:  DDoS defense by offense.  ACM Transactions on Computer Systems, 28 (1), article 3.




Informatics

A recent issue of the Communications of the ACM has an interesting article about degrees in Informatics, by Dennis Groth and Jeffrey Mackie-Mason.  They present a nice definition of the subject in this para:

The vision for informatics follows from the natural evolution of computing. The success of computing is in the resolution of problems, found in areas that are predominately outside of computing. Advances in computing—and computing education—require greater understanding of the problems where they are found: in business, science, and the arts and humanities. Students must still learn computing, but they must learn it in contextualized ways. This, then, provides a definition for informatics: informatics is a discipline that solves problems through the application of computing or computation, in the context of the domain of the problem. Broadening computer science through attention to informatics not only offers insights that will drive advances in computing, but also more options and areas of inquiry for students, which will draw increasing numbers of them to study computation.

Sadly, these views are not uncontroversial, as the online experiences which motivated my parody here illustrate.  The interesting experience of Georgia Tech, where the School of Computing is split into three parts  – Computer Science; Interactive Computing; and Computational Science and Engineering, -  is described here.

Reference:

Dennis P. Groth and Jeffrey K. MacKie-Mason [2010]: Why an Informatics degree?  Isn’t computer science enough? Communications of the ACM, 53 (2):  26-28.  Available here.

Technorati Tags: , ,




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

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. 

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, 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: , , , , ,




Doing a PhD

These are some notes on deciding to do a PhD, notes I wrote some years ago after completing my own PhD.

Choosing a PhD program is one of the hardest decisions we can make. For a start, most of us only make this decision once in our lives, and so we have no prior personal experience to go on.

Second, the success or otherwise of a PhD depends a great deal on factors about which we have little advanced knowledge or control, including, for example:

Continue reading ‘Doing a PhD’




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.

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: , ,




The websearch-industrial complex

I think it is now well-known that the creation of Internet was sponsored by the US Government, through its military research funding agencies, ARPA (later DARPA).   It is perhaps less well-known that Google arose from a $4.5 million research project sponsored also by the US Government, through the National Science Foundation.   Let no one say that the USA has an economic system involving “free” enterprise.

In the primordial ooze of Internet content several hundred million seconds ago (1993), fewer than 100 Web sites inhabited the planet. Early clans of information seekers hunted for data among the far larger populations of text-only Gopher sites and FTP file-sharing servers. This was the world in the years before Google.

Continue reading ‘The websearch-industrial complex’

Technorati Tags: ,




Straitjackets of Standards

This week I was invited to participate as an expert in a Delphi study of The Future Internet, being undertaken by an EC-funded research project.   One of the aims of the project is to identify multiple plausible future scenarios for the socio-economic role(s) of the Internet and related technologies, after which the project aim to reach a consensus on a small number of these scenarios.  Although the documents I saw were unclear as to exactly which population this consensus was to be reached among, I presume it was intended to be a consensus of the participants in the Delphi Study.

I have a profound philosophical disagreement with this objective, and indeed with most of the EC’s many efforts in standardization.   Tim Berners-Lee invented Hyper-Text Transfer Protocol (HTTP), for example, in order to enable physicists to publish their research documents to one another in a manner which enabled author-control of document appearance.    Like most new technologies. HTTP was not invented for the many other uses to which it has since been put; indeed, many of these other applications have required hacks or fudges to HTTP in order to work.  For example, because HTTP does not keep track of the state of a request, fudges such as cookies are needed.  If we had all been in consensual agreement with The Greatest Living Briton about the purposes of HTTP, we would have no e-commerce, no blogging, no social networking, no easy remote access to databases, no large-scale distributed collaborations, no easy action-at-a-distance, in short no transformation of our society and life these last two decades, just the broadcast publishing of text documents. 

Let us put aside this childish, warm-and-fuzzy, touchy-feely seeking after consensus.  Our society benefits most from a diversity of opinions and strong disagreements, a hundred flowers blooming, a cacophony of voices in the words of Oliver Wendell Holmes.  This is particularly true of opinions regarding the uses and applications of innovations.   Yet the EC persists, in some recalcitrant chasing after illusive certainty, in trying to force us all into straitjackets of standards and equal practice.    These efforts are misguided and wrong-headed, and deserve to fail.

Technorati Tags: , ,




Myopic utilitarianism

What are the odds, eh?  On the same day that the Guardian publishes an obituary of theoretical computer scientist, Peter Landin (1930-2009), pioneer of the use of Alonzo Church’s lambda calculus as a formal semantics for computer programs, they also report that the Government is planning only to fund research which has relevance  to the real-world.  This is GREAT NEWS for philosophers and pure mathematicians! 

What might have seemed, for example,  mere pointless musings on the correct way to undertake reasoning – by Aristotle, by Islamic and Roman Catholic medieval theologians, by numerous English, Irish and American abstract mathematicians in the 19th century, by an entire generation of Polish logicians before World War II, and by those real-world men-of-action Gottlob Frege, Bertrand Russell, Ludwig Wittgenstein and Alonzo Church – turned out to be EXTREMELY USEFUL for the design and engineering of electronic computers.   Despite Russell’s Zen-influenced personal motto – “Just do!  Don’t think!” (later adopted by IBM) – his work turned out to be useful after all.   I can see the British research funding agencies right now, using their sophisticated and proven prognostication procedures to calculate the society-wide economic and social benefits we should expect to see from our current research efforts over the next 2300 years  – ie, the length of time that Aristotle’s research on logic took to be implemented in technology.   Thank goodness our politicians have shown no myopic utilitarianism this last couple of centuries, eh what?!

All while this man apparently received no direct state or commercial research funding for his efforts as a computer pioneer, playing with “pointless” abstractions like the lambda calculus.

And Normblog also comments.

Technorati Tags: ,