A clique in a graph is a set of its vertices which are all connected to each other. A clique part... more A clique in a graph is a set of its vertices which are all connected to each other. A clique partition of a graph is a set of its disjoint cliques, which cover all the vertices of the graph. A partition is maximal, if no two cliques in it can be joined into a bigger one. Computing one maximal clique partition is a well-studied problem and several algorithms exist for it. In this paper, we consider the problem of computing all maximal clique partitions. We start from all maximal cliques of a graph and proceed by trying to make them disjoint, assigning shared vertices to one of the cliques they belong to. The challenge is to compute only the needed solutions. Our algorithm returns only maximal partitions, and each of them is computed once. Tests that detect failing branches early, guarantee that no false answer is first computed and then discarded. These properties make the branches of the algorithm’s search space independent from each other. Therefore, the process is easily paralleli...
ρLog-prox is a calculus for rule-based programming with strategies, which supports both exact and... more ρLog-prox is a calculus for rule-based programming with strategies, which supports both exact and approximate computations. Rules are represented as conditional transformations of sequences of expressions, which are built from variadic function symbols and four kinds of variables: for terms, hedges, function symbols, and contexts. ρLog-prox extends ρLog by permitting in its programs fuzzy proximity relations, which are reflexive and symmetric, but not transitive. We introduce syntax and operational semantics of ρLog-prox, illustrate its work by examples, and present a terminating, sound, and complete algorithm for the ρLog-prox expression matching problem.
We study anti-unification under the condition that some mismatches in the names of function symbo... more We study anti-unification under the condition that some mismatches in the names of function symbols is tolerated. The mismatches are expressed by proximity relations, which are reflexive, symmetric, but not transitive fuzzy binary relations. Their crisp version corresponds to undirected graphs. Computing all maximal clique partitions in them is needed to compute least general generalizations with respect to proximity relations. We report about our progress in developing both all-clique-partitions and anti-unification algorithms.
Proximity relations are binary fuzzy relations that satisfy reflexivity and symmetry properties, ... more Proximity relations are binary fuzzy relations that satisfy reflexivity and symmetry properties, but are not transitive. They induce the notion of distance between function symbols, which is further extended to terms. Given two terms, we aim at bringing them “sufficiently close” to each other, by finding an appropriate substitution. We impose no extra restrictions on proximity relations, allowing a term in unification to be close to two terms that themselves are not close to each other. Our unification algorithm works in two phases: first reducing the equation solving problem to constraints over sets of function symbols, and then solving the obtained constraints. Termination, soundness and completeness of both algorithms are shown. The unification problem has finite minimal complete set of unifiers.
A clique in a graph is a set of its vertices which are all connected to each other. A clique part... more A clique in a graph is a set of its vertices which are all connected to each other. A clique partition of a graph is a set of its disjoint cliques, which cover all the vertices of the graph. A partition is maximal, if no two cliques in it can be joined into a bigger one. Computing one maximal clique partition is a well-studied problem and several algorithms exist for it. In this paper, we consider the problem of computing all maximal clique partitions. We start from all maximal cliques of a graph and proceed by trying to make them disjoint, assigning shared vertices to one of the cliques they belong to. The challenge is to compute only the needed solutions. Our algorithm returns only maximal partitions, and each of them is computed once. Tests that detect failing branches early, guarantee that no false answer is first computed and then discarded. These properties make the branches of the algorithm’s search space independent from each other. Therefore, the process is easily paralleli...
ρLog-prox is a calculus for rule-based programming with strategies, which supports both exact and... more ρLog-prox is a calculus for rule-based programming with strategies, which supports both exact and approximate computations. Rules are represented as conditional transformations of sequences of expressions, which are built from variadic function symbols and four kinds of variables: for terms, hedges, function symbols, and contexts. ρLog-prox extends ρLog by permitting in its programs fuzzy proximity relations, which are reflexive and symmetric, but not transitive. We introduce syntax and operational semantics of ρLog-prox, illustrate its work by examples, and present a terminating, sound, and complete algorithm for the ρLog-prox expression matching problem.
We study anti-unification under the condition that some mismatches in the names of function symbo... more We study anti-unification under the condition that some mismatches in the names of function symbols is tolerated. The mismatches are expressed by proximity relations, which are reflexive, symmetric, but not transitive fuzzy binary relations. Their crisp version corresponds to undirected graphs. Computing all maximal clique partitions in them is needed to compute least general generalizations with respect to proximity relations. We report about our progress in developing both all-clique-partitions and anti-unification algorithms.
Proximity relations are binary fuzzy relations that satisfy reflexivity and symmetry properties, ... more Proximity relations are binary fuzzy relations that satisfy reflexivity and symmetry properties, but are not transitive. They induce the notion of distance between function symbols, which is further extended to terms. Given two terms, we aim at bringing them “sufficiently close” to each other, by finding an appropriate substitution. We impose no extra restrictions on proximity relations, allowing a term in unification to be close to two terms that themselves are not close to each other. Our unification algorithm works in two phases: first reducing the equation solving problem to constraints over sets of function symbols, and then solving the obtained constraints. Termination, soundness and completeness of both algorithms are shown. The unification problem has finite minimal complete set of unifiers.
Uploads
Papers