This repository provides the official implementation of Tensor Train Tree Search (TTTS), a novel algorithm that integrates Monte Carlo Tree Search (MCTS) with Tensor Train (TT) factorization. TTTS efficiently handles complex decision-making problems in robotics by combining global search, local refinement, and a low-rank representation of the decision tree.
TTTS enables scalable and parallelizable planning across a variety of tasks, including nonlinear dynamics, hybrid discrete-continuous optimization, non-convex constraints, and multi-modal solution discovery.
- Combines MCTS with tensor factorization to reduce combinatorial complexity.
- Supports non-linear kinematics, non-convex constraints, mixed-integer programming and complex contact-rich dynamics.
- seamless integration with black-box simulators (e.g., Genesis).
- Supports GPU-based parallel computation.
In the examples folder, you can find the following examples:
- Continuous Non-Convex Optimization
- Mixed-Integer Optimization
If you are interested in a comparison between Tensor Trains (TTs) and neural networks (NNs) as function approximators, check out tt_vs_nn.ipynb.
-
Solves collision-free IK for multi-joint manipulators
-
Demonstrates TTTS’s ability to find multiple solutions
- 3-joint Manipulator: Reaches a narrow target via long-horizon planning
- 7-joint Panda Arm: Moves between shelves while avoiding collisions
- Real-world task using whole-body contact
- Solves complex control with real-time MPC using TTTS
pip install -r requirements.txtFor questions or contributions, please contact:
Teng Xue [teng.xue@idiap.ch]