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 ]< min then min := 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 ( st 1: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 , st 1]: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 , st 1]: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.

 


 Список литературы

 

1. Беленький В.З. Итеративные методы в теории игр и программировании. М.: «Наука», 1977

2. Блекуэлл Д.А. Теория игр и статистических решений. М., Изд. иностранной литературы, 1958

3. Вентцель Е.С. Элементы теории игр. М., Физматгиз, 1961

4. Вилкас Э.И. Оптимальность в играх и решениях. М.: «Наука», 1986

5. Воробьёв И.Н. Математическая теория игр. М.: «Знание», 1976

6. Давыдов Э.Г. Методы и модели теории антагонистических игр. М.: «Высшая школа», 1990

7. Дрешер М. Стратегические игры. Теория и приложения. М., 1964

8. Исследование операций в экономике / Н.Ш. Кремер, Б.А. Путко, И.М. Тришин, М.Н. Фридман. М.: «Банки и биржи», Юнити, 1997

9. Итеративный алгоритм решения матричных игр// Доклады Академии наук СССР, том 238, №3, 1978

10.  Карлин С. Математические методы в теории игр, программировании и экономике. М.: «Мир», 1964

11. Крапивин В.Ф. Теоретико-игровые методы синтеза сложных систем в конфликтных ситуациях. М.: «Советское радио», 1972

12. Крушевский А.В. Теория игр: [Учебное пособие для вузов]. Киев: «Вища школа», 1977

13. Льюис Р., Райфа Х. Игры и решения. М.,1961

14. Морозов В.В., Старёв А.Г., Фёдоров В.В. Исследование операций в задачах и упражнениях. М.: «Высшая школа», 1996

15. Матричные игры. [Сборник переводов]. Под ред. Воробьёва И.Н. М., Физматгиз, 1961

16. Оуэн Г. Теория игр. [Учебное пособие]. М.: «Мир», 1973

17. Петросян Л.А., Зенкевич Н.А., Семен Е.А. Теория игр. М., 1989

18.  Школьная энциклопедия математика. Ред. С. М. Никольский, М.: 1996, с. 380


Дата: 2019-05-28, просмотров: 189.