Non-Discriminating Arguments and Their Uses

Publikation: Bidrag til tidsskriftKonferenceartikelForskningpeer review

Resumé

We present a technique for identifying predicate arguments that play no role in determining the control flow of a logic program with respect to goals satisfying given mode and sharing restrictions.  We call such arguments non-discriminating arguments. We show that such arguments can be detected by an automatic analysis. Following this, we define a transformation procedure, called discriminator slicing, that removes the non-discriminating arguments, resulting in a program whose computation trees are isomorphic to those of the original program.  Finally, we show how the results of the original program can be reconstructed from trace of the transformed program with the original arguments.   Thus the overall result is a two-stage execution of a program, which can be applied usefully in several contexts;  we describe a case study in optimising computations in the probabilistic logic program language PRISM, and discuss applications in tabling and partial evaluation.  We also discuss briefly other possible ways of exploiting the non-discriminating arguments.
OriginalsprogEngelsk
BogserieLecture Notes in Computer Science
Udgave nummer5649
Sider (fra-til)55-69
Antal sider15
ISSN0302-9743
StatusUdgivet - 2009
Begivenhed Logic Programming. 25th International Conference - Pasadena, Ca, USA
Varighed: 14 jul. 200917 jul. 2009
Konferencens nummer: 25

Konference

Konference Logic Programming. 25th International Conference
Nummer25
LandUSA
ByPasadena, Ca
Periode14/07/200917/07/2009

Bibliografisk note

ISBN Print: 978-3-642-02845-8. Værtspublikationsredaktører:
Patricia M. Hill
David S. Warren
Udgivelsesdato: July 2009

Emneord

    Citer dette

    @inproceedings{2997af10069311df9853000ea68e967b,
    title = "Non-Discriminating Arguments and Their Uses",
    abstract = "We present a technique for identifying predicate arguments that play no role in determining the control flow of a logic program with respect to goals satisfying given mode and sharing restrictions.  We call such arguments non-discriminating arguments. We show that such arguments can be detected by an automatic analysis. Following this, we define a transformation procedure, called discriminator slicing, that removes the non-discriminating arguments, resulting in a program whose computation trees are isomorphic to those of the original program.  Finally, we show how the results of the original program can be reconstructed from trace of the transformed program with the original arguments.   Thus the overall result is a two-stage execution of a program, which can be applied usefully in several contexts;  we describe a case study in optimising computations in the probabilistic logic program language PRISM, and discuss applications in tabling and partial evaluation.  We also discuss briefly other possible ways of exploiting the non-discriminating arguments.",
    keywords = "Logic programming, Bioinformatics, Program transformation",
    author = "Henning Christiansen and Gallagher, {John Patrick}",
    note = "ISBN Print: 978-3-642-02845-8. V{\ae}rtspublikationsredakt{\o}rer: Patricia M. Hill David S. Warren Udgivelsesdato: July 2009",
    year = "2009",
    language = "English",
    pages = "55--69",
    journal = "Lecture Notes in Computer Science",
    issn = "0302-9743",
    publisher = "Physica-Verlag",
    number = "5649",

    }

    Non-Discriminating Arguments and Their Uses. / Christiansen, Henning; Gallagher, John Patrick.

    I: Lecture Notes in Computer Science, Nr. 5649, 2009, s. 55-69.

    Publikation: Bidrag til tidsskriftKonferenceartikelForskningpeer review

    TY - GEN

    T1 - Non-Discriminating Arguments and Their Uses

    AU - Christiansen, Henning

    AU - Gallagher, John Patrick

    N1 - ISBN Print: 978-3-642-02845-8. Værtspublikationsredaktører: Patricia M. Hill David S. Warren Udgivelsesdato: July 2009

    PY - 2009

    Y1 - 2009

    N2 - We present a technique for identifying predicate arguments that play no role in determining the control flow of a logic program with respect to goals satisfying given mode and sharing restrictions.  We call such arguments non-discriminating arguments. We show that such arguments can be detected by an automatic analysis. Following this, we define a transformation procedure, called discriminator slicing, that removes the non-discriminating arguments, resulting in a program whose computation trees are isomorphic to those of the original program.  Finally, we show how the results of the original program can be reconstructed from trace of the transformed program with the original arguments.   Thus the overall result is a two-stage execution of a program, which can be applied usefully in several contexts;  we describe a case study in optimising computations in the probabilistic logic program language PRISM, and discuss applications in tabling and partial evaluation.  We also discuss briefly other possible ways of exploiting the non-discriminating arguments.

    AB - We present a technique for identifying predicate arguments that play no role in determining the control flow of a logic program with respect to goals satisfying given mode and sharing restrictions.  We call such arguments non-discriminating arguments. We show that such arguments can be detected by an automatic analysis. Following this, we define a transformation procedure, called discriminator slicing, that removes the non-discriminating arguments, resulting in a program whose computation trees are isomorphic to those of the original program.  Finally, we show how the results of the original program can be reconstructed from trace of the transformed program with the original arguments.   Thus the overall result is a two-stage execution of a program, which can be applied usefully in several contexts;  we describe a case study in optimising computations in the probabilistic logic program language PRISM, and discuss applications in tabling and partial evaluation.  We also discuss briefly other possible ways of exploiting the non-discriminating arguments.

    KW - Logic programming

    KW - Bioinformatics

    KW - Program transformation

    M3 - Conference article

    SP - 55

    EP - 69

    JO - Lecture Notes in Computer Science

    JF - Lecture Notes in Computer Science

    SN - 0302-9743

    IS - 5649

    ER -