Julian Richardson

Learn More
Approaches to computer game playing based on (typically α −β) search of the tree of possible move sequences combined with an evaluation function have been successful for many games, notably Chess. For games with large search spaces and complex positions, such as Go, these approaches are less successful and we are led to seek alternative approaches. One such(More)
Determining the intended sense of words in text – word sense disambiguation (WSD) – is a long-standing problem in natural language processing. Recently, researchers have shown promising results using word vectors extracted from a neural network language model as features in WSD algorithms. However, a simple average or concatenation of word vectors for each(More)
Program synthesis automatically derives programs from specifications of their behavior. At a lower level, compilation automatically derives machine code from source code (i.e. from a specification of its behavior). An advantage of program synthesis/compilation, as opposed to manual coding, is that there is a direct link between the specification and the(More)
Schema-based program transformation [8] has been proposed as an effective technique for the optimisation of logic programs. Schemata are applied to a logic program, mapping inefficient constructs to more efficient ones. One challenging aspect of the technique is that of proving that the schemata are correct. This paper addresses the issue of correctness. We(More)
Linear logic has previously been shown to be suitable for describing and deductively solving planning problems involving conjunction and disjunction. We introduce a recursively deened datatype and a corresponding induction rule, thereby allowing recursive plans to be synthesised. In order to make explicit the relationship between proofs and plans, we(More)
We describe a system for the synthesis of logic programs from specifications based on higher-order logical descriptions of appropriate refinement operations. The system has been implemented within the proof planning system λClam. The generality of the approach is such that its extension to allow synthesis of higher-order logic programs was straightforward.(More)
In this paper we explore the use of ellipsis in proofs about lists. We present a higher-order formulation of elliptic formulae, and describe its implementation in the Clam proof planner. We use an un-ambiguous higher-order formulation of lists which is amenable to formal proofs without using induction, and to display using the familiar ::: notation .