Heurystyki dla piętnastki:
- h1 - liczba kafelków znajdujących się na niewłaściwej pozycji
- h2 - sumaryczna odległość kafelków od ich pozycji docelowych
Przypadki testowe dla piętnastki:
State({{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 0}}), // 0
State({{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 0, 15}}), // 1
State({{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 0, 11}, {13, 14, 15, 12}}), // 2
State({{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 14, 10, 11}, {13, 0, 15, 12}}), // 4
State({{1, 3, 0, 4}, {5, 2, 6, 8}, {9, 10, 7, 11}, {13, 14, 15, 12}}), // 6
State({{1, 2, 3, 4}, {6, 7, 8, 0}, {5, 10, 11, 12}, {9, 13, 14, 15}}), // 8
State({{1, 2, 0, 4}, {5, 6, 3, 8}, {14, 13, 7, 11}, {9, 15, 10, 12}}), // 12
State({{1, 2, 3, 0}, {5, 15, 6, 4}, {9, 10, 7, 8}, {13, 14, 12, 11}}), // 15
State({{1, 2, 0, 4}, {5, 10, 3, 6}, {13, 9, 15, 8}, {14, 12, 7, 11}}), // 18
State({{1, 4, 3, 7}, {5, 2, 0, 8}, {9, 12, 14, 15}, {13, 6, 11, 10}}), // 25
State({{1, 6, 7, 2}, {5, 10, 12, 3}, {0, 14, 13, 8}, {9, 15, 11, 4}}), // 30
State({{14, 7, 6, 4}, {2, 3, 1, 11}, {5, 9, 12, 15}, {13, 0, 10, 8}}), // 40
State({{1, 6, 15, 0}, {14, 11, 5, 7}, {10, 9, 8, 3}, {2, 13, 12, 4}}), // 45
State({{15, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}, {12, 13, 14, 0}}), // 46
State({{15, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 14, 10}, {11, 12, 13, 0}}), // 50
State({{15, 1, 2, 3}, {4, 5, 14, 6}, {7, 8, 9, 10}, {11, 12, 13, 0}}), // <=54
State({{15, 14, 13, 12}, {11, 10, 9, 8}, {7, 6, 5, 4}, {3, 1, 2, 0}}), // <=72