34 research outputs found

    Numerical reasoning with an ILP system capable of lazy evaluation and customised search

    Get PDF
    Using problem-speciĀ®c background knowledge, computer programs developed within theframework of Inductive Logic Programming (ILP) have been used to construct restrictedĀ®rst-order logic solutions to scientiĀ®c problems. However, their approach to the analysis ofdata with substantial numerical content has been largely limited to constructing clauses that:(a) provide qualitative descriptions (high'', low'' etc.) of the values of response variables;and (b) contain simple inequalities restricting the ranges of predictor variables. This has precludedthe application of such techniques to scientiĀ®c and engineering problems requiring amore sophisticated approach. A number of specialised methods have been suggested to remedythis. In contrast, we have chosen to take advantage of the fact that the existing theoreticalframework for ILP places very few restrictions of the nature of the background knowledge.We describe two issues of implementation that make it possible to use background predicatesthat implement well-established statistical and numerical analysis procedures. Any improvementsin analytical sophistication that result are evaluated empirically using artiĀ®cial andreal-life data. Experiments utilising artiĀ®cial data are concerned with extracting constraintsfor response variables in the text-book problem of balancing a pole on a cart. They illustratethe use of clausal deĀ®nitions of arithmetic and trigonometric functions, inequalities, multiplelinear regression, and numerical derivatives. A non-trivial problem concerning the predictionof mutagenic activity of nitroaromatic molecules is also examined. In this case, expert chemistshave been unable to devise a model for explaining the data. The result demonstrates the combineduse by an ILP program of logical and numerical capabilities to achieve an analysis thatincludes linear modelling, clustering and classiĀ®cation. In all experiments, the predictions obtainedcompare favourably against benchmarks set by more traditional methods of quantitativemethods, namely, regression and neural-network

    Annotation concept synthesis and enrichment analysis: a logic-based approach to the interpretation of high-throughput experiments

    Get PDF
    Motivation: Annotation Enrichment Analysis (AEA) is a widely used analytical approach to process data generated by high-throughput genomic and proteomic experiments such as gene expression microarrays. The analysis uncovers and summarizes discriminating background information (e.g. GO annotations) for sets of genes identified by experiments (e.g. a set of differentially expressed genes, a cluster). The discovered information is utilized by human experts to find biological interpretations of the experiments

    Annotation concept synthesis and enrichment analysis: a logic-based approach to the interpretation of high-throughput experiments

    Get PDF
    Motivation: Annotation Enrichment Analysis (AEA) is a widely used analytical approach to process data generated by high-throughput genomic and proteomic experiments such as gene expression microarrays. The analysis uncovers and summarizes discriminating background information (e.g. GO annotations) for sets of genes identified by experiments (e.g. a set of differentially expressed genes, a cluster). The discovered information is utilized by human experts to find biological interpretations of the experiments

    Learning programs with magic values

    Full text link
    A magic value in a program is a constant symbol that is essential for the execution of the program but has no clear explanation for its choice. Learning programs with magic values is difficult for existing program synthesis approaches. To overcome this limitation, we introduce an inductive logic programming approach to efficiently learn programs with magic values. Our experiments on diverse domains, including program synthesis, drug design, and game playing, show that our approach can (i) outperform existing approaches in terms of predictive accuracies and learning times, (ii) learn magic values from infinite domains, such as the value of pi, and (iii) scale to domains with millions of constant symbols

    As lazy as it can be

    Get PDF
    Inductive Logic Programming (ILP) is a promising technology for knowledgeextraction applications. ILP has produced intelligible solutions for a wide variety of domains where it has been applied. The ILP lack of efficiency is, however, a major impediment for its scalability to applications requiring large amounts of data. In this paper we address important issues that must be solved to make ILP scalable to applicationsof knowledge extraction in large amounts of data. The issues include: efficiency and storage requirements.We propose and evaluate a set of techniques, globally called lazy evaluation of examples, to improve the efficiency of ILP systems. Lazy evaluation is essentially a way to avoid or postpone the evaluation of the generated hypotheses (coverage tests). To reduce the storage amount a representation schema called interval trees is proposed and evaluated.All the techniques were evaluated using the IndLog ILP system and a set of ILPdatasets referenced in the literature. The proposals lead to substantial efficiency improvements and memory savings and are generally applicable to any ILP system

    Synthesis of Model Transformations from Metamodels and Examples

    Get PDF
    Model transformations are central elements of model-driven engineering (MDE). However, model transformation development requires a high level of expertise in particular model transformation languages, and model transformation specifications are often difficult to manually construct, due to the lack of tool support, and the dependencies involved in transformation rules.In this thesis, we describe techniques for automatically or semi-automatically synthesising transformations from metamodels and examples, in order to reduce model transformation development costs and time, and improve model transformation quality.We proposed two approaches for synthesising transformations from metamodels. The first approach is the Data Structure Similarity Approach, an exhaustive metamodel matching approach, which extracts correspondences between metamodels by only focusing on the type of features. The other approach is the Search-based Optimisation Approach, which uses an optimisation algorithm to extract correspondences from metamodels by data structure similarity, name syntax similarity, and name semantic similarity. The correspondence patterns between the classes and features of two metamodels are extracted by either of these two methods. To enable the production of specifications in multiple model transformation languages from correspondences, we introduced an intermediate language which uses a simplified transformation notation to express transformation specifications in a language-independent manner, and defined the mapping rules from this intermediate language to different transformation languages.We also investigated Model Transformation by Examples Approach. We used machine learning techniques to learn model transformation rules from datasets of examples, so that the trained model could generate target model from source model directly.We evaluated our approaches on a range of cases of different kinds of transformation, and compared the model transformation accuracy and quality of our versions to the previously-developed manual versions of these cases.Key words: model transformation, model-driven engineering, transformation syn-thesis, metamodel matching, model transformation by example

    Internet Traffic Engineering : An Artificial Intelligence Approach

    Get PDF
    DissertaĆ§Ć£o de Mestrado em CiĆŖncia de Computadores, apresentada Ć  Faculdade de CiĆŖncias da Universidade do Port

    An FPGA implementation of an investigative many-core processor, Fynbos : in support of a Fortran autoparallelising software pipeline

    Get PDF
    Includes bibliographical references.In light of the power, memory, ILP, and utilisation walls facing the computing industry, this work examines the hypothetical many-core approach to finding greater compute performance and efficiency. In order to achieve greater efficiency in an environment in which Mooreā€™s law continues but TDP has been capped, a means of deriving performance from dark and dim silicon is needed. The many-core hypothesis is one approach to exploiting these available transistors efficiently. As understood in this work, it involves trading in hardware control complexity for hundreds to thousands of parallel simple processing elements, and operating at a clock speed sufficiently low as to allow the efficiency gains of near threshold voltage operation. Performance is there- fore dependant on exploiting a new degree of fine-grained parallelism such as is currently only found in GPGPUs, but in a manner that is not as restrictive in application domain range. While removing the complex control hardware of traditional CPUs provides space for more arithmetic hardware, a basic level of control is still required. For a number of reasons this work chooses to replace this control largely with static scheduling. This pushes the burden of control primarily to the software and specifically the compiler, rather not to the programmer or to an application specific means of control simplification. An existing legacy tool chain capable of autoparallelising sequential Fortran code to the degree of parallelism necessary for many-core exists. This work implements a many-core architecture to match it. Prototyping the design on an FPGA, it is possible to examine the real world performance of the compiler-architecture system to a greater degree than simulation only would allow. Comparing theoretical peak performance and real performance in a case study application, the system is found to be more efficient than any other reviewed, but to also significantly under perform relative to current competing architectures. This failing is apportioned to taking the need for simple hardware too far, and an inability to implement static scheduling mitigating tactics due to lack of support for such in the compiler

    Generating mock skeletons for lightweight Web service testing : a thesis presented in partial fulļ¬lment of the requirements for the degree of Doctor of Philosophy in Computer Science at Massey University, ManawatÅ« New Zealand

    Get PDF
    Modern application development allows applications to be composed using lightweight HTTP services. Testing such an application requires the availability of services that the application makes requests to. However, continued access to dependent services during testing may be restrained, making adequate testing a significant and non-trivial engineering challenge. The concept of Service Virtualisation is gaining popularity for testing such applications in isolation. It is a practise to simulate the behaviour of dependent services by synthesising responses using semantic models inferred from recorded traffic. Replacing services with their respective mocks is, therefore, useful to address their absence and move on application testing. In reality, however, it is unlikely that fully automated service virtualisation solutions can produce highly accurate proxies. Therefore, we recommend using service virtualisation to infer some attributes of HTTP service responses. We further acknowledge that engineers often want to fine-tune this. This requires algorithms to produce readily interpretable and customisable results. We assume that if service virtualisation is based on simple logical rules, engineers would have the potential to understand and customise rules. In this regard, Symbolic Machine Learning approaches can be investigated because of the high provenance of their results. Accordingly, this thesis examines the appropriateness of symbolic machine learning algorithms to automatically synthesise HTTP services' mock skeletons from network traffic recordings. We consider four commonly used symbolic techniques: the C4.5 decision tree algorithm, the RIPPER and PART rule learners, and the OCEL description logic learning algorithm. The experiments are performed employing network traffic datasets extracted from a few different successful, large-scale HTTP services. The experimental design further focuses on the generation of reproducible results. The chosen algorithms demonstrate the suitability of training highly accurate and human-readable semantic models for predicting the key aspects of HTTP service responses, such as the status and response headers. Having human-readable logics would make interpretation of the response properties simpler. These mock skeletons can then be easily customised to create mocks that can generate service responses suitable for testing
    corecore