Álvaro Torralba
|
About me | Publications | Research Activities | Software | ConAn | Past Projects | Teaching |
You can download here the sources of the main tools that I have contributed to develop. If you don't find the code you are looking for, please contact me.
This software is released under GNU General Public License (GPL). It is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
h2-based preprocessor
The invariants of a planning problem are relationships between the entities of the task that are true in the definition of the initial state and the goal condition (if the problem has a solution) and whose truth is preserved by the application of the actions of the problem. The preprocessor uses invariants to simplify the model of the planning task, by analysing mutex pairs (obtained via h2 and disambiguation) that cannot belong to any plan. You can combine the h2-preprocessor with any technique to solve the planning task.
Due to its simplicity and its effectivity, this version of Fast Downward preprocessor is used by many state-of-the-art planners (e.g. many of the participants in the last IPC).
This is a joint work with Vidal Alcázar.
The source code can be found in the following repository:
Citation: Vidal Alcázar, Álvaro Torralba. A Reminder about the Importance of Computing and Exploiting Invariants in Planning. ICAPS 2015. 2-6
Planners for Cost Optimal Planning
The following planners were developed for deterministic sequencial planning (usually called Classical Planning). In particular, they were developed for optimal planning, in which planners must provide and prove the best solution in terms of the total action cost.
FastDownward-symbolic FastDownward-symbolic is a domain-independent classical planning system for cost-optimal planning. In this version we adapted the Fast Downward planner to perform symbolic bidirectional search. This is a clearer version of SymBA*. It doesn't include the advaced features that SymBA* includes, and it has less parameters to configure. Nevertheless, the performance of both algorithms is very similar. This algorithm is more suitable to build on top of it. The source code can be found in the following repository:
Citation: Álvaro Torralba, Vidal Alcazar, Peter Kissmann, Stefan Edelkamp, Efficient Symbolic Search for Cost-Optimal Planning. Artificial Intelligence Journal volume 242, pages 52–79, 2017
|
SymBA* SymBA* is a domain-independent classical planning system for cost-optimal planning. This planner performs bidirectional symbolic search guided by different heuristics. It is also build on top of Fast Downward. This planner won the International Planning Competition (IPC) in the Optimal Track in 2014. In the IPC-2014 we submitted two different versions of SymBA*, both versions were based on the same techniques, with differences on the configuration of parameters. This repository includes both (with some bugs fixed), although the source code is exactly the same except for the plan script, which selects a different configuration. The source code of SymBA*-1 and SymBA*-2 (also a 64-bits version) can be download in the following repository:
To cite this work, please refer to the IJCAI 2016 paper or to the IPC paper, which includes the implementation details Citation: Álvaro Torralba, Carlos Linares López, Daniel Borrajo: Abstraction Heuristics for Symbolic Bidirectional Search. IJCAI 2016. 3272-3278
Citation (IPC paper): Álvaro Torralba, Vidal Alcázar, Daniel Borrajo, Peter Kissmann and Stefan Edelkamp. 2014. SymBA*: A symbolic bidirectional A* planner. In International Planning Competition, 105–108. |
Planning with Dominance Dominance techniques focus on reducing the search effort by finding those states that are extrictly worse that others and pruning them, or finding actions that are unnecessary for finding an optiomal plan, for example. This information is complementary to the information provided by heuristics and both techniques can be integrated.
COMING SOON! Citation: A. Torralba and J. Hoffmann, Simulation-Based Admissible Dominance Pruning at Proceedings of the 24th International Joint Conference on Artificial Intelligence (IJCAI'15)
Citation: A. Torralba, From Qualitative to Quantitative Dominance Pruning, Proceedings of the 26th International Joint Conference on Artificial Intelligence (IJCAI'17)
Citation: A. Torralba, Completeness-Preserving Dominance Techniques for Satisficing Planning, Proceedings of the 27th International Joint Conference on Artificial Intelligence (IJCAI'18)
|
MS-Task Reformulation Merge and Shrink is a well-known abstraction heuristic for cost-optimal planning. Here, we use Merge and Shrink as a reformulation method to transform the task before solving them for both optimal and satisficing planning. The repository is not ready yet, but you can ask me directly by mail.
COMING SOON! To cite this work, please refer to the IJCAI 2019 paper: Citation: Álvaro Torralba, and Silvan Sievers, Merge-and-Shrink Task Reformulation for Classical Planning, Proceedings of the 28th International Joint Conference on Artificial Intelligence (IJCAI'19)
|
Planners to Detect Unsolvability
In 2016 took place the 1st International Planning Competition for Unsolvability. The aim of the unsolvability IPC is to test the ability of classical automated planners to detect and prove when a planning task has no solution.
Finding a sequence of actions (solution) of a task has traditionally been the goal of the planning techniques. But more recently, it has increased the interest on tasks that are unsolvable. The objective in those cases is to prove that there is no solution for the problem given. Proving unsolvability is a more difficult problem than the traditional "Find the Plan", because it implies exploring the entire state of spaces to check that there is no such solution.
SymPA* In the IPC-2016, the Planner SymPA* was awarded with the second prize of the competition (first non-portfolio planner). It is a version of SymBA* specially adapted to prove unsolvability.
The source code can be found in the following repository: Citation (IPC paper): Álvaro Torralba, SymPA: Symbolic Perimeter Abstractions for Proving Unsolvability, Planner abstract Unsolvability IPC, 2016. |
MS-Unsat This version is the one presented to the IPC-2016, based on the abstraction "Merge and Schrink" developed by Malte Helmert. This heuristic was adapted to prove unsolvability in 2014, and presented in ECAI-14 and improved afterwards for the IPC-16 competition.
Citation (IPC paper): A. Torralba, J. Hoffmann and Peter Kissmann, MS-Unsat and SimulationDominance: Merge-and-Shrink and Dominance Pruning for Proving Unsolvability,, Proceedings of the 1st Unsolvability International Planning Competition (IPC 2016), at ICAPS'16. , London, UK, 2016. Citation: J. Hoffmann, P. Kissmann, and Á. Torralba ``Distance''? Who Cares? Tailoring Merge-and-Shrink Heuristics to Detect Unsolvability Proceedings of the 21st European Conference on Artificial Intelligence (ECAI'14), Prague, Czech Republic, August 2014.
|
Other software
Undoability Checker In some situations, it is interesting to know which actions are not reversible, and therefore, they cannot be undone. For example, deleting a file from the computer. In some autonomous systems, it is interesting that the system itself detect those undoable actions. This way the system can ask the user for confirmation before performing an action that cannot be reversed.
The source code can be found in the following repository: Citation: J. Daum, A. Torralba, J. Hoffmann, P. Haslum, I. Weber, Practical Undoability Checking via Contingent Planning at International Conference on Planning and Scheduling 2016. (ICAPS'16)
|
Partial Grounding Current classical planners are very successful in finding (nonoptimal) plans, even for large planning instances. To do so,
most planners rely on a preprocessing stage that computes a
grounded representation of the task. Whenever the grounded
task is too big to be generated (i.e., whenever this preprocess
fails) the instance cannot even be tackled by the actual planner. That has been identified in some domains, like the Organic Syntexis Domain, where, despite the instances are easily solvable by the current planners, some of them cannot be handle during the preprocessing stage. To address this issue, we presented in AAAI 2019 a partial grounding
approach that grounds only a projection of the task, when
complete grounding is not feasible. We proposed a guiding
mechanism that, for a given domain, identifies the parts of a
task that are relevant to find a plan by using off-the-shelf machine learning methods.
The source code can be found in the following repository: Citation : D. Gnad, A. Torralba, M. Dominguez, C. Areces, F. Bustos, Learning How to Ground a Plan - Partial Grounding in Classical Planning, Proceedings of the 33rd AAAI Conference on Artificial Intelligence (AAAI'19), Honolulu, USA, 2019.
|
Stackelberg Planner-sls Stackelberg Planning has been defined as an adversarial game with two agents (leader and follower). The leader acts first and its objective is to avoid that the follower reachs its goals. Then, the follower acts to reach its own goals. This variant of planning has applications for robustness analysis and for security analysis in network penetration testing analysis.
The source code can be found in the following repository: Citation: A. Torralba, P. Speicher, R. Künnemann, M. Steinmetz and J. Hoffmann, Faster Stackelberg Planning via Symbolic Search and Information Sharing at Proceedings of the 35th AAAI Conference on Artificial Intelligence (AAAI'21) |