257,867 research outputs found
In Search Of Most Complex Regular Languages
Electronic version of an article published as International Journal of Foundations of Computer Science, 24(06), 2013, 691–708. http://dx.doi.org/10.1142/S0129054113400133 © World Scientific Publishing Company http://www.worldscientific.com/Sequences (L-n vertical bar n >= k), called streams, of regular languages L-n are considered, where k is some small positive integer, n is the state complexity of L-n, and the languages in a stream differ only in the parameter n, but otherwise, have the same properties. The following measures of complexity are proposed for any stream: (1) the state complexity n of L-n, that is the number of left quotients of L-n (used as a reference); (2) the state complexities of the left, quotients of L-n; (3) the number of atoms of L-n; (4) the state complexities of the atoms of L-n; (5) the size of the syntactic semigroup of L; and the state complexities of the following operations: (6) the reverse of L-n; (7) the star; (8) union, intersection, difference and symmetric difference of and L-n; and the concatenation of L-m and L-n. A stream that has the highest possible complexity with respect to these measures is then viewed as a most complex stream. The language stream (U-n (a, b, c) vertical bar n >= 3 is defined by the deterministic finite automaton with state set {0, 1, ..., n-1}, initial state 0, set {n-1} of final states, and input alphabet {a, b, c}, where a performs a cyclic permutation of the;a states, b transposes states 0 and 1, and c maps state n - 1 to state 0. This stream achieves the highest possible complexities with the exception of boolean operations where m = n. In the latter case, one can use U-n (a, b, c) and U-n(a, b, c), where the roles of a and b are interchanged in the second language. In this sense, U-n (a, b, c) is a universal witness This witness and its extensions also apply to a large number of combined regular operations.Natural Sciences and Engineering Research Council of Canada [OGP0000871
Reasoning & Querying – State of the Art
Various query languages for Web and Semantic Web data, both for practical use and as an area of research in the scientific community, have emerged in recent years. At the same time, the broad adoption of the internet where keyword search is used in many applications, e.g. search engines, has familiarized casual users with using keyword queries to retrieve information on the internet. Unlike this easy-to-use querying, traditional query languages require knowledge of the language itself as well as of the data to be queried. Keyword-based query languages for XML and RDF bridge the gap between the two, aiming at enabling simple querying of semi-structured data, which is relevant e.g. in the context of the emerging Semantic Web. This article presents an overview of the field of keyword querying for XML and RDF
Decompositions of Grammar Constraints
A wide range of constraints can be compactly specified using automata or
formal languages. In a sequence of recent papers, we have shown that an
effective means to reason with such specifications is to decompose them into
primitive constraints. We can then, for instance, use state of the art SAT
solvers and profit from their advanced features like fast unit propagation,
clause learning, and conflict-based search heuristics. This approach holds
promise for solving combinatorial problems in scheduling, rostering, and
configuration, as well as problems in more diverse areas like bioinformatics,
software testing and natural language processing. In addition, decomposition
may be an effective method to propagate other global constraints.Comment: Proceedings of the Twenty-Third AAAI Conference on Artificial
Intelligenc
Logic Programming Applications: What Are the Abstractions and Implementations?
This article presents an overview of applications of logic programming,
classifying them based on the abstractions and implementations of logic
languages that support the applications. The three key abstractions are join,
recursion, and constraint. Their essential implementations are for-loops, fixed
points, and backtracking, respectively. The corresponding kinds of applications
are database queries, inductive analysis, and combinatorial search,
respectively. We also discuss language extensions and programming paradigms,
summarize example application problems by application areas, and touch on
example systems that support variants of the abstractions with different
implementations
- …