Программная реализация одного класса многошаговых игр поиска | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 27 апреля, печатный экземпляр отправим 1 мая.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Математика

Опубликовано в Молодой учёный №12 (116) июнь-2 2016 г.

Дата публикации: 17.06.2016

Статья просмотрена: 137 раз

Библиографическое описание:

Заковряшин, Е. М. Программная реализация одного класса многошаговых игр поиска / Е. М. Заковряшин, В. Д. Бурмистров. — Текст : непосредственный // Молодой ученый. — 2016. — № 12 (116). — С. 15-19. — URL: https://moluch.ru/archive/116/31949/ (дата обращения: 18.04.2024).



В данной работе была рассмотрена многошаговая задача поиска неподвижного объекта, спрятанного среди n коробок, за k шагов, в которой обучающийся ищущий стремится минимизировать затраты ресурсов, требуемые на нахождение объекта при условии, что вероятность найти объект при просмотре верной коробки не равна единице. Обучаемость ищущего заключается в запоминании коробок, в которых уже был произведен поиск. Была рассмотрена математическая модель данной задачи для поиска объекта, находящегося в одной из n коробок, за k шагов, основанная на принципе оптимальности Беллмана и состоящая из k рекуррентных уравнений. После был реализован программный алгоритм решения данной задачи для случая n коробок и k шагов на языке программирования C#, после чего был произведен анализ некоторых решений.

Поиск различных объектов издревле представляет собой одну из ключевых сторон человеческой активности. В работе [1] процесс поиска определяется как целенаправленное обследование конкретной области пространства для обнаружения находящегося там объекта. Обнаружением объекта можно считать получение информации о его местоположении путем установления с ним прямого энергетического контакта. Это вполне естественная проблема, с которой мы сталкиваемся на ежедневной основе. К примеру, перед тем как уходить утром на работу, необходимо собрать определенный набор вещей (ключи, кошелек, документы), которые в свою очередь необходимо локализовать. Их местоположение многообразно, и есть потребность свести количество времени, затраченное на поиск, к минимуму. Отходя от подобных бытовых проблем, можно расширить список задач до локализации поврежденных файлов компьютера, разведки месторождений нефти или поиска заблудившегося в лесу человека.

Одним из путей исследования поиска является построение и анализ математических моделей, отображающих объективные закономерности поиска и позволяющие установить связь между условиями его выполнения и его результатами, с целью дальнейшего анализа критериев эффективности поиска.

Полное и систематическое изложение теории решения поисковых задач было приведено в работах [2,4]. Следует заметить, что в мировой литературе по теории игр существует очень много работ в этой области прикладной математики, однако все еще остаются нерешенными задачи даже в самых простых случаях. И здесь вопрос связан со сложностью решения уравнения Беллмана для задач большой размерности.

В данной работе речь пойдет о многошаговой задаче поиска неподвижного пассивного объекта в дискретной среде, идеей для рассмотрения которой послужила статья [3]. Многошаговость задачи обусловлена повторяющейся процедурой поиска.

Постановка задачи

Пусть дано дискретное множество местоположений объекта (в дальнейшем, коробок). Игрок H выбирает коробку и прячет в ней объект. Игрок S пытается обнаружить его. Событие, заключающееся в обнаружении объекта при просмотре верной коробки, не достоверное, т. е. объект может быть не найден, даже если он был в этой коробке. Каждый просмотр коробки требует затрат некоторых ресурсов (например, энергии или времени). Поиск продолжается до исчерпания числа попыток. При нахождении предмета игрок S вознаграждается. Игрок S стремится свести затраты своих ресурсов к минимуму.

В данной работе поставлены следующие задачи:

  1. Составить теоретико-игровую модель рассматриваемой задачи с обучающимся ищущим, т. е. ищущий располагает информацией, в каких коробках уже был произведен поиск, и на основе этой информации осуществляет следующий шаг;
  2. Обеспечить программную реализацию, способную решать данную задачу для k-шагового поиска объекта в N коробках;
  3. Проанализировать решения некоторых задач.

Построение модели

Игрок H выбирает одну из N коробок, пронумерованных от 1 до N, и прячет в ней объект. Игрок S осуществляет поиск объекта в одной из них. Каждый просмотр i-й коробки, может быть осуществлен путем затрат ресурса . Также определим вероятность обнаружить объект в коробке i, при условии, что он в ней находится. Если игрок S находит объект, он получает вознаграждение в виде величины .

Обозначим за смешанную стратегию игрока H. Игрок S имеет представление о стратегии игрока H. Зная его, он стремится пройти через серию поисков с минимальными затратами. Обозначим за минимальные ожидаемые затраты игрока S на n-м шаге поиска и составим соответствующее нашим условиям уравнение Беллмана минимальных ожидаемых затрат :

(1)

где

Вектор отвечает за способность игрока S обучаться в процессе поиска. Осуществляя неудачный поиск в какой-либо коробке, игрок запоминает, что в этой коробке предмета найдено не было и, в связи с этим, меняет приоритеты поиска в сторону остальных коробок. Новые вероятности определяются в соответствии со следующими формулами:

(2)

Строго говоря, вектор являет собой апостериорную вероятность распределения объекта по коробкам при условии, что был произведен неудачный просмотр i-й коробки. Иными словами, вероятность того, что объект находится в i-й коробке после произведенного в ней неудачного поиска, уменьшится, в то время как вероятности нахождения объекта в остальных коробках увеличатся.

Пользуясь уравнениями (1), (2) можно определить минимальные потери игрока S на шаге n, в том случае, если он производил поиски по оптимальной последовательности коробок .

Программная реализация

Программная реализация поставленной задачи была произведена при помощи языка программирования C#. Основную сложность в процессе реализации составила способность к обучению игрока S, т. е. изменение вектора распределения объекта по коробкам в ходе игры. Вследствие этого возникает большое количество различных векторов . К примеру, в задаче поиска объекта среди трех коробок, уже на 3-м шаге будет 27 возможных вариантов выбора коробки (см. Рис. 1). В связи с этим, алгоритм программы оказался чрезвычайно ресурсоемким (запоминание и оперирование количеством переменных), что сильно ограничивает класс доступных решению задач, ввиду недостаточной мощности ЭВМ, на которой производились вычисления.

На вход программы подаются значения: N — число коробок, n — число шагов, t — затраты ресурсов, a — выигрыш игрока S, вектор вероятностей p и вектор x. На выходе получаем значения оптимальных затрат и оптимальный путь поиска по коробкам.

Рис. 1: Поиск среди 3-х коробок

Анализ численных примеров

Пример 1

Рассмотрим задачу за следующими условиями:

В результате работы программы получаем следующие значения:

Произведем вычисления функции минимальных затрат для значений и рассмотрим зависимость прироста функции минимальных затрат от количества шагов игры. Результаты приведены в таблице 1. Как можно видеть, значения функции прироста являются убывающей последовательностью, что говорит о том, что функция минимальных затрат предположительно может быть ограничена сверху, т. е. затраты ресурсов, необходимых на поиск, могут быть ограничены. К сожалению, установить дальнейшее поведение последовательности прироста не удалось, ввиду невозможности решать данную задачу для большего числа шагов (т. к. ресурсоемкость алгоритма превысила имеющуюся). Из имеющихся данных можно выдвинуть два предположения:

  1. Функция прироста стремится к нулю, т. е. функция минимальных затрат имеет предел сверху;
  2. Функция прироста может принимать отрицательные значения, т. е. функция минимальных затрат начинает убывать после некоторого n.

Пример 2

Рассмотрим задачу за следующими условиями:

В результате работы программы получаем следующие значения:

Отрицательные затраты на поиск будем называть выгодой игрока S. Аналогично примеру 1 произведем вычисления для . Из представленных результатов в таблице 2 можно сделать вывод о том, что игроку S выгодно искать объект дольше, т. к. его выгода от этого только лишь увеличится. Численно установить наличие ограниченности снизу у функции минимальных затрат не удалось ввиду превышения ресурсоемкости. Более того, функция прироста ведет себя неоднозначно (наличие скачков).

Таблица 1

Результаты примера 1

n

1

4.4296

-

2

8.1622

3.7326

3

11.2042

3.042

4

13.5754

2.3712

5

15.3034

1.728

6

16.68715

1.38375

7

17.81158

1.12443

Таблица 2

Результаты примера 2

n

1

0.04368

-

2

0.2886

0.24492

3

-0.5334

-0.822

4

-1.8918

-1.3584

5

-3.7338

-1.842

6

-3.8673

-0.1335

7

-4.17878

-0.31148

Пример 3

Рассмотрим задачу за следующими условиями:

В результате работы программы получаем следующие значения:

В данном примере игрок S знает, что объект наиболее вероятно расположен в 4-ой коробке (), однако найти его там довольно сложно (). В результате видно, что игроку S выгодно совсем не обыскивать 4-ю коробку, а отдать предпочтения другим коробкам.

Выводы

В результате анализа численных решений ряда задач были сделаны следующие выводы:

– Игроку S в процессе поисков порой выгодно вовсе игнорировать ту коробку, в которой объект наиболее вероятно находится;

– В данном классе задач существует подкласс, в котором игроку S выгодно искать объект как можно дольше, т. к. его выгода от этого только лишь увеличится. Численно установить наличие предела выгоды в подобных задачах не удалось ввиду недостатка ресурсоемкости ЭВМ;

– В данном классе задач существует подкласс, в котором прирост функции затрат игрока S с ростом шагов является убывающей последовательностью, т. е. затраты могут быть ограничены. Справедливость этого утверждения для большого числа шагов в данных задачах установить не удалось.

Литература:

  1. Абчук В. А., Суздаль В. Г. Поиск объектов. М.: Сов. радио, 1977. 336 c.
  2. Петросян Л. А, Гарнаев А. Ю. Игры поиска. СПб.: Изд-во СПбГУ, 1992. 216 c.
  3. Gal S. A discrete search game // SIAM J. Appl. Math. 1974. Vol 27. No 4, P. 641–648.
  4. Garnaev A. Search Games and Other Applications of Game Theory.Heidelberg, N-Y.: Springer, 2000. 145 c.
Основные термины (генерируются автоматически): коробок, задача, игрок, затрата, поиск, затрата ресурсов, программная реализация, результат работы программы, функция прироста, верная коробка.


Похожие статьи

Создание и использование программы для статистического...

В данной работе решается задача сбора статистических данных при использовании программы, которая решает

Известно, что затраты на единицу продукции в течение указанных месяцев составили для костюмов 27 руб., для платьев 8 руб., а цена реализации...

Тестирование интернет-страниц как решение задачи о многоруком...

Постановка задачи и описание некоторых подходов к решению описаны в [3]. В [2] вводится функция, называемая сожалением, которая

Программная реализация выполнена на языке Python. В качестве результатов работы программы выводится величина конверсии...

Организация решения задач исследования операций в MATHCAD

1. Управление и планирование являются наиболее сложными функциями в работе

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

Задача первого игрока заключается в следующем. . (17).

Организация решения задач динамического программирования

Основная цель работы — показать, как решаются три задачи динамического программирования: оптимальная замена оборудования, оптимальное распределение ресурсов, минимизация затрат на строительство и эксплуатацию предприятий.

Динамическая адаптация эвристического алгоритма для задачи...

Цель задачи — уменьшить затраты на перевозку товара.

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

Результаты реализации динамической адаптации алгоритма.

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

Прикладное программное обеспечение создано для решения многофункциональных задач и работы

— М.: Приор, 2015. Электронный ресурс. 1С Подрядчик строительства.

Снижение затрат на программное обеспечение с использованием массива GNU\Linux.

Решение транспортной задачи с помощью программного...

Тогда экономико-математическая постановка задачи заключается в определении минимального значения функции

Посредством программы оптимизации мы можем облегчить реализацию этой задачи.

Об затраты.

Приложения определенного интеграла к решению задач экономики

Они выражают прирост соответствующего показателя в расчете на единицу прироста определяющего его фактора.

Задача № 4. Найти среднее время, затраченное на освоение одного изделия в период освоения от до изделий, если функция изменения затрат времени (ч).

Решение транспортных задач с применением программирования...

По условию задачи требуется обеспечить минимум суммарных затрат. Следовательно, целевая функция (функция

Транспортная задача может решаться многими способами: вручную, с помощью стандартных программных средств (Excel), либо с помощью специальных программ.

Создание и использование программы для статистического...

В данной работе решается задача сбора статистических данных при использовании программы, которая решает

Известно, что затраты на единицу продукции в течение указанных месяцев составили для костюмов 27 руб., для платьев 8 руб., а цена реализации...

Тестирование интернет-страниц как решение задачи о многоруком...

Постановка задачи и описание некоторых подходов к решению описаны в [3]. В [2] вводится функция, называемая сожалением, которая

Программная реализация выполнена на языке Python. В качестве результатов работы программы выводится величина конверсии...

Организация решения задач исследования операций в MATHCAD

1. Управление и планирование являются наиболее сложными функциями в работе

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

Задача первого игрока заключается в следующем. . (17).

Организация решения задач динамического программирования

Основная цель работы — показать, как решаются три задачи динамического программирования: оптимальная замена оборудования, оптимальное распределение ресурсов, минимизация затрат на строительство и эксплуатацию предприятий.

Динамическая адаптация эвристического алгоритма для задачи...

Цель задачи — уменьшить затраты на перевозку товара.

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

Результаты реализации динамической адаптации алгоритма.

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

Прикладное программное обеспечение создано для решения многофункциональных задач и работы

— М.: Приор, 2015. Электронный ресурс. 1С Подрядчик строительства.

Снижение затрат на программное обеспечение с использованием массива GNU\Linux.

Решение транспортной задачи с помощью программного...

Тогда экономико-математическая постановка задачи заключается в определении минимального значения функции

Посредством программы оптимизации мы можем облегчить реализацию этой задачи.

Об затраты.

Приложения определенного интеграла к решению задач экономики

Они выражают прирост соответствующего показателя в расчете на единицу прироста определяющего его фактора.

Задача № 4. Найти среднее время, затраченное на освоение одного изделия в период освоения от до изделий, если функция изменения затрат времени (ч).

Решение транспортных задач с применением программирования...

По условию задачи требуется обеспечить минимум суммарных затрат. Следовательно, целевая функция (функция

Транспортная задача может решаться многими способами: вручную, с помощью стандартных программных средств (Excel), либо с помощью специальных программ.

Похожие статьи

Создание и использование программы для статистического...

В данной работе решается задача сбора статистических данных при использовании программы, которая решает

Известно, что затраты на единицу продукции в течение указанных месяцев составили для костюмов 27 руб., для платьев 8 руб., а цена реализации...

Тестирование интернет-страниц как решение задачи о многоруком...

Постановка задачи и описание некоторых подходов к решению описаны в [3]. В [2] вводится функция, называемая сожалением, которая

Программная реализация выполнена на языке Python. В качестве результатов работы программы выводится величина конверсии...

Организация решения задач исследования операций в MATHCAD

1. Управление и планирование являются наиболее сложными функциями в работе

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

Задача первого игрока заключается в следующем. . (17).

Организация решения задач динамического программирования

Основная цель работы — показать, как решаются три задачи динамического программирования: оптимальная замена оборудования, оптимальное распределение ресурсов, минимизация затрат на строительство и эксплуатацию предприятий.

Динамическая адаптация эвристического алгоритма для задачи...

Цель задачи — уменьшить затраты на перевозку товара.

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

Результаты реализации динамической адаптации алгоритма.

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

Прикладное программное обеспечение создано для решения многофункциональных задач и работы

— М.: Приор, 2015. Электронный ресурс. 1С Подрядчик строительства.

Снижение затрат на программное обеспечение с использованием массива GNU\Linux.

Решение транспортной задачи с помощью программного...

Тогда экономико-математическая постановка задачи заключается в определении минимального значения функции

Посредством программы оптимизации мы можем облегчить реализацию этой задачи.

Об затраты.

Приложения определенного интеграла к решению задач экономики

Они выражают прирост соответствующего показателя в расчете на единицу прироста определяющего его фактора.

Задача № 4. Найти среднее время, затраченное на освоение одного изделия в период освоения от до изделий, если функция изменения затрат времени (ч).

Решение транспортных задач с применением программирования...

По условию задачи требуется обеспечить минимум суммарных затрат. Следовательно, целевая функция (функция

Транспортная задача может решаться многими способами: вручную, с помощью стандартных программных средств (Excel), либо с помощью специальных программ.

Создание и использование программы для статистического...

В данной работе решается задача сбора статистических данных при использовании программы, которая решает

Известно, что затраты на единицу продукции в течение указанных месяцев составили для костюмов 27 руб., для платьев 8 руб., а цена реализации...

Тестирование интернет-страниц как решение задачи о многоруком...

Постановка задачи и описание некоторых подходов к решению описаны в [3]. В [2] вводится функция, называемая сожалением, которая

Программная реализация выполнена на языке Python. В качестве результатов работы программы выводится величина конверсии...

Организация решения задач исследования операций в MATHCAD

1. Управление и планирование являются наиболее сложными функциями в работе

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

Задача первого игрока заключается в следующем. . (17).

Организация решения задач динамического программирования

Основная цель работы — показать, как решаются три задачи динамического программирования: оптимальная замена оборудования, оптимальное распределение ресурсов, минимизация затрат на строительство и эксплуатацию предприятий.

Динамическая адаптация эвристического алгоритма для задачи...

Цель задачи — уменьшить затраты на перевозку товара.

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

Результаты реализации динамической адаптации алгоритма.

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

Прикладное программное обеспечение создано для решения многофункциональных задач и работы

— М.: Приор, 2015. Электронный ресурс. 1С Подрядчик строительства.

Снижение затрат на программное обеспечение с использованием массива GNU\Linux.

Решение транспортной задачи с помощью программного...

Тогда экономико-математическая постановка задачи заключается в определении минимального значения функции

Посредством программы оптимизации мы можем облегчить реализацию этой задачи.

Об затраты.

Приложения определенного интеграла к решению задач экономики

Они выражают прирост соответствующего показателя в расчете на единицу прироста определяющего его фактора.

Задача № 4. Найти среднее время, затраченное на освоение одного изделия в период освоения от до изделий, если функция изменения затрат времени (ч).

Решение транспортных задач с применением программирования...

По условию задачи требуется обеспечить минимум суммарных затрат. Следовательно, целевая функция (функция

Транспортная задача может решаться многими способами: вручную, с помощью стандартных программных средств (Excel), либо с помощью специальных программ.

Задать вопрос