Showing posts with label communication. Show all posts
Showing posts with label communication. Show all posts

Thursday, 9 July 2020

book review: Adam's Task

Vicki Hearne.
Adam’s Task: calling animals by name.
Akadine Press. 1986

This is a book about taking domesticated animals seriously: training them, respecting them, and treating them as creatures with their own complex, non-human internal lives. It provides a deeply fascinating account of how domesticated animals relate to humans, and of our responsibilities to them. It is mostly about mostly dogs and horses, told through a series of in-depth stories of particular animals Hearne has trained, plus a chapter on how different cats are.

It is also a book about building a philosophy of communication with domesticated animals. No behaviourism or anthropomorphism or sentimentality, but instead a deep understanding of their existence and differences.

This is a difficult book to summarise, but it is an engrossing read. I was completely hooked, and devoured it in just two sittings. It is an inspiring view into minds simultaneously alien, and yet co-evolved with our own, so that we can communicate meaningfully, if we take the time to learn how.




For all my book reviews, see my main website.

Sunday, 9 December 2018

Narrating Complexity

My complimentary editor copies of our latest book have recently arrived.


This is an outcome of a fascinating collaboration we started way back in 2012.

blurb:
This book stages a dialogue between international researchers from the broad fields of complexity science and narrative studies. It presents an edited collection of chapters on aspects of how narrative theory from the humanities may be exploited to understand, explain, describe, and communicate aspects of complex systems, such as their emergent properties, feedbacks, and downwards causation; and how ideas from complexity science can inform narrative theory, and help explain, understand, and construct new, more complex models of narrative as a cognitive faculty and as a pervasive cultural form in new and old media.

The book is suitable for academics, practitioners, and professionals, and postgraduates in complex systems, narrative theory, literary and film studies, new media and game studies, and science communication.

See the Springer site for table of contents.

(This is the first time I have produced a book in anything other than LaTeX.  I won't be doing that again in a hurry.  But Springer made a great job of typeseting the ... shudder ... Word sources.)



Sunday, 12 August 2018

book review: Living with Complexity

Donald A. Norman.
Living with Complexity.
MIT Press. 2011

It is interesting to watch Norman’s design philosophy evolve over a series of books. His 1988 classic The Psychology of Everyday Things argues for simplicity and naturalness in design. In his 2004 Emotional Design he is arguing for the consideration of the users’ aesthetic reaction to that design. And by 2007, in The Design of Future Things, he is focussing on the need for good communication between our ever-“smarter” technologies and us.

This 2011 book, Living with Complexity, admits that maybe simplicity and aesthetics isn’t the be-all and end-all of design. Our world, both natural and technological, is a complex place, and we want rich, complex interactions with it. Norman’s argument here is that good design should support that rich complexity, rather than making life harder by being unnecessarily complicated.
[p2] I use the word “complexity” to describe a state of the world. The word “complicated” describes a state of mind. The dictionary definition for “complexity” suggests things with many intricate and interrelated parts, which is just how I use the term. The definition for “complicated” includes as a secondary meaning “confusing,” which is what I am concerned with in my definition of that word.
There is a consequence of wanting rich complexity, however: it takes time to learn how to master it. We are (or should be) willing to put in the time when the reward is that richness.
[p30] Do we dislike the fact that learning to read and write, play musical instruments, and drive a car are all so complex? Not really. We don’t mind complexity when it seems appropriate. Yes, we truly dislike spending an hour learning some arcane, bizarre machinery. But we are willing to spend weeks or years learning other things, where the difficulties and complexity seem appropriate to the tasks
The issue is that we are often not willing to put in the time to learn complex tools. We seem to think everything should be easy to use (maybe because we have read some of Norman’s earlier books?) Norman argues for an even-handed approach: a willingness of designers to design well, removing complication, coupled with a willingness from users to put in the time to learn how to use the well-designed toolset. (Personally, I am willing to put in the time, but only in a staged manner: I want standard tasks to be simple and do-able without needing the full “10,000 hours” of mastery first, and only the richer, more sophisticated tasks to require a corresponding level of extra effort. That property, presumably, is part of the non-complicated design requirement.)

Norman offers a few guidelines on how to design well for complexity. The main one is to take a whole systems view: don’t improve just a single part of a malfunctioning system, rather, analyse the system to find where the real problem is, and redesign the whole of the “user experience” from beginning to end.
[p148] Never solve the problem the client has asked you to solve. Why? Because the client is usually responding to the symptoms. The first job of the designer, sometimes the hardest part of the entire task, is to discover what the underlying problem is, what problem really needs to be solved. We call this finding the root cause.
Of course, this is easier said than done in most cases. However, it is good to see an emphasis on treating a complex system as something that needs to be engaged with, not simplified out of existence.

Unfortunately, I found the quality of the book itself somewhat poor. The text feels rushed and not fully polished, with a lot of repetition, as if an idea was written down, then reworded, but the original not deleted. The quality of the photographs is very poor: often too small and too dark to fully appreciate the point being illustrated. And I have the hardback, not just a paperback with traditionally poorer quality pictures. It is also typeset in a sans serif font, which I personally find ugly and hard to read. Nevertheless, there is an interesting and worthwhile idea in here, about taking a systems design view in a necessarily complex world.




For all my book reviews, see my main website.

Tuesday, 21 February 2017

central to the practice of knowledge formation

In defence of writing book reviews 
book reviews create dialogue between researchers. They offer reflection; they push questions; they challenge ideas; and they inform readers, authors and even the reviewers themselves. They force us to read attentively, to see the detail and then to communicate that to others. Book reviews are an innately collaborative and community based activity, in which we think and share our reactions to the important books of the day



For all my social networking posts, see my Google+ page

Saturday, 21 January 2017

film review: Arrival

The aliens have arrived, in 12 giant mysterious ships dotted around the planet. They are enigmatic, but seem to want to communicate. The Americans enlist the help of academic linguist Louise Banks [Amy Adams] and physicist Ian Donnelly [Jeremy Renner]. They gradually manage to establish communication, but does that important ambiguous word mean “weapon” or “tool”? Louise keeps having flashes of her life with her daughter Hannah, who dies tragically young: these images may hold the key to deciphering the aliens’ intent.

This is a very cerebral film, with a lot of talking about alien language and arguing about alien motives, with a small amount of misguided military action: the CGI goes into making the aliens nicely alien, not into swooping spacecraft and big explosions. The gradual increase in the protagonists’ language knowledge and confidence, and the sheer intellectual slog that involves getting that competence, are conveyed well. This description might make the film sound dull and slow, but the plot moves forward briskly and engrossingly. There’s the obligatory twist, which I am pleased to say I spotted before the reveal, but in truth it wasn’t that much before. It’s one of those interesting twists that might make you want to see the film again, to re-evaluate some of the events.

deciphering alien language

Despite the leading character being a woman, the film only barely passes the Bechdel test: her child is female, and they sometimes talk about things other than the father.

For a film about language and communication, there are a couple of places where that communication is a little opaque. Early on, the military is trying to enlist Louise, and threatening to go to another linguist if she doesn’t agree to their terms. She challenges them to ask the other linguist for the translation of the Sanskrit word for war. When they come back with the answer, it is given inaudibly against an overwhelming background of helicopter blades. I looked it up afterwards; it doesn’t seem to be germane to why they chose her over the other guy. The other communication incident, which is deliberate, is that a turning point in the film has Louise persuade a Chinese general to break off hostilities, by speaking a key sentence to him in Mandarin, and we get no subtitles. It works, even though we don’t know what was said. Again, I looked it up afterwards; the sentence is meaningful, but its content doesn’t actually matter, only that it works. In a sense, these two events seem more profound precisely because I didn’t know exactly what is said.

Overall, I really enjoyed this. It is nice to see people solving problems with their brains rather than with their fists and guns, for a change.




For all my film reviews, see my main website.

Friday, 15 July 2016

UCNC day 5

The final (half) day of UCNC in Manchester.

The last invited speaker of the conference was Steve Furber, talking about the SpiNNaker project (SpiNNaker stands for  "Spiking Neural Network Architecture").  After some interesting historical context, he told us of the SpiNNaker machine: one million processors in an asynchronous spiking architecture.  The preliminary machine, with 500,000 cores, was launched 30 Mar 2016, and more cores have been added since.  It can be programmed in the Python PyNN language.  For example, 165 lines of Python are needed for a Sudoku solver, where the neuronal groups inhibit other groups with the same integer value in the the same row, column, or 3x3 cell.  Once a solution has been found, the inhibitory links decrease, and the spiking rate goes up, solving a "diabolical" puzzle in about 10 seconds.  This isn't just a toy: it is representative of complex constraint problems.  So far people have only been running small programs, as they think how to scale up their ideas.  Although each core is a standard processor, exploiting the asynchronous spiking communication requires a different way of thinking.

Then on to the final technical session.  First was a talk on "Model-Based Computation"; an attempt to extend the definition of analogue computation (which implements a model analgous to the problem) in a way that can cover more of unconventional computation.  Then a couple of mathematical talks about chemical reaction system formalisms.  The first, "Towards Quantitative Verification of Reaction Systems" encoded the system in a formal solver to prove properties.  The next, "Reachability Problems for Continuous Chemical Reaction Networks" looked at proving safety properties in systems with continuous values of reactant concentrations.  The final talk was on "Global Network Cooperation Catalysed by a Small Prosocial Migrant Clique", looking at evolutionary game theory in networks with no global knowledge, and how a small clique of cooperators migrating into a network of defectors could change it to a network of cooperators.

So, another conference ends.  Next year, in Arkansas.

After two solid weeks of travel and listening, my brain is full of exciting science, and I need a lot of sleep!  I'm looking forward to getting home for a bit of a rest.

Thursday, 14 July 2016

UCNC day 4

UCNC day 4, with an embarrassment of riches in the form of invited talks.

We kicked off with an invited talk from Friedrich Simmel on “Chemical Communication Between Cell-Sized Reaction Compartments”. This was a fascinating account about a series of experiments sending signals between cells, droplets, and “genelets” (droplets containing cellular “naked” genetic machinery), based on the ideas of quorum sensing: when a high enough chemical signal concentrations is produced, because there are enough producers around, it invokes a response. We saw droplets signalling the chemicals, inducing bacteria to react, and that signal propagating through multiple droplets. Apparently there is a “bacterial Turing test”: can you make a droplet that a bacterium will interact with (through chemical signals) just as if it were another bacterium? These systems pass it. Through a clever use of microfluidics, we saw videos of sheets of bacteria interacting, via fluorescent protein production. The fluorescence increases both due to the being switched on by the signalling, and due to the bacteria reproducing, two process with similar timescales. The possibilities of this approach include forming spatial and temporal patterns through reaction-diffusion systems of interacting genetically programmed droplets. If all this wasn’t enough, Simmel finished his talk with a description of using electron lithography to etch chips, deposit gene-length strands of DNA in a controlled manner, which could then be manipulated to stick together (condense) into linear bundles. It’s early days yet; next on the agenda is using gene expression to control the condensation. Heady stuff!

Next was the workshop on Physics and Computation. Gilles Dowek started with an invited talk on “Quantitative Informational Aspects in Discrete Physics”. Gandy has shown that if a system (1) is homogeneous in space and time; (2) has a bounded speed of information transport; (3) has a bounded density of information, then it can be simulated by a cellular automaton. Since physics appears to satisfy these properties, it should be so simulable. Then came a short but necessary digression on Planck’s constant. The physical constant c has the dimensions of a speed, and it is the speed of light. Planck’s constant has the dimension of an action; what action is it? After a bit of discussion, it turns out that it is (a small multiple of) the area of a bit of information (in a particular choice of units where everything has a dimension that is some power of length) as given by the Bekenstein bound. Then Dowek went through how to build a CA in Newtonian physics, special relativity, and general relativity, that models free fall (subject to some assumptions). It can’t be done in Newtonian physics, because there is no bound on speed. In SR it can be done, with particles that contain 320 bits of information (using the Planck area); in GR they only need 168 bits. This is an existence proof, but the CAs defined are not very satisfactory, for several reasons. The task is to do better! Listening to this, I recalled Randal Beer’s Game of Life talk from ALife last week: looking at a CA in terms of processes rather than cells gives a much more natural formulation. I wonder if that would work here? 

Then we had a talk about “The Information Content of Systems in General Physics Theories”. The idea here is to look at a broad range of probabilistic theories, of which quantum mechanics is one instance. Investigating their computational complexity of the “advice” given by a physical system can shed light on what makes QM special, different from just a general theory.

After lunch Ana Belén Sainz gave an invited talk on “Postquantum Steering”. This was in the same vein as the previous talk: look at a general theory, then compare with QM. Here the idea was applied to one particular kind of system: how much can Bob “steer” distant Alice’s state, by making measurements on his own state?

Next came some more talks. The first, on “Sequent Calculus Representations for Quantum Circuits”, was an approach to making reasoning about quantum circuits look like proof theoretic reasoning in other branches of computer science, by finding an appropriate set of axioms. Next was a talk on “Physical Computation, P/poly and P/log*”, looking at the computational complexity of physical computing as an unconventional co-processor, in terms of its advice complexity. After coffee we had a talk on “Local Searches Using Quantum Annealers: How to Beat Noise and Take Advantage of the Classical Algorithms we Already Have, or, Modernising Quantum Annealing using Local Search”. This contrasted classical simulated annealing, including its two improvements of parallel tempering and population annealing, with the quantum version: quantum annealing. Each has is strengths and weakeness; here was a suggestion of how to use the quantum annealing as a “subroutine”, getting the best of both approaches. The final workshop talk was on “Quantum Probability as an Application of Data Compression Principles”, a philosophical look at probabilities in general, and branching world probabilities in particular.

The day was then completed with a further invited talk, Bob Coecke talking “In Pictures: From Quantum Foundations to Natural Language Processing”. He zipped through a beautiful, formal, diagrammatic notation for quantum systems, and how the power of this notation makes many complicated quantum puzzles ad proofs essentially vanish. There will be a book, Picturing Quantum Processes, from Cambridge University press covering this published soon.  It's 922pp: pictures take a lot of space!  After all this the quantum mechanics, he went off in an unexpected direction, by showing how the very same notation could be used to calculate the meaning of sentences from their underlying grammar and the meaning of the individual words. Some modern meaning systems use high dimensional vectors to encapsulate word meanings. Adding the grammar via the diagrams improves the calculated meaning enormously. Thinking about the mathematical structures needed leads to the suggestion of using density matrices rather than vectors, to cope with ambiguous meanings. I love this kind of work: a deep piece of work in one domain that is not only applicable in a seemingly unrelated domain, but that suggests advances there, too.

Wednesday, 3 February 2016

simulation the CoSMoS way

not this cover, sadly
We are currently writing a book about how to design, build, and use computer simulations “as scientific instruments”, using out CoSMoS (Complex Systems Modelling and Simulation) approach.  This is taking somewhat longer than planned, as other things always seem to have higher priority.

One of those other things is the CellBranch research project, funded by BBSRC, which finished last year.  We’ve just published a technical report describing in detail what we’ve done on the simulation side.

We used the CoSMoS approach, as described in that book in preparation.  The structured approach helped us enormously, particularly in getting to grips with the biological model we were simulating.  The report describes three increments of the simulation, and how to access the software developed.

One process step we invented, which is not part of the official approach in the current draft of the book, was a thing we dubbed the to don’t list.  We built the system incrementally, starting with a very simple version, then systematically adding the needed complexity.  While we were developing each increment, we kept having ideas about what would be needed next.  We wanted to remember these, but we also wanted to make it crystal clear that they were not to be included in the current increment.  So they got added to the to don’t list.

This turned out not to be just a helpful aide-memoire, but had an interesting side effect.  One feature of the CoSMoS approach is listing and justifying the assumptions being made during modelling and development.  Such assumptions are always made, but are often not documented, and so are promptly forgotten.  Making assumptions explicit, and teasing out their consequences, helps communication within a multidisciplinary team (here biologists and software engineers): “oh, that means we won’t be able to do X”.  And it helps enormously in subsequent increments, if one of the earlier, no longer forgotten, assumptions becomes invalidated because of new assumptions.  Nearly everything that went onto the to don’t list could be cast as an assumption: Y on the to don’t list could become “Y isn’t needed this increment, because…”.  This gave us much better insight into what the current increment could actually provide in terms of scientific understanding.

So now the to don’t list is being added to the official approach.  Maybe it’s a good job we hadn’t delivered the book on the original schedule, else we wouldn’t be able to make this valuable addition!  I hope the acquiring editor sees it the same way…

Friday, 17 April 2015

over-personalised communication

It’s general election time in the UK, so we are getting bombarded with pamphlets from all the parties.

I found the latest one to drop through the letterbox to be startlingly over-specific.


Nice, though rather surprising, to know this candidate is securing an entire country’s future just for little old me.  But I think maybe there are other people who need the future secured for them, too, and probably moreso?  How about securing Britain’s future for everyone?

Okay, I know this isn’t actually just about me (yes, really!).  But I find it a really weird phrasing.

Monday, 27 May 2013

the power of abstraction

Prof Karen Spärk Jones
Prof Barbara Liskov
Last week I popped down to London to attend this year's annual Karen Spärk Jones lecture, sponsored by the BCS and IBM.  This year's speaker was Professor Barbara Liskov, from MIT, winner of the 2008 ACM A.M. Turing award.  Her talk was titled "The power of abstraction", and she gave us an historical overview of her work.

The excellent talk was videoed, and should be online at some point.  Here I just want to pick up on the points that particularly resonated for me.

She started off talking about the software crisis of the early 1970s.  There have been several software crises: this was probably the first named one.  People didn't know how to write large pieces of software, there was no methodology, and the programming languages of the day didn't help.  Dijkstra had published his classic paper, Go To Statement Considered Harmful, in Comms ACM in 1968, calling attention to one aspect of the problem.  Nowadays everyone has heard of this paper;  "considered harmful" in a title has become a CS trope.

What I didn't realise about his paper, however, was the reaction to it.  Liskov explained that many programmers were insulted: of course they could write understandable programs with gotos.  But more interestingly, there was a doubt about whether it was even possible to write all programs without gotos.  Today, of course, this problem is solved; we deride "spaghetti programming", and instead use languages that incorporate structured gotos encapsulated in commands such as if, for, while, break, continue, and try. (Although OO allows the possibility of spaghetti messaging.)

Liskov went on to talk about her own contributions to teasing out what was needed to structure code: the abstract data type.  She and her team designed and implemented the influential language CLU (short for "cluster", the name of its abstraction mechanism), which included ADTs, static type checking, separate compilation, polymorphism, iterators, and exception handling --- but no goto statement.

For this and subsequent work, Liskov won the prestigious Turing Award in 2008.  She said that when the award was announced, some student commented: "What did she get this award for? Everyone knows this, anyway!"  Precisely: everyone does, now.

Liskov finished off by talking about the present. We have seen Moore's Law take a right-angled turn recently: instead of chips getting small and faster, they have gone multi-core.  In the past, we have not had to worry too much about parallel processing, except in certain specialised domains, because Moore's Law would provide a single processor with the required power in a few years.  Now, for the first time, we have to bite the bullet of parallelism in everyday computing.  Liskov is now working on methodologies and language support for parallel computing, not for systems with just 4 or 8 cores, but with hundreds or thousands of cores.

In my mind, this folded neatly back to the beginning of her talk, and a relevant quote from Dijkstra's paper:
Our powers to visualize processes evolving in time are relatively poorly developed.  For this reason we should do ... our utmost to shorten the conceptual gap between the static program and the dynamic process, to make the correspondence between the program (spread out in text space) and the process (spread out in time) as trivial as possible. ...
    The unbridled use of the go to statement has an immediate consequence that it becomes terribly hard to find a meaningful set of coordinated in which to describe the process progress.

Back in the 1980s I was using occam, a parallel programming language.  One thing that struck me forcibly at the time was that the traditional linear textual form of occam code was completely divorced from the underlying static parallel structure (let alone the parallel temporal execution structure).  It was very easy to get lost in a spaghetti of communication channels.  I was so irritated, I even developed a 2D visualisation of the program structure.

So, what are the right static structures and abstraction principles to help us build dynamic parallel programs?  There are already many languages with parallelism, but I suspect that in 40 years time we will look back on them with the same pity we today reserve for the humble go to.  Let's hope Liskov and her successors can find the answer.