Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра МІ
ЗВІТ
до лабораторної роботи №4
з предмету «ТПР» на тему:
«Розв’язування матричних ігор пакетом Scilab»
Виконала:
ст.гр. МВ-32
Прийняв:
Львів – 2011
Мета: навчитися розв’язувати матричні ігри пакетом Scilab
Теоретичні відомості:
Scilab – пакет прикладних програм(ППП) для виконання математичних розрахунків. Розробник Scilab – Group INRIA –Rocquencourt Metalau Project.
Scilab – некомерційний аналог пакета Matlab.
Основні характеристики пакета Scilab:
Вільно розповсюджується разом з вихідними кодами. Використання, копіювання, зміни, розповсюдження – вільні.
Платформи: Unix, Linux, Windows.
Наявний інтерфейс і система допомоги.
Приведені алгоритми базової математики.
Можливість працювати у чисельному та символьному видах.
Робота з графікою.
Можливість використання відкомпільованих функцій мов С і Fortran.
Scilab складається з трьох частин:
Інтерпретатор.
Бібліотека функцій (Scilab-процедури).
Бібліотека С і Fortran процедур.
Мета роботи: навчитися розв’язувати матричні ігри пакетом ППП Scilab.
Хід роботи:
1.Запустити на виконання Scilab 5.2.
2.Ввести свою платіжну матрицю.
Матриця A
4
1
1
8
1
3
4
1
1
7
5
1
3.Розв’язати вручну матричну гру в чистих стратегіях.
Гравець 1 повинен вибрати таку стратегію, щоб максимізувати свій мінімальний виграш. Для цього знаходимо мінімум по рядках:
1
1
1
1
З цього стовпця вибираємо максимум – 1 Отже, α=7– нижня ціна.
Гравець 2 вибирає стратегію, при якій його програш будет мінімальним. Для цього знаходимо максимум по стовпцях:
8 5 3
З цього рядка вибираємо мінімум – 3. Отже, β=3– верхня ціна.
Оскільки α≠β, то гра має розв’язок у змішаних.
4.Розв’язати вручну матричну гру в змішаних стратегіях. Звести матрицю до розміру 2х2, в разі неможливості використати лівий верхній кут.
Матриця A
19
3
1
4
6
5
3
7
8
7
5
9
9
5.Оформити функції у вигляді Sci-файлів.
-->S=[3 1 4; 6 5 3; 7 8 ; 5 9 9];
-->alfa=min(S);
-->betta=max(S);
-->[m,n]=size(S);
-->for i=1:m
-->minr=S(i,1);
-->for j=1:n
-->if S(i,j)<minr then
-->minr=S(i,1);
-->end
-->end
-->if minr>alfa then
-->alfa=minr;
-->nostratS=i;
-->end
-->end
-->alfa
alfa =
6.
-->nostratS
nostratS =
4.
-->alfa=max(S);
-->betta=min(S);
-->[m,n]=size(S);
-->for i=1:m
-->maxe=S(i,1);
-->for j=1:n
-->if S(i,j)<maxe then
-->mine=S(1,j);
-->end
-->end
-->if maxe>betta then
-->betta=maxe;
-->nostratS=i;
-->end
-->end
-->betta
betta =
6.
-->nostratS
nostratS =
4.
Отже, alfa= betta, nostratS= nostratS.
Змішані стратегії:
Console
cg =
2.
y2 =
- 1.3333333
y1 =
2.3333333
x2 =
1.
x1 =
0.
SciPad
function[x1,x2,y1,y2,cg]=fn(a11,a12,a21,a22);
x1=(a22-a21)/(a11-a12-a21+a22);
x2=(a11-a12)/(a11-a12-a21+a22);
y1=(a22-a12)/(a11-a12-a21+a22);
y2=(a11-a21)/(a11-a12-a21+a22);
cg=(a11*a22-a12*a21)/(a11-a12-a21+a22);
endfunction
[x1,x2,y1,y2,cg]=fn(6,9,2,2)
Спосок використаної літератури:
1. Воробьев Н.Н. Теория игр для экономистов-кибернетиков. - М.: Наука, 1985.
2. Крушевский А.В. Теория игр. Киев: "Вища Школа", 1977.