deletions | additions
diff --git a/12discussion.tex b/12discussion.tex
index 2762e31..0c20fee 100644
--- a/12discussion.tex
+++ b/12discussion.tex
...
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,
and a system for assembling flowcharts. systems.
The model has helped to highlight directions for development that
would increase
the a system's potential for
serendipity in existing systems, 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.
%% In this section, we will show how the model allows for more precise
%% thinking than other existing work touching on this area. We then
...
Recent work has examined the related topics of \emph{curiosity}
\cite{wu2013curiosity} and \emph{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 \emph{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''
\cite[p.~70]{kennedy2016inventology}.
As we indicated earlier, creativity and serendipity are often
discussed in related ways. A further terminological clarification is
warranted. The word \emph{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{jordanous2015four}. \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 \emph{potential} for serendipity. In the current work, we
...
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.
\citeA{ritchie07} uses metrics that depend on properties that a reasonably sophisticated judge can ascribe to generated artifacts: ``typicality'', i.e., the extent to which an artifact belongs to a certain genre, and
``quality'' ``quality''. These are used as atomic measures
for from which more complex metrics, including
``novelty.'' ``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
...
creativity.
We would argue that the concept of serendipity brings autonomous
creative systems into clearer focus: not
as with an abstract notion of
creativity \emph{sui generis}, but creativity in
interaction with the world. This often requires a different mindset,
and a different approach to system building and evaluation.
...
\paragraph{\textbf{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.
In This mainstream model stands in contrast to
this mainstream model, von
Foerster \citeyear[p. 286]{von2003cybernetics} advocated a Foerster's \citeyear{von2003cybernetics} second-order
cybernetics in which ``the observer who enters the system
shall be allowed cybernetics. \citeA{research-priorities} advise researchers to
stipulate his own purpose.'' consider \emph{verification}, \emph{validity} and \emph{security} as
well as \emph{control}. While we wouldn't advocate an uncautious
approach, it must be pointed out that the dystopic scenarious
surrounding loss of control may have corresponding utopic
counter-scenarios; and in any event, we believe there is a more
fundamental research problem. \emph{A primary challenge for
the serendipitous operation of computers is developing
computational agents that specify their own problems.}
\paragraph{\textbf{Learning}.} Each of the case studies considered in
Section \ref{sec:computational-serendipity} describes a system that
...
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
...
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
pursuing 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 \emph{plan for serendipity}, based on
a the
``\emph{Successful Error}'' pattern identified by van
Andel: ``\emph{Successful Error}''. Andel. In
future work, we intend to build a more complete serendipity pattern
language -- and put it to work within autonomous programming systems.
% Is ``having a stretch goal'' an example of a serendipity pattern? I think so!
\begin{figure}[!h]
\vspace{.3cm}
\input{pattern-schematic-tikz.tex}
diff --git a/13conclusion.tex b/13conclusion.tex
index e7fe8a0..8d10748 100644
--- a/13conclusion.tex
+++ b/13conclusion.tex
...
detailed set of evaluation standards for serendipity.
%
We used this model to analyse the potential for serendipity in case
studies of evolutionary computing,
recommender systems, and automated
programming. programming, and recommender systems. We saw that the proposed framework can be used both
retrospectively, as an evaluation tool, and prospectively, as a design
tool. In every case, the model surfaced themes that can help to guide
implementation.
diff --git a/1introduction.tex b/1introduction.tex
index 19e8a28..12ed0c2 100644
--- a/1introduction.tex
+++ b/1introduction.tex
...
annoying, we encounter radical changes in the evaluation of what's
interesting. Importantly, serendipity is not the same as luck.
The notion of serendipity is increasingly seen as relevant in the
arts
\cite{mckay-serendipity}, arts, in the
tech industry \cite{rao2015breaking}, technology sector,
and
elsewhere. elsewhere \cite{mckay-serendipity,rao2015breaking,kennedy2016inventology}. In the workplace, people have sought to encourage
serendipity with methods drawn from architecture, data science, and
cultural engineering
\cite{kakko2009homo,engineering-serendipity,who-moved-cube}.
Continued development of an interdisciplinary perspective on the
phenomenon of serendipity promises further illumination. This paper
reassesses and updates an earlier discussion of serendipity in a
computational
context. context \cite{pease2013discussion}. Beginning with a
survey of historical definitions, perceptions, and examples of
serendipity in order to surface its several facets and features, we
then develop a process-based model of serendipity that can be applied
...
Similarly, even if we cannot plan or program serendipity, we can
prepare for it.
If Indeed, if serendipity was ruled out as a matter of principle, computing would
be restricted to happy or unhappy \emph{unsurprises} -- preprogrammed,
preunderstood behaviour -- that would be interspersed periodically,
perhaps, with an \emph{unhappy} surprise.
(Perhaps this latter case
would ultimately reduce to ``programmer oversight''.) Venkatesh Rao
\citeyearpar{rao2015breaking} uses the term \emph{zemblanity} -- after
William Boyd \citeyearpar{boyd2010armadillo}:
``zemblanity, the ``the
opposite of serendipity, the faculty of making unhappy, unlucky and
expected discoveries by design'' -- to describe systems that are
doomed to produce
only \emph{only} unhappy unsurprises. According to Rao, this is
the implied fate of systems that are tied inextricably to a fixed
vision, from which any
(inevitable) deviation constitutes a mistake. This condition
stands at a sharp contrast with the ``second-order cybernetics''
introduced by \citeA{von2003cybernetics}, which envisions systems that
are able to specify their own purpose, and adapt it with respect to a
...
what van Andel \citeyearpar[p.~639]{van1994anatomy} terms \emph{negative
serendipity} -- and learn from them.
These issues are particularly relevant in light of current
high-profile discussions around the role of AI in society. These
discussion centre on a dilemma in which the core issues described
above come sharply into focus. Although we ``we cannot predict what
we might achieve'' with AI, nevertheless many researchers,
technologists, and policy makers subscribe to a (presumably healthy)
conservatism that says that AI systems should ``do what we want them
to do'' \cite{research-priorities}. A computationally robust notion
of serendipity may go a considerable ways towards resolving the
underlying dilemma. If we can build systems that can communicate with
us about their unexpected discoveries and reason about the value of
these discoveries in a socially responsible way, then we may be
reasonably confident that they will behave in an ethical manner.
Less controversial than ``programmed serendipity'', but no less worthy
of study, is serendipity that arises in the course of user
interaction. Indeed, it could be argued that everyday social media
diff --git a/3model.tex b/3model.tex
index 9766cc1..95c769d 100644
--- a/3model.tex
+++ b/3model.tex
...
that are taken on $T^\star$ leading to the \textbf{result} $R$, which is ultimately given a positive evaluation.
%\afterpage{\clearpage}
\begin{figure}[p] \begin{figure}[h]
\vspace{2mm}
\captionsetup[subfigure]{justification=centering}
%% \begin{minipage}[b]{\textwidth}
...
fallible, as is the system as a whole. Thus, for example, a trigger
that has been initially tagged as interesting may prove to be
fruitless in the verification stage. Similarly, a system that
implements all of the
procedural steps in Figure \ref{fig:1c}, but that for
whatever reason is never able to achieve a result of significant value
cannot be said to have potential for serendipity. However, a system
only produces results of high value would also be suspect, since it
diff --git a/6SPECS.tex b/6SPECS.tex
index 096bc82..b18f6e0 100644
--- a/6SPECS.tex
+++ b/6SPECS.tex
...
%Then combining $\mathbf{a}\times\mathbf{b}\times\mathbf{c}$ gives a
% likelihood score:
\begin{mdframed}
\vspace{.1cm} {\textbf{\emph{Likelihood score and
final ruling.}}
Low but
nonzero A low (nonzero) likelihood
score $\mathbf{a}\times\mathbf{b}\times\mathbf{c}$ and
high value $\mathbf{d}$ imply that the event was ``serendipitous.''
In
all other
conditions, cases, the event was ``unserendipitous.''}
\end{mdframed}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\item[{(\textbf{C - Factors})}] {Finally, if the criteria from Part A
...
\subsection{Heuristics}\label{specs-heuristics}
\textbf{\emph{Choose \paragraph{Choose relevant populations to produce a useful
estimate.}} estimate.} It isn't necessary to assign explicit numerical
values to $\mathbf{a}$, $\mathbf{b}$, $\mathbf{c}$, and $\mathbf{d}$,
although that can be done if desired. More typically -- and in all of
the examples that follow -- all that is required is to select a
relevant population in order to make an estimate. With a population
of one, there is no basis for comparison, whereas in
huge large population,
the chance of any
particularly specific highly-specific outcome
is likely to may be vanishingly small.
The aim is to highlight what -- if anything -- is
special about the potentially serendipitous development
pathway, pathway in
comparison to other possible
paths. paths, and hopefully learn something relevant.
Thus, we might
choose to compare Fleming to other lab biologists,
and or to compare Goodyear to other chemists. Even if we were
to shift the analysis and look at the much smaller populations of
experimental pathologists or inventors with an interest in rubber,
Fleming and Goodyear would have features that stand out, particularly
when it comes to their curiosity.
\textbf{\emph{Find \paragraph{Find the salient features of the
trigger.}} trigger.} How can we
we estimate the chance of the trigger appearing, if every trigger is
unique? Consider de Mestral's encounter with burrs. The chance of
encountering burrs while out walking is \emph{high}: many people have
...
of time; in other words, it may be a pattern, rather than a fact.
Noticing patterns is a key aspect of sagacity, as well.
\textbf{\emph{Look \paragraph{Look at long-term
behaviour.}} behaviour.} Although it is in no way
required by the SPECS methodology outlined above, many systems
(including all of the examples below) have an iterative aspect. This
means that a result may serve as a trigger for further discovery. In
diff --git a/8cc.tex b/8cc.tex
index c583c12..0e6ed67 100644
--- a/8cc.tex
+++ b/8cc.tex
...
\section{Serendipity in computational systems} \label{sec:computational-serendipity}
The 13 facets of serendipity from Section
\ref{sec:literature-review} \ref{sec:by-example} specify
the conditions and preconditions that are conducive to serendipitous
discovery. Section \ref{sec:our-model} distilled these elements into
a computational
model, culminating in a method for
evaluating computational serendipity in Section \ref{specs-overview}. model.
%
Along with clear criteria, it is important to clearly delineate the
scope of the system being evaluated, and the position of the evaluator
...
flowcharts. Using our updated criteria, we discuss two new examples
below, and revisit poetry flowcharts, reporting on recent work and
outlining the next steps. The three case studies respectively apply
the criteria to \emph{evaluate}
of an existing system, \emph{design} a
new experiment, and \emph{frame} a ``grand challenge.'' In the first
case study, the system we evaluate turns out not to be particularly
serendipitous according to our criteria. This helps to show that our
...
\subsubsection{Application of criteria}
In
our current the initial experimental design,
following \citeA{pease2013discussion},
the system's potential \textbf{triggers} result from random, but constrained,
trial and error with flowchart assembly. Some valid combinations of nodes will
produce results, and some will not. Due to the dynamically changing
environment (e.g., updates to data sources like Twitter) some
flowcharts that did not produce results earlier may unexpectedly begin
to produce results.
%
The system's \textbf{prepared mind} lies in a distributed knowledge
base provided by
ProcessNodes themselves, describing the
ProcessNodes, which provide metadata that
describe constraints on their inputs and
outputs; outputs -- and
also in the
global history of successful and unsuccessful combinations.
%
The system will not try combinations that it knows cannot produce
results, but it will try novel combinations and may retry earlier
...
What made this particular combination work? Is there a pattern that
could be exploited in the future? It may be that no broader pattern
can be found, and the system will simply record the bare fact that the
combination
works. works (and this is the simple starting point from which we
begin).
%
Successful combinations and any further inferences are stored, and
referred to in future runs. The \textbf{bridge} to
any a new
results result is
accordingly found by informed trial and error, building on previous
outcomes.
%
The basic \textbf{result} the system is aiming to achieve is simply to
generate a new combination of nodes that can fit together and that
generates non-empty output.
Subsequent Reviewing this design, we observed that
subsequent versions of the system may have more detailed evaluation
functions, setting a higher
bar. bar for what counts as success. For
example, a future version of the system could be tuned to search for
flowcharts that generate poetry \cite{corneli2015computational}.
...
FloWr}, the search process is exceptionally \textbf{curious}, since
it tries many combinations programmatically. However, remembering
viable combinations and avoiding combinations that are known not to
work
offer unexceptional does not require exceptional \textbf{sagacity}.
This At least, this will be
so until the system learns more
heuristics, heuristics for flowchart construction, which
requires would
require not
just only pattern matching but pattern induction. At the moment, the
system's criterion for attributing \textbf{value} is simply that the combination
of nodes generates non-empty output; an third-party is not likely to judge such
combinations as useful.
\subsubsection{Ruling}
...
$\mathit{low}\times\mathit{low}\times\mathit{high}$, which is
relatively favourable. However, until there is a more discriminating
way to judge value, the attribution of serendipity to any particular
run
is seems premature.
One route forward would be This motivates a new set of experiments that
seeks to
attribute meaningfully judge the value
to of explanatory heuristics,
rather than generated
flowcharts, and texts. This
would will both result in
(and require) and require increased
sagacity on the part of the system.
%%% JAC - add citations to ICCC papers if they have been accepted.
\subsubsection{Qualitative assessment}
The
\textbf{dynamic world} the system operates in
a \textbf{dynamic world} that is dynamic in two
ways: first, in the straightforward sense that some of the input
sources, like Twitter, are changing; additionally, in the sense that
the system's knowledge of successful and unsuccessful node
combinations changes over
time. time as well. The current version of the system
does not seem to deal with \textbf{multiple contexts}.
We have broken
the search process into separate sub-populations to constrain the
search, but these do not interact. In a future version of the system,
interaction between different heuristically-driven search processes
would be possible, and could lead to more unexpected results. Along
these lines, as more goals are added, the system could more readily be
...
\begin{table}[p]
{\centering \renewcommand{\arraystretch}{1.5}
\scriptsize
\begin{tabular}{p{1.5in}@{\hspace{.1in}}p{1.5in}@{\hspace{.1in}}p{1.5in}} \begin{tabular}{p{1.4in}@{\hspace{.1in}}p{1.4in}@{\hspace{.1in}}p{1.4in}}
\multicolumn{1}{c}{\textbf{{\footnotesize Evolutionary music}}}
& \multicolumn{1}{c}{\textbf{{\footnotesize Flowchart assembly}}}
&
\multicolumn{1}{c}{\hspace{-.3cm}\textbf{{\footnotesize Next-gen.~recommenders\hspace{.3cm}}}} \multicolumn{1}{c}{\textbf{{\footnotesize Next-gen.~rec.~sys.}}}
\\[.05in]
\multicolumn{3}{l}{\em {\textbf{Condition}}} \\
\cline{1-3}
...
differentiate individual threads or system runs. Some elements of
this population might be deemed more serendipitous than others.
\item The
flowchart assembly process would need more stringent, and
more meaningful, criteria for value before third-party observers
would be likely to attribute serendipity to the system. In addition
to raising challenges for autonomous evaluation (as in the
evolutionary music system case), this requirement would impose more
sophisticated constaints on processing in earlier steps, which would
require the system to be more sagacious.
\item The next-generation recommender systems we've envisioned need to
be able to make inferences from aggregate user behaviour. This
points to long-term considerations that go beyond the unique
serendipitous event. How ``curious'' should these systems be? One
...
step towards building an artificially-intelligent recommender
system, users might be explicitly given tasks that are designed to
trigger serendipity on the system-side.
\item The flowchart assembly process would need more stringent, and
more meaningful, criteria for value before third-party observers
would be likely to attribute serendipity to the system. In addition
to raising challenges for autonomous evaluation (as in the
evolutionary music system case), this requirement would impose more
sophisticated constaints on processing in earlier steps, which would
require the system to be more sagacious.
\end{enumerate}
diff --git a/abstract.tex b/abstract.tex
index 0a077ec..3650180 100644
--- a/abstract.tex
+++ b/abstract.tex
...
\begin{abstract}
Most There is relatively little prior work
that deals dealing with serendipity in a computing
context context, and the majority of it focuses on
computational ``discovery''. support for human discovery via recommender systems. We argue that serendipity also includes an important
``invention'' invention aspect. Building on a survey
that describes of serendipitous discovery and invention in science and technology, we advance a definition of serendipity and an accompanying model that can be used evaluate the potential for
serendipity in serendipitous discovery and invention of autonomous or interactive computational systems.
The Practitioners can use this model
adapts existing recommendations to evaluate a system's potential for
evaluating computational creativity.
It unexpected online behaviour that may have a beneficial outcome. In addition to a quantitative rating of serendipity potential -- computed in terms of population-based estimates of chance and curiosity (in the discovery phase) and sagacity and value (in the invention phase) -- the model also suggests qualitative features that can guide development work. We show how the model is
applied used in three case studies
that evaluate the serendipity of existing and hypothetical
systems systems, in the context of evolutionary computing,
recommender systems, and automated
programming. programming, and (next-generation) recommender systems. From this analysis, we extract recommendations for practitioners working with computational serendipity, and outline future directions for research.
\\[.3cm]
\keywords{serendipity, evaluation, computational creativity, autonomous systems}
diff --git a/biblio.bib b/biblio.bib
index 4be8dba..23e8889 100644
--- a/biblio.bib
+++ b/biblio.bib
...
%% Saved with string encoding Unicode (UTF-8)
@article{4Pjournal-version,
author = {Anna Jordanous},
title = {Four {PPPP}erspectives on computational creativity in theory and in practice},
journal = {Connection Science},
volume = {0},
number = {0},
pages = {1-23},
year = {0},
doi = {10.1080/09540091.2016.1151860},
URL = {
http://dx.doi.org/10.1080/09540091.2016.1151860
},
eprint = {
http://dx.doi.org/10.1080/09540091.2016.1151860
}
}
@article{research-priorities,
author = {Stuart J. Russell and Daniel Dewey and Max Tegmark},
title = {{R}esearch {P}riorities for {R}obust and {B}eneficial {A}rtificial {I}ntelligence},
journal = {{AI} {M}agazine},
volume = {36},
number = {4},
year = {2015},
}
@book{russo2010companies,
title={Companies on a mission: Entrepreneurial strategies for growing sustainably, responsibly, and profitably},
author={Russo, Michael},
...
@book{austin2003chase,
title={Chase, chance, and creativity: The lucky art of novelty},
author={Austin, James H},
year={2003 [1978]}, year={[1978] 2003},
publisher={MIT Press}
}
...
Author = {Bergson, Henri},
Publisher = {Henry Holt and Company},
Title = {Creative {E}volution},
Year =
{1911 [1907]}} {[1907] 1911}}
@article{milan2013kiki,
Author = {Mil{\'a}n, E and Iborra, O and de Cordoba, MJ and Ju{\'a}rez-Ramos, V and Artacho, MA Rodr{\'\i}guez and Rubio, JL},
...
Place = {London},
Publisher = {John Brindley},
Title = {Zadig, or the Book of Fate},
Year =
{1749 [1748]}} {[1748] 1749}}
@article{chumaceiro1995serendipity,
Author = {D{\'{\i}}az de Chumaceiro, Cora L.},
...
Pages = {283--286},
Publisher = {Springer},
Title = {Cybernetics of cybernetics},
Year =
{2003 [1979]}} {[1979] 2003}}
@book{von2003essays,
Author = {von Foerster, Heinz},
...
Author = {Dewey, John},
Publisher = {Courier Dover Publications},
Title = {How we think},
Year =
{1997 [1910]}} {[1910] 1997}}
@article{delanda1993virtual,
Author = {Delanda, Manuel},
...
Place = {Westport, Connecticut},
Publisher = {Greenwood Press},
Title = {{T}he {C}reative {M}ind},
Year =
{1946 [1941]}} {[1941] 1946}}
@book{deleuze1991bergsonism,
Annote = {Trans. Hugh Tomlinson and Barbara Habberjam.},
...
Place = {New York},
Publisher = {Zone},
Title = {Bergsonism},
Year =
{1988 [1966]}} {[1966] 1988}}
@article{moukas1997amalthaea,
Author = {Moukas, Alexandros},
...
Author = {Jevons, W. S.},
Publisher = {Macmillan},
Title = {{P}rinciples of {S}cience: {A} treatise on logic and scientific method},
Year =
{{1913 [1874]}}} {[1874] 1913}}
@incollection{dunbar:05,
Address = {Mahwah, NJ},
...
Place = {London},
Publisher = {Bloomsbury Academic},
Title = {Difference and repetition},
Year =
{2004 [1968]}} {[1968] 2004}}
@inproceedings{colton-flowcharting,
Author = {Simon Colton and John Charnley},
...
Author = {Poincar{\'e}, Henri},
Publisher = {Courier Dover Publications},
Title = {Science and method},
Year =
{2013 [1914]}} {[1914] 2013}}
@incollection{stakeholder-groups-bookchapter,
Author = {Simon Colton and Alison Pease and Joseph Corneli and Michael Cook and Rose Hepworth and Dan Ventura},
...
year={2015}}
@incollection{keller2014ubimus,
title={Ubimus Through title={{U}bimus {T}hrough the
Lens {L}ens of
Creativity Theories}, {C}reativity {T}heories},
author={Keller, Dami{\'a}n and Lazzarini, Victor and Pimenta, Marcelo S},
booktitle={Ubiquitous Music}, booktitle={{U}biquitous {M}usic},
pages={3--23},
year={2014},
publisher={Springer}
}
@book{slack2003noble,
title={Noble Obsession: Charles Goodyear, Thomas Hancock, title={{N}oble {O}bsession: {C}harles {G}oodyear, {T}homas {H}ancock, and the
Race {R}ace to
Unlock {U}nlock the
Greatest Industrial Secret {G}reatest {I}ndustrial {S}ecret of the 19th
Century}, {C}entury},
author={Slack, Charles},
year={2003},
publisher={Hyperion}
}
@book{kennedy2016inventology,
title={{I}nventology: {H}ow {W}e {D}ream {U}p {T}hings {T}hat {C}hange the {W}orld},
author={Kennedy, Pagan},
year={2016},
publisher={Houghton Mifflin Harcourt}
}
@book{antifragile-software,
title={{A}ntifragile {S}oftware: {B}uilding {A}daptable {S}oftware with {M}icroservices},
author={Miles, Russ},
year={2015},
publisher={Leanpub}
}
diff --git a/serendipity.tex b/serendipity.tex
index 65e774c..029efe6 100644
--- a/serendipity.tex
+++ b/serendipity.tex
...
skipbelow=\baselineskip,
innertopmargin=3pt,
innerbottommargin=8pt,
apptotikzsetting={\tikzset{mdfbackground/.append
style={fill=red,fill style={fill=white,fill opacity=0}}}
}
...
\usepackage{dialogue}
\usepackage{placeins}
\usepackage{tikz}
\usepackage{onimage}
\usetikzlibrary{positioning,backgrounds,fit,arrows,arrows.meta,shapes,shadows} %\usepackage{onimage}
\usetikzlibrary{positioning,backgrounds,fit,arrows,shapes,shadows}
\usetikzlibrary{shapes.multipart}
\usepackage{wrapfig}
\usepackage{enumitem}
...
}
\makeatother
\setlength{\parskip}{0pt}
\setlength{\parsep}{0pt}
%\setlength{\headsep}{0pt}
\setlength{\topskip}{0pt}
\setlength{\topmargin}{0pt}
\setlength{\topsep}{0pt}
\setlength{\partopsep}{0pt}
\raggedbottom
\begin{document}
% TITLE INFORMATION
diff --git a/ww-generative-tikz.tex b/ww-generative-tikz.tex
index 00f050a..91d89b1 100644
--- a/ww-generative-tikz.tex
+++ b/ww-generative-tikz.tex
...
% ``poet generates poem''
\node[single, right=8mm of discovery.east,text width=1.5cm] (poet) {\emph{generative\\ process}};
\node[single, right=6mm of poet.east] (poem) {$T$};
\draw
[-latex] [->] (poet.east) -- (poem.west);
% ``critic listens to poem and offers feedback''
\node[ellipse, draw, right=9mm of poem.east,text width=1.3cm] (critic) {\emph{feedback}};
\draw
[-latex] [->] (poem.east) -- (critic.west);
\node[single, above=8mm of critic.north,text width=1.4cm] (experience) {\emph{reflective\\ process}};
\node[draw,diamond,inner sep =.3mm, above right=4mm and 3mm of critic] (comment) {\raisebox{2mm}{$p\vphantom{^{\prime}}_1$}} ;
\node[draw,diamond,inner sep =.3mm, above left=4mm and 3mm of critic] (reflection) {\raisebox{2mm}{$p\vphantom{^{\prime}}_2$}} ;
\draw[-latex,thick] \draw[->,thick] ([yshift=1mm]critic.east) to [out=0,in=270] (comment.south) ;
\draw[-latex,thick] \draw[->,thick] (comment.north) to [out=90,in=0] (experience.east) ;
\draw[-latex,thick] \draw[->,thick] (experience.west) to [out=180,in=90] (reflection.north) ;
\draw[-latex,thick] \draw[->,thick] (reflection.south) to [out=270,in=140] ([yshift=1.5mm]critic.west) ;
% nonprinting point to use to bend curve
\coordinate[below right=3mm and 7mm of critic] (mid1);
...
\node[below=.65cm of discovery] (focusshift) {{\small \textbf{\emph{[Focus shift]}}}};
% draw the first curve into focus shift
\draw
[-latex] [->] ([yshift=-1mm]critic.east) to[out=0,in=90] (mid1) to[out=270,in=0] (feedback.east);
%%% Next phase
\node[below=2cm of discovery] (invention) {\textbf{\emph{Invention:}}};
...
\coordinate[above left=2mm and 9mm of integrator] (mid2);
% draw the second curve out from focus shift
\draw
[-latex] [->] (feedback.west) to[out=180,in=90] (mid2) to[out=270,in=160] (integrator.west);
% ``poet asks questions about the feedback''
...
\node[draw,diamond,inner sep =.3mm, below right=4mm and 5mm of integrator] (question) {\raisebox{2mm}{$p^{\prime}_1$}};
\node[draw,diamond, inner sep =.3mm, below left=4mm and 5mm of integrator] (answer) {\raisebox{2mm}{$p^{\prime}_2$}};
\draw[-latex,thick] \draw[->,thick] ([yshift=-1mm]integrator.east) to [out=0,in=90] (question.north) ;
\draw[-latex,thick] \draw[->,thick] (question.south) to [out=270,in=0] (explainer.east) ;
\draw[-latex,thick] \draw[->,thick] (explainer.west) to [out=180,in=270] (answer.south) ;
\draw[-latex,thick] \draw[->,thick] (answer.north) to [out=90,in=200] ([xshift=1mm,yshift=-1.8mm]integrator.west) ;
\node[yshift=1mm,single, right=10mm of integrator.east] (problem) {$R$};
\draw
[-latex] [->] ([yshift=1mm]integrator.east) -- (problem.west);
% ``poet reflects on feedback and updates codebase''
\node[single, right=6mm of problem.east,text width=1.6cm] (pgrammer) {\emph{evaluation}\\ \emph{process}};
\draw
[-latex] [->] (problem.east) -- (pgrammer.west);
\node[single, right=4mm of pgrammer.east,text width=.3cm] (etc) {...};
\draw
[-latex] [->] (pgrammer.east) -- (etc.west);
\end{tikzpicture}