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, просмотров: 210.