<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Software | AC Group | TU Wien</title><link>https://ac.tuwien.ac.at/tag/software/</link><atom:link href="https://ac.tuwien.ac.at/tag/software/index.xml" rel="self" type="application/rss+xml"/><description>Software</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sun, 26 Aug 2018 00:00:00 +0000</lastBuildDate><image><url>https://ac.tuwien.ac.at/media/logo_hu10234977157890132473.png</url><title>Software</title><link>https://ac.tuwien.ac.at/tag/software/</link></image><item><title>fraSMT</title><link>https://ac.tuwien.ac.at/software/82-software-frasmt/</link><pubDate>Sun, 26 Aug 2018 00:00:00 +0000</pubDate><guid>https://ac.tuwien.ac.at/software/82-software-frasmt/</guid><description>&lt;p>Bounded fractional hypertree width (fhtw) is the most general known structural property that guarantees polynomial-time solvability of the &lt;a href="https://en.wikipedia.org/wiki/Constraint_satisfaction_problem" target="_blank" rel="noopener">constraint satisfaction problem&lt;/a>. Bounded fhtw generalizes other structural properties like bounded induced width and bounded hypertree width.&lt;/p>
&lt;p>FraSMT is the first practical algorithm for computing the fhtw and its associated structural decomposition. FraSMT is based on an efficient encoding of the decomposition problem to &lt;a href="https://en.wikipedia.org/wiki/Satisfiability_modulo_theories" target="_blank" rel="noopener">SMT (SAT modulo Theory)&lt;/a> with Linear Arithmetic as implemented in the &lt;a href="https://github.com/Z3Prover/z3" target="_blank" rel="noopener">SMT solver Z3&lt;/a>. The encoding is further strengthened by preprocessing and symmetry breaking methods.&lt;/p>
&lt;h2 id="downloads">Downloads&lt;/h2>
&lt;p>The fraSMT tool can be downloaded from this &lt;a href="https://github.com/daajoe/frasmt" target="_blank" rel="noopener">GitHub page&lt;/a>.&lt;/p>
&lt;p>Benchmark instances can be downloaded from this &lt;a href="https://zenodo.org/record/1289383" target="_blank" rel="noopener">Zenodo page&lt;/a>.&lt;/p>
&lt;h2 id="team">Team&lt;/h2>
&lt;ul>
&lt;li>Markus Hecher&lt;/li>
&lt;li>Johannes Fichte&lt;/li>
&lt;li>Neha Lodha&lt;/li>
&lt;li>&lt;a href="https://ac.tuwien.ac.at/team/stefan-szeider/">Stefan Szeider&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="publications">Publications&lt;/h2>
&lt;p>1 result&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">&lt;/th>
&lt;th style="text-align: left">&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">2018&lt;/td>
&lt;td style="text-align: left">&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">[1]&lt;/td>
&lt;td style="text-align: left">An SMT Approach to Fractional Hypertree Width Johannes K. Fichte, Markus Hecher, Neha Lodha, Stefan Szeider &lt;em>Proceedings of CP 2018, the 24rd International Conference on Principles and Practice of Constraint Programming&lt;/em> (John N. Hooker, ed.), volume 11008 of &lt;em>Lecture Notes in Computer Science&lt;/em>, pages 109–127, 2018, Springer Verlag. &lt;a href="https://ac.tuwien.ac.at/publications/FichteHecherLodhaSzeider18?file=../../publications/publications-web.bib" title="FichteHecherLodhaSzeider18">[bibtex]&lt;/a> &lt;a href="http://www.ac.tuwien.ac.at/files/tr/ac-tr-18-006.pdf" target="_blank" rel="noopener">[pdf]&lt;/a> &lt;a href="http://dx.doi.org/10.1007/978-3-319-98334-9_8" target="_blank" rel="noopener">[doi]&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>BranchLIS</title><link>https://ac.tuwien.ac.at/software/81-software-branchlis/</link><pubDate>Wed, 24 Jan 2018 00:00:00 +0000</pubDate><guid>https://ac.tuwien.ac.at/software/81-software-branchlis/</guid><description>&lt;p>Various decomposition techniques have proven to be useful for efficient solving of many hard problems, e.g., the #P-complete problem of counting models for a propositional formula, albeit there is an exponential dependency on the width measures that are associated with these decompositions. Therefore, it is of interest to obtain decompositions of small width. There are various exact methods, approximations, and heuristics which allow us to compute the decompositions. The exact methods can be only used for very small problem instances and are generally slow, whereas the approximations and heuristic methods are usually fast but far off from the optimal widths. SAT-based local improvements try to use the speed of the heuristics and use exact methods to get better upper bounds for a given width parameter.&lt;/p>
&lt;p>&lt;a href="https://en.wikipedia.org/wiki/Branch-decomposition" target="_blank" rel="noopener">Branch decomposition&lt;/a> is a prominent method for structurally decomposing a graph, hypergraph or CNF formula. The width of a branch decomposition provides a measure of how well the object is decomposed. We propose BranchLIS, a SAT approach to finding branch decompositions of small width.&lt;/p>
&lt;h3 id="sat-encoding-for-branchwidth">SAT Encoding for Branchwidth&lt;/h3>
&lt;p>The core of our approach is an efficient SAT encoding which determines with a single SAT-call whether a given hypergraph admits a branch decomposition of a certain width. For our encoding, we developed a novel partition-based characterization of branch decomposition. Using this encoding we can obtain optimal widths for small instances as well as an upper bound for larger instances.&lt;/p>
&lt;h3 id="sat-based-local-improvement-forbranchwidth">SAT-based Local Improvement for Branchwidth&lt;/h3>
&lt;p>The encoding size imposes a limit on the size of the input hypergraph. In order to break through this barrier and to scale the SAT approach to larger instances, we developed a new heuristic approach (BranchLIS) where the SAT encoding is used to locally improve a given candidate decomposition until a fixed-point is reached. This new method scales now to instances with several thousands of vertices and edges.&lt;/p>
&lt;h3 id="downloads">Downloads&lt;/h3>
&lt;p>The source code can be downloaded from &lt;a href="https://github.com/nehal73/BranchLIS" target="_blank" rel="noopener">GitHub&lt;/a>. BranchLIS is written in Python2.7 and requires Python library Networkx. BranchLIS can also be used for visualizing the graphs and their decomposition (requires matplotlib).&lt;/p>
&lt;h3 id="team">Team&lt;/h3>
&lt;ul>
&lt;li>Neha Lodha&lt;/li>
&lt;li>Sebastian Ordyniak&lt;/li>
&lt;li>&lt;a href="https://ac.tuwien.ac.at/team/stefan-szeider/">Stefan Szeider&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="developer">Developer&lt;/h3>
&lt;ul>
&lt;li>Neha Lodha&lt;/li>
&lt;/ul>
&lt;h2 id="publications">Publications&lt;/h2>
&lt;p>2 results&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">&lt;/th>
&lt;th style="text-align: left">&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">2017&lt;/td>
&lt;td style="text-align: left">&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">[2]&lt;/td>
&lt;td style="text-align: left">A SAT Approach to Branchwidth Neha Lodha, Sebastian Ordyniak, Stefan Szeider &lt;em>Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence, IJCAI 2017, Melbourne, Australia, August 19-25, 2017&lt;/em> (Carles Sierra, ed.), pages 4894–4898, 2017, ijcai.org. Note: Sister Conference Best Paper Track &lt;a href="https://ac.tuwien.ac.at/publications/LodhaOrdyniakSzeider17b?file=../../publications/publications-web.bib" title="LodhaOrdyniakSzeider17b">[bibtex]&lt;/a> &lt;a href="https://www.ijcai.org/proceedings/2017/0689.pdf" target="_blank" rel="noopener">[pdf]&lt;/a> &lt;a href="http://dx.doi.org/10.24963/ijcai.2017/689" target="_blank" rel="noopener">[doi]&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">2016&lt;/td>
&lt;td style="text-align: left">&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">[1]&lt;/td>
&lt;td style="text-align: left">A SAT Approach to Branchwidth Neha Lodha, Sebastian Ordyniak, Stefan Szeider &lt;em>Theory and Applications of Satisfiability Testing - SAT 2016 - 19th International Conference, Bordeaux, France, July 5-8, 2016, Proceedings&lt;/em> (Nadia Creignou, Daniel Le Berre, eds.), volume 9710 of &lt;em>Lecture Notes in Computer Science&lt;/em>, pages 179–195, 2016, Springer Verlag. &lt;a href="https://ac.tuwien.ac.at/publications/LodhaOrdyniakSzeider16?file=../../publications/publications-web.bib" title="LodhaOrdyniakSzeider16">[bibtex]&lt;/a> &lt;a href="http://dx.doi.org/10.1007/978-3-319-40970-2_12" target="_blank" rel="noopener">[doi]&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Qute: A Dependency Learning QBF Solver</title><link>https://ac.tuwien.ac.at/software/80-software-qute/</link><pubDate>Thu, 30 Nov 2017 00:00:00 +0000</pubDate><guid>https://ac.tuwien.ac.at/software/80-software-qute/</guid><description>&lt;p>Quantified Boolean Formulas, or QBFs, augment propositional formulas with existential and universal quantification over truth values. QBFs can succinctly encode problems arising in areas such as formal verification and synthesis.&lt;/p>
&lt;p>For instance, if (\phi(X, Y)) specifies a system&amp;rsquo;s desired input/output behavior (with inputs (X) and outputs (Y)), the QBF (\Phi = \forall X \exists Y \phi (X, Y)) is true if there is a system implementing this specification. In general, the value of a variable (y \in Y) can depend on the values of all variables (x \in X), but in practice (y) often depends only on a small subset of (X). Such information on variable dependencies can significantly reduce the search space that QBF solvers must consider, but unfortunately deciding whether (y)  depends on (x) is as hard as evaluating a QBF. Some solvers rely on so-called dependency schemes to over-approximate the set of variable dependencies, but the resulting approximation tends to be coarse and frequently coincides with the set of syntactic dependencies.&lt;/p>
&lt;p>As part of our &lt;a href="https://ac.tuwien.ac.at/project/qbfdependencies/">project on variable dependencies of QBFs&lt;/a> we developed &lt;strong>Qute&lt;/strong>, a QBF solver that obtains information on variable dependencies on the fly. Qute assumes that variable (y) is independent of variable (x) until it runs into a problem that suggests otherwise, in which case the pair ((x, y)) is added to a database of dependencies that must be observed. Experiments show that Qute typically only learns a small fraction of a formula&amp;rsquo;s syntactic dependencies, which results in improved propagation and a more freedom for decision heuristics.&lt;/p>
&lt;h2 id="awards">Awards&lt;/h2>
&lt;p>Qute placed &lt;strong>3rd&lt;/strong> in the PCNF track of &lt;a href="http://www.qbflib.org/qbfeval17.php" target="_blank" rel="noopener">QBFEVAL'17&lt;/a>.&lt;/p>
&lt;h2 id="download">Download&lt;/h2>
&lt;p>Qute is open source and available from &lt;a href="https://github.com/fslivovsky/qute" target="_blank" rel="noopener">GitHub&lt;/a>. Qute is written in C++14.&lt;/p>
&lt;h2 id="team">Team&lt;/h2>
&lt;ul>
&lt;li>fslivovsky&lt;/li>
&lt;li>&lt;a href="https://ac.tuwien.ac.at/team/tomas-peitl/">Tomas Peitl&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://ac.tuwien.ac.at/team/stefan-szeider/">Stefan Szeider&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="developers">Developers&lt;/h2>
&lt;ul>
&lt;li>fslivovsky&lt;/li>
&lt;li>&lt;a href="https://ac.tuwien.ac.at/team/tomas-peitl/">Tomas Peitl&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="publications">Publications&lt;/h2>
&lt;p>1 result&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">&lt;/th>
&lt;th style="text-align: left">&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">2017&lt;/td>
&lt;td style="text-align: left">&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">[1]&lt;/td>
&lt;td style="text-align: left">Dependency learning for QBF Tomáš Peitl, Friedrich Slivovsky, Stefan Szeider &lt;em>Theory and Applications of Satisfiability Testing - SAT 2017 - 20th International Conference, Melbourne, VIC, Australia, August 28 - September 1, 2017, Proceedings&lt;/em> (Serge Gaspers, Toby Walsh, eds.), volume 10491 of &lt;em>Lecture Notes in Computer Science&lt;/em>, pages 298–313, 2017, Springer Verlag. &lt;a href="https://ac.tuwien.ac.at/publications/PeitlSlivovskySzeider17?file=../../publications/publications-web.bib" title="PeitlSlivovskySzeider17">[bibtex]&lt;/a> &lt;a href="http://www.ac.tuwien.ac.at/files/tr/ac-tr-17-011.pdf" target="_blank" rel="noopener">[pdf]&lt;/a> &lt;a href="http://dx.doi.org/10.1007/978-3-319-66263-3_19" target="_blank" rel="noopener">[doi]&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item></channel></rss>