Results 1 - 10
of
24
Predicting the Drape of Woven Cloth Using Interacting Particles
, 1994
"... We demonstrate a physically-based technique for predicting the drape of a wide variety of woven fabrics. The approach exploits a theoretical model that explicitly represents the microstructure of woven cloth with interacting particles, rather than utilizing a continuum approximation. By testing a cl ..."
Abstract
-
Cited by 108 (5 self)
- Add to MetaCart
We demonstrate a physically-based technique for predicting the drape of a wide variety of woven fabrics. The approach exploits a theoretical model that explicitly represents the microstructure of woven cloth with interacting particles, rather than utilizing a continuum approximation. By testing a cloth sample in a Kawabata fabric testing device, we obtain data that is used to tune the model's energy functions, so that it reproduces the draping behavior of the original material. Photographs, comparing the drape of actual cloth with visualizations of simulation results, show that we are able to reliably model the unique large-scale draping characteristics of distinctly different fabric types. iii Figure 1.1: Draping cloth objects 1 Introduction The vast number of uses for cloth are mirrored in the extraordinary variety of types of woven fabrics. These range from the most exquisite fine silks, to the coarsest of burlaps, and are woven from such diverse fibers as natural wool and synth...
Alma-0: An Imperative Language that Supports Declarative Programming
, 1998
"... Architecture The Alma Abstract Architecture (AAA) is the virtual architecture used during the intermediate code generation phase of the Alma-0 compiler. The AAA combines the features of the abstract machines for imperative languages and for logic programming languages. The compiler compiles the Al ..."
Abstract
-
Cited by 49 (10 self)
- Add to MetaCart
Architecture The Alma Abstract Architecture (AAA) is the virtual architecture used during the intermediate code generation phase of the Alma-0 compiler. The AAA combines the features of the abstract machines for imperative languages and for logic programming languages. The compiler compiles the Alma-0 programs into AAA programs. In a second phase the AAA instructions are translated into C statements. As the Alma-0 language itself, the AAA aims to combine the best of both worlds; elements were taken from virtual machines used to compile imperative languages (in particular the RISC architecture described in Wirth [1996, pp. 55--59], and from the WAM machine used to compile a logical language (see Ait-Kaci [1991]). Still, the AAA resembles most the virtual machines used in the compilation of imperative languages. The additions made to provide for the extensions of the Alma-0 language are ---the failure handling instructions ONFAIL, FAIL, 40 \Delta Krzysztof R. Apt et al ---the log ...
Constraint logic programming - an informal introduction
- LOGIC PROGRAMMING IN ACTION, NUMBER 636 IN LNCS
, 1992
"... Constraint Logic Programming (CLP) is a new class of programming languages combining the declarativity of logic programming with the efficiency of constraint solving. New application areas, amongst them many different classes of combinatorial search problems such as scheduling, planning or resource ..."
Abstract
-
Cited by 35 (8 self)
- Add to MetaCart
Constraint Logic Programming (CLP) is a new class of programming languages combining the declarativity of logic programming with the efficiency of constraint solving. New application areas, amongst them many different classes of combinatorial search problems such as scheduling, planning or resource allocation can now be solved, which were intractable for logic programming so far. The most important advantage that these languages offer is the short development time while exhibiting an efficiency comparable to imperative languages. This tutorial aims at presenting the principles and concepts underlying these languages and explaining them by examples. The objective of this paper is not to give a technical survey of the current state of art in research on CLP, but rather to give a tutorial introduction and to convey the basic philosophy that is behind the different ideas in CLP. It will discuss the currently most successful computation domains and provide an overview on the different consi...
Constraint Simplification Rules
, 1992
"... In current constraint logic programming systems, constraint solving is hard-wired in a "black box". We are investigating the use of logic programs to define and implement constraint solvers 1 . The representation of constraint evaluation in the same formalism as the rest of the program greatly fac ..."
Abstract
-
Cited by 16 (3 self)
- Add to MetaCart
In current constraint logic programming systems, constraint solving is hard-wired in a "black box". We are investigating the use of logic programs to define and implement constraint solvers 1 . The representation of constraint evaluation in the same formalism as the rest of the program greatly facilitates the prototyping, extension, specialization and combination of constraint solvers. In our approach, constraints are specified by definite clauses provided by a host language, while constraint evaluation is specified using multi-headed guarded clauses called constraint simplification rules (SiRs) 2 . SiRs define determinate conditional rewrite systems that express how conjunctions of constraints simplify. They have been used to encode a range of constraint solvers in our prototype implementation. Additionally, the definite clauses specifying a constraint can be evaluated in the host language, if the constraint is "callable" and no SiR can simplify it further. In this way our appr...
The PADDY Partial Deduction System
, 1992
"... This report describes the PADDY partial deduction system. Its main features are that it can handle full Sepia, including advanced features; is automatic; always terminates; is provably correct on pure Prolog programs; uses a powerful adaptive transformation strategy; has fast transformation times; i ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
This report describes the PADDY partial deduction system. Its main features are that it can handle full Sepia, including advanced features; is automatic; always terminates; is provably correct on pure Prolog programs; uses a powerful adaptive transformation strategy; has fast transformation times; is based on an unfold/fold system.
Complexity of Query Answering in Logic Databases with Complex Values
- in S. Adian & A. Nerode, eds, `Logical Foundations of Computer Science. 4th International Symposium, LFCS'97
, 1998
"... This paper characterizes the computational complexity of nonrecursive queries in logic databases with complex values. Queries are represented by Horn clause logic programs. Complex values are represented by terms in equational theories (finite sets and multisets are examples of such complex values). ..."
Abstract
-
Cited by 12 (4 self)
- Add to MetaCart
This paper characterizes the computational complexity of nonrecursive queries in logic databases with complex values. Queries are represented by Horn clause logic programs. Complex values are represented by terms in equational theories (finite sets and multisets are examples of such complex values). We show that the problem of whether a query has a nonempty answer is NEXP-hard for nonrecursive range-restricted queries. We also show that this problem is in NEXP if complex values satisfy the following condition: the solvability problem for equations in the corresponding equational theory is in NP. Since trees, finite sets and multisets satisfy this condition, the query answering problem for logic databases with trees, finite sets and multisets is shown to be NEXP-complete. 2 2 Copyright c fl 1997, 1998 Evgeni Dantsin and Andrei Voronkov. This technical report and other technical reports in this series can be obtained at http://www.csd.uu.se/papers/reports.html or at ftp.csd.uu.se in th...
Generalised Constraint Propagation Over the CLP Scheme
- Journal of Logic Programming
, 1992
"... Constraint logic programming is often described as logic programming with unification replaced by constraint solving over a computation domain. There is another, very different, CLP paradigm based on constraint satisfaction, where program-defined goals can be treated as constraints and handled using ..."
Abstract
-
Cited by 11 (4 self)
- Add to MetaCart
Constraint logic programming is often described as logic programming with unification replaced by constraint solving over a computation domain. There is another, very different, CLP paradigm based on constraint satisfaction, where program-defined goals can be treated as constraints and handled using propagation. This paper proposes a generalisation of propagation, which enables it to be applied on arbitrary computation domains, revealing that the two paradigms of CLP are orthogonal, and can be freely combined. The main idea behind generalised propagation is to use whatever constraints are available over the computation domain to express restrictions on problem variables. Generalised propagation on a goal G requires that the system extracts a constraint approximating all the answers to G. The paper introduces a generic algorithm for generalised propagation called topological branch and bound which avoids enumerating all the answers to G. Generalised propagation over the Herbrand univers...
Prolog with Arrays and Bounded Quantifications
- Logic Programming and Automated Reasoning---Proc. 4th Intl. Conf.', LNCS 698
, 1993
"... It is proposed to add bounded quantifications to Prolog. The main reason is one of natural expression, many algorithms are expressed more elegantly in a declarative way using bounded quantifications than using existing means, i.e., recursion. In particular this is true for numerical algorithms, an a ..."
Abstract
-
Cited by 11 (2 self)
- Add to MetaCart
It is proposed to add bounded quantifications to Prolog. The main reason is one of natural expression, many algorithms are expressed more elegantly in a declarative way using bounded quantifications than using existing means, i.e., recursion. In particular this is true for numerical algorithms, an area where Prolog has been virtually unsuccessful so far. Moreover, bounded quantification has been found to be at least as efficient as recursion, when applicable. We outline an implementation of some bounded quantifications through an extension of Warren's abstract Prolog machine and give performance figures relative to recursion. Finally, we have shown elsewhere that bounded quantification has a high potential for parallel implementation and we conclude in this paper that one can often run the same program efficiently on a sequential computer as well and on several kinds of parallel computers. 2 1 Introduction Barklund and Millroth [6] and Voronkov [25, 26] have proposed bounded quant...
Relating Data-Parallelism and (And-) Parallelism in Logic Programs
, 1995
"... Much work has been done in the areas of and--parallelism and data parallelism in Logic Programs. Such work has proceeded to a certain extent in an independent fashion. Both types of parallelism offer advantages and disadvantages. Traditional (and--) parallel models offer generality, being able to ex ..."
Abstract
-
Cited by 11 (5 self)
- Add to MetaCart
Much work has been done in the areas of and--parallelism and data parallelism in Logic Programs. Such work has proceeded to a certain extent in an independent fashion. Both types of parallelism offer advantages and disadvantages. Traditional (and--) parallel models offer generality, being able to exploit parallelism in a large class of programs (including that exploited by data parallelism techniques). Data parallelism techniques on the other hand offer increased performance for a restricted class of programs. The thesis of this paper is that these two forms of parallelism are not fundamentally different and that relating them opens the possibility of obtaining the advantages of both within the same system. Some relevant issues are discussed and solutions proposed. The discussion is illustrated through visualizations of actual parallel executions implementing the ideas proposed. Keywords: Parallel Logic Programming, And-Parallelism, Data-Parallelism, Fast Task Startup, Scheduling. 1 I...
The Compilation and Execution of Recursion-Parallel Prolog on Shared Memory Multiprocessors
, 1993
"... The parallel execution of logic programs, in particular written in Prolog, has great potential for efficient high-level parallel programming. Previous efforts have targeted the parallel execution of conjunctions and disjunctions of programs, so-called And-Or parallelism. A recent, promising approach ..."
Abstract
-
Cited by 8 (6 self)
- Add to MetaCart
The parallel execution of logic programs, in particular written in Prolog, has great potential for efficient high-level parallel programming. Previous efforts have targeted the parallel execution of conjunctions and disjunctions of programs, so-called And-Or parallelism. A recent, promising approach is that of recursion-parallelism, where structurally recursive programs are exploited to yield large amounts of parallelism. In this work, we describe techniques for compiling recursion-parallel Prolog programs. We define a restriction of general recursion-parallelism that is suitable for efficient parallel implementation. The compilation of this language consists of compile-time analysis by abstract interpretation followed by compilation. The analysis is done to ensure that programs satisfy the required properties of efficient implementation and to locate opportunities of optimization. In particular, the analysis distinguishes a hierarchy of data sharing that the compiler attempts to expl...

