Non-Discriminating Arguments and Their Uses

Research output: Contribution to journalConference articleResearchpeer-review

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.
Original languageEnglish
Book seriesLecture Notes in Computer Science
Issue number5649
Pages (from-to)55-69
Number of pages15
ISSN0302-9743
Publication statusPublished - 2009
Event Logic Programming. 25th International Conference - Pasadena, Ca, United States
Duration: 14 Jul 200917 Jul 2009
Conference number: 25

Conference

Conference Logic Programming. 25th International Conference
Number25
CountryUnited States
CityPasadena, Ca
Period14/07/200917/07/2009

Keywords

  • Logic programming
  • Bioinformatics
  • Program transformation

Cite this

@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.

In: Lecture Notes in Computer Science, No. 5649, 2009, p. 55-69.

Research output: Contribution to journalConference articleResearchpeer-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 -