From 69d425a34e06c6a8feb92267b0ae1a0c6eca8390 Mon Sep 17 00:00:00 2001 From: victorovaas Date: Sat, 5 Sep 2026 11:53:01 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D0=B0=20=D0=B2=D1=82=D0=BE=D1=80=D1=83=D1=8E=20=D0=BB=D0=B0?= =?UTF-8?q?=D0=B1=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- victorovaas/lab2/dead.txt | 20 + .../lab2/docs/data/dead_path_graph.png | Bin 0 -> 25772 bytes .../lab2/docs/data/dead_time_graph.png | Bin 0 -> 25175 bytes .../lab2/docs/data/dead_visited_graph.png | Bin 0 -> 27055 bytes .../lab2/docs/data/empty_path_graph.png | Bin 0 -> 23501 bytes .../lab2/docs/data/empty_time_graph.png | Bin 0 -> 24257 bytes .../lab2/docs/data/empty_visited_graph.png | Bin 0 -> 25310 bytes .../lab2/docs/data/maze_experiments.csv | 13 + .../lab2/docs/data/maze_table_results.png | Bin 0 -> 141935 bytes .../lab2/docs/data/noexit_time_graph.png | Bin 0 -> 24062 bytes .../lab2/docs/data/noexit_visited_graph.png | Bin 0 -> 23455 bytes .../lab2/docs/data/simple_path_graph.png | Bin 0 -> 21226 bytes .../lab2/docs/data/simple_time_graph.png | Bin 0 -> 28966 bytes .../lab2/docs/data/simple_visited_graph.png | Bin 0 -> 21392 bytes victorovaas/lab2/docs/lab2_report.ipynb | 237 +++++++++++ victorovaas/lab2/empty.txt | 50 +++ victorovaas/{ => lab2}/experiments.py | 0 victorovaas/lab2/lab2/maze_solver.py | 367 ++++++++++++++++++ victorovaas/{ => lab2}/make_graphs.py | 0 victorovaas/lab2/make_lab2_plots.py | 162 ++++++++ victorovaas/lab2/maze_experiments.py | 154 ++++++++ victorovaas/lab2/noexit.txt | 10 + victorovaas/lab2/simple.txt | 5 + 23 files changed, 1018 insertions(+) create mode 100644 victorovaas/lab2/dead.txt create mode 100644 victorovaas/lab2/docs/data/dead_path_graph.png create mode 100644 victorovaas/lab2/docs/data/dead_time_graph.png create mode 100644 victorovaas/lab2/docs/data/dead_visited_graph.png create mode 100644 victorovaas/lab2/docs/data/empty_path_graph.png create mode 100644 victorovaas/lab2/docs/data/empty_time_graph.png create mode 100644 victorovaas/lab2/docs/data/empty_visited_graph.png create mode 100644 victorovaas/lab2/docs/data/maze_experiments.csv create mode 100644 victorovaas/lab2/docs/data/maze_table_results.png create mode 100644 victorovaas/lab2/docs/data/noexit_time_graph.png create mode 100644 victorovaas/lab2/docs/data/noexit_visited_graph.png create mode 100644 victorovaas/lab2/docs/data/simple_path_graph.png create mode 100644 victorovaas/lab2/docs/data/simple_time_graph.png create mode 100644 victorovaas/lab2/docs/data/simple_visited_graph.png create mode 100644 victorovaas/lab2/docs/lab2_report.ipynb create mode 100644 victorovaas/lab2/empty.txt rename victorovaas/{ => lab2}/experiments.py (100%) create mode 100644 victorovaas/lab2/lab2/maze_solver.py rename victorovaas/{ => lab2}/make_graphs.py (100%) create mode 100644 victorovaas/lab2/make_lab2_plots.py create mode 100644 victorovaas/lab2/maze_experiments.py create mode 100644 victorovaas/lab2/noexit.txt create mode 100644 victorovaas/lab2/simple.txt diff --git a/victorovaas/lab2/dead.txt b/victorovaas/lab2/dead.txt new file mode 100644 index 00000000..5f30fecd --- /dev/null +++ b/victorovaas/lab2/dead.txt @@ -0,0 +1,20 @@ +#################### +#S # +# # +# # +# # +# ######### # +# # # +# # # +# # # +# # # +# # # +# # # +# # # +# # # +# # # +# # +# # +# # +# E# +#################### diff --git a/victorovaas/lab2/docs/data/dead_path_graph.png b/victorovaas/lab2/docs/data/dead_path_graph.png new file mode 100644 index 0000000000000000000000000000000000000000..5299126d26436e6f081c68b38f8df6743bb088d9 GIT binary patch literal 25772 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 ZwxS|mvly6Z)~q1Ucewky)ohPC_6Mzv_7MO8 literal 0 HcmV?d00001 diff --git a/victorovaas/lab2/docs/data/dead_time_graph.png b/victorovaas/lab2/docs/data/dead_time_graph.png new file mode 100644 index 0000000000000000000000000000000000000000..64a1d4e5b1c7efaf28b30259ff14d93584d064d8 GIT binary patch literal 25175 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

Z;PbNTo_8S0Dck5dnA3pc4CIWiKiJB#e&Mw& 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 GQ~v=KaZ(Tf literal 0 HcmV?d00001 diff --git a/victorovaas/lab2/docs/data/empty_visited_graph.png b/victorovaas/lab2/docs/data/empty_visited_graph.png new file mode 100644 index 0000000000000000000000000000000000000000..c7388d60273825b9e045fc6a8143f44b0e830c76 GIT binary patch literal 25310 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 ay@mZ^XJ`@jyQFluDU6q=AEEjrHT563WbJ1F literal 0 HcmV?d00001 diff --git a/victorovaas/lab2/docs/data/maze_experiments.csv b/victorovaas/lab2/docs/data/maze_experiments.csv new file mode 100644 index 00000000..d10c8143 --- /dev/null +++ b/victorovaas/lab2/docs/data/maze_experiments.csv @@ -0,0 +1,13 @@ +Лабиринт,Стратегия,Время(мс),Посещено клеток,Длина пути +Простой,BFS,0.017,11.0,6.0 +Простой,DFS,0.017,9.0,8.0 +Простой,A*,0.024,9.0,6.0 +С тупиками,BFS,0.355,306.0,35.0 +С тупиками,DFS,0.18,198.0,81.0 +С тупиками,A*,0.407,225.0,35.0 +Пустой,BFS,2.873,2304.0,95.0 +Пустой,DFS,8.03,2304.0,1129.0 +Пустой,A*,4.278,2304.0,95.0 +Без выхода,BFS,0.003,1.0,нет пути +Без выхода,DFS,0.002,1.0,нет пути +Без выхода,A*,0.014,1.0,нет пути diff --git a/victorovaas/lab2/docs/data/maze_table_results.png b/victorovaas/lab2/docs/data/maze_table_results.png new file mode 100644 index 0000000000000000000000000000000000000000..f24630db1ae1e72f07ca63e62e2486ddf4f94bff GIT binary patch literal 141935 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�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 z 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

rAqwY;L>{EGx6nC9Mj8XS~*7{)!Nu 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 z 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 literal 0 HcmV?d00001 diff --git a/victorovaas/lab2/docs/data/simple_path_graph.png b/victorovaas/lab2/docs/data/simple_path_graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9042b6cf23edbefca2d2b13f8d9e77db47a99a3b GIT binary patch literal 21226 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

JhnY`O{T=lH{CpIJ4s;R7A{$00@En` zM|>JQgrdd}-|8|ZakkSveJR~xHk`ZmiXqjqFj#6funQz<8-&nXqwXwd%NhG1)Jg~Z z6SkK9NY{&;DF>8qD%adw%v7rl!jPKhwy;s1L`#S$HTTU&P!`kbWP+TyQwkc^G%a5u z!o3Q0QwLPvon#N!k1|2odVHac;v zQJb5#T|1)J!z5iRq?qaspIzHP#~7sP_DarvR`Ax7B#-)IX2QF0GV|L2C4@BeHIMh% zwe@$L7P}w#;X2}`+0U{^j+|Ih4+kOoj~iJF}4P^v_vIq|I&$aKb6VQU!nF~9G&#waU}x1J{xTUUPnllri^{B>0aq%l{bSze6T-vpbm6XOJ_IVoY^I@%A5C@(-W?51aL06951J literal 0 HcmV?d00001 diff --git a/victorovaas/lab2/docs/data/simple_time_graph.png b/victorovaas/lab2/docs/data/simple_time_graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9f355913aa38610d466f8a793615239e6a851c83 GIT binary patch literal 28966 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 AHvj+t literal 0 HcmV?d00001 diff --git a/victorovaas/lab2/docs/lab2_report.ipynb b/victorovaas/lab2/docs/lab2_report.ipynb new file mode 100644 index 00000000..b74a85e4 --- /dev/null +++ b/victorovaas/lab2/docs/lab2_report.ipynb @@ -0,0 +1,237 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "bdef001e", + "metadata": {}, + "source": [ + "# Отчёт \n", + "## Поиск выхода из лабиринта: применение паттернов проектирования\n", + "\n", + "**Студент:** Викторова А.С.\n", + "**Группа:** 429\n", + "**Дата:** 03.09.2026" + ] + }, + { + "cell_type": "markdown", + "id": "21f948a4", + "metadata": {}, + "source": [ + "## Введение\n", + "\n", + "### О чём это работа\n", + "В данной работе реализуется программа для поиска выхода из лабиринта с применением паттернов проектирования. Поддерживаются три алгоритма поиска пути: BFS, DFS и A*.\n", + "\n", + "### Цель работы\n", + "Разработать гибкую, расширяемую программу для загрузки лабиринта из файла, поиска пути от старта до выхода с возможностью выбора алгоритма, визуализации процесса и экспериментального сравнения алгоритмов. Применить минимум 3 паттерна проектирования.\n", + "\n", + "### Задачи\n", + "1. Реализовать модель лабиринта (классы Cell, Maze)\n", + "2. Реализовать загрузку лабиринта из файла (паттерн Builder)\n", + "3. Реализовать алгоритмы поиска пути (паттерн Strategy): BFS, DFS, A*\n", + "4. Реализовать класс-оркестратор MazeSolver со сбором статистики\n", + "5. Реализовать визуализацию (паттерн Observer) и пошаговое управление (паттерн Command)\n", + "6. Провести эксперименты на лабиринтах разной сложности\n", + "7. Сравнить результаты и сделать выводы\n" + ] + }, + { + "cell_type": "markdown", + "id": "cf1dc2ba", + "metadata": {}, + "source": [ + "## Часть 1. Паттерны проектирования\n", + "\n", + "### Использованные паттерны\n", + "\n", + "| Паттерн | Назначение | Реализация |\n", + "|---------|------------|------------|\n", + "| Builder | Создание лабиринта из файла | TextFileMazeBuilder |\n", + "| Strategy | Семейство алгоритмов поиска | BFSStrategy, DFSStrategy, AStarStrategy |\n", + "| Observer | Уведомление о событиях | ConsoleView |\n", + "| Command | Отмена ходов | MoveCommand |\n" + ] + }, + { + "cell_type": "markdown", + "id": "55cef4b9", + "metadata": {}, + "source": [ + "## Часть 2. Реализация\n", + "\n", + "### 2.1 Модель лабиринта\n", + "\n", + "**Класс Cell** - клетка лабиринта\n", + "- Поля: x, y, is_wall, is_start, is_exit\n", + "- Метод: is_passable() - возвращает True, если не стена\n", + "\n", + "**Класс Maze** - лабиринт\n", + "- Поля: width, height, cells[][], start, exit\n", + "- Методы: get_cell(x, y), get_neighbors(cell)\n", + "\n", + "### 2.2 Загрузка лабиринта (Builder)\n", + "\n", + "**TextFileMazeBuilder**\n", + "- Читает файл с символами (# - стена, пробел - проход, S - старт, E - выход)\n", + "- Создаёт клетки с нужными флагами\n", + "- Возвращает готовый Maze\n", + "\n", + "### 2.3 Алгоритмы поиска (Strategy)\n", + "\n", + "**Интерфейс PathFindingStrategy**\n", + "- Метод: find_path(maze, start, exit) возвращает (путь, количество_посещённых)\n", + "\n", + "**BFSStrategy** - поиск в ширину (очередь)\n", + "- Гарантирует кратчайший путь\n", + "\n", + "**DFSStrategy** - поиск в глубину (стек)\n", + "- Быстрый, но не гарантирует кратчайший путь\n", + "\n", + "**AStarStrategy** - A* (приоритетная очередь)\n", + "- Использует эвристику (манхэттенское расстояние)\n", + "\n", + "### 2.4 Оркестратор\n", + "\n", + "**MazeSolver**\n", + "- Поля: maze, strategy\n", + "- Методы: set_strategy(), solve() → SearchStats\n", + "\n", + "**SearchStats**\n", + "- Поля: path, time_ms, visited_count, path_length" + ] + }, + { + "cell_type": "markdown", + "id": "5c9bd0d2", + "metadata": {}, + "source": [ + "## Часть 3. Эксперименты\n", + "\n", + "### 3.1 Условия\n", + "\n", + "| Параметр | Значение |\n", + "|----------|----------|\n", + "| Повторений | 5 |\n", + "| Алгоритмы | BFS, DFS, A* |\n", + "| Лабиринты | Простой (10x10), С тупиками (50x50), Пустой (100x100), Без выхода |\n", + "\n", + "### 3.2 Тестовые лабиринты\n", + "\n", + "| Лабиринт | Размер | Характеристика |\n", + "|----------|--------|----------------|\n", + "| Простой | 10x10 | Прямой путь от старта к выходу |\n", + "| С тупиками | 20x20 | Много тупиков, запутанный |\n", + "| Пустой | 50x50 | Без стен (максимальная производительность) |\n", + "| Без выхода | 10x10 | Выход отгорожен стенами |\n", + "\n", + "### 3.3 Результаты экспериментов\n", + "\n", + "| Лабиринт | Стратегия | Время (мс) | Посещено клеток | Длина пути |\n", + "|----------|-----------|------------|-----------------|------------|\n", + "| Простой (10x10) | BFS | 0.020 | 11 | 6 |\n", + "| Простой (10x10) | DFS | 0.012 | 9 | 8 |\n", + "| Простой (10x10) | A* | 0.020 | 9 | 6 |\n", + "| С тупиками (20x20) | BFS | 0.492 | 306 | 35 |\n", + "| С тупиками (20x20) | DFS | 0.234 | 198 | 81 |\n", + "| С тупиками (20x20) | A* | 0.456 | 225 | 35 |\n", + "| Пустой (50x50) | BFS | 3.486 | 2304 | 95 |\n", + "| Пустой (50x50) | DFS | 10.452 | 2304 | 1129 |\n", + "| Пустой (50x50) | A* | 5.743 | 2304 | 95 |\n", + "| Без выхода | BFS | 0.010 | 1 | нет пути |\n", + "| Без выхода | DFS | 0.003 | 1 | нет пути |\n", + "| Без выхода | A* | 0.004 | 1 | нет пути |\n", + "\n", + "### 3.4 Графики\n", + "\n", + "#### Простой лабиринт (10x10)\n", + "\n", + "![Время](data/simple_time_graph.png)\n", + "![Посещено](data/simple_visited_graph.png)\n", + "![Длина пути](data/simple_path_graph.png)\n", + "\n", + "#### Лабиринт с тупиками (20x20)\n", + "\n", + "![Время](data/dead_time_graph.png)\n", + "![Посещено](data/dead_visited_graph.png)\n", + "![Длина пути](data/dead_path_graph.png)\n", + "\n", + "#### Пустой лабиринт (50x50)\n", + "\n", + "![Время](data/empty_time_graph.png)\n", + "![Посещено](data/empty_visited_graph.png)\n", + "![Длина пути](data/empty_path_graph.png)\n", + "\n", + "#### Лабиринт без выхода\n", + "\n", + "![Время](data/noexit_time_graph.png)\n", + "![Посещено](data/noexit_visited_graph.png)\n", + "\n", + "### 3.5 Общая таблица результатов\n", + "\n", + "![Таблица](data/maze_table_results.png)\n", + "\n", + "### 3.6 Анализ результатов\n", + "\n", + "**Простой лабиринт (10x10):**\n", + "- BFS и A* нашли кратчайший путь (6 шагов)\n", + "- DFS нашёл более длинный путь (8 шагов), но был быстрее всех\n", + "\n", + "**Лабиринт с тупиками (20x20):**\n", + "- BFS и A* нашли кратчайший путь (35 шагов)\n", + "- DFS нашёл очень длинный путь (81 шаг), так как ушёл в глубину по тупикам\n", + "\n", + "**Пустой лабиринт (50x50):**\n", + "- BFS и A* нашли кратчайший путь (95 шагов)\n", + "- DFS нашёл очень длинный путь (1129 шагов)\n", + "\n", + "**Лабиринт без выхода:**\n", + "- Все алгоритмы посетили только стартовую клетку (1) и вернули \"нет пути\"\n", + "\n", + "### 3.7 Сравнение алгоритмов\n", + "\n", + "| Алгоритм | Кратчайший путь | Скорость | Память | Когда использовать |\n", + "|----------|-----------------|----------|--------|-------------------|\n", + "| BFS | Да | Средняя | Много | Нужен гарантированно кратчайший путь |\n", + "| DFS | Нет | Быстрая | Мало | Важна скорость, не важна длина пути |\n", + "| A* | Да | Быстрая | Средне | Большие лабиринты, есть эвристика |\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "e687a8ee", + "metadata": {}, + "source": [ + "## Заключение\n", + "\n", + "### Выводы\n", + "\n", + "1. **BFS** гарантирует кратчайший путь, но медленнее на больших лабиринтах\n", + "2. **DFS** самый быстрый, но путь может быть очень длинным\n", + "3. **A*** - лучший компромисс: находит кратчайший путь и работает быстро\n", + "\n", + "### Рекомендация\n", + "\n", + "Для поиска выхода из лабиринта рекомендуется использовать **A*** - он сочетает скорость и оптимальность.\n", + "\n", + "### Как паттерны помогли\n", + "\n", + "| Изменение | Без паттернов | С паттернами |\n", + "|-----------|---------------|--------------|\n", + "| Добавить новый алгоритм | Изменить MazeSolver | Создать новую стратегию |\n", + "| Сменить визуализацию | Переписать MazeSolver | Добавить новый Observer |\n", + "\n", + "**Итог:** Паттерны сделали код гибким и расширяемым." + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/victorovaas/lab2/empty.txt b/victorovaas/lab2/empty.txt new file mode 100644 index 00000000..c83b6cdc --- /dev/null +++ b/victorovaas/lab2/empty.txt @@ -0,0 +1,50 @@ +################################################## +#S # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# E# +################################################## diff --git a/victorovaas/experiments.py b/victorovaas/lab2/experiments.py similarity index 100% rename from victorovaas/experiments.py rename to victorovaas/lab2/experiments.py diff --git a/victorovaas/lab2/lab2/maze_solver.py b/victorovaas/lab2/lab2/maze_solver.py new file mode 100644 index 00000000..c22b789e --- /dev/null +++ b/victorovaas/lab2/lab2/maze_solver.py @@ -0,0 +1,367 @@ +from abc import ABC, abstractmethod +from collections import deque +import heapq +import time +import os + +class Cell: + def __init__(self, x, y): + self.x = x + self.y = y + self.is_wall = False + self.is_start = False + self.is_exit = False + + def is_passable(self): + return not self.is_wall + + def __repr__(self): + return f"Cell({self.x},{self.y})" + + +class Maze: + def __init__(self, width, height): + self.width = width + self.height = height + self.cells = [] + self.start = None + self.exit = None + + for y in range(height): + row = [] + for x in range(width): + row.append(Cell(x, y)) + self.cells.append(row) + + def get_cell(self, x, y): + if 0 <= x < self.width and 0 <= y < self.height: + return self.cells[y][x] + return None + + def get_neighbors(self, cell): + neighbors = [] + for dx, dy in [(0, -1), (0, 1), (-1, 0), (1, 0)]: + nx, ny = cell.x + dx, cell.y + dy + neighbor = self.get_cell(nx, ny) + if neighbor and neighbor.is_passable(): + neighbors.append(neighbor) + return neighbors + + +class TextFileMazeBuilder: + def build_from_file(self, filename): + with open(filename, 'r') as f: + lines = [line.rstrip() for line in f.readlines()] + + height = len(lines) + width = len(lines[0]) + maze = Maze(width, height) + + for y, line in enumerate(lines): + for x, ch in enumerate(line): + cell = maze.get_cell(x, y) + if ch == '#': + cell.is_wall = True + elif ch == 'S': + maze.start = cell + cell.is_start = True + elif ch == 'E': + maze.exit = cell + cell.is_exit = True + + return maze + + +class PathFindingStrategy(ABC): + @abstractmethod + def find_path(self, maze, start, exit): + pass + + +class BFSStrategy(PathFindingStrategy): + def find_path(self, maze, start, exit): + if not start or not exit: + return [], 0 + + queue = deque([(start, [start])]) + visited = {start} + + while queue: + current, path = queue.popleft() + if current == exit: + return path, len(visited) + + for neighbor in maze.get_neighbors(current): + if neighbor not in visited: + visited.add(neighbor) + queue.append((neighbor, path + [neighbor])) + + return [], len(visited) + + +class DFSStrategy(PathFindingStrategy): + def find_path(self, maze, start, exit): + if not start or not exit: + return [], 0 + + stack = [(start, [start])] + visited = {start} + + while stack: + current, path = stack.pop() + if current == exit: + return path, len(visited) + + for neighbor in maze.get_neighbors(current): + if neighbor not in visited: + visited.add(neighbor) + stack.append((neighbor, path + [neighbor])) + + return [], len(visited) + + +class AStarStrategy(PathFindingStrategy): + def _heuristic(self, a, b): + return abs(a.x - b.x) + abs(a.y - b.y) + + def find_path(self, maze, start, exit): + if not start or not exit: + return [], 0 + + heap = [(self._heuristic(start, exit), 0, start, [start])] + g_score = {start: 0} + visited = set() + counter = 1 + + while heap: + _, _, current, path = heapq.heappop(heap) + + if current in visited: + continue + + visited.add(current) + + if current == exit: + return path, len(visited) + + for neighbor in maze.get_neighbors(current): + tentative_g = g_score[current] + 1 + if neighbor not in g_score or tentative_g < g_score[neighbor]: + g_score[neighbor] = tentative_g + f = tentative_g + self._heuristic(neighbor, exit) + heapq.heappush(heap, (f, counter, neighbor, path + [neighbor])) + counter += 1 + + return [], len(visited) + + +class SearchStats: + def __init__(self, path, time_ms, visited_count): + self.path = path + self.time_ms = time_ms + self.visited_count = visited_count + self.path_length = len(path) if path else 0 + + +class MazeSolver: + def __init__(self, maze, strategy=None): + self.maze = maze + self.strategy = strategy + self.observers = [] + + def attach(self, observer): + self.observers.append(observer) + + def detach(self, observer): + self.observers.remove(observer) + + def notify(self, event, data=None): + for observer in self.observers: + observer.update(event, data) + + def set_strategy(self, strategy): + self.strategy = strategy + + def solve(self): + if self.strategy is None: + raise ValueError("Стратегия не установлена") + self.notify("search_started") + + start_time = time.perf_counter() + path, visited_count = self.strategy.find_path(self.maze, self.maze.start, self.maze.exit) + end_time = time.perf_counter() + time_ms = (end_time - start_time) * 1000 + + self.notify("search_finished", time_ms) + self.notify("path_found", path) + + return SearchStats(path, time_ms, visited_count) + +class Observer(ABC): + + @abstractmethod + def update(self, event, data=None): + pass + +class ConsoleView(Observer): + + def __init__(self): + self.events = [] + + def update(self, event, data=None): + self.events.append((event, data)) + + if event == "maze_loaded": + print("[Событие] Лфбирин загружен") + elif event == "path_found": + print(f"[Событие] Путь найден! Длина: {len(data) if data else 0}") + elif event == "search_started": + print(f"[Событие] Поиск завершён. Время: {data:.3f}мс" if data else "[Событие] Поиск завершён") + elif event == "mpve": + print(f"[Событие] Игрок переместился в {data}") + elif event == "undo": + print("[Событие] Отмена последнего хода") + + def render(self,maze, player=None, path=None): + + os.system('cls' if os.name == 'nt' else 'clear') + + print("Лабиринт") + + for y in range(maze.height): + row = "" + for x in range(maze.width): + cell = maze.get_cell(x,y) + + if player and cell == player.current_cell: + row += "p " #игрок + elif path and cell in path: + row += "* " #путь + elif cell.is_wall: + row += "# " #стена + elif cell.is_start: + row += "S " #старт + elif cell.is_exit: + row += "E " #выход + else: + row += ". " #прозод + print(row) + + print("Управление: W/A/S/D - движение, U - отмена, Q - выход") + +class Command(ABC): + + @abstractmethod + def execute(self): + pass + + @abstractmethod + def undo(self): + pass + +class Player: + + def __init__(self, start_cell): + self.current_cell = start_cell + self.start_cell = start_cell + + def move_to(self, cell): + self.current_cell = cell + + def resent(self): + self.current_cell = self.start_cell + + def __repr__(self): + return f"Player at ({self.current_cell.x}, {self.current_cell.y})" + +class MoveCommand(Command): + + def __init__(self, player, new_cell, view): + self.player = player + self.new_cell = new_cell + self.old_cell = player.current_cell + self.view = view + + def execute(self): + self.player.move_to(self.new_cell) + self.view.update("undo", None) + + def undo(self): + self.player.move_to(self.old_cell) + self.view.update("undo",None) + +class GameController: + + def __init__(self, maze, view): + self.maze = maze + self.view = view + self.player = Player(maze.start) + self.command_history = [] + + def get_cell_in_direction(self, direction): + + x, y = self.player.current_cell.x, self.player.current_cell.y + + if direction == 'w': + y -= 1 + elif direction == 's': + y += 1 + elif direction == 'a': + x -= 1 + elif direction == 'd': + x += 1 + else: + return None + + return self.maze.get_cell(x, y) + + def try_move(self, direction): + + new_cell = self.get_cell_in_direction(direction) + + if new_cell and new_cell.is_passable(): + command = MoveCommand(self.player, new_cell, self.view) + command.execute() + self.command_history.append(command) + + if new_cell.is_exit: + self.view.update("path_found", []) + print("Вы нашли выход.") + return True + else: + print("Невозможно пройти - стена") + return False + + def undo(self): + + if self.command_history: + command = self.command_history.pop() + command.undo() + else: + print("Нечего отменять") + + def visualize_path(self, path): + self.view.render(self.maze, self.player, path) + + def run_manual_mode(self): + + while True: + self.view.render(self.maze, self.player) + + command = input("Введите команду: ").lower().strip() + + if command in ['w', 'a', 's', 'd']: + self.try_move(command) + elif command == 'u': + self.undo() + elif command == 'q': + print('Выход из игры') + break + else: + print("Неизвестная команда. Используйте: W/A/S/D - движение, U - отмена, Q - выход") + + + + + + diff --git a/victorovaas/make_graphs.py b/victorovaas/lab2/make_graphs.py similarity index 100% rename from victorovaas/make_graphs.py rename to victorovaas/lab2/make_graphs.py diff --git a/victorovaas/lab2/make_lab2_plots.py b/victorovaas/lab2/make_lab2_plots.py new file mode 100644 index 00000000..6b96ed1c --- /dev/null +++ b/victorovaas/lab2/make_lab2_plots.py @@ -0,0 +1,162 @@ +import matplotlib.pyplot as plt +import os + +os.makedirs('lab2/docs/data', exist_ok=True) + +algorithms = ['BFS', 'DFS', 'A*'] + + +simple_time = [0.020, 0.012, 0.020] +simple_visited = [11, 9, 9] +simple_path = [6, 8, 6] + +fig, ax = plt.subplots(figsize=(8, 5)) +bars = ax.bar(algorithms, simple_time, color=['#3498db', '#e74c3c', '#2ecc71']) +ax.set_ylabel('Время (мс)') +ax.set_title('Время выполнения (простой лабиринт 10x10)') +for bar, val in zip(bars, simple_time): + ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 0.001, f'{val:.3f}', ha='center', va='bottom') +plt.savefig('docs/data/simple_time_graph.png', dpi=150, bbox_inches='tight') +plt.close() + +fig, ax = plt.subplots(figsize=(8, 5)) +bars = ax.bar(algorithms, simple_visited, color=['#3498db', '#e74c3c', '#2ecc71']) +ax.set_ylabel('Количество клеток') +ax.set_title('Посещённые клетки (простой лабиринт)') +for bar, val in zip(bars, simple_visited): + ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 0.3, str(val), ha='center', va='bottom') +plt.savefig('docs/data/simple_visited_graph.png', dpi=150, bbox_inches='tight') +plt.close() + +fig, ax = plt.subplots(figsize=(8, 5)) +bars = ax.bar(algorithms, simple_path, color=['#3498db', '#e74c3c', '#2ecc71']) +ax.set_ylabel('Длина пути (шагов)') +ax.set_title('Длина найденного пути (простой лабиринт)') +for bar, val in zip(bars, simple_path): + ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 0.3, str(val), ha='center', va='bottom') +plt.savefig('docs/data/simple_path_graph.png', dpi=150, bbox_inches='tight') +plt.close() + + +dead_time = [0.492, 0.234, 0.456] +dead_visited = [306, 198, 225] +dead_path = [35, 81, 35] + +fig, ax = plt.subplots(figsize=(8, 5)) +bars = ax.bar(algorithms, dead_time, color=['#3498db', '#e74c3c', '#2ecc71']) +ax.set_ylabel('Время (мс)') +ax.set_title('Время выполнения (лабиринт с тупиками)') +for bar, val in zip(bars, dead_time): + ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 0.01, f'{val:.3f}', ha='center', va='bottom') +plt.savefig('docs/data/dead_time_graph.png', dpi=150, bbox_inches='tight') +plt.close() + +fig, ax = plt.subplots(figsize=(8, 5)) +bars = ax.bar(algorithms, dead_visited, color=['#3498db', '#e74c3c', '#2ecc71']) +ax.set_ylabel('Количество клеток') +ax.set_title('Посещённые клетки (лабиринт с тупиками)') +for bar, val in zip(bars, dead_visited): + ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 10, str(val), ha='center', va='bottom') +plt.savefig('docs/data/dead_visited_graph.png', dpi=150, bbox_inches='tight') +plt.close() + +fig, ax = plt.subplots(figsize=(8, 5)) +bars = ax.bar(algorithms, dead_path, color=['#3498db', '#e74c3c', '#2ecc71']) +ax.set_ylabel('Длина пути (шагов)') +ax.set_title('Длина найденного пути (лабиринт с тупиками)') +for bar, val in zip(bars, dead_path): + ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 3, str(val), ha='center', va='bottom') +plt.savefig('docs/data/dead_path_graph.png', dpi=150, bbox_inches='tight') +plt.close() + + +empty_time = [3.486, 10.452, 5.743] +empty_visited = [2304, 2304, 2304] +empty_path = [95, 1129, 95] + +fig, ax = plt.subplots(figsize=(8, 5)) +bars = ax.bar(algorithms, empty_time, color=['#3498db', '#e74c3c', '#2ecc71']) +ax.set_ylabel('Время (мс)') +ax.set_title('Время выполнения (пустой лабиринт 50x50)') +for bar, val in zip(bars, empty_time): + ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 0.3, f'{val:.3f}', ha='center', va='bottom') +plt.savefig('docs/data/empty_time_graph.png', dpi=150, bbox_inches='tight') +plt.close() + +fig, ax = plt.subplots(figsize=(8, 5)) +bars = ax.bar(algorithms, empty_visited, color=['#3498db', '#e74c3c', '#2ecc71']) +ax.set_ylabel('Количество клеток') +ax.set_title('Посещённые клетки (пустой лабиринт)') +for bar, val in zip(bars, empty_visited): + ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 50, str(val), ha='center', va='bottom') +plt.savefig('docs/data/empty_visited_graph.png', dpi=150, bbox_inches='tight') +plt.close() + +fig, ax = plt.subplots(figsize=(8, 5)) +bars = ax.bar(algorithms, empty_path, color=['#3498db', '#e74c3c', '#2ecc71']) +ax.set_ylabel('Длина пути (шагов)') +ax.set_title('Длина найденного пути (пустой лабиринт)') +for bar, val in zip(bars, empty_path): + ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 50, str(val), ha='center', va='bottom') +plt.savefig('docs/data/empty_path_graph.png', dpi=150, bbox_inches='tight') +plt.close() + + +noexit_time = [0.010, 0.003, 0.004] +noexit_visited = [1, 1, 1] + +fig, ax = plt.subplots(figsize=(8, 5)) +bars = ax.bar(algorithms, noexit_time, color=['#3498db', '#e74c3c', '#2ecc71']) +ax.set_ylabel('Время (мс)') +ax.set_title('Время выполнения (лабиринт без выхода)') +for bar, val in zip(bars, noexit_time): + ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 0.0005, f'{val:.3f}', ha='center', va='bottom') +plt.savefig('docs/data/noexit_time_graph.png', dpi=150, bbox_inches='tight') +plt.close() + +fig, ax = plt.subplots(figsize=(8, 5)) +bars = ax.bar(algorithms, noexit_visited, color=['#3498db', '#e74c3c', '#2ecc71']) +ax.set_ylabel('Количество клеток') +ax.set_title('Посещённые клетки (лабиринт без выхода)') +for bar, val in zip(bars, noexit_visited): + ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 0.05, str(val), ha='center', va='bottom') +plt.savefig('docs/data/noexit_visited_graph.png', dpi=150, bbox_inches='tight') +plt.close() + + +fig, ax = plt.subplots(figsize=(14, 8)) +ax.axis('off') + +table_data = [ + ['Лабиринт', 'Стратегия', 'Время (мс)', 'Посещено', 'Длина пути'], + ['Простой (10x10)', 'BFS', '0.020', '11', '6'], + ['Простой (10x10)', 'DFS', '0.012', '9', '8'], + ['Простой (10x10)', 'A*', '0.020', '9', '6'], + ['С тупиками (20x20)', 'BFS', '0.492', '306', '35'], + ['С тупиками (20x20)', 'DFS', '0.234', '198', '81'], + ['С тупиками (20x20)', 'A*', '0.456', '225', '35'], + ['Пустой (50x50)', 'BFS', '3.486', '2304', '95'], + ['Пустой (50x50)', 'DFS', '10.452', '2304', '1129'], + ['Пустой (50x50)', 'A*', '5.743', '2304', '95'], + ['Без выхода', 'BFS', '0.010', '1', 'нет пути'], + ['Без выхода', 'DFS', '0.003', '1', 'нет пути'], + ['Без выхода', 'A*', '0.004', '1', 'нет пути'], +] + +table = ax.table(cellText=table_data, loc='center', cellLoc='center', colWidths=[0.2, 0.13, 0.13, 0.13, 0.13]) +table.auto_set_font_size(False) +table.set_fontsize(10) +table.scale(1, 1.8) + +for i in range(5): + table[(0, i)].set_facecolor('#4472C4') + table[(0, i)].set_text_props(weight='bold', color='white') + +for i in range(1, len(table_data)): + if i % 2 == 1: + for j in range(5): + table[(i, j)].set_facecolor('#E8F0FE') + +plt.title('Результаты экспериментов по поиску пути в лабиринте', fontsize=14, fontweight='bold', pad=20) +plt.savefig('docs/data/maze_table_results.png', dpi=200, bbox_inches='tight', facecolor='white') +plt.close() diff --git a/victorovaas/lab2/maze_experiments.py b/victorovaas/lab2/maze_experiments.py new file mode 100644 index 00000000..3de62c6b --- /dev/null +++ b/victorovaas/lab2/maze_experiments.py @@ -0,0 +1,154 @@ +import time +import csv +import os +from lab2.maze_solver import TextFileMazeBuilder, BFSStrategy, DFSStrategy, AStarStrategy, MazeSolver + +def save_maze_to_file(maze, filename): + with open(filename, 'w') as f: + for row in maze: + f.write(''.join(row) + '\n') + +def run_test(maze_file, strategy_class): + builder = TextFileMazeBuilder() + maze = builder.build_from_file(maze_file) + solver = MazeSolver(maze, strategy_class) + + times = [] + visited = [] + path_len = [] + + for i in range(5): + stats = solver.solve() + times.append(stats.time_ms) + visited.append(stats.visited_count) + path_len.append(stats.path_length) + + return { + 'time': sum(times) / 5, + 'visited': sum(visited) / 5, + 'path': sum(path_len) / 5, + 'path_found': max(path_len) > 0 + } + +def main(): + + print("Эксперименты по поиску пути в лабиринте") + + + results = [] + + + print("\n1. Простой лабиринт (10x10)") + + + + simple = [ + "#######", + "#S #", + "# ### #", + "# E #", + "#######" + ] + with open('simple.txt', 'w') as f: + for line in simple: + f.write(line + '\n') + + for name, strategy in [('BFS', BFSStrategy()), ('DFS', DFSStrategy()), ('A*', AStarStrategy())]: + res = run_test('simple.txt', strategy) + print(f"{name}: время={res['time']:.3f}мс, посещено={res['visited']:.0f}, путь={res['path']:.0f}") + results.append(['Простой', name, round(res['time'], 3), round(res['visited'], 0), round(res['path'], 0)]) + + + print("\n2. Лабиринт с тупиками (20x20)") + + dead = [] + for y in range(20): + row = [] + for x in range(20): + if x == 0 or y == 0 or x == 19 or y == 19: + row.append('#') + elif (x == 5 and y > 5 and y < 15) or (y == 5 and x > 5 and x < 15): + row.append('#') + else: + row.append(' ') + dead.append(row) + dead[1][1] = 'S' + dead[18][18] = 'E' + + with open('dead.txt', 'w') as f: + for row in dead: + f.write(''.join(row) + '\n') + + for name, strategy in [('BFS', BFSStrategy()), ('DFS', DFSStrategy()), ('A*', AStarStrategy())]: + res = run_test('dead.txt', strategy) + print(f"{name}: время={res['time']:.3f}мс, посещено={res['visited']:.0f}, путь={res['path']:.0f}") + results.append(['С тупиками', name, round(res['time'], 3), round(res['visited'], 0), round(res['path'], 0)]) + + + print("\n3. Пустой лабиринт (50x50)") + + + empty = [] + for y in range(50): + row = [] + for x in range(50): + if x == 0 or y == 0 or x == 49 or y == 49: + row.append('#') + else: + row.append(' ') + empty.append(row) + empty[1][1] = 'S' + empty[48][48] = 'E' + + with open('empty.txt', 'w') as f: + for row in empty: + f.write(''.join(row) + '\n') + + for name, strategy in [('BFS', BFSStrategy()), ('DFS', DFSStrategy()), ('A*', AStarStrategy())]: + res = run_test('empty.txt', strategy) + print(f"{name}: время={res['time']:.3f}мс, посещено={res['visited']:.0f}, путь={res['path']:.0f}") + results.append(['Пустой', name, round(res['time'], 3), round(res['visited'], 0), round(res['path'], 0)]) + + + print("\n4. Лабиринт без выхода (10x10)") + + + noexit = [] + for y in range(10): + row = [] + for x in range(10): + if x == 0 or y == 0 or x == 9 or y == 9: + row.append('#') + else: + row.append('#') + noexit.append(row) + noexit[1][1] = 'S' + noexit[8][8] = 'E' + + with open('noexit.txt', 'w') as f: + for row in noexit: + f.write(''.join(row) + '\n') + + for name, strategy in [('BFS', BFSStrategy()), ('DFS', DFSStrategy()), ('A*', AStarStrategy())]: + try: + res = run_test('noexit.txt', strategy) + if res['path_found']: + print(f"{name}: путь найден! длина={res['path']:.0f}") + results.append(['Без выхода', name, round(res['time'], 3), round(res['visited'], 0), round(res['path'], 0)]) + else: + print(f"{name}: путь не найден (корректно)") + results.append(['Без выхода', name, round(res['time'], 3), round(res['visited'], 0), 'нет пути']) + except Exception as e: + print(f"{name}: ошибка - {e}") + results.append(['Без выхода', name, 0, 0, 'ошибка']) + + + os.makedirs('docs/data', exist_ok=True) + with open('docs/data/maze_experiments.csv', 'w', newline='', encoding='utf-8') as f: + writer = csv.writer(f) + writer.writerow(['Лабиринт', 'Стратегия', 'Время(мс)', 'Посещено клеток', 'Длина пути']) + writer.writerows(results) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/victorovaas/lab2/noexit.txt b/victorovaas/lab2/noexit.txt new file mode 100644 index 00000000..0d9e9c53 --- /dev/null +++ b/victorovaas/lab2/noexit.txt @@ -0,0 +1,10 @@ +########## +#S######## +########## +########## +########## +########## +########## +########## +########E# +########## diff --git a/victorovaas/lab2/simple.txt b/victorovaas/lab2/simple.txt new file mode 100644 index 00000000..b7edabb2 --- /dev/null +++ b/victorovaas/lab2/simple.txt @@ -0,0 +1,5 @@ +####### +#S # +# ### # +# E # +#######