Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Настасия
0 / 0 / 0
Регистрация: 25.02.2009
Сообщений: 4
1

Нахождение оптимальной стратегии игры

30.03.2009, 00:53. Просмотров 1424. Ответов 0
Метки нет (Все метки)

(переговоры о заключении контракта между профсоюзом и администрацией).

Нахождение оптимальной стратегии игры.
Задана платежная матрица, отражающая интересы договаривающихся сторон. Одна сторона - это администрация фирмы, а другая сторона - профсоюз рабочих и служащих, который хочет заключить контракт о защите прав рабочих и служащих.
Платежная матрица, отражающая интересы договаривающихся сторон, имеет следующий вид:
75 105 65 45
70 60 55 40
80 90 35 50
95 100 50 55
Выплаты указаны в рублях в час и представляют собой среднюю зарплату служащего фирмы вместе со всеми добавками.
Необходимо определить оптимальные стратегии администрации фирмы и профсоюза.

Рассмотрим фирму, администрация которой ведет переговоры с профсоюзом рабочих и служащих о заключении контракта.
Предположим, что платежная матрица, отражающая интересы договаривающихся сторон, имеет следующий вид:
75 105 65 45
70 60 55 40
80 90 35 50
95 100 50 55
Выплаты указаны в рублях в час и представляют собой среднюю зарплату служащего фирмы вместе со всеми добавками. Тем самым заданная матрица описывает прибыль профсоюза (игрок А) и затраты администрации (игрок В).
Ясно, что профсоюз стремится максимизировать доходы рабочих и служащих, в то время как администрации хотелось бы минимизировать собственные потери.
Нетрудно заметить, что седловой точки у платежной матрицы нет. Кроме того, для дальнейшего анализа существенными являются лишь стратегии А1 и А4 игрока А и стратегии В3 и В4 игрока В (в этом легко убедиться, воспользовавшись правилом доминирования стратегий). В результате соответствующего усечения получим матрицу

65 45
50 55

Элементы матрицы

4 0
1 2

связаны с элементами предыдущей матрицы соотношениями
65 = 5 • 4 + 45, 45 = 5 • 0 + 45, 50 = 5 • 1 + 45, 55 = 5 • 2 + 45.
Применяя графический метод, в итоге получим:
Р={1/5, 0, 0, 4/5 }, Q = {o,o,2/5,3/5}, v = 17,5 руб. (53$)
Нахождение минимакса: (но я не уверена нужен он тут (минимакс).
75 105 65 45
70 60 55 40
80 90 35 50
95 100 50 55
альфа=(45,40,35,50)=170=примерно=2(min)
минимакс=а=б=2.
бетта=(95,105,65,)=320= примерно=2(max)

unit funct_main;

interface

uses
windows,
sysUtils,
ShellAPI;

var
MessageHwnd:Hwnd;

Procedure AboutProgram;export;StdCall;
Function ASCII(StringsChars:string):Byte;export;stdcall; {Функция получения ASCII кода символа}
Function CreateNewFile(NewPathFile:String):Boolean;export;stdcall;
Function StartApplication(const PathFileName: String): boolean;export;StdCAll;

implementation

Function ASCII(StringsChars:string):Byte;export;stdcall; {Функция получения ASCII кода символа}
var
RegPChar:PChar;
RegChar:Char;
begin
RegPChar:=PChar(StringsChars);
RegChar:=RegPChar[0];
asm
mov al, RegChar
mov Result, al
end;
end;

Procedure AboutProgram;export;StdCall;
var
InitMessage:String;
Poin:Pointer;
begin
Poin:=@InitMessage;
if Poin = Poin then
InitMessage:='->Optimization v1.0 - программа нахождения оптимальных стратегий матричной игры.' + #13#10;
{CALL} MessageBoxA(MessageHwnd, PChar(InitMessage),'О программе...', 0+64);
end;

Function CreateNewFile(NewPathFile:String):Boolean;export;stdcall;
var
NewFile:File;
begin
if FileExists(NewPathFile)=True then
if DeleteFile(PAnsiChar(NewPathFile)) = False then
begin
MessageBoxA(MessageHWND,'Ошибка удаления файла!','Error', 0+16);
Result:=False;
Exit;
end;
AssignFile(NewFile,NewPathFile);
ReWrite(NewFile);
CloseFile(NewFile);
Result:=True;
end;

//В FileName передаётся полный путь к файлу для запуска
Function StartApplication(const PathFileName: String): boolean;export;StdCAll;
{
StartApplication(ExpandFileName('файл или не полный путь к файлу'));
Функция получения полного пути к файлу
}
var
szFile: array[0..MAX_PATH] of Char;
szCmd : String;
begin

//Передаём данные из константы FileName типа String в массив szFile типа Char
StrPCopy(szFile, PathFileName);
begin
//Запускаем интерпретатор командной строки и получаем ценность переменной
//окружения ComSpec
szCmd:= '/c call ' + '"'+szFile+'"' + ' >> NUL';
if (GetEnvironmentVariable('ComSpec',szFile, MAX_PATH) <> 0) and
(ShellExecute(0,Nil,szFile,PChar(szCmd),Nil,SW_HIDE) > 32) Then
begin
Result:= True;
Exit;
end;
end;
Result:= False;
end;

end.
Спасиб не надо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2009, 00:53
Ответы с готовыми решениями:

Узнать за какое минимальное время (в минутах) будут надуты все шарики при оптимальной работе всех участников.
Школьный бал Во время проведения школьного бала планируется запустить m...

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

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

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

Нахождение оптимальной стратегии игры
Я совсем не догоняю в задачах, если не трудно решите мне саму задачу :sorry:...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2009, 00:53

Многопоточность и вычисления: выбор оптимальной стратегии
Есть некоторый массив float acc Нужно произвести модификацию элементов этого...

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

Определение алгоритма оптимальной игры
Всем привет! Задача на динамическое программирование, думаю что получится...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru