32 research outputs found
Tracing and Explaining Execution of CLP(FD) Programs
Previous work in the area of tracing CLP(FD) programs mainly focuses on
providing information about control of execution and domain modification. In
this paper, we present a trace structure that provides information about
additional important aspects. We incorporate explanations in the trace
structure, i.e. reasons for why certain solver actions occur. Furthermore, we
come up with a format for describing the execution of the filtering algorithms
of global constraints. Some new ideas about the design of the trace are also
presented. For example, we have modeled our trace as a nested block structure
in order to achieve a hierarchical view. Also, new ways about how to represent
and identify different entities such as constraints and domain variables are
presented.Comment: 16 pages; Alexandre Tessier, editor; WLPE 2002,
http://xxx.lanl.gov/abs/cs.SE/020705
Learning Interpretable Error Functions for Combinatorial Optimization Problem Modeling
In Constraint Programming, constraints are usually represented as predicates
allowing or forbidding combinations of values. However, some algorithms exploit
a finer representation: error functions. Their usage comes with a price though:
it makes problem modeling significantly harder. Here, we propose a method to
automatically learn an error function corresponding to a constraint, given a
function deciding if assignments are valid or not. This is, to the best of our
knowledge, the first attempt to automatically learn error functions for hard
constraints. Our method uses a variant of neural networks we named
Interpretable Compositional Networks, allowing us to get interpretable results,
unlike regular artificial neural networks. Experiments on 5 different
constraints show that our system can learn functions that scale to high
dimensions, and can learn fairly good functions over incomplete spaces
Interfacing prolog and VRML and its application to constraint visualization
A number of data description languages initially designed as standards for trie WWW are currently being used to implement user interfaces to programs. This is done independently of whether such programs are executed in the same or a different host as trie one running the user
interface itself. The advantage of this approach is that it provides a portable, standardized, and easy to use solution for the application programmer, and a familiar behavior for the user, typically well versed in the use of WWW browsers. Among the proposed standard description languages, VRML is a aimed at representing three dimensional scenes including hyperlink capabilities. VRML is already used as an import/export format in many 3-D packages and tools,
and has been shown effective in displaying complex objects and scenarios. We propose and describe a Prolog library which allows parsing and checking VRML code, transforming it, and writing it out as VRML again. The library converts such code to an internal representation based on first order terms which can then be arbitrarily manipulated. We also present as an example application the use of this library to implement a novel 3-D visualization for examining
and understanding certain aspects of the behavior of CLP(FD) programs
Visualization designs for constraint logic programming
We address the design and implementation of visual paradigms for observing the execution of constraint logic programs, aiming at debugging, tuning and optimization, and teaching. We focus on the display of data in CLP executions, where representation for constrained variables and for the constrains themselves are seeked. Two tools, VIFID and TRIFID, exemplifying the devised depictions, have been implemented, and are used to showcase the usefulness of the visualizations developed
Graph Pattern Matching in GQL and SQL/PGQ
As graph databases become widespread, JTC1 -- the committee in joint charge
of information technology standards for the International Organization for
Standardization (ISO), and International Electrotechnical Commission (IEC) --
has approved a project to create GQL, a standard property graph query language.
This complements a project to extend SQL with a new part, SQL/PGQ, which
specifies how to define graph views over an SQL tabular schema, and to run
read-only queries against them.
Both projects have been assigned to the ISO/IEC JTC1 SC32 working group for
Database Languages, WG3, which continues to maintain and enhance SQL as a
whole. This common responsibility helps enforce a policy that the identical
core of both PGQ and GQL is a graph pattern matching sub-language, here termed
GPML.
The WG3 design process is also analyzed by an academic working group, part of
the Linked Data Benchmark Council (LDBC), whose task is to produce a formal
semantics of these graph data languages, which complements their standard
specifications.
This paper, written by members of WG3 and LDBC, presents the key elements of
the GPML of SQL/PGQ and GQL in advance of the publication of these new
standards
Deriving a Fast Inverse of the Generalized Cantor N-tupling Bijection
We attack an interesting open problem (an efficient algorithm to invert the generalized Cantor N-tupling bijection) and solve it through a sequence of equivalence preserving transformations of logic programs, that take advantage of unique strengths of this programming paradigm. An extension to set and multiset tuple encodings, as well as a simple application to a "fair-search" mechanism illustrate practical uses of our algorithms.
The code in the paper (a literate Prolog program, tested with SWI-Prolog and Lean Prolog) is available at http://logic.cse.unt.edu/tarau/research/2012/pcantor.pl