9 research outputs found

    Effectively incorporating expert knowledge in automated software remodularisation

    Get PDF
    Remodularising the components of a software system is challenging: sound design principles (e.g., coupling and cohesion) need to be balanced against developer intuition of which entities conceptually belong together. Despite this, automated approaches to remodularisation tend to ignore domain knowledge, leading to results that can be nonsensical to developers. Nevertheless, suppling such knowledge is a potentially burdensome task to perform manually. A lot information may need to be specified, particularly for large systems. Addressing these concerns, we propose the SUMO (SUpervised reMOdularisation) approach. SUMO is a technique that aims to leverage a small subset of domain knowledge about a system to produce a remodularisation that will be acceptable to a developer. With SUMO, developers refine a modularisation by iteratively supplying corrections. These corrections constrain the type of remodularisation eventually required, enabling SUMO to dramatically reduce the solution space. This in turn reduces the amount of feedback the developer needs to supply. We perform a comprehensive systematic evaluation using 100 real world subject systems. Our results show that SUMO guarantees convergence on a target remodularisation with a tractable amount of user interaction

    Solve a Constraint Problem without Modeling It

    Full text link
    International audienceWe study how to find a solution to a constraint problem without modeling it. Constraint acquisition systems such as Conacq or ModelSeeker are not able to solve a single instance of a problem because they require positive examples to learn. The recent QuAcq algorithm for constraint acquisition does not require positive examples to learn a constraint network. It is thus able to solve a constraint problem without modeling it: we simply exit from QuAcq as soon as a complete example is classified as positive by the user. In this paper, we propose ASK&SOLVE, an elicitation-based solver that tries to find the best tradeoff between learning and solving to converge as soon as possible on a solution. We propose several strategies to speed-up ASK&SOLVE. Finally we give an experimental evaluation that shows that our approach improves the state of the art

    Synergies between machine learning and reasoning - An introduction by the Kay R. Amel group

    Get PDF
    This paper proposes a tentative and original survey of meeting points between Knowledge Representation and Reasoning (KRR) and Machine Learning (ML), two areas which have been developed quite separately in the last four decades. First, some common concerns are identified and discussed such as the types of representation used, the roles of knowledge and data, the lack or the excess of information, or the need for explanations and causal understanding. Then, the survey is organised in seven sections covering most of the territory where KRR and ML meet. We start with a section dealing with prototypical approaches from the literature on learning and reasoning: Inductive Logic Programming, Statistical Relational Learning, and Neurosymbolic AI, where ideas from rule-based reasoning are combined with ML. Then we focus on the use of various forms of background knowledge in learning, ranging from additional regularisation terms in loss functions, to the problem of aligning symbolic and vector space representations, or the use of knowledge graphs for learning. Then, the next section describes how KRR notions may benefit to learning tasks. For instance, constraints can be used as in declarative data mining for influencing the learned patterns; or semantic features are exploited in low-shot learning to compensate for the lack of data; or yet we can take advantage of analogies for learning purposes. Conversely, another section investigates how ML methods may serve KRR goals. For instance, one may learn special kinds of rules such as default rules, fuzzy rules or threshold rules, or special types of information such as constraints, or preferences. The section also covers formal concept analysis and rough sets-based methods. Yet another section reviews various interactions between Automated Reasoning and ML, such as the use of ML methods in SAT solving to make reasoning faster. Then a section deals with works related to model accountability, including explainability and interpretability, fairness and robustness. Finally, a section covers works on handling imperfect or incomplete data, including the problem of learning from uncertain or coarse data, the use of belief functions for regression, a revision-based view of the EM algorithm, the use of possibility theory in statistics, or the learning of imprecise models. This paper thus aims at a better mutual understanding of research in KRR and ML, and how they can cooperate. The paper is completed by an abundant bibliography

    Streamlined constraint reasoning : an automated approach from high level constraint specifications

    Get PDF
    Constraint Programming (CP) is a powerful technique for solving large-scale combinatorial (optimisation) problems. Solving a problem proceeds in two distinct phases: modelling and solving. Effective modelling has a huge impact on the performance of the solving process. Even with the advance of modern automated modelling tools, search spaces involved can be so vast that problems can still be difficult to solve. To further constrain the model a more aggressive step that can be taken is the addition of streamliner constraints, which are not guaranteed to be sound but are designed to focus effort on a highly restricted but promising portion of the search space. Previously, producing effective streamlined models was a manual, difficult and time-consuming task. This thesis presents a completely automated process to the generation, search and selection of streamliner portfolios to produce a substantial reduction in search effort across a diverse range of problems. First, we propose a method for the generation and evaluation of streamliner conjectures automatically from the type structure present in an Essence specification. Second, the possible streamliner combinations are structured into a lattice and a multi-objective search method for searching the lattice of combinations and building a portfolio of streamliner combinations is defined. Third, the problem of "Streamliner Selection" is introduced which deals with selecting from the portfolio an effective streamliner for an unseen instance. The work is evaluated by presenting two sets of experiments on a variety of problem classes. Lastly, we explore the effect of model selection in the context of streamlined specifications and discuss the process of streamlining for Constrained Optimization Problems."This work was supported by: EPSRC funding award EP/N509759/1" -- Fundin

    Multi-objective Optimization Methods for Allocation and Prediction

    Get PDF
    In this thesis we focus on two different aspects of auctions and we employ techniques and methods from both operations research and computer science. _First,_ we study the allocation of tasks to agents at the end of an auction. Usually, tasks are allocated in such a way that minimizes the total cost for the auctioneer. This allocation is optimal in a one-shot auction, but if the auction is repeated, this can have negative consequences for the results in the long run. Therefore, we consider a fair allocation, which costs slightly more in a one-shot auction, but has positive effects on the participation level of agents and the total cost for the auctioneer in repeated auctions. _Second,_ we consider the auction design. How an auction is set up, like which tasks should be auctioned first, or what the starting price should be, impacts the result. Usually there are experts who know what has occurred in previous auctions and how a future auction should be designed in order to obtain the best results. However, historical auctions can obtain so much information that experts overlook things. We use a combination of machine learning and optimization models to extract information from historical auctions and use this information to help design future auctions for better results

    A global workspace framework for combined reasoning

    No full text
    Artificial Intelligence research has produced many effective techniques for solving a wide range of problems. Practitioners tend to concentrate their efforts in one particular problem solving paradigm and, in the main, AI research describes new methods for solving particular types of problems or improvements in existing approaches. By contrast, much less research has considered how to fruitfully combine different problem solving techniques. Numerous studies have demonstrated how a combination of reasoning approaches can improve the effectiveness of one of those methods. Others have demonstrated how, by using several different reasoning techniques, a system or method can be developed to accomplish a novel task, that none of the individual techniques could perform. Combined reasoning systems, i.e., systems which apply disparate reasoning techniques in concert, can be more than the sum of their parts. In addition, they gain leverage from advances in the individual methods they encompass. However, the benefits of combined reasoning systems are not easily accessible, and systems have been hand-crafted to very specific tasks in certain domains. This approach means those systems often suffer from a lack of clarity of design and are inflexible to extension. In order for the field of combined reasoning to advance, we need to determine best practice and identify effective general approaches. By developing useful frameworks, we can empower researchers to explore the potential of combined reasoning, and AI in general. We present here a framework for developing combined reasoning systems, based upon Baars’ Global Workspace Theory. The architecture describes a collection of processes, embodying individual reasoning techniques, which communicate via a global workspace. We present, also, a software toolkit which allows users to implement systems according to the framework. We describe how, despite the restrictions of the framework, we have used it to create systems to perform a number of combined reasoning tasks. As well as being as effective as previous implementations, the simplicity of the underlying framework means they are structured in a straightforward and comprehensible manner. It also makes the systems easy to extend to new capabilities, which we demonstrate in a number of case studies. Furthermore, the framework and toolkit we describe allow developers to harness the parallel nature of the underlying theory by enabling them to readily convert their implementations into distributed systems. We have experimented with the framework in a number of application domains and, through these applications, we have contributed to constraint satisfaction problem solving and automated theory formation

    Query-driven constraint acquisition

    No full text
    The modelling and reformulation of constraint networks are recognised as important problems. The task of automatically acquiring a constraint network formulation of a problem from a subset of its solutions and non-solutions has been presented in the literature. However, the choice of such a subset was assumed to be made independently of the acquisition process. We present an approach in which an interactive acquisition system actively selects a good set of examples. We show that the number of examples required to acquire a constraint network is significantly reduced using our approach.
    corecore