During 2015 and early 2016, the cultural application of Computational Creativity research and practice took a big leap forward, with a project where multiple computational systems were used to provide advice and material for a new musical theatre production. Billed as the world's first 'computer musical... conceived by computer and substantially crafted by computer', Beyond The Fence was staged in the Arts Theatre in London's West End during February and March of 2016. Various computational approaches to analytical and generative sub-projects were used to bring about the musical, and these efforts were recorded in two 1-hour documentary films made by Wingspan Productions, which were aired on SkyArts under the title Computer Says Show. We provide details here of the project conception and execution, including details of the systems which took on some of the creative responsibility in writing the musical, and the contributions they made. We also provide details of the impact of the project, including a perspective from the two (human) writers with overall control of the creative aspects the musical.
Ironically, while automated programming has had a long and varied history in Artificial Intelligence research, automating the creative art of programming has rarely been studied within Computational Creativity research. In many senses, software writing software represents a very exciting potential avenue for research, as it addresses directly issues related to novelty, surprise, innovation at process level and the framing of activities. One reason for the lack of research in this area is the difficulty inherent in getting software to generate code. Therefore, it seems sensible to start investigating how software can innovate at the process level with an approach less than full programming, and we have chosen the classic approach to process design afforded by flowcharts. Our aim is to provide a system simple enough to be used by non-experts to craft generative flowcharts, indeed, simple enough for the software itself to create flowcharts which represent novel, and hopefully interesting new processes. We are currently in the fourth iteration of development, having found various difficulties with three previous approaches, ranging from flexibility and expressiveness of the flowcharts to the mismatching of inputs with outputs, the storage of data between runs, and the ability to handle programmatic constructs such as conditionals and loops. In our current approach, we represent a process as a script, onto which a flowchart can be grafted. We believe this offers the best balance of flexibility, expressiveness and usability, and will pave the way to the automatic generation of scripts in the next development stage. We have so far implemented the natural language processing flowchart nodes required to model aspects of a previous poetry generation approach and a previous concept formation approach. The Flow System
Systems which combine various forms of reasoning such as deductive inference and symbolic manipulation have repeatedly been shown to be more effective than stand-alone systems. In general, however, the combined systems are ad-hoc and designed for a single task. We present a generic framework for combining reasoning processes which is based on the theory of the Global Workspace Architecture. Within this blackboard-style framework, processes attached to a workspace propose information to be broadcast, along with a rating of the importance of the information, and only the most important is broadcast to all the processes, which react accordingly. To begin to demonstrate the value of the framework, we show that the tasks undertaken by previous ad-hoc systems can be performed by a configuration of the framework. To this end, we describe configurations for theorem discovery and conjecture making respectively, which produce comparable results to the previous ICARUS and HOMER systems. We further describe a novel application where we use a configuration of the framework to identify potentially interesting specialisations of finite algebras.
Stand-alone Artificial Intelligence systems for performing specific types of reasoning - such as automated theorem proving and symbolic manipulation in computer algebra systems - are numerous, highly capable and constantly improving. Moreover, systems which combine various forms of reasoning have repeatedly been shown to be more effective than stand-alone systems. For example, the ICARUS system for reformulating constraint satisfaction problems [1] and the HOMER system for conjecture making in number theory [2]. However, in general, such combinations have been ad-hoc in nature and designedwith a specific task in mind. With little general design consideration or a suitable framework for combining reasoning, in general every new combination has to be built from scratch and the resulting system is often inflexible and difficult to manage. We believe it is imperative that generic frameworks are developed if the field of combining reasoning systems is to progress. Such generic frameworkswould provide standardised rule sets and toolkits to simplify the development of combined systems.
Prediction is a well-researched area for Machine Learning a pplications. In these tasks, the aim is to predict the value f or some unseen characteristic based upon the values of other, s een, characteristics for a given example. Machine learning has been extensively applied to these types of tasks by automati ng the derivation of a predictive function or a set of predict ive rules. This predictive function can then be applied to new ex amples to estimate attribute values. Many techniques have been turned to this purpose. Inductive Logic Programming (I LP) (Muggleton (1999)), for instance, represents the attri bu es of given examples in first order logic and uses techniques suc h as inverse resolution to derive a set of first-order logic ru les which can be used to logically deduce an attribute value from other attributes. Artificial Neural Networks (Lippmann (1987)) can be trained to predict attribute values. A net is p re-configured with interconnecting perceptron nodes and th e weights associated with these nodes are adjusted to improve edictive accuracy over a training set. The learned artefa c in this case is a neural net able to predict one attribute valu e. Decision Trees can predict attribute values by consideri ng, in some stepwise order, the values of other attributes. One met hod of learning a decision tree is to apply the ID3 algorithm a s implemented in the c4.5 decision tree learning program (Qui nlan (1993)). The learned artefact is essentially a conjunc tio of implications which can be applied to a given example to pre dict the value for a single attribute. Each of these methods can be characterised by the specific ways they represent the t ask, the artefact they learn and how they learn it. We consider here another type of predictive artefact togeth er with another method of learning. The artefact we learn is a constraint satisfaction (CS) program, typically used for solving CS problems. A CS problem consists of a set of variabl es {x1, x2, . . ., xn}, a set of domains of values the variables can take and a set of c onstraints specifying which values the variables can take simultaneously. A solution to a CS proble m is an assignment of values to each of the variables from their domains such that no constraints are broken. They find w idespread use in science and industry. CS solvers allow users to specify CS problems in a particular syntax as CS prog rams and then search for solutions to the problem using a configurable search approach. We have adapted a CS program to be used for prediction. By encoding attributes as variables and machine learning appropriate constraints we obtain a pr edictive CS program. Given a new example for prediction, we add the values of all known attributes as variable value co nstraints to the predictive CS program. A CS solver can then determine allowable values, i.e. predictions, for unk nown attributes. We machine learn constraints by consideri ng combinations of attribute values, or classifications . By comparing how training examples fall into these classifi cations we can make conjectures about how different classifications relate to one-another and, through this, derive predictive relationships between the relative values of different att ribu es, which we then encode as constraints. In addition to a CS solver and machine learner, we use a SAT solver to filter conje ctur s, improving the efficiency of our CS programs. We believe our approach has some benefits over the approaches we di cussed above. Firstly, each of the above processes produces an artefact for predicting only one attribu te of a given example. This means that should the user wish to predict for another attribute, they need not re-train a ne w predictor. By contrast, our learned CS programs can predic t for any unknown attributes as it includes constraints learn d with respect to all considered classifications. In additi on, we believe our learned CS program may be more resistant to missi ng or corrupted data. This additional robustness is valuabl e as many real-world applications encounter instances of mis sing or corrupted data.
A well-known difficulty with solving Constraint Satisfaction Problems (CSPs) is that, while one formulation of a CSP may enable a solver to solve it quickly, a different formulation may take prohibitively long to solve. We demonstrate a system for automatically reformulating CSP solver models by combining the capabilities of machine learning and automated theorem proving with CSP systems. Our system is given a basic CSP formulation and outputs a set of reformulations, each of which includes additional constraints. The additional constraints are generated through a machine learning process and are proven to follow from the basic formulation by a theorem prover. Experimenting with benchmark problem classes from finite algebras, we show how the time invested in reformulation is often recovered many times over when searching for solutions to more difficult problems from the problem class.
Artificial Intelligence techniques from areas such as theorem proving, planning, machine learning, constraint solving, etc., have been implemented in powerful software packages and applied successfully in various domains. We believe that it is time to fully harness the power of individual AI techniques by considering how to combine various reasoning methods so that the whole is more than a sum of the parts. In a number of studies, we have constructed combined reasoning systems and successfully employed them for various discovery tasks in domains of pure mathematics such as finite algebras, number theory and graph theory. We have similarly shown that combined reasoning systems can be fruitfully employed for constraint solving and automated theorem proving tasks. Given the success of these combined reasoning systems, the next step is to move from ad-hoc systems to configurations of a generic framework which can perform the same tasks. We develop here such a framework based on a global workspace architecture, which is essentially a model of combined serial and parallel information flow, wherein specialist processes compete and co-operate for access to a global workspace. Having developed the framework, we configure it into three different combined reasoning systems, each of which can in theory produce results that we previously achieved with an ad-hoc combined system. We argue that such an architecture has many attractive features for combining reasoning systems. In particular, modelled in this way, the combined reasoning system reports the reasoning process in a serial manner, but takes advantage of massive parallelism to determine what to report. Moreover, the component sub-systems have no need to communicate with each other and require no knowledge of how the other sub-systems reason.
We consider the translation of general AI problems into CSPs. In particular, we have developed a translation suite able to translate first order specifications into the syntax of the Sicstus CLPFD constraint solver. We describe recent extensions to the capabilities of this suite which have enabled it to handle problems outside of the algebraic domains for which it was designed. We demonstrate two of many advantages to having such a translation suite. Firstly, we show that an ability to translate between the syntaxes of different AI problem solving systems enables us to make meaningful comparisons of different AI techniques, and we demonstrate this using a model generator and a constraint solver on quasigroup problems. Secondly, with an ability to express a problem in different ways, we can begin to simulate more sophisticated problem solving which uses inductive, deductive and constraint solving techniques. We explore such possibilities with some applications to investigative reasoning, where the aim is to identify the cause of a phenomenon from a set of candidates.
In most domains, artefacts and the creativity that went into their production is judged within a context; where a context may include background information on how the creator feels about their work, what they think it expresses, how it fits in with other work done within their community, and so on. In some cases, such framing information may involve obfuscation in order to add mystery to the work or its creator, which can add to our perception of creativity. We describe a novel method for the analysis of human creativity, using grounded theory. We demonstrate the importance of grounded theory via an ethnographic study of interviews by John Tusa with contemporary artists. By exploring the type of context and background that the artists share, we have developed theories which highlight the importance of areas of framing information, such as motivation, intention, or the processes involved in creating a work. We extend this to consider the role of mystery and obfuscation in framing, by considering what artists do not say versus what is explicitly revealed.
1 Overview A constraint satisfaction problem (CSP) consists of a set of variables {x 1 , x 2 ,. . ., x n }, a set of domains of values the variables can take and a set of constraints specifying which values the variables can take simultaneously. A solution to a CSP is an assignment of values to each of the variables from their domains such that no constraints are broken. They find widespread use in science and industry and can be extremely complicated, involving a large number of variables and complex constraints. CSP solvers allow users to specify CSPs in a particular syntax, and then search for solutions to the problem, normally using a configurable search approach. Correctly formulating CSPs is a skilled and time-consuming task. Moreover, once formulated, a CSP problem can take a large amount of processing time to solve. For these reasons, various methods have been devised to improve the effectiveness of CSP solving. One such method is to find additional information about the domain being studied and use this knowledge to reformulate the CSP solver to improve its effectiveness. In particular, when the domain of investigation is described by axioms in first-order logic then it may be possible to derive new theorems from those axioms. Such implied theorems are true for all instances of the domain and can therefore be added to the CSP formulation without loss of generality. Colton and Miguel (2001) used a machine learning system to discover new information about the problem domain of certain CSPs. Their approach was semi-automatic and significant aspects were performed manually. In particular, a skilled constraints programmer created the initial solver models and translated new information into constraints and a skilled mathematician manually reviewed the learning system output. Consequently, although the reformulations provided an improvement in the speed of finding solutions, the gain was offset by the large amount time and expertise required to pre-process the problem. We have developed a system that fully automates this approach. The system consists of a number of modules, one of which is the HR machine learning system described in Colton (2001). HR combines machine learning and automated theorem proving to generate concepts and proven conjectures for a given domain. In the mode of operation that we use, HR starts with the basic axioms of the domain, some examples of objects which satisfy those axioms and some basic concepts of that …