# Solver

The solver can automatically solve levels of moderate complexity. ## Strategy - `Fast`: Prioritizes speed. - `Mixed`: Balances speed and steps. - `OptimalMovePush`: Finds optimal move solutions with the fewest pushes. - `OptimalPushMove`: Finds optimal push solutions with the fewest moves. ## Lower bound calculation method - `MinimumPush`: Counts the minimum number of pushes to the nearest target. - `MinimumMove`: Counts the minimum number of moves to the nearest target. (This method is slow, especially on maps with many boxes or large areas) - `ManhattanDistance`: Uses Manhattan distance to the nearest target. (This method is fast and suitable for maps with many boxes or large areas) ## Optimization - Deadlocks detection. - Detects dead square deadlocks. - Detects freeze deadlocks. - Tunnels detection. ## Statistics CPU : 13th Gen Intel(R) Core(TM) i9-13900HX (Base speed: 2.20 GHz). Threads : 1. Time limit: 10 seconds. | Collection | Total | Solved | | ------------------- | ----- | ------ | | box_world_100.xsb | 100 | 41 | | microban_155.xsb | 155 | 144 | | microban_II_135.xsb | 135 | 109 | ## Visualization Supports visualizing the automatic solution process. This feature allows you to intuitively view the working status of the solver. - Displays the best state found by the solver. - Displays lower bounds as a heat map.