Sharon A. Curtis
Oxford Brookes University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Sharon A. Curtis.
mathematics of program construction | 1996
Sharon A. Curtis; Gavin Lowe
We present a graphical calculus, which allows mathematical formulae to be represented and reasoned about using a visual representation. We define how a formula may be represented by a graph, and present a number of laws for transforming graphs, and describe the effects these transformations have on the corresponding formulae. We then use these transformation laws to perform proofs. We illustrate the graphical calculus by applying it to the relational and sequential calculi. The graphical calculus makes formulae easier to understand, and so often makes the next step in a proof more obvious. Furthermore, it is more expressive, and so allows a number of proofs that cannot otherwise be undertaken in a point-free way.
Science of Computer Programming | 2007
Clare E. Martin; Sharon A. Curtis; Ingrid Rewitzky
This paper presents an introduction to a calculus of binary multirelations, which can model both angelic and demonic kinds of non-determinism. The isomorphism between up-closed multirelations and monotonic predicate transformers allows a different view of program transformation, and program transformation calculations using multirelations are easier to perform in some circumstances. Multirelations are illustrated by modelling both kinds of nondeterministic behaviour in games and resource-sharing protocols.
Science of Computer Programming | 2003
Sharon A. Curtis
This paper presents principles for the classification of greedy algorithms for optimization problems. These principles are made precise by their expression in the relational calculus, and illustrated by various examples. A discussion compares this work to other greedy algorithms theory.
mathematics of program construction | 1995
Sharon A. Curtis; Gavin Lowe
We present a graphical calculus, which allows mathematical formulae to be represented and reasoned about using a visual representation. We define how a formula may be represented by a graph, and present a number of laws for transforming graphs, and describe the effects these transformations have on the corresponding formulae. We then use these transformation laws to perform proofs. We illustrate the graphical calculus by applying it to the relational and sequential calculi. The graphical calculus makes formulae easier to understand, and so often makes the next step in a proof more obvious. Furthermore, it is more expressive, and so allows a number of proofs that cannot otherwise be undertaken in a point-free way.
Information Processing Letters | 2004
Sharon A. Curtis
Dartboard design can be seen as an instance of the travelling salesman problem with maximum costs. This paper presents a simple yet optimal greedy algorithm to arrange numbers on both circular dartboards and linear hoopla boards. As a result, it identifies a class of polynomially solvable travelling salesman problems.
Proceedings of the IFIP TC 2 WG 2.1 international workshop on Algorithmic languages and calculi | 1997
Sharon A. Curtis
Dynamic programming has long been used as an algorithm design technique, with various mathematical theories proposed to model it. Here we take a different perspective, using a relational calculus to model both, problems and their solutions obtained from dynamic programming. This approach serves to shed new light on the different styles of dynamic programming, representing them by different search strategies of the tree-like space of partial solutions.
unifying theories of programming | 2008
Clare E. Martin; Sharon A. Curtis
This paper contributes to the unification of semantic models and program development techniques by making a link from multirelations and predicate transformer semantics to algebraic semantics and the derivation of programs by calculation, as used in functional programming and relational program development. Two common ways to characterise iteration, namely the functional programming operators map and fold, are extended to multirelations, using concepts from category theory, power allegories and monads.
mathematics of program construction | 2006
Clare E. Martin; Sharon A. Curtis
The map and fold operators are both key elements of every functional programmers toolkit. In this paper we examine the corresponding concepts in the domain of multirelations, which can be used to model both angelic and demonic nondeterminism.
Journal of Functional Programming | 2006
Richard S. Bird; Sharon A. Curtis
The setting is a class on functional programming. There are four students, Anne, Jack, Mary and Theo.
Journal of Functional Programming | 2015
Sharon A. Curtis; Shin-Cheng Mu
The problem of finding a densest segment of a list is similar to the well-known maximum segment sum problem, but its solution is surprisingly challenging. We give a general specification of such problems, and formally develop a linear-time online solution, using a sliding-window style algorithm. The development highlights some elegant properties of densities, involving partitions that are decreasing and all right-skew.