DETERMINACY AND DETERMINACY ANALYSIS

Authors
Citation
Pm. Hill et Am. King, DETERMINACY AND DETERMINACY ANALYSIS, Journal of programming languages, 5(1), 1997, pp. 135-171
Citations number
62
Categorie Soggetti
Computer Sciences","Computer Science Software Graphycs Programming
ISSN journal
09639306
Volume
5
Issue
1
Year of publication
1997
Pages
135 - 171
Database
ISI
SICI code
0963-9306(1997)5:1<135:DADA>2.0.ZU;2-X
Abstract
One unique feature of logic languages is their ability to succinctly a nd declaratively express non-determinacy and hence search. Improving s earch efficiency is one of the main goals of AI and, by studying how r edundant search may be factored out, this paper contributes to this go al. In logic programming, alternatives can be specified by a set of se ntences defining the same predicate. By backtracking, considering in t urn each of these sentences, these alternatives can be explored until a solution (if one exists) is found. However, though backtracking is e ssential for certain parts of a program, typically many predicates are deterministic, and most queries to a program have no more than one so lution. Providing for non-determinacy can slow down the execution of a program on a uniprocessor and limit the scope for parallel execution on a multiprocessor. As a consequence, programmers are often forced to resort to the non-logical features of the language to ensure any dete rminacy is fully exploited. A number of papers on determinacy and its detection have been published. However, because of the diversity of ap plications for determinacy analysis, there has been a similar diversit y of definitions of determinacy and its related concepts. This paper r eformulates the determinacy definitions in a uniform way, identifying and contrasting the different approaches. Techniques for detecting and exploiting determinacy are also reviewed together with some direction s for future research.