diff --git a/SobolevNS/docs/data/task2_maze/README.md b/SobolevNS/docs/data/task2_maze/README.md new file mode 100644 index 0000000..57aed7c --- /dev/null +++ b/SobolevNS/docs/data/task2_maze/README.md @@ -0,0 +1,33 @@ +# Задание 2. Поиск выхода из лабиринта (паттерны GoF) + +Применены 4 паттерна: **Builder**, **Strategy**, **Observer**, **Command**. + +## Как запустить + +```bash +# 1) сгенерировать тестовые лабиринты +python3 generate_mazes.py +python3 generate_weighted_choice.py + +# 2) демонстрация всех паттернов на маленьком лабиринте +python3 demo.py + +# 3) эксперимент: 7 запусков × 4 стратегии × 7 лабиринтов +python3 experiment.py +# результат -> docs/data/results.csv + +# 4) графики +python3 plot_results.py +# результат -> docs/data/plots/*.png +``` + +## Формат лабиринта (текстовый) + +| Символ | Что означает | +| --- | --- | +| `#` | стена | +| ` ` (пробел) или `.` | проход, вес 1 (асфальт) | +| `,` | проход, вес 2 (песок) | +| `~` | проход, вес 3 (болото) | +| `S` | старт (ровно один) | +| `E` | выход (ровно один) |