Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SearchLab Python.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
53.91 Кб
Скачать

Лабораторная работа №2 Неинформированный и информированный поиск (исследование пространства состояний).

Цель работы: изучение базовых алгоритмов неинформированного и информированного поиска, а также получение навыков решения задач посредством поиска в пространстве состояний.

Данная лабораторная работа основана на «The Pac-Man projects» – это курс лабораторных работ, разработанный в университете Беркли для дисциплины «Введение в искусственный интеллект», CS 188. В нем применяется набор методов искусственного интеллекта для игры в Pac-Man. Однако данный проект не нацелен на разработку видео игр. Он призван научить базовым концепциям искусственного интеллекта, таким как информированный поиск и исследование пространства состояния, рассуждения в условиях неопределённости и обучение с подкреплением, которые являются основой реальных приложений в таких областях как обработка естественного языка, компьютерного зрения и робототехники.

Введение

В первой части лабораторной работы ваш Пакман должен найти путь в лабиринте с целью достижения заданной позиции и/или сбора еды. Ваша задача заключается в написании базовых алгоритмов поиска и их применения к конкретным сценариям игры.

Программный код для лабораторной работы состоит из нескольких файлов написанных на языке программирования Python. Некоторые из этих файлов вам надо будет прочесть и понять, в то время как другие вы можете спокойно проигнорировать. Вы можете скачать весь код и вспомогательные файлы в виде zip-архива.

Файлы для редактирования:

search.py

Файл, где будут располагаться алгоритмы поиска пути.

searchAgents.py

Файл, где будут располагаться специализированные для каждой задачи поисковые агенты1.

Файлы, на которые вы возможно захотите взглянуть:

pacman.py

Главный файл, который запускает игру Pacman. Этот файл описывает тип данных GameState (состояние игры).

game.py

Внутренняя логика работы мира Пакмана. Этот файл описывает несколько вспомогательных типов данных, например AgentState, Agent, Direction, и Grid.

util.py

Полезные структуры данных для реализации алгоритмов поиска.

Вспомогательные файлы, на которые вы можете не обращать внимания:

graphicsDisplay.py

Графика для игры Pacman

graphicsUtils.py

Вспомогательные файлы для графики

textDisplay.py

ASCII графика для игры Pacman

ghostAgents.py

Управления призраками

keyboardAgents.py

Управление игрой с клавиатуры

layout.py

Код для чтения файлов разметки и запоминания содержимого

autograder.py

Автоматическое оценивание выполнения заданий работы

testParser.py

Парсер тестов и файлов решений

testClasses.py

Обобщенные классы тестов для автоматического оценивания

test_cases/

Каталог, содержащий проверочные тесты для каждого из заданий

searchTestClasses.py

Классы тестов специфичных для данной лабораторной работы

После того как вы скачаете и разархивируете архив, вы должны убедиться, что вы можете сыграть в игру Pacman. Для этого введите следующую команду:

python pacman.py

Пакман живет в мире запутанных коридоров и вкусностей. Эффективная навигация в этом мире будет первым шагом в освоении его владений.

Самый простой поисковый агент в searchAgents.py называется GoWestAgent, он всегда идет на Запад. Этот агент может иногда выиграть:

python pacman.py --layout testMaze --pacman GoWestAgent

Однако у него будут серьёзные проблемы, если при решении задачи потребуется поворот:

python pacman.py --layout tinyMaze --pacman GoWestAgent

Если Пакман застревает, вы можете выйти из программы, нажав клавиши Ctrl-c в терминальном окне.

Вскоре ваш агент сможет решить не только tinyMaze, но и любой лабиринт, который вы захотите.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]