Discussion and Related Work

\label{sec:discussion}

In Section \ref{sec:computational-serendipity}, we applied our model to evaluate the serendipity of an evolutionary music improvisation system, a system for automatically assembling flowcharts, and a hypothetical class of next-generation recommender systems.

The model has helped to highlight directions for development that would increase a system’s potential for serendipity, either incrementally or more transformatively. Our model outlines a path towards the development of systems that can observe events that would otherwise not be observed, take an interest in them, and transform the observations into artefacts with lasting value.

Related work

\label{sec:related}

Paul André et al.  previously proposed a two-part model of serendipity encompassing “the chance encountering of information, and the sagacity to derive insight from the encounter.” The first phase has been automated more frequently – but these authors suggest that computational systems should be developed that support both aspects. They specifically suggest to pursue this work by developing systems with better representational features: domain expertise and a common language model.

These features seem to exemplify aspects of the prepared mind. However, the bridge is a distinct step in the process that preparation can support, but that it does not always fully determine. Domain understanding is not always a precondition; it can be emergent. For instance, persons involved in a dialogue may understand each other quite poorly, while nevertheless finding the conversation interesting and ultimately rewarding. Misunderstandings can present learning opportunities, and can develop new shared language. Inspired by social systems that capitalise on this effect, we have investigated the feasibility of building multi-agent systems that learn by sharing and discussing partial understandings \cite{corneli2015computational,corneli2015feedback}.

As we touched on in Section \ref{sec:nextgenrec}, serendipity in the field of recommendation systems is understood to imply that the system suggests unexpected items, which the user considers to be useful, interesting, attractive or relevant \cite{foster2003serendipity,Toms2000}. and view serendipity to be important component of recommendation quality, alongside accuracy and diversity. Definitions differ as to the requirement of novelty; , for example, describe systems that suggest items that may already be known, but which are still unexpected in the current context. While standardised measures such as the \(F_1\)-score or the (R)MSE are used to determine the accuracy of a recommendation (i.e. whether the recommended item is very close to what the user is already known to prefer), as yet there is no common agreement on a measure for serendipity, although there are several proposals \cite{Murakami2008,Adamopoulos2011,McCay-Peet2011,iaquinta2010can}. In terms of the framework from Section \ref{sec:by-example}, these systems focus mainly on generating a trigger to be processed by the user, and prepare the ground for serendipitous discovery. Intelligent modelling approaches could potentially bring additional aspects of serendipity into play in future systems, as discussed in Section \ref{sec:nextgenrec}.

Recent work has examined the related topics of curiosity \cite{wu2013curiosity} and surprise \cite{grace2014using} in computing. The latter example seeks to “adopt methods from the field of computational creativity [\(\ldots\)] to the generation of scientific hypotheses.” This provides a useful example of an effort focused on computational invention. Another related area of contemporary computing in which serendipitous events may be found is bioinformatics: “Instead of waiting for the happy accidents in the lab, you might be able to find them in the data” .

As we indicated earlier, creativity and serendipity are often discussed in related ways. A further terminological clarification is warranted. The word creative can be used to describe a “creative product”, a “creative person”, a “creative process” and even the broader “creative milieu.” Computational creativity must take acount all of these aspects \cite{4Pjournal-version}. In contrast, the model we have presented focuses only on serendipity as an attribute of a particular kind of process. Most often, we speak of a system’s potential for serendipity. In the current work, we do not use the term to describe an artefactual property (like novelty or usefulness), or a system trait (like skill).

Figueiredo and Campos describe serendipitous “moves” from one problem to another, which transform a problem that cannot be solved into one that can. However, it is important to notice that progress with problems does not always mean transforming a problem that cannot be solved into one that can. Progress may also apply to growth in the ability to posit problems. In keeping track of progress, it would be useful for system designers to record (or get their systems to record) what problem a given system solves, and the degree to which the computer was responsible for coming up with this problem. As Pease et al. remark, anomaly detection and outlier analysis are part of the standard machine learning toolkit – but recognising new patterns and defining new problems is more ambitious (compare von Foerster’s second-order cybernetics). Establishing complex analogies between evolving problems and solutions is one of the key strategies used by teams of human designers \cite{Analogical-problem-evolution-DCC}. In computational research to date, the creation of new patterns and higher-order analogies is typically restricted to a simple and fairly abstract “microdomain” \cite{hofstadter1994copycat,DBLP:journals/jetai/Marshall06}. Turning over increased responsibility to the machine will be important if we want to foster the possibility of genuine surprises.

The SerenA system developed by Deborah Maxwell et al.  offers a case study in some of these concepts. This system is designed to support serendipitous discovery for its (human) users \cite{forth2013serena}. The authors rely on a process-based model of serendipity \cite{Makri2012,Makri2012a} that is derived from user studies which draw on interviews with 28 researchers. Study participants were asked to look for instances of serendipity from both their personal and professional lives. The research aims to support the formation of bridging connections from an unexpected encounter to a previously unanticipated but valuable outcome. The theory focuses on the acts of reflection that support both the creation of a bridge, and the estimation of the potential value of the result. While this description touches on all of the features of our model, SerenA largely matches the description offered by André et al.  of discovery-focused systems, in which the user experiences an “aha” moment and takes the creative steps to realise the result. SerenA’s primary computational method is to search outside of the normal search parameters in order to engineer potentially serendipitous (or at least pseudo-serendipitous) encounters.

In sum, computer-supported serendipity has been well-studied, but purely computational serendipity has been much more constrained. This may partly be due to the absence of clear criteria for serendipity, which we address in the current paper. Another issue is the widespread reliance on microdomains. However, there are other underlying factors. Existing standards for assessing computational creativity have historically focused on product evaluations. uses metrics that depend on properties that a reasonably sophisticated judge can ascribe to generated artefacts: “typicality”, i.e., the extent to which an artefact belongs to a certain genre, and “quality”. These are used as atomic measures from which more complex metrics, including “novelty,” can be derived. Most often, the judge is assumed to be a human. In recent years, artefact-centred evaluations are increasingly complemented by methods that consider process \cite{colton2008creativity} or a combination of product and process \cite{jordanous:12,colton-assessingprogress}. However, processes that arise outside of the control of the system (and ultimately, outside of the control of the researcher) may still be deemed out of scope for computational creativity per se. Unexpected external effects may even be seen to “invalidate” research into computational creativity.

We would argue that the concept of serendipity brings autonomous creative systems into clearer focus: not with an abstract notion of creativity sui generis, but creativity in interaction with the world. This often requires a different mindset, and a different approach to system building and evaluation.

Thus, serendipity is particularly relevant for thinking about autonomous systems. There is a certain amount of apprehension and concern in circulation around the idea of autonomous systems. suggest that these concerns ultimately come back to the question: will these systems behave in an ethical manner? The more we constrain the system’s operation, the less chance there is of it “running off the rails.” However, constraints come with a serious downside. Highly constained systems will not be able to learn anything very new while they operate. If this means that the system’s ethical judgement is fixed once and for all, then we cannot trust it to behave ethically when circumstances change \cite{powers2005deontological}. Highly constrained systems are unlikely to be convincingly social, inasmuch as the constraints rule out emergent behaviour in advance. Systems that only act normatively (that is, pursuing purposes for which they have been pre-programmed) serve as proxies for their creator’s judgements, and do not make evaluations that are in any way “their own.” Adapting qualitative artefact-oriented measures (like Ritchie’s ) may be necessary in order to build systems that are capable of carrying out the necessary formative evaluation steps that effect a focus shift – as well as a final summative evaluation of the result. We return to this constellation of issues related to system autonomy below.

Challenges for future research

\label{sec:recommendations}

Reviewing the components of serendipity introduced in Section \ref{sec:by-example} and crystalised in the definition of serendipity presented in Section \ref{sec:our-model} in light of the practice scenarios discussed in Section \ref{sec:computational-serendipity}, we can describe the following challenges for research in computational serendipity. The essential issues were drawn out in Section \ref{sec:related}, and are expanded here.

Autonomy.

Our case studies in Section \ref{sec:computational-serendipity} highlight the potential value of increased autonomy on the system side. The search for connections that make raw data into “strategic data” is an appropriate theme for research in computational intelligence and machine learning to grapple with. In the standard cybernetic model, we control computers, and we also control the computer’s operating context. There is little room for serendipity if there is nothing outside of our direct control. This mainstream model stands in contrast to von Foerster’s second-order cybernetics. advise researchers to consider verification, validity and security as well as control. While we wouldn’t advocate an uncautious approach, it must be pointed out that the dystopic scenarios surrounding loss of control may have corresponding utopic counter-scenarios; and in any event, we believe there is a more fundamental research problem. A primary challenge for the serendipitous operation of computers is developing computational agents that specify their own problems.

Learning.

Each of the case studies considered in Section \ref{sec:computational-serendipity} describes a system that is able, in one way or another, to learn from experience. As we considered ways to enhance the measure of serendipity in these examples, we were led to consider computational agents that participate more meaningfully in “our world” rather than in a circumscribed microdomain. Knowledge-intensive development work may often be unavoidable. Understanding how to foster serendipity is a particularly important step, because it points to the potential of systems learning on their own. A second challenge is for computational agents to learn more and more about the world we live in.

Sociality.

We may be aided in our pursuit of the “smart mind” \cite{campbell2005serendipity} required for serendipity by recalling Turing’s proposal that computers should “be able to converse with each other to sharpen their wits” \cite{turing-intelligent}. The four supportive factors for serendipity described in this paper – a dynamic world, multiple contexts, multiple tasks, and multiple influences – resemble nothing more than social reality. In our analysis of GAmprovising we suggested that a future version of the system should interact more with the listener, and that individual Improvisers should allow themselves to be influenced by each other, rather than working in a digital silo. A third challenge is for computational agents to interact in a recognisably social way with us and with each other, resulting in emergent effects.

Embedded evaluation.

outline a general programme for computational creativity, and examine perceptions of computational creativity among members of the general public, computational creativity researchers, and existing creative communities. We should now add a fourth important “stakeholder” group in computational creativity research: computer systems themselves. System designers need to teach their systems how to make evaluations. We saw that this is a crucial issue in designing an automated programming experiment. The guiding light is a “non-zero sum” conception of value. This can be extended to situations in which the the “product” is a new process or action. Within a Kantian framework “an agent’s moral maxims are instances of universally-quantified propositions which could serve as moral laws – ones holding for any agent” \cite{powers2005deontological}. Embedded evaluation has pragmatic as well as philosophical implications; thus, for example, the latest implementation of GAmprovising is limited because it is “poor at using reasoned self-evaluation” and “does not generate novel aesthetic measures” . A fourth challenge is for computational agents to evaluate their own creative process and products.

Future Work

\label{sec:futurework} \label{sec:hatching}

In looking for ways to manage and encourage serendipity, we are drawn to the approach taken by the design pattern community \cite{alexander1999origins}. describe the typical scenario for authors of design patterns:

You are an experienced practitioner in your field. You have noticed that you keep using a certain solution to a commonly occurring problem. You would like to share your experience with others.

There are many ways to describe a solution. Meszaros and Doble remark,

What sets patterns apart is their ability to explain the rationale for using the solution (the ‘why’) in addition to describing the solution (the ‘how’).

Regarding the criteria that pattern writers seek to address:

The most appropriate solution to a problem in a context is the one that best resolves the highest priority forces as determined by the particular context.

Applying the solution achieves this resolution of forces in the application domain. The design pattern itself achieves something further: it encapsulates knowledge in a brief, shareable form. Tracing the steps involved, we see that the creation of a new design pattern is always somewhat serendipitous (Figure \ref{fig:pattern-schematic}; compare Figure \ref{fig:1b}). To van Andel’s assertion that “The very moment I can plan or programme ‘serendipity’ it cannot be called serendipity anymore,” we reply that patterns – and programs – can include built-in indeterminacy. Moreover, we can foster circumstances that may make unexpected happy outcomes more likely, by designing and developing systems that increasingly address the challenges outlined in Section \ref{sec:recommendations}. Such systems will encounter unexpected stimuli, become curious about them, sagaciously pursue enquiry within a social context, and assess the value of any outcomes. Figure \ref{fig:va-pattern-figure} shows one example of a design pattern that can be used to plan for serendipity, based on the “Successful Error” pattern identified by van Andel. In future work, we intend to build a more complete serendipity pattern language – and put it to work within autonomous programming systems.