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

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Математические методы и моделирование
  • 4545 страниц
  • 14 + 14 источников
  • Добавлена 14.04.2008
800 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Часть I. Пояснительная записка
Часть II. Графическая часть:
?Блок-схема вычислительной программы
?Графические материалы решения задачи и результатов исследования
Фрагмент для ознакомления

е. класть 0 черных шаров)
– вероятность применения стратегии № 3 (т.е. класть 2 черных шара)

Оптимальные стратегии 1 и 3. Проигрыш игрока 2 будет составлять не более 0, если он будет класть 0 либо 2 черных шара с вероятностями 0,5.


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

Пользователь вводит матрицу выигрышей размера m×n,
где m≥3, n≥3.

Далее запрашивается информация о том, кто из игроков начинает игру, какую стратегию он выбирает и количество итераций.


Описание выходных данных.
На дисплее выводится таблица разыгрываний игры за определённое число итераций.

Основные функции.


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




























Заключение

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

В то же время на применение математики в различных науках накладывают ограничения объективные законы, присущие той или иной форме движения. Изучение неживой материи стало предпосылкой для создания концепции континуума - непрерывного пространства-времени. Эта концепция стала базой для множества открытий и не теряет своей значимости и теперь. Но концепции непрерывности сопутствовали не только успехи. Одновременно возникла традиционность " непрерывного мышления", трудности преодоления которого мы начинаем понимать только теперь, с появлением и совершенствованием ЭВМ. Хотя еще и раньше детальное исследование неизбежно требовало перехода к дискретному описанию, чем демонстрировало недостаточность и ограниченность континуального мышления.

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

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

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




Приложение
program br;

uses crt;

const matr1:array[1..3,1..3] of byte=((0,4,2),
(3,1,0),
(1,2,3)); {Начальная матрица}

var
matr:array [1..10,1..10] of integer; {Матрица, введенная пользователем}
win_one:array[0..150,1..10] of word; {Массив для выигрышей игр.1}
win_two:array[0..150,1..10] of word; {Массив для выигрышей игр.2}
max,min:integer;
a,i,j,m,n,pl,st,st1,st2,kl:byte;
nol,otr:boolean;

function igr_one:byte; {Функция определения следующего}
var a1,a2,max:integer; {хода для игрока 1}
begin
max:=win_one[a,1];
igr_one:=1;
if pl=1 then a2:=m else a2:=n;
for a1:=1 to a2 do if win_one[a,a1]>max then begin
max:=win_one[a,a1];
igr_one:=a1;
end;
end;

function igr_two:byte; {Функция определения следующего}
var a1,a2,min:integer; {хода для игрока 2}
begin
min:=win_two[a,1];
igr_two:=1;
if pl=1 then a2:=n else a2:=m;
for a1:=1 to a2 do if win_two[a,a1]min:=win_two[a,a1];
igr_two:=a1;
end;
end;

begin
clrscr;
writeln ('Итеративный метод Брауна-Робинсона.');
writeln('Матрица пользователя? (y/n)');
if (readkey='y')or(readkey='Y') then begin {Матрица из памяти или вводит пользователь}
write ('Введите размеры матрицы:');
readln(n,m); {Ввод количества строк и столбцов}
writeln('Введите ',n,' строки по ',m,' элементов:');
nol:=true;
otr:=false;
min:=0;
for j:=1 to n do for i:=1 to m do begin {Ввод элементов матрицы}
read(matr[i,j]);
if matr[i,j]<>0 then nol:=false; {Установка флага, что не все элементы равны 0}
if matr[i,j]<0 then otr:=true; {Установка флага наличия отрицательных элементов}
if matr[i,j]end
end else begin {Иначе берем матрицу из константы}
n:=3;m:=3;
for i:=1 to m do for j:=1 to n do matr[i,j]:=matr1[i,j];
end;
clrscr;
writeln ('Итеративный метод Брауна-Робинсона.');
if nol then writeln('Все элементы матрицы равны 0!') else begin {если установлен флаг нуля, то алгоритм не работает}
if otr then for j:=1 to n do for i:=1 to m do matr[i,j]:=matr[i,j]-min;{если есть отрицательные элементы,}
writeln('Начальная матрица:'); {Вывод окончательной матрицы}
for j:=1 to n do begin
for i:=1 to m do write(matr[i,j]:4);
writeln;
end;

write('Какой игрок начнет игру? '); {Ввод стартовых значений}
readln(pl);
write('Какую стратегию выберет ',pl,' игрок? ');
readln(st);
write('Количество итераций? ');
readln(kl);
a:=1; {заглавие таблицы}
writeln(' № стр. выигрыш 1-го игр. стр. выигрыш 2-го игр. V W Y');
repeat
write(a:2,st:6,' '); {формирование таблицы: номер итерации, стратегия 1игр.}
if pl=2 then begin
for i:=1 to n do begin
win_one[a,i]:=matr[st,i]+win_one[a-1,i];{формирование матрицы выигрышей 1 игр.}
write(win_one[a,i]:4); {вывод на экран}
end;
st1:=igr_one; {определение ответной стратегии 2 игр.}
gotoxy(32,wherey);
write(st1:10,' '); {вывод на экран}
for i:=1 to m do begin
win_two[a,i]:=matr[i,st1]+win_two[a-1,i]; {формирование матрицы выигрышей 2 игр.}
write(win_two[a,i]:4); {вывод на экран}
end;
gotoxy(64,wherey);
write(win_one[a,st1]:4); {вывод наибольшего суммарного выигрыша 1 игр.}
st:=igr_two; {определение ответной стратегии 1 игр.}
write(win_two[a,st]:4); {вывод наибольшего суммарного выигрыша 2 игр.}
write((win_one[a,st1]+win_two[a,st])/(a*2):6:2);{приближенное значение цены игры}
end
else
begin
for i:=1 to m do begin
win_one[a,i]:=matr[i,st]+win_one[a-1,i];{формирование матрицы выигрышей 1 игр.}
write(win_one[a,i]:4);
end;
st1:=igr_one; {определение ответной стратегии 2 игр.}
gotoxy(32,wherey);
write(st1:10,' ');
for i:=1 to n do begin
win_two[a,i]:=matr[st1,i]+win_two[a-1,i];{формирование матрицы выигрышей 2 игр.}
write(win_two[a,i]:4);
end;
gotoxy(64,wherey);
write(win_one[a,st1]:4); {вывод наибольшего суммарного выигрыша 1 игр.}
st:=igr_two; {определение ответной стратегии 1 игр.}
write(win_two[a,st]:4); {вывод наибольшего суммарного выигрыша 2 игр.}
write((win_one[a,st1]+win_two[a,st])/(a*2):6:2);{приближенное значение цены игры}
end;
a:=a+1; {увеличение счетчика итераций}
writeln;
until a=kl+1;

end;
readln;
readln;
end.
























Список использованной литературы

Гермейер Ю.Б. Введение в теорию исследования операций. -М.: Наука, 1971.
Гермейер Ю.Б. Игры с непротивоположными интересами.- Изд МГУ, 1972.
Дубров А.М. , Лагоша Б.А., Хрусталев Е.Ю. Моделирование рисковых ситуаций в экономике и бизнесе: Учебное пособие.- М.: Финансы и статистика, 1999.
Дюбин Г.Н., Суздаль В.Г. Введение в прикладную теорию игр.- М .: Наука, 1986.
Кукушкин Н.С., Морозов В.В. Теория неантагонистических игр. -Изд. МГУ, 1984.
Льюс Р.Д., Райфа Х. Игры и решения. –М.: ИЛ, 1961.
Мак-Кинси Дж. Введение в теорию игр.- М.: ГИФ-М литературы, 1960.
Морозов В.В., Сухарев А.Г., Федоров В.В. Исследование операций в задачах и упражнениях.- М.: Высшая школа, 1986.
Мулен Э. Теория игр (с примерами из математической экономики).- М.: Мир, 1985.
Оуэн Г. Теория игр.-М.: Мир, 1971.
Павловский Ю.Н. и др. Имитация конфликтов. –М.: Изд. ВЦ РАН, 1993.
Шерер Ф.М., Росс Д. Структура отраслевых рынков. . –М.: ИНФРО-М, 1997.
Шикин Е.В. От игр к играм. Математическое введение.-М.: Эдиториал УРРСС, 1998.
Франк Р.Х. Микроэкономика и поведение. –М.: ИНФРО-М, 2000.












2


Список использованной литературы

1. Гермейер Ю.Б. Введение в теорию исследования операций. -М.: Наука, 1971.
2. Гермейер Ю.Б. Игры с непротивоположными интересами.- Изд МГУ, 1972.
3. Дубров А.М. , Лагоша Б.А., Хрусталев Е.Ю. Моделирование рисковых ситуаций в экономике и бизнесе: Учебное пособие.- М.: Финансы и статистика, 1999.
4. Дюбин Г.Н., Суздаль В.Г. Введение в прикладную теорию игр.- М .: Наука, 1986.
5. Кукушкин Н.С., Морозов В.В. Теория неантагонистических игр. -Изд. МГУ, 1984.
6. Льюс Р.Д., Райфа Х. Игры и решения. –М.: ИЛ, 1961.
7. Мак-Кинси Дж. Введение в теорию игр.- М.: ГИФ-М литературы, 1960.
8. Морозов В.В., Сухарев А.Г., Федоров В.В. Исследование операций в задачах и упражнениях.- М.: Высшая школа, 1986.
9. Мулен Э. Теория игр (с примерами из математической экономики).- М.: Мир, 1985.
10. Оуэн Г. Теория игр.-М.: Мир, 1971.
11. Павловский Ю.Н. и др. Имитация конфликтов. –М.: Изд. ВЦ РАН, 1993.
12. Шерер Ф.М., Росс Д. Структура отраслевых рынков. . –М.: ИНФРО-М, 1997.
13. Шикин Е.В. От игр к играм. Математическое введение.-М.: Эдиториал УРРСС, 1998.
14. Франк Р.Х. Микроэкономика и поведение. –М.: ИНФРО-М, 2000.

Вопрос-ответ:

Какие стратегии используются при реализации поиска оптимальных стратегий матричных игр с нулевой суммой?

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

Какие компоненты включает в себя разработка программного обеспечения для реализации поиска оптимальных стратегий матричных игр с нулевой суммой?

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

Какие графические материалы можно использовать при реализации поиска оптимальных стратегий матричных игр с нулевой суммой?

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

Какие оптимальные стратегии можно использовать при реализации матричных игр с нулевой суммой?

В матричных играх с нулевой суммой можно использовать различные оптимальные стратегии. Например, можно применять равновесные стратегии, при которых ни одному игроку нет смысла менять свою стратегию при условии, что соперник также использует оптимальную стратегию. Также можно использовать стратегии, основанные на анализе противника и попытке предугадать его действия. В конкретной ситуации оптимальная стратегия может зависеть от множества факторов, таких как условия задачи и стратегии соперника.

Как реализовать поиск оптимальных стратегий матричных игр с нулевой суммой?

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

Что такое матричная игра с нулевой суммой?

Матричная игра с нулевой суммой - это игра, в которой выигрыш одного игрока равен проигрышу другого игрока, то есть сумма выигрышей и проигрышей равна нулю.

Что такое оптимальные стратегии в матричных играх с нулевой суммой?

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

Какой проигрыш получит игрок 2, если он будет класть 0 черных шаров с вероятностью 0.5?

Если игрок 2 будет класть 0 черных шаров с вероятностью 0.5, то его проигрыш будет составлять не более 0.

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

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