2026-rff_mp/SobolevNS/docs/data/task2_maze/README.md

34 lines
1.1 KiB
Markdown
Raw Normal View History

2026-05-22 10:48:25 +00:00
# Задание 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` | выход (ровно один) |