Диплом_RD (Динамическая реализация математических моделей контртерроризма), страница 3

2015-08-21СтудИзба

Описание файла

Файл "Диплом_RD" внутри архива находится в следующих папках: Динамическая реализация математических моделей контртерроризма, Войны (RomanovD), docs. Документ из архива "Динамическая реализация математических моделей контртерроризма", который расположен в категории "". Всё это находится в предмете "математические модели в естествознании и экологии" из 8 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "математические модели в естествознании и экологии" в общих файлах.

Онлайн просмотр документа "Диплом_RD"

Текст 3 страницы из документа "Диплом_RD"

Рисунок 6. «Динамическая модель восстания: случай войны в Ираке» (δi<0, δc<0).

  1. δi 0. При этом характерно уменьшение атак повстанцев и увеличение количества солдат коалиции. Результат: коалиция выигрывает конфликт (рисунок 7).

Рисунок 7. «Динамическая модель восстания: случай войны в Ираке» (δi0).

  1. δi > 0 и δc < 0. Происходит увеличение атак повстанцев, а размер коалиции уменьшается со временем. Результат: повстанцы выигрывают конфликт (рисунок 8).

Рисунок 8. «Динамическая модель восстания: случай войны в Ираке» (δi>0, δc<0).



1.3. Динамическая модель восстания: случай войны в Афганистане (на основе системы дифференциальных уравнений)

Динамическая модель войны в Афганистане очень схожа с моделью войны в Ираке. Но существует отличие в том, что в Афганистане изначально не известна численность повстанцев-талибов. Поэтому в "Динамической модели восстания: случай войны в Афганистане" рассматривается картина зависимости числа жертв коалиции от численности коалиции. Модель реализована на основе модели для Ирака, но с использованием статистики[4] численности коалиции и числа жертв в Афганистане в период с 2002 по 2009 гг.

Рассматриваемая модель реализуется на основе системы дифференциальных уравнений. Данная система записывается следующим образом:

где

L – число жерт коалиции;

C – численность коалиции;

δl и δc - "чистые" нормы вербовки повстанцев и коалиции соответственно (вербовка оценивается минус убытки из-за борьбы).

Есть несколько возможных решений этой системы в зависимости от знаков коэффициентов показателя δl и δc.

Если (δl>0, δc>0) или (δl<0, δc<0), то общее решение системы:

,

если (δl0) или (δl>0, δc<0), то решение системы:

где A и B - константы.

Динамическая реализация модели представлена в четырех вариантах в зависимости от знаков δl и δc:

  1. δl > 0 и δc > 0. В данном случае число жертв коалиции увеличивается вместе с увеличением численности коалиции в течение длительного времени. Результат: с увеличением численности коалиции будут увеличиваться потери коалиции (рисунок 9).

Рисунок 9. «Динамическая модель восстания: случай войны в Афганистане» (δl>0, δc>0).

  1. δl < 0 и δc < 0. Ведомые силы коалиции приводят к уменьшению числа повстанческих нападений. Следовательно, уменьшается количество жертв коалиции. Результат: для коалиции, чтобы выиграть конфликт (C > 0 и L = 0), должны быть удовлетворены определенные условия: a) увеличение боевой эффективности коалиции; b) уменьшение показателя вербовки повстанцев; c) снижение боевой эффективность повстанцев; d) увеличение показателя вербовки коалиции (рисунок 10).

Рисунок 10. «Динамическая модель восстания: случай войны в Афганистане» (δl<0, δc<0).

  1. δl 0. В данном случае коалиция выиграет конфликт у повстанцев. Повстанческие нападения приводят к увеличению численности коалиции в течение долгого времени, а это приводит к уменьшению нападений повстанцев. В конечном итоге повстанческие нападения будут устранены, в то время как коалиция останется в Афганистане. Количество жертв коалиции резко уменьшится. Результат: коалиция выигрывает конфликт (рисунок 11).

Рисунок 11. «Динамическая модель восстания: случай войны в Афганистане» (δl0).

  1. δl > 0 и δc < 0. Повстанцы выиграют коалицию, возглавляемую США. Причина ясна - присутствие коалиции приводит к большему количеству повстанческих нападений в течение долгого времени, что ведет к уменьшению численности коалиции - резкому увеличению количества жертв. Результат: повстанцы выигрывают конфликт (рисунок 12).

Рисунок 12. «Динамическая модель восстания: случай войны в Афганистане» (δl>0, δc<0).



1.4. Динамическая модель финансирования контртерроризма (на основе матричных игр)

В данной дипломной работе была рассмотрена динамическая модель финансирования контртерроризма со стороны США и Германии (рисунок 13). Эта модель необходима для отображения затрат на военные действия этих стран и прогноз ситуации в будущем (для оптимизации расходов на кампанию). Рассматривается конфликт в Афганистане в период с 2002 по 2009 гг. Модель создана на основе реальной статистики[4] в виде биматричной игры, наглядно иллюстрирующей расходы на кампанию в Афганистане. Динамическая программная реализация всех игр позволяет увидеть изменение стратегий в зависимости от параметров игры и дает возможность сделать прогноз.

В этой игре представлены две стороны – войска Германии и США. Каждый из них делает один ход – выбирает одну стратегию из имеющегося у него конечного числа стратегий, и после этого он получает свой выигрыш согласно определённым для каждого из них матрицам выигрышей. Но так как речь идет о финансировании борьбы с террористами, то будем использовать вместо понятия «выигрыш» понятие «затраты» или «расходы».

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

Матрицы расходов для двух игроков построены, используя данные из статьи и данные с интернет-источника[11-16].

Рисунок 13. «Динамическая модель финансирования контртерроризма».

Для построения матрицы расходов для войск коалиции (Германии и США) использованы следующие параметры:

    • количество солдат США в Афганистане;

    • количество солдат Ирака (полиция и вооруженные силы Афганистана);

    • количество солдат Германии в Афганистане;

    • количество солдат США, предназначенных для вывода из Афганистана;

    • количество солдат Германии, предназначенных для вывода из Афганистана;

    • сумма денег на содержание одного солдата США;

    • сумма денег на содержание одного солдата Афганистана;

    • сумма денег на содержание одного солдата Германии;

    • сумма денег для вывода одного солдат США из Афганистана (сумма денег для ввода одного солдат США в Афганистан);

    • сумма денег для вывода одного солдат Германии из Афганистана (сумма денег для ввода одного солдат Германии в Афганистан);

Исходя из этих параметров, составлены матрицы расходов (платежные матрицы). Вычисления матриц приведены на рисунке 14 и на рисунке 15.

Рисунок 14. Платежные матрицы для случая вывода войск из Афганистана.

Рисунок 15. Платежные матрицы для случая ввода войск в Афганистан.

Перейдем к решению игры.

Пусть множество чистых стратегий X игрока США содержит m=2 стратегий: x1 – оставить войска в Афганистане, x2 – вывести часть войск из Афганистана (ввести дополнительные войска). X = {x1, x2}.

У второго игрока – Германии, множество чистых стратегий Y содержит n=2 стратегий: y1 – оставить войска в Ираке, y2 – вывести часть войск из Ирака (ввести дополнительные войска). Y = {y1, y2}.

В таблице 1 показаны числовые данные, которые используются для построения матрицы расходов для войск США.

Таблица 1

1

Количество солдат США в Афганистане

68000

2

Количество солдат Афганистана

100000

3

Количество солдат США, предназначенных для вывода

20000

4

Количество солдат США, предназначенных для ввода

30000

5

Сумма денег на содержание одного солдата США, $

500

6

Сумма денег на содержание одного солдата Афганистана, $

200

7

Сумма денег для вывода одного солдат США из Афганистана, $

125

8

Сумма денег для ввода одного солдат США в Афганистан, $

125

Числовые данные для пунктов №1-4 взяты из статистики для войны в Афганистане [4], для пунктов №6-7 взяты приблизительные данные[11-16]. Введем данные в программу. Получим матрицу расходов для США в случае вывода войск из Афганистана, показанную на рисунке 16 (на рисунке 17 – в случае ввода войск в Афганистан).

Рисунок 16. Матрица расходов для США в случае вывода войск.

Рисунок 17. Матрица расходов для США в случае ввода войск.

Теперь построим матрицу расходов для игрока Германия. Для этого используем данные из таблицы 2.

Таблица 2

1

Количество солдат Германии в Афганистане

4500

2

Количество солдат Германии, предназначенных для вывода

2000

3

Количество солдат Германии, предназначенных для ввода

7000

4

Сумма денег на содержание одного солдата Германии, $

350

5

Сумма денег для вывода одного солдат Германии, $

125

6

Сумма денег для ввода одного солдат Германии, $

125

Для пунктов №1-3 взята статистика для войны в Афганистане[4], для пунктов №5-7 взяты приблизительные данные[11-16]. Введем числовые данные в программу. Получим матрицу расходов для Германии в случае вывода войск из Афганистана, показанную на рисунке 18 (на рисунке 19 – в случае ввода войск в Афганистан).

Рисунок 16. Матрица расходов для Германии в случае вывода войск.

Рисунок 17. Матрица расходов для Германии в случае ввода войск.

Получим 2 платежные матрицы:

и

Решим биматричную игру[6, с.176]. Эти 2 матрицы можно представить в виде функций выигрыша H1 и H2 , где H1= H1(xi, yj)=aij , H2= H2(xi, yj)=bij.

Смешанную стратегию игрока США будем записывать в следующем виде: S1=(p; 1-p).

Смешанная стратегия Германии: S2=(q; 1-q).

А средние выигрыши вычисляются по формулам (3) и (4):

H1(p,q)

(3)

H2(p,q)=

. (4)

Определение. Ситуация (p*,q*) называется ситуацией равновесия в смешанных стратегиях биматричной игры, если для любых p и q выполняется система неравенств:

(5)

Для 2x2 биматричной игры система неравенств (5) равносильна системе (6):

(6)

Запишем в более удобной форме средние выигрыши игроков:

(7)

(8)

Полагая в формуле (7), p=1, а потом p=0, получаем, что

,

Рассмотрим разности:

Вводя обозначения

,

получим для них следующие выражения:

,

.

В случае если пара (p,q) определяет точку равновесия, эти разности должны быть неотрицательными,

,

Поэтому окончательно получаем

,

.

Из формулы (8) для функции при q=1 и q=0 имеем соответственно

,

.

С учетом обозначений

,

.

разности приводятся к виду:

.

Если пара (p,q) определяет точку равновесия, то эти разности должны быть неотрицательными,

,

.

Поэтому

,

.

Итак, для того чтобы в биматричной игре, как в нашем случае, пара (p,q) определяла равновесную ситуацию, необходимо и достаточно выполнение следующих неравенств

(9),

где

,

Таким образом, используя данные матрицы расходов (рассмотрим случай ввода дополнительных войск в Афганистан), вычислим C, D, α, β. Заменяя в неравенстве (7) величины C, D, α, β их конкретными значениями получаем,

Обратимся к первым двум неравенствам системы (9):

Возможны следующие 3 случая:

1) p=1;

2) p=0;

3) 0<p<1.

1) Полагая p=1, получаем q>=0.77380955

2) Полагая p=0, получаем q<=0.77380955

3) Положив, 0

Теперь обратимся к последним двум неравенствам системы (9):

Возможны следующие 3 случая:

1) q=1;

2) q=0;

3) 0<q<1.

1) Полагая q=1, получаем p>=0.7368421

2) Полагая q=0, получаем p<=0.7368421

3) Положив, 0<q<1, получим p=0.7368421

Смешанные стратегии для игроков имеют вид: p*=(0.77380955; 0.22619045), q*=(0.7368421;0.2631579),

т.е. с вероятностью 0.77380955 США выбирает стратегию – оставить войска в Афганистане, а с вероятностью 0.22619045 США выбирает стратегию – ввести дополнительные войска.

Немцы выбирают стратегию – оставить войска в Афганистане, с вероятностью 0.7368421 и немцы выбирают стратегию – ввести дополнительные войска, с вероятностью 0.2631579.

Средний выигрыш для игрока США, если США решает оставить войска в Афганистане и Германия выбирает стратегию оставить войска, рассчитывается по формуле (3):

H1 = (0.77380955; 0.7368421) = -299255.96

Средний выигрыш для Германии, если США решает оставить войска в Афганистане и Германия выбирают стратегию оставить войска, рассчитывается по формуле (4):

H2 = (0.77380955; 0.7368421) = -27882.37

Средний выигрыш для игрока США, если США решает ввести дополнительные войска в Афганистан и Германия выбирают стратегию оставить войска, рассчитывается по формуле (3):

H1 = (0.22619045; 0.7368421) = -303507.2

Средний выигрыш для Германии, если США решает ввести дополнительные войска в Афганистан и немцы выбирают стратегию оставить войска, рассчитывается по формуле (4):

H2 = (0.22619045; 0.7368421) = -27882.37

Средний выигрыш для игрока США, если США решает оставить войска в Афганистане и немцы выбирают стратегию ввести дополнительные войска, рассчитывается по формуле (3):

H1 = (0.77380955; 0.2631579) = -299255.96

Средний выигрыш для Германии, если США решает оставить войска в Афганистане и немцы выбирают стратегию ввести дополнительные войска, рассчитывается по формуле (4):

H2 = (0.77380955; 0.2631579) = -28030.31

Средний выигрыш для игрока США, если США решает ввести войска в Афганистан и немцы выбирают стратегию ввести дополнительные войска, рассчитывается по формуле (3):

H1 = (0.22619045; 0.2631579) = -357980.88

Средний выигрыш для Германии, если США решает ввести войска в Афганистан и немцы выбирают стратегию ввести дополнительные войска, рассчитывается по формуле (4):

H2 = (0.22619045; 0.2631579) = -24949.95

Таким образом, вероятнее всего при p=0.77380955 США выберет стратегию x1 – оставить войска, причем, в этом случае Германии желательно выбрать стратегию y1 – оставить войска в Афганистане, при q=0.7368421.

2. руководство программиста

2.1. Выбор языка программирования

На сегодняшний день при разработке Web–приложений, большинство программистов предпочитают использование НТМL и JavaScript языков, а для добавления динамики на статичные гипертекстовые страницы целесообразно использовать язык Java.

  1. HTML

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

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

К моменту разработки HTML существовал американский стандарт для разработки сетевых информационных систем - Z39.50, в котором в качестве единицы хранения указывался простой текстовый файл в кодировке LATIN1, что соответствует US ASCII. Таким образом, гипертекстовая база данных в концепции WWW - это набор текстовых файлов, размеченных на языке HTML, который определяет форму представления информации (разметка) и структуру связей этих файлов (гипертекстовые ссылки). Такой подход предполагает наличие еще одной компоненты технологии — интерпретатора языка. В World Wide Web функции интерпретатора разделены между сервером гипертекстовой базы данных и интерфейсом пользователя. Сервер, кроме доступа к документам и обработки гипертекстовых ссылок, осуществляет также препроцессорную обработку документов, в то время как интерфейс пользователя осуществляет интерпретацию конструкций языка, связанных с представлением информации.

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

  1. Java

Огромное преимущество Java заключается в том, что на этом языке можно создавать приложения, способные работать на различных платформах. К сети Интернет подключены компьютеры самых разных типов – Pentium PC, Macintosh, рабочие станции Sun и так далее.

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

Java предоставляет для широкого использования свои апплеты (applets) — небольшие, надежные, динамичные, не зависящие от платформы активные сетевые приложения, встраиваемые в страницы Web. Апплеты Java могут настраиваться и распространяться потребителям с такой же легкостью, как любые документы HTML.

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

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

Java можно использовать, чтобы создавать два типа программ — приложения и апплеты.

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

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

Для повышения производительности приложений Java в современных браузерах используется компиляция "на лету"– Just–In–Time compilation (JIT). При первой загрузке апплета его код транслируется в обычную исполнимую программу, которая сохраняется на диске и запускается. В результате общая скорость выполнения апплета Java увеличивается в несколько раз.

3. JavaScript

Язык программирования JavaScript разработан фирмой Netscape для создания интерактивных HTML-документов. Это объектно-ориентированный язык разработки встраиваемых приложений. Синтаксис языка очень похож на синтаксис Java – поэтому его называют Java-подобным.

Идея JavaScript очень проста. Все операции, которые можно исполнять в программе на JavaScript, описывают действия над хорошо известными и понятными объектами, которыми являются элементы рабочей области программы Netscape Navigator и контейнеры языка HTML. Собственно объектная ориентированность JavaScript на этом и кончается. Есть только объекты с набором свойств и набор функций над объектами. Последние называются методами. Кроме методов существуют и другие функции, которые больше похожи на функции из традиционных языков программирования и позволяют работать со стандартными математическими типами или управлять процессом выполнения программы.

Еще в JavaScript есть события - аналог программных прерываний. Эти события также ориентированы на работу в World Wide Web, например, загрузка страницы в рабочую область Navigator'a или выбор гипертекстовой ссылки. Используя события, автор гипертекстовой страницы и программы ее отображающей может организовать просмотр динамических объектов, например, бегущая строка, или управление многооконным интерфейсом.

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

Большинство программ на языке JavaScript путешествуют по Internet, будучи помещенными, в HTML-документы, запрашиваемые пользователями. До тех пор, пока HTML-документ не загружен в браузер, невозможно определить, содержит он JavaScript-программу или нет. Чтобы браузер мог обнаружить такую программу, в язык HTML введен новый тег . Имеется также другой тег-, позволяющий авторам HTML-документов выяснить, когда язык JavaScript использовать нельзя. С помощью тегов текст выполняемой программы можно поместить непосредственно в документ и передавать по сети вместе с содержащей его страницей.

2.2. Обоснование необходимости использования Java–апплетов

До появления языка Java Web - браузеры были в основном статическими и предоставляли информацию в том же виде, в каком она хранилась на сервере. Существовали также средства для передачи информации на хост при помощи электронной почты. Концепция, реализованная в языке Java, позволяет производить вычисления на хосте и открывает новые возможности. Включив апплеты в Web – страницу, можно предоставить пользователю динамический интерфейс.

Апплет – это обычно небольшая программа, которая выполняет одну задачу на одной странице, загруженной в браузер.

Использование апплетов в Web – страницах дает следующие преимущества.

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

        • Ресурсы компьютера пользователя могут быть полностью выделены апплету. Это позволяет выполнять работу быстрее, чем на сервере, где размещена Web – страница, так как последний выделяет для этого лишь часть ресурсов.

          • Доступны все средства языка программирования Java. В частности, для взаимодействия с пользовательским интерфейсом используется стандарт пакета awt. Это важно, поскольку некоторые специально разработанные для Web языки имеют ограниченные возможности в плане вычислений.

Если апплет запускается из Web – браузера, существует вероятность того, что он окажется поврежденным или зараженным вирусом и навредит системе. Java всеми возможными способами защищает систему от этого. В первую очередь, осуществляется проверка целостности байт-кода, поступающего на компьютер. Если в процессе передачи код был изменен, виртуальная Java – машина не будет его запускать. Кроме того, JVM не станет выполнять операцию, которая потенциально может причинить вред системе.

2.3. Среда разработки

1. Macromedia Dream Viewer

DreamViewer позволяет вообще не знать HTML (или знать его в минимальном объеме). Первенство DreamViewer среди инструментов Web-дизайна обусловлено тем, что с его помощью создание профессиональных Web-сайтов для Internet и intranet становится неправдоподобно легким делом. Данная система обладает широкими возможностями по работе с гипермедийными компонентами (звуковыми, графическими и видео файлами), гипертекстом, а так же имеет достаточно развитый встроенный язык программирования скриптов и достаточно проста в использовании. Уникальность DreamViewer еще и в том, что он базируется на клиент-серверной модели разработки, что неимоверно облегчает интеграцию с большинством компьютерных систем.

DreamViewer работает аналогичным образом, фактически он включает и сервер, и клиента. Его клиентское ПО состоит из Проводника (Explorer) и Редактора (Editor). Проводник позволяет просматривать и администрировать сайты несколькими различными способами. Для создания новых страниц и редактирования существующих предназначен Редактор.

2. Borland JBuilder Enterprise Trial 10

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

3. Adobe Photoshop CS

Все графические изображения были выполнены или подлежали корректировке в программном продукте Adobe Photoshop 8.0 – графический редактор растровых рисунков.

2.4. Минимальные системные требования

Для нормального функционирования программного комплекса требуется IBM PC или совместимый с ним компьютер с процессором Intel Pentium IV или выше, видеокартой, поддерживающей режим отображения 1280 Х 1024.

2.5. Обращение к программе

Программа запускается вызовом файла index.htm. Это делается любым из возможных способов предоставляемых операционной системой Windows 98/2000/NT/Me/XP.

После запуска программа готова к работе.

2.6. Структура проекта

Программный продукт «Динамическая реализация математических моделей контртерроризма» находится в папке “Diplom_RomanovD”, в которой содержатся следующие папки:

1) resourse, где представлены все графические изображения, html–страницы и jar-архивы апплетов;

2) docs, где находятся все документы касающиеся ПК.

3) java, где находятся два файла jre и jsdk. При необходимости (в случае возникновения ошибок в работе программы) их нужно установить на компьютер.

Кроме того, в папке “Diplom_RomanovD” находится файл для запуска проекта – index.htm.

заключение

В данной работе рассмотрены математические модели восстания: случай войны в Ираке и в Афганистане на основе системы дифференциальных уравнений, а также модель финансирования контртерроризма на основе матричной игры. Выполнена программная реализация вышеуказанных моделей с учетом приведенной статистики[3] изменения численности войск коалиции и повстанцев, количества бомбежек и терактов в Ираке, а также статистики[4] изменения численности войск и числа жертв коалиции в период с 2002 по 2009 гг. в Афганистане.

Данные модели реализованы на основе Java-апплетов. Использование апплетов, разработанных в среде JBuilder X, позволяет динамически визуализировать математическую модель и анализировать возможные изменения ситуации в зависимости от параметров системы.

Компьютерные модели разработаны с учетом интерактивности (возможности изменения параметров) и простоты в визуализации. Они предоставляют возможность показывать текущую ситуацию и прогнозировать её в будущем, потому что все модели созданы на основе реальных данных.

Изменяя параметры рассматриваемых моделей, можно определить влияние значений этих параметров на модель, установить взаимосвязь с характеристиками реального положения в Ираке/Афганистане, следующего из статистики[3-4], а также осуществлять прогнозирование ситуации для случаев вывода войск коалиции или увеличения контингента.

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

  1. Сайт «Общедоступная многоязычная универсальная энциклопедия Режим доступа» [Электронный ресурс]. – http://ru.wikipedia.org/wiki/Модель

  2. Лычкина Н.Н. Современные тенденции в имитационном моделировании. – Вестник университета, серия Информационные системы управления №2. – М.: ГУУ, 2000.

  1. A Dynamic Model of Insurgency: The Case of the War in Iraq / L.Blank, C. E. Enomoto, D.Gegax,T.McGuckin, C.Simmons // Peace Economics, Peace Science and Public Policy, Volume 14, Issue 2, 2008, Iss. 2, Art. 1, PP.1-28.

  2. AFGHANISTAN INDEX, Tracking Progress and Security in Post-9/11 Afghanistan // Brookings Institution, 2010. – Режим доступа: http://www.brookings.edu/foreign-policy/afghanistan-index.aspx

  3. Sandler T. Terrorism and Game Theory // Schooll of International Relations University of Southern California, 2003. – Режим доступа: http://www.utdallas.edu/~tms063000/website/Terror_Games.pdf.

  4. Daniel G., Forthcoming Simulation & Gaming // G. Daniel, M Arce. / Departament of Economics Rhodes College, 2003. – Режим доступа: http://www.utdallas.edu/~tms063000/website/downloads.html

  5. Шикин Е.В., Шикина Г.Е. Исследование операций. – М.: МГУ им. М.В. Ломоносова, 2006.

  6. Дудина Л.В. Программно-методический комплекс по курсу «Биматричные игры». Дипломная работа [Текст] /Л. В. Антонова. – Йошкар-Ола: МарГУ, 2008. – 50 с.

  7. Басова Е.В., Электронный лабораторный практикум по методам решения матричных игр. Дипломная работа [Текст] /Е. В. Басова. – Йошкар-Ола: МарГУ, 2006. – с. 55.

  8. Морозов А.В. «Динамическая программная реализация математических моделей войны в Ираке». Дипломная работа [Текст] /А. В. Морозов. – Йошкар-Ола: МарГУ, 2008. –70 с.

  9. Официальный сайт газеты «Новые известия» [Электронный ресурс]. – Режим доступа: http://www.newizv.ru/

  10. Официальный сайт «Независимая информация и аналитика из США» [Электронный ресурс]. – Режим доступа: http://www.washprofile.org/ru/

  11. Официальный сайт «Православное информационное агентство «Русская линия» Независимая информация и аналитика из США» [Электронный ресурс]. – Режим доступа: http://www.rusk.ru/newsdata.php?idar=174193/

  12. Тарасов О. Официальный сайт «Мысли вслух: реальная стоимость войн США в Ираке и Афганистане» [Электронный ресурс]. – Режим доступа: http://tarasovblog.ru/?p=69/

  13. Горшков С. Домашняя библиотека компромата//«Цена войны в Ираке: калькуляция» [Электронный ресурс]. – Режим доступа: http://compromat.ru/

  14. Официальный сайт «Lenta.ru» [Электронный ресурс]. – Режим доступа: http://www.lenta.ru/

  15. Бишоп Д. Эффективная работа: Java 2 [Текст] : рук. разработчика: [пер. с англ.] / А. Падалка. – СПб. [и др.]: Питер, 2002. – 592с. – Предм. указ.: с 580 – 585. – Перевод изд.: Java Gently / Judith Bichop. - 5000 экз. – ISBN 0-201-71050-1 (в пер.).

  16. Вавилов А.И. Политика США в мусульманском мире на примере арабских стран. Опыт критического анализа. – М.: Библиос консалтинг, 2009. – 352 стр. – ISBN978-5-91501-007-8.

приложение

Java-апплеты в сумме содержат более 14000 строк кода, поэтому будет приведен программный код лишь одного апплета – «Динамической модели финансирования контртерроризма».

package terror1_rus;

import java.awt.*;

import java.awt.event.*;

import java.applet.*;

import javax.swing.*;

import javax.swing.border.*;

import javax.swing.event.*;

public class igra1

extends JApplet {

private boolean isStandalone = false;

JButton jButton1 = new JButton();

JButton jButton2 = new JButton();

JButton jButton3 = new JButton();

JLabel jLabel2 = new JLabel();

JLabel jLabel3 = new JLabel();

Panel_I jPanel1 = new Panel_I();

Panel_R jPanel2 = new Panel_R();

Panel_F jPanel3 = new Panel_F();

Border border1;

int k = 7, formula=0;

int kol_USA=68000, kol_Iraq=100000, kol_Koal=19000, kol_vivoz_USA=20000,

kol_ter=8, kol_bomb=1,

soder_USA=500, soder_Iraq=200, soder_Koal=140, sum_vivoz_USA=125,

sumUstr_ter=100, sumUstr_bomb=50;

int kol_GER=4500, kol_vivoz_GER=2000, soder_GER=350, sum_vivoz_GER=125;

boolean vivoz=true; // если true, тогда войска выводятся; если false, тогда войска добавляются(вводятся)

int a11,a12,a21,a22,b11,b12,b21,b22;

int C,a,D,b,HA0,HB0,HA1,HB1;

float aC,bD,HA,HB,HA2,HB2,HA4,HB4,HA3,HB3, min;

Image img1,img11;

Image img2,img22;

JLabel jLabel4 = new JLabel();

JLabel jLabel5 = new JLabel();

JLabel jLabel6 = new JLabel();

JLabel jLabel8 = new JLabel();

JLabel jLabel9 = new JLabel();

JLabel jLabel10 = new JLabel();

JLabel jLabel11 = new JLabel();

JLabel jLabel12 = new JLabel();

JLabel jLabel13 = new JLabel();

JLabel jLabel14 = new JLabel();

JLabel jLabel15 = new JLabel();

JLabel jLabel16 = new JLabel();

JLabel jLabel17 = new JLabel();

JLabel jLabel18 = new JLabel();

JLabel jLabel19 = new JLabel();

JLabel jLabel20 = new JLabel();

JLabel jLabel21 = new JLabel();

JLabel jLabel22 = new JLabel();

JLabel jLabel23 = new JLabel();

JLabel jLabel24 = new JLabel();

JLabel jLabel25 = new JLabel();

JLabel jLabel26 = new JLabel();

JLabel jLabel27 = new JLabel();

JLabel jLabel28 = new JLabel();

JLabel jLabel29 = new JLabel();

JLabel jLabel30 = new JLabel();

JLabel jLabel31 = new JLabel();

JLabel jLabel32 = new JLabel();

JLabel jLabel33 = new JLabel();

JLabel jLabel34 = new JLabel();

JLabel jLabel35 = new JLabel();

JLabel jLabel36 = new JLabel();

JLabel jLabel37 = new JLabel();

JLabel jLabel38 = new JLabel();

JLabel jLabel39 = new JLabel();

JLabel jLabel40 = new JLabel();

JLabel jLabel1 = new JLabel();

JSlider sld_Kol_USA = new JSlider();

JSlider sld_Kol_Iraq = new JSlider();

JSlider sld_Kol_Koal = new JSlider();

JSlider sld_vivoz_USA = new JSlider();

JSlider sld_Kol_GER = new JSlider();

JSlider sld_vivoz_GER = new JSlider();

JSlider sld_kol_ter = new JSlider();

JSlider sld_kol_bomb = new JSlider();

JSlider sld_soder_USA = new JSlider();

JSlider sld_soder_Iraq = new JSlider();

JSlider sld_soder_Koal = new JSlider();

JSlider sld_sumVivoz_USA = new JSlider();

JSlider sld_soder_GER = new JSlider();

JSlider sld_sumVivoz_GER = new JSlider();

JSlider sld_sumUstr_ter = new JSlider();

JSlider sld_sumUstr_bomb = new JSlider();

JCheckBox jCheckBox1 = new JCheckBox();

ButtonGroup btnGroup = new ButtonGroup();

JRadioButton jrd_btn_Vivod = new JRadioButton();

JRadioButton jrd_btn_Vvod = new JRadioButton();

JRadioButton jrbtn_En = new JRadioButton();

JRadioButton jrbtn_Ru = new JRadioButton();

ButtonGroup btn_Group = new ButtonGroup();

//Get a parameter value

public String getParameter(String key, String def) {

return isStandalone ? System.getProperty(key, def) :

(getParameter(key) != null ? getParameter(key) : def);

}

//Construct the applet

public igra1() {

}

//Initialize the applet

public void init() {

try {

jbInit();

}

catch (Exception e) {

e.printStackTrace();

}

}

//Component initialization

private void jbInit() throws Exception {

border1 = BorderFactory.createLineBorder(new Color(157, 187, 255), 1);

this.getContentPane().setBackground(new Color(247, 247, 255));

this.setForeground(new Color(130, 0, 80));

this.setSize(new Dimension(546, 492));

jPanel2.setLayout(null);

jButton1.setBackground(new Color(220, 230, 255));

jButton1.setBounds(new Rectangle(115, 355, 87, 23));

jButton1.setEnabled(false);

jButton1.setFont(new java.awt.Font("Dialog", 1, 14));

jButton1.setForeground(new Color(0, 0, 60));

jButton1.setText("<==");

jButton1.addActionListener(new igra1_jButton1_actionAdapter(this));

jButton2.setBackground(new Color(220, 230, 255));

jButton2.setBounds(new Rectangle(213, 355, 92, 23));

jButton2.setFont(new java.awt.Font("Dialog", 1, 12));

jButton2.setForeground(new Color(0, 0, 80));

jButton2.setText("Обновить");

jButton2.addActionListener(new igra1_jButton2_actionAdapter(this));

jButton3.setBackground(new Color(220, 230, 255));

jButton3.setBounds(new Rectangle(317, 355, 86, 23));

jButton3.setFont(new java.awt.Font("Dialog", 1, 14));

jButton3.setForeground(new Color(0, 0, 60));

jButton3.setText("==>");

jButton3.addActionListener(new igra1_jButton3_actionAdapter(this));

jLabel2.setFont(new java.awt.Font("Dialog", 3, 12));

jLabel2.setForeground(new Color(180, 0, 60));

jLabel2.setText("Иллюстрация:");

jLabel2.setBounds(new Rectangle(16, 24, 96, 26));

jLabel3.setFont(new java.awt.Font("Dialog", 3, 12));

jLabel3.setForeground(new Color(180, 0, 60));

jLabel3.setText("Решение:");

jLabel3.setBounds(new Rectangle(16, 191, 77, 15));

jPanel1.setBackground(Color.white);

jPanel1.setBorder(border1);

jPanel1.setBounds(new Rectangle(17, 45, 504, 144));

jPanel2.setBackground(Color.white);

jPanel2.setBorder(border1);

jPanel2.setBounds(new Rectangle(17, 208, 504, 137));

jPanel2.setLayout(null);

jPanel3.setBackground(Color.white);

jPanel3.setVisible(false) ;

jPanel3.setBorder(border1);

jPanel3.setBounds(new Rectangle(41, 58, 455, 120));

jLabel1.setFont(new java.awt.Font("Dialog", 1, 14));

jLabel1.setForeground(new Color(130, 0, 0));

jLabel1.setPreferredSize(new Dimension(236, 21));

jLabel1.setVerifyInputWhenFocusTarget(true);

jLabel1.setHorizontalAlignment(SwingConstants.CENTER);

jLabel1.setText("Динамическая модель финансирования контртерроризма");

jLabel1.setBounds(new Rectangle(0, 0, 540, 17));

sld_Kol_USA.setBounds(new Rectangle(110, 65, 140, 18));

sld_Kol_USA.setOrientation(JSlider.HORIZONTAL);

sld_Kol_USA.setMaximum(120);

sld_Kol_USA.setMinimum(0);

sld_Kol_USA.setValue(kol_USA/1000);

sld_Kol_USA.setBackground(Color.white);

sld_Kol_USA.setToolTipText("Количество солдат США в Афганистане");

sld_Kol_USA.setVisible(false);

sld_Kol_USA.setPreferredSize(new Dimension(150, 24));

sld_Kol_USA.addChangeListener(new igra1_sld_Kol_USA_changeAdapter(this));

sld_Kol_Iraq.setBounds(new Rectangle(110, 241-206, 140, 18));

sld_Kol_Iraq.addChangeListener(new igra1_sld_Kol_Iraq_changeAdapter(this));

sld_Kol_Iraq.setOrientation(JSlider.HORIZONTAL);

sld_Kol_Iraq.setMaximum(150);

sld_Kol_Iraq.setMinimum(0);

sld_Kol_Iraq.setValue(100);

sld_Kol_Iraq.setBackground(Color.white);

sld_Kol_Iraq.setToolTipText("Количество солдат Афганистана");

sld_Kol_Iraq.setVisible(false);

sld_Kol_Iraq.setPreferredSize(new Dimension(150, 24));

sld_Kol_Koal.setBounds(new Rectangle(110, 5, 140, 18));

sld_Kol_Koal.setVisible(false);

sld_Kol_Koal.setToolTipText("Количество солдат коалиций в Афганистане");

sld_Kol_Koal.setOpaque(true);

sld_Kol_Koal.setBackground(Color.white);

sld_Kol_Koal.setMinimum(0);

sld_Kol_Koal.setMaximum(30);

sld_Kol_Koal.setValue(kol_Koal/1000);

sld_Kol_Koal.setOrientation(JSlider.HORIZONTAL);

sld_Kol_Koal.addChangeListener(new igra1_sld_Kol_Koal_changeAdapter(this));

sld_vivoz_USA.setBounds(new Rectangle(110, 301-206, 140, 18));

sld_vivoz_USA.setMaximum(kol_USA/1000);

sld_vivoz_USA.setMinimum(0);

sld_vivoz_USA.setValue(kol_vivoz_USA/1000);

sld_vivoz_USA.setBackground(Color.white);

sld_vivoz_USA.setVisible(false);

sld_vivoz_USA.addChangeListener(new igra1_sld_vivoz_USA_changeAdapter(this));

sld_Kol_GER.setBounds(new Rectangle(110, 125, 140, 18));

sld_Kol_GER.setOrientation(JSlider.HORIZONTAL);

sld_Kol_GER.setMaximum(30);

sld_Kol_GER.setMinimum(0);

sld_Kol_GER.setValue(kol_GER/1000);

sld_Kol_GER.addChangeListener(new igra1_sld_Kol_GER_changeAdapter(this));

sld_Kol_GER.setBackground(Color.white);

sld_Kol_GER.setToolTipText("Количество солдат Германии в Афганистане");

sld_Kol_GER.setVisible(false);

sld_Kol_GER.setPreferredSize(new Dimension(150, 24));

sld_Kol_GER.addChangeListener(new igra1_sld_Kol_GER_changeAdapter(this));

sld_vivoz_GER.setBounds(new Rectangle(110, 155, 140, 18));

sld_vivoz_GER.setMaximum(kol_GER/1000);

sld_vivoz_GER.setMinimum(0);

sld_vivoz_GER.setValue(kol_vivoz_GER/1000);

sld_vivoz_GER.addChangeListener(new igra1_sld_vivoz_GER_changeAdapter(this));

sld_vivoz_GER.setBackground(Color.white);

sld_vivoz_GER.setVisible(false);

sld_vivoz_GER.addChangeListener(new igra1_sld_vivoz_GER_changeAdapter(this));

sld_kol_ter.setBounds(new Rectangle(110, 391-206, 140, 18));

sld_kol_ter.setMaximum(185);

sld_kol_ter.setMinimum(0);

sld_kol_ter.setValue(kol_ter);

sld_kol_ter.setBackground(Color.white);

sld_kol_ter.setVisible(false);

sld_kol_ter.setToolTipText("Количество терактов в Афганистане");

sld_kol_ter.addChangeListener(new igra1_sld_kol_ter_changeAdapter(this));

sld_kol_bomb.setBounds(new Rectangle(110, 421-206, 140, 18));

sld_kol_bomb.setMaximum(69);

sld_kol_bomb.setMinimum(0);

sld_kol_bomb.setValue(kol_bomb);

sld_kol_bomb.setBackground(Color.white);

sld_kol_bomb.setVisible(false);

sld_kol_bomb.setToolTipText("Количество бомбардировок в Афганистане");

sld_kol_bomb.addChangeListener(new igra1_sld_kol_bomb_changeAdapter(this));

sld_soder_USA.setBounds(new Rectangle(345, 65, 150, 18));

sld_soder_USA.setMaximum(1000);

sld_soder_USA.setMinimum(0);

sld_soder_USA.setValue(soder_USA);

sld_soder_USA.setBackground(Color.white);

sld_soder_USA.setVisible(false);

sld_soder_USA.setToolTipText("Сумма денег необходимая на содержание одного дня одного солдата США " +

"в Афганистане");

sld_soder_USA.addChangeListener(new igra1_sld_soder_USA_changeAdapter(this));

sld_soder_Iraq.setBounds(new Rectangle(345, 241-206, 150, 18));

sld_soder_Iraq.setMaximum(500);

sld_soder_Iraq.setMinimum(0);

sld_soder_Iraq.setValue(soder_Iraq);

sld_soder_Iraq.setBackground(Color.white);

sld_soder_Iraq.setVisible(false);

sld_soder_Iraq.setToolTipText("Сумма денег необходимая на содержание одного дня одного солдата Афганистана");

sld_soder_Iraq.addChangeListener(new igra1_sld_soder_Iraq_changeAdapter(this));

sld_soder_Koal.setBounds(new Rectangle(345, 5, 150, 18));

sld_soder_Koal.setVisible(false);

sld_soder_Koal.setToolTipText("Сумма денег необходимая на содержание одного дня одного солдата коалиции");

sld_soder_Koal.setBackground(Color.white);

sld_soder_Koal.setMaximum(500);

sld_soder_Koal.setMinimum(0);

sld_soder_Koal.setValue(soder_Koal);

sld_soder_Koal.addChangeListener(new igra1_sld_soder_Koal_changeAdapter(this));

sld_sumVivoz_USA.setBounds(new Rectangle(345, 301-206, 150, 18));

sld_sumVivoz_USA.setMaximum(250);

sld_sumVivoz_USA.setMinimum(0);

sld_sumVivoz_USA.setValue(sum_vivoz_USA);

sld_sumVivoz_USA.setBackground(Color.white);

sld_sumVivoz_USA.setVisible(false);

sld_sumVivoz_USA.addChangeListener(new igra1_sld_sumVivoz_USA_changeAdapter(this));

sld_soder_GER.setBounds(new Rectangle(345, 125, 150, 18));

sld_soder_GER.setMaximum(1000);

sld_soder_GER.setMinimum(0);

sld_soder_GER.setValue(soder_GER);

sld_soder_GER.addChangeListener(new igra1_sld_soder_GER_changeAdapter(this));

sld_soder_GER.setBackground(Color.white);

sld_soder_GER.setVisible(false);

sld_soder_GER.setToolTipText("Сумма денег необходимая на содержание одного дня одного солдата Германии " +

"в Афганистане");

sld_soder_GER.addChangeListener(new igra1_sld_soder_GER_changeAdapter(this));

sld_sumVivoz_GER.setBounds(new Rectangle(345, 155, 150, 18));

sld_sumVivoz_GER.setMaximum(250);

sld_sumVivoz_GER.setMinimum(0);

sld_sumVivoz_GER.setValue(sum_vivoz_GER);

sld_sumVivoz_GER.addChangeListener(new igra1_sld_sumVivoz_GER_changeAdapter(this));

sld_sumVivoz_GER.setBackground(Color.white);

sld_sumVivoz_GER.setVisible(false);

sld_sumVivoz_GER.addChangeListener(new igra1_sld_sumVivoz_GER_changeAdapter(this));

sld_sumUstr_ter.setBounds(new Rectangle(345, 391-206, 150, 18));

sld_sumUstr_ter.setMaximum(300);

sld_sumUstr_ter.setMinimum(0);

sld_sumUstr_ter.setValue(sumUstr_ter);

sld_sumUstr_ter.addChangeListener(new igra1_sld_sumUstr_ter_changeAdapter(this));

sld_sumUstr_ter.setBackground(Color.white);

sld_sumUstr_ter.setVisible(false);

sld_sumUstr_ter.setToolTipText("Сумма денег необходимая на устранение последствий одного теракта");

sld_sumUstr_ter.addChangeListener(new igra1_sld_sumUstr_ter_changeAdapter(this));

sld_sumUstr_bomb.setBounds(new Rectangle(345, 421-206, 150, 18));

sld_sumUstr_bomb.setMaximum(200);

sld_sumUstr_bomb.setMinimum(0);

sld_sumUstr_bomb.setValue(sumUstr_bomb);

sld_sumUstr_bomb.setBackground(Color.white);

sld_sumUstr_bomb.setVisible(false);

sld_sumUstr_bomb.setToolTipText("Сумма денег необходимая на устранение последствий одной бомбардировки");

sld_sumUstr_bomb.addChangeListener(new igra1_sld_sumUstr_bomb_changeAdapter(this));

jCheckBox1.setBackground(new Color(247, 247, 255));

jCheckBox1.setFont(new java.awt.Font("Dialog", 3, 12));

jCheckBox1.setForeground(new Color(180, 0, 60));

jCheckBox1.setText("Формулы вычисления матриц");

jCheckBox1.setBounds(new Rectangle(315, 191, 214, 15));

jCheckBox1.addMouseListener(new igra1_jCheckBox1_mouseAdapter(this));

jrd_btn_Vivod.setBackground(new Color(225, 225, 255));

jrd_btn_Vivod.setForeground(new Color(130, 0, 80));

jrd_btn_Vivod.setSelected(true);

jrd_btn_Vivod.setText("Вывод войск");

jrd_btn_Vivod.setBounds(new Rectangle(10, 35, 109, 23));

jrd_btn_Vivod.addChangeListener(new igra1_jrd_btn_Vivod_changeAdapter(this));

jrd_btn_Vvod.setBackground(new Color(225, 225, 255));

jrd_btn_Vvod.setForeground(new Color(130, 0, 80));

jrd_btn_Vvod.setSelected(false);

jrd_btn_Vvod.setText("Ввод войск");

jrd_btn_Vvod.setBounds(new Rectangle(120, 35, 91, 23));

jrd_btn_Vvod.addChangeListener(new igra1_jrd_btn_Vvod_changeAdapter(this));

jrbtn_En.setBackground(Color.white);

jrbtn_En.setFont(new java.awt.Font("Dialog", 0, 12));

jrbtn_En.setToolTipText("");

jrbtn_En.setSelected(false);

jrbtn_En.setText("En");

jrbtn_En.setBounds(new Rectangle(10,10, 52, 23));

jrbtn_En.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(MouseEvent e) {

jrbtn_En_mouseClicked(e);

}

});

jrbtn_Ru.setBackground(Color.white);

jrbtn_Ru.setFont(new java.awt.Font("Dialog", 1, 12));

jrbtn_Ru.setAlignmentX((float) 0.0);

jrbtn_Ru.setSelected(true);

jrbtn_Ru.setText("Ru");

jrbtn_Ru.setBounds(new Rectangle(10, 35, 52, 23));

jrbtn_Ru.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(MouseEvent e) {

jrbtn_Ru_mouseClicked(e);

}

});

/*jrbtn_En.setText("En");

jrbtn_En.setBounds(new Rectangle(444, 426, 52, 23));

jrbtn_Ru.setToolTipText("");

jrbtn_Ru.setText("Ru");

jrbtn_Ru.setBounds(new Rectangle(444, 449, 52, 23));*/

this.getContentPane().add(jPanel1, null);

this.getContentPane().add(jPanel2, null);

this.getContentPane().add(jPanel3, null);

this.getContentPane().add(jLabel4, null);

this.getContentPane().add(jLabel5, null);

this.getContentPane().add(jLabel6, null);

this.getContentPane().add(jLabel8, null);

this.getContentPane().add(jLabel9, null);

this.getContentPane().add(jLabel10, null);

this.getContentPane().add(jLabel11, null);

this.getContentPane().add(jLabel12, null);

this.getContentPane().add(jLabel13, null);

this.getContentPane().add(jLabel14, null);

this.getContentPane().add(jLabel15, null);

this.getContentPane().add(jLabel16, null);

this.getContentPane().add(jLabel17, null);

this.getContentPane().add(jLabel18, null);

this.getContentPane().add(jLabel19, null);

this.getContentPane().add(jLabel20, null);

this.getContentPane().add(jLabel21, null);

this.getContentPane().add(jLabel22, null);

this.getContentPane().add(jLabel23, null);

this.getContentPane().add(jLabel24, null);

this.getContentPane().add(jLabel25, null);

this.getContentPane().add(jLabel26, null);

this.getContentPane().add(jLabel27, null);

this.getContentPane().add(jLabel28, null);

this.getContentPane().add(jLabel29, null);

this.getContentPane().add(jLabel30, null);

this.getContentPane().add(jLabel31, null);

this.getContentPane().add(jLabel32, null);

this.getContentPane().add(jLabel33, null);

this.getContentPane().add(jLabel34, null);

this.getContentPane().add(jLabel35, null);

this.getContentPane().add(jLabel36, null);

this.getContentPane().add(jLabel37, null);

this.getContentPane().add(jLabel38, null);

this.getContentPane().add(jLabel39, null);

this.getContentPane().add(jLabel40, null);

this.getContentPane().add(jLabel3, null);

this.getContentPane().add(jLabel2, null);

this.getContentPane().add(jButton3, null);

this.getContentPane().add(jButton1, null);

this.getContentPane().add(jButton2, null);

this.getContentPane().add(jLabel1, null);

this.getContentPane().add(jrd_btn_Vivod, null);

this.getContentPane().add(jrd_btn_Vvod, null);

this.jPanel2.add(sld_Kol_USA, null);

this.jPanel2.add(sld_Kol_Iraq, null);

this.jPanel2.add(sld_Kol_Koal, null);

this.jPanel2.add(sld_vivoz_USA, null);

this.jPanel2.add(sld_Kol_GER, null);

this.jPanel2.add(sld_vivoz_GER, null);

this.jPanel2.add(sld_kol_ter, null);

this.jPanel2.add(sld_kol_bomb, null);

this.jPanel2.add(sld_soder_USA, null);

this.jPanel2.add(sld_soder_Iraq, null);

this.jPanel2.add(sld_soder_Koal, null);

this.jPanel2.add(sld_sumVivoz_USA, null);

this.jPanel2.add(sld_soder_GER, null);

this.jPanel2.add(sld_sumVivoz_GER, null);

this.jPanel2.add(sld_sumUstr_ter, null);

this.jPanel2.add(sld_sumUstr_bomb, null);

this.getContentPane().add(jCheckBox1, null);

this.getContentPane().add(jrbtn_En, null);

this.getContentPane().add(jrbtn_Ru, null);

this.jPanel1.add(jrbtn_En, null);

this.jPanel1.add(jrbtn_Ru, null);

this.jPanel1.add(jrd_btn_Vivod, null);

this.jPanel1.add(jrd_btn_Vvod, null);

this.getContentPane().setLayout(null);

// repaint();

btnGroup.add(jrd_btn_Vivod);

btnGroup.add(jrd_btn_Vvod);

btn_Group.add(jrbtn_En);

btn_Group.add(jrbtn_Ru);

}

class Panel_I

extends JPanel {

public void paintComponent(Graphics g) {

super.paintComponent(g);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

Stringer.setGraphics(g);

if(vivoz==true){

if(jrbtn_Ru.isSelected()==true){

sld_vivoz_USA.setToolTipText("Количество солдат США предназначенных для вывода из Афганистана");

sld_vivoz_GER.setToolTipText("Количество солдат Германии предназначенных для вывода из Афганистана");

sld_sumVivoz_USA.setToolTipText("Сумма денег необходимая для вывода одного солдата США из Афганистана");

sld_sumVivoz_GER.setToolTipText("Сумма денег необходимая для вывода одного солдата Германии из Афганистана");

}else{

sld_vivoz_USA.setToolTipText("The amount of USA soldiers intended for conclusion from Afghanistan");

sld_vivoz_GER.setToolTipText("The amount of German soldiers intended for conclusion from Afghanistan");

sld_sumVivoz_USA.setToolTipText("sum of money required for the withdrawal of one USA soldier from Afghanistan");

sld_sumVivoz_GER.setToolTipText("sum of money required for the withdrawal of one German soldier from Afghanistan");

}

}else{

if(jrbtn_Ru.isSelected()==true){

sld_vivoz_USA.setToolTipText("Количество солдат США предназначенных для ввода в Афганистан");

sld_vivoz_GER.setToolTipText("Количество солдат Германии предназначенных для ввода в Афганистан");

sld_sumVivoz_USA.setToolTipText("Сумма денег необходимая для ввода одного солдата США в Афганистан");

sld_sumVivoz_GER.setToolTipText("Сумма денег необходимая для ввода одного солдата Германии в Афганистан");

}else{

sld_vivoz_USA.setToolTipText("The amount of USA soldiers intended for the putting to Afghanistan");

sld_vivoz_GER.setToolTipText("The amount osf German soldiers intended for the putting to Afghanistan");

sld_sumVivoz_USA.setToolTipText("sum of money required for the putting of one USA soldier in Afghanistan");

sld_sumVivoz_GER.setToolTipText("sum of money required for the putting of one German soldier in Afghanistan");

}

}

g.setColor(new Color(0, 0, 80));

if (k <= 6) {

if (k == 0) {}

if (k == 1) {}

if (k >= 2) {

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

Stringer.drawString("Первый игрок - США", 65, 20);

Stringer.drawString("Второй игрок - Германия", 280, 20);

img1 = getImage(getCodeBase(), "1.jpeg");

g.drawImage(img1, 68, 35, this);

img2 = getImage(getCodeBase(), "2.jpg");

g.drawImage(img2, 290, 38, this);

}

}

if(k==7){

jrd_btn_Vivod.setVisible(true);

jrd_btn_Vvod.setVisible(true);

if(jrbtn_Ru.isSelected()==true){

jrd_btn_Vivod.setBounds(new Rectangle(210, 12, 109, 23));

jrd_btn_Vvod.setBounds(new Rectangle(210 + 109, 12, 109, 23));

}else{

jrd_btn_Vivod.setBounds(new Rectangle(200, 12, 129, 23));

jrd_btn_Vvod.setBounds(new Rectangle(220 + 109, 12, 109, 23));

}

g.setColor(new Color(225,225,255));

g.fillRect(1,1,504,45);

//ЯЗЫК

g.setColor(new Color(157, 187, 255));

g.drawLine(0,45,504,45);

jrbtn_En.setVisible(true);

jrbtn_Ru.setVisible(true);

g.setColor(new Color(247,247,255));

g.fillRect(15,10,93,23);

g.setColor(new Color(0,0,120));

g.drawRect(15,10,93,23);

jrbtn_Ru.setBounds(new Rectangle(18, 12, 45, 20));//18, 12, 45, 21

jrbtn_En.setBounds(new Rectangle(18+45, 12, 45, 20));//18, 10+23, 45, 21

}else{

jrd_btn_Vivod.setVisible(false);

jrd_btn_Vvod.setVisible(false);

jrbtn_En.setVisible(false);

jrbtn_Ru.setVisible(false);

}

if ((k >= 7)&&(k<=10)) {

/*Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(130, 0, 80));

g.drawLine(30, 50, 240, 50);

g.drawLine(45, 40, 45, 100);

g.drawLine(260, 50, 470, 50);

g.drawLine(275, 40, 275, 100);

if(vivoz==true){

if(k!=7)Stringer.drawString("Вывести(В) или оставить (О)", 160, 15);

g.setColor(new Color(0, 0, 80));

Stringer.drawString("(O) (B)", 70, 48);

Stringer.drawString("(O) (B)", 300, 48);

Stringer.drawString("(O)", 27, 65);

Stringer.drawString("(O)", 257, 65);

Stringer.drawString("(B)", 27, 90);

Stringer.drawString("(B)", 257, 90);

}else{

if(k!=7)Stringer.drawString("Добавить(Д) или оставить (О)", 160, 15);

g.setColor(new Color(0, 0, 80));

Stringer.drawString("(O) (Д)", 70, 48);

Stringer.drawString("(O) (Д)", 300, 48);

Stringer.drawString("(O)", 27, 65);

Stringer.drawString("(O)", 257, 65);

Stringer.drawString("(Д)", 27, 90);

Stringer.drawString("(Д)", 257, 90);

}

Stringer.drawString("A", 31, 44);

Stringer.drawString("B", 261, 44);

if(vivoz==true){

Stringer.drawString(""+ -(kol_USA*soder_USA+kol_Iraq*soder_Iraq+kol_Koal*soder_Koal+kol_ter*sumUstr_ter+kol_bomb*sumUstr_bomb), 55, 65);//-66160850

Stringer.drawString(""+ -((kol_USA-kol_vivoz_USA)*soder_USA+kol_vivoz_USA*sum_vivoz_USA+kol_vivoz_USA*soder_USA), 150, 65);//-60000000

Stringer.drawString(""+ -((kol_USA-kol_vivoz_USA)*soder_USA+kol_vivoz_USA*sum_vivoz_USA+kol_vivoz_USA*soder_USA), 55, 90);//-60000000

Stringer.drawString(""+ -(kol_USA*sum_vivoz_USA+kol_USA*soder_USA), 150, 90);//-71875000

Stringer.drawString(""+ -(kol_GER*soder_GER+kol_ter*sumUstr_ter+kol_bomb*sumUstr_bomb), 285, 65);//-600850

Stringer.drawString(""+ -((kol_GER-kol_vivoz_GER)*soder_GER+kol_vivoz_GER*sum_vivoz_GER+kol_vivoz_GER*soder_GER), 380, 65);//-150000

Stringer.drawString(""+ -((kol_GER-kol_vivoz_GER)*soder_GER+kol_vivoz_GER*sum_vivoz_GER+kol_vivoz_GER*soder_GER), 285, 90);//-150000

Stringer.drawString(""+ -(kol_GER*sum_vivoz_GER+kol_GER*soder_GER+ kol_vivoz_GER*sum_vivoz_GER), 380, 90);//-600000

}else{

Stringer.drawString(""+ -(kol_USA*soder_USA+kol_Iraq*soder_Iraq+kol_Koal*soder_Koal+kol_ter*sumUstr_ter+kol_bomb*sumUstr_bomb), 55, 65);//-66160850

Stringer.drawString(""+ -((kol_USA+kol_vivoz_USA)*soder_USA+kol_vivoz_USA*sum_vivoz_USA+kol_vivoz_USA*soder_USA), 150, 65);//-60000000

Stringer.drawString(""+ -((kol_USA+kol_vivoz_USA)*soder_USA+kol_vivoz_USA*sum_vivoz_USA+kol_vivoz_USA*soder_USA), 55, 90);//-60000000

Stringer.drawString(""+ -(kol_USA*sum_vivoz_USA+kol_USA*soder_USA), 150, 90);//-71875000

Stringer.drawString(""+ -(kol_GER*soder_GER+kol_ter*sumUstr_ter+kol_bomb*sumUstr_bomb), 285, 65);//-600850

Stringer.drawString(""+ -((kol_GER+kol_vivoz_GER)*soder_GER+kol_vivoz_GER*sum_vivoz_GER+kol_vivoz_GER*soder_GER), 380, 65);//-150000

Stringer.drawString(""+ -((kol_GER+kol_vivoz_GER)*soder_GER+kol_vivoz_GER*sum_vivoz_GER+kol_vivoz_GER*soder_GER), 285, 90);//-150000

Stringer.drawString(""+ -(kol_GER*sum_vivoz_GER+kol_GER*soder_GER + kol_vivoz_GER*sum_vivoz_GER), 380, 90);//-600000

}*/

if(jrbtn_Ru.isSelected()==true){

Stringer.fonts[0] = new Font("Dialog", 2, 12);

Stringer.drawString("Постановка задачи:", 20, 65);

g.drawLine(20, 66, 140, 66);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

Stringer.drawString("Рассмотрим матричную игру 2-х игроков по оптимизации", 150, 65);

Stringer.drawString("их расходов на кампанию в Афганистане.", 150, 80);

Stringer.drawString("Первый игрок - США", 50, 130);

Stringer.drawString("Второй игрок - Германия", 282, 130);

}else{

Stringer.fonts[0] = new Font("Dialog", 2, 12);

Stringer.drawString("Problem:", 75, 65);

g.drawLine(75, 66, 125, 66);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

Stringer.drawString("Consider the matrix game of 2 players to optimize", 140, 65);

Stringer.drawString("their campaign spending in Afghanistan.", 140, 80);

Stringer.drawString("First player - USA", 50, 130);

Stringer.drawString("Second player - Germany", 282, 130);

}

}

if (k == 8){

/*g.setColor(Color.BLUE);

g.drawRect(50, 53, 70, 15);

g.drawRect(280, 53, 70, 15);*/

}

if ( k == 9){

/*g.setColor(Color.BLUE);

g.drawRect(145, 77, 70, 15);

g.drawRect(375, 77, 70, 15);*/

}

if ((k>=11)&& (k 20)){

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(130, 0, 80));

g.drawLine(30, 50, 240, 50);

g.drawLine(45, 40, 45, 100);

g.drawLine(260, 50, 470, 50);

g.drawLine(275, 40, 275, 100);

if(vivoz==true){

if(jrbtn_Ru.isSelected()==true){

Stringer.drawString("Вывести (В) или оставить (О)", 160, 15);

g.setColor(new Color(0, 0, 80));

Stringer.drawString("(O) (В)", 70, 48);

Stringer.drawString("(O) (В)", 300, 48);

Stringer.drawString("(O)", 27, 65);

Stringer.drawString("(O)", 257, 65);

Stringer.drawString("(В)", 27, 90);

Stringer.drawString("(В)", 257, 90);

}else{

Stringer.drawString("Remove (В) or leave (L)", 180, 15);

g.setColor(new Color(0, 0, 80));

Stringer.drawString("(L) (R)", 70, 48);

Stringer.drawString("(L) (R)", 300, 48);

Stringer.drawString("(L)", 27, 65);

Stringer.drawString("(L)", 257, 65);

Stringer.drawString("(R)", 27, 90);

Stringer.drawString("(R)", 257, 90);

}

}else{

if(jrbtn_Ru.isSelected()==true){

Stringer.drawString("Добавить (Д) или оставить (О)", 160, 15);

g.setColor(new Color(0, 0, 80));

Stringer.drawString("(O) (Д)", 70, 48);

Stringer.drawString("(O) (Д)", 300, 48);

Stringer.drawString("(O)", 27, 65);

Stringer.drawString("(O)", 257, 65);

Stringer.drawString("(Д)", 27, 90);

Stringer.drawString("(Д)", 257, 90);

}else{

Stringer.drawString("Put (P) or leave (L)", 195, 15);

g.setColor(new Color(0, 0, 80));

Stringer.drawString("(L) (P)", 70, 48);

Stringer.drawString("(L) (P)", 300, 48);

Stringer.drawString("(L)", 27, 65);

Stringer.drawString("(L)", 257, 65);

Stringer.drawString("(P)", 27, 90);

Stringer.drawString("(P)", 257, 90);

}

}

Stringer.drawString("A", 31, 44);

Stringer.drawString("B", 261, 44);

if(jrbtn_Ru.isSelected()==true){

Stringer.drawString("Первый игрок - США", 50, 130);

Stringer.drawString("Второй игрок - Германия", 282, 130);

}else{

Stringer.drawString("First player - USA", 50, 130);

Stringer.drawString("Second player - Germany", 282, 130);

}

}

if ((k >= 12)&& (k 20)) {

if(vivoz==true){

Stringer.drawString(""+ -(kol_USA*soder_USA+kol_Iraq*soder_Iraq), 55, 65);

Stringer.drawString(""+ -((kol_USA-kol_vivoz_USA)*soder_USA+kol_vivoz_USA*sum_vivoz_USA+kol_vivoz_USA*soder_USA), 150, 65);

Stringer.drawString(""+ -((kol_USA-kol_vivoz_USA)*soder_USA+kol_vivoz_USA*sum_vivoz_USA+kol_vivoz_USA*soder_USA), 55, 90);

Stringer.drawString(""+ -(kol_USA*sum_vivoz_USA+kol_USA*soder_USA), 150, 90);

a11=(int)-(kol_USA*soder_USA+kol_Iraq*soder_Iraq);

a12=(int)-((kol_USA-kol_vivoz_USA)*soder_USA+kol_vivoz_USA*sum_vivoz_USA+kol_vivoz_USA*soder_USA);

a21=(int)-((kol_USA-kol_vivoz_USA)*soder_USA+kol_vivoz_USA*sum_vivoz_USA+kol_vivoz_USA*soder_USA);

a22=(int)-(kol_USA*sum_vivoz_USA+kol_USA*soder_USA);

Stringer.drawString(""+ -(kol_GER*soder_GER), 285, 65);

Stringer.drawString(""+ -((kol_GER-kol_vivoz_GER)*soder_GER+kol_vivoz_GER*sum_vivoz_GER), 380, 65);//+kol_vivoz_GER*soder_GER

Stringer.drawString(""+ -((kol_GER-kol_vivoz_GER)*soder_GER+kol_vivoz_GER*sum_vivoz_GER), 285, 90);//+kol_vivoz_GER*soder_GER

Stringer.drawString(""+ -(kol_GER*sum_vivoz_GER+kol_GER*soder_GER), 380, 90);// + kol_vivoz_GER*sum_vivoz_GER

b11=(int)-(kol_GER*soder_GER);

b12=(int)-((kol_GER-kol_vivoz_GER)*soder_GER+kol_vivoz_GER*sum_vivoz_GER);//+kol_vivoz_GER*soder_GER

b21=(int)-((kol_GER-kol_vivoz_GER)*soder_GER+kol_vivoz_GER*sum_vivoz_GER);//+kol_vivoz_GER*soder_GER

b22=(int)-(kol_GER*sum_vivoz_GER+kol_GER*soder_GER);// + kol_vivoz_GER*sum_vivoz_GER

}else{

Stringer.drawString(""+ -(kol_USA*soder_USA+kol_Iraq*soder_Iraq), 55, 65);

Stringer.drawString(""+ -((kol_USA)*soder_USA+kol_vivoz_USA*sum_vivoz_USA), 150, 65);//+kol_vivoz_USA*soder_USA

Stringer.drawString(""+ -((kol_USA)*soder_USA+kol_vivoz_USA*sum_vivoz_USA), 55, 90);//+kol_vivoz_USA*soder_USA

Stringer.drawString(""+ -(kol_USA*sum_vivoz_USA+kol_USA*soder_USA), 150, 90);

a11=(int)-(kol_USA*soder_USA+kol_Iraq*soder_Iraq);

a12=(int)-((kol_USA)*soder_USA+kol_vivoz_USA*sum_vivoz_USA);//+kol_vivoz_USA*soder_USA

a21=(int)-((kol_USA)*soder_USA+kol_vivoz_USA*sum_vivoz_USA);//+kol_vivoz_USA*soder_USA

a22=(int)-(kol_USA*sum_vivoz_USA+kol_USA*soder_USA);

Stringer.drawString(""+ -(kol_GER*soder_GER), 285, 65);

Stringer.drawString(""+ -((kol_GER)*soder_GER+kol_vivoz_GER*sum_vivoz_GER), 380, 65);//+kol_vivoz_GER*soder_GER

Stringer.drawString(""+ -((kol_GER)*soder_GER+kol_vivoz_GER*sum_vivoz_GER), 285, 90);//+kol_vivoz_GER*soder_GER

Stringer.drawString(""+ -(kol_GER*sum_vivoz_GER+kol_GER*soder_GER), 380, 90);// + kol_vivoz_GER*sum_vivoz_GER

b11=(int)-(kol_GER*soder_GER);

b12=(int)-((kol_GER)*soder_GER+kol_vivoz_GER*sum_vivoz_GER);//+kol_vivoz_GER*soder_GER

b21=(int)-((kol_GER)*soder_GER+kol_vivoz_GER*sum_vivoz_GER);//+kol_vivoz_GER*soder_GER

b22=(int)-(kol_GER*sum_vivoz_GER+kol_GER*soder_GER);// + kol_vivoz_GER*sum_vivoz_GER

}

}

if ((k >= 18) && (k < 21)){

if(jrbtn_Ru.isSelected()==true) Stringer.drawString("США", 370, 28);

else Stringer.drawString("USA", 370, 28);

g.setColor(Color.red);

g.drawLine(445, 22, 480, 22);

g.drawLine(445, 23, 480, 23);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true) Stringer.drawString("Германия", 370, 68);

else Stringer.drawString("Germany", 370, 68);

g.setColor(Color.green);

g.drawLine(445, 62, 480, 62);

g.drawLine(445, 63, 480, 63);

g.setColor(new Color(0, 0, 80));

g.drawLine(150, 5, 150, 138);//y

g.drawLine(130, 132, 310, 132);//x

g.drawLine(150, 5, 147, 10);

g.drawLine(150, 5, 153, 10);

g.drawLine(310, 132, 305, 129);

g.drawLine(310, 132, 305, 135);

Stringer.drawString("q", 135, 18);

Stringer.drawString("p", 300, 125);

Stringer.drawString("0", 137, 125);

Stringer.drawString("1", 137, 45);

Stringer.drawString("1", 258, 125);

g.drawLine(130, 32, 300, 32);//y

g.drawLine(250, 5, 250, 138); //x

float y, x;

y = 132 - 100 * aC;

if ((y32)){

g.setColor(Color.red);

g.drawLine(250, 32, 250, (int) y); //p=1, q>= вертикаль

g.drawLine(150, 132, 150, (int) y); //p=0, q<= вертикаль

g.drawLine(150, (int) y, 250, (int) y); //0

}

x = 150 + 100 * bD;

g.setColor(Color.green);

g.drawLine(250, 32, (int) x, 32); //q=1, p>= горизонталь

g.drawLine(150, 132, (int) x, 132); //q=0, p<= горизонталь

g.drawLine( (int) x, 32, (int) x, 132); //0

}

if ((k == 19)||(k == 20)){

g.setColor(Color.blue);

// т. (0,0)(170,132)

g.fillOval(147, 129, 6, 6);

// т.(1,1)(270,32)

g.fillOval(247, 29, 6, 6);

}

if (k == 20) {

g.setColor(Color.blue);

float y, x;

y = 132 - 100 * aC;//112 * bD;

x = 150 + 100 * bD;//550 * aC;

// т. (p,q)

g.fillOval( (int) x - 3, (int) y - 3, 6, 6);

}

}

}

class Panel_R

extends JPanel {

public void paintComponent(Graphics g) {

super.paintComponent(g);

Stringer.setGraphics(g);

if (jCheckBox1.isSelected()==false && k>=11) {

jPanel1.setVisible(true);

jPanel2.setVisible(true);

jPanel3.setVisible(false);

}

if (jCheckBox1.isSelected()==true && k>=11) {

jPanel1.setVisible(false);

jPanel3.setVisible(true);

}

if (jCheckBox1.isSelected()==false && k==11) {

jPanel1.setVisible(false);

jPanel3.setVisible(true);

}

if (k<11) jCheckBox1.setVisible(false);

else jCheckBox1.setVisible(true);

if (k==7) jButton1.setEnabled(false);

if (k == 0) {

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

Stringer.drawString("Рассмотрим следующую ситуацию.", 5, 15);

}

if (k < 3) {

if (k >= 1) {

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

Stringer.drawString("Имеются два игрока: войска США и Германии.", 5, 15);

}

if (k >= 2) {

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

Stringer.drawString("Соответственно первый игрок - войска США, второй игрок - войска Германии.", 5,30);

}

}

if (k < 7){

if (k >= 3) {

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

Stringer.drawString("Войска коалиции, во главе США, независимо от террористов решают, оставить (О) ", 5,15);

Stringer.drawString("войска или вывести (В) и как это отразится на финансовом фонде стран.", 5,30);

}

if (k >= 4){

Stringer.drawString("Если они решат оставить войска, то потребуется некоторая сумма денег на содер - ",5, 45);

Stringer.drawString("жание солдат, устранение последствий терактов и бомбардировок.", 5, 60);

}

if (k >= 5){

Stringer.drawString("Если они решат вывести часть войска, то им еще потребуется сумма денег на ", 5, 75);

Stringer.drawString("содержание и вывод солдат из Афганистана.", 5,90);

// Stringer.drawString("Каждая страна стремиться увеличить боевую эффективность и как можно меньше ",5, 105);

// Stringer.drawString("принести затрат.", 5,120);

}

if (k == 6){

Stringer.drawString("Каждая страна стремится увеличить боевую эффективность и как можно меньше ",5, 105);

Stringer.drawString("принести затрат.", 5,120);

}

}

if(k!=11&&k!=12){

jButton1.setBounds(new Rectangle(115, 355, 87, 23));

jButton2.setBounds(new Rectangle(213, 355, 92, 23));

jButton3.setBounds(new Rectangle(317, 355, 86, 23));

jPanel2.setBounds(new Rectangle(17, 208, 504, 137));

}

if (k == 7){

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true) Stringer.drawString("Расходы игроков А и В описываются матрицами.",20, 15);

else Stringer.drawString("Expenditures players A and B are described by matrices.",20, 15);

Stringer.drawString("", 5, 30);

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("1.",5, 15);

}

if (k == 8){

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("2.",5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true){

Stringer.drawString("Если США решит оставить войска, то некоторая сумма денег будет потрачена на: ",20, 15);

Stringer.drawString("- содержание солдат США в Афганистане ;",20, 30);

Stringer.drawString("- содержание полиции в Афганистане;",20, 45);

Stringer.drawString("Если Германия решит оставить войска, то сумма денег будет потрачена на: ",20, 65);

Stringer.drawString("- содержание солдат Германии в Афганистане ;",20, 80);

}else{

Stringer.drawString("If the U.S. decides to leave the army, then a certain amount of money will be spent on:",20, 15);

Stringer.drawString("- content of U.S. soldiers in Afghanistan;",20, 30);

Stringer.drawString("- content of the police in Afghanistan;",20, 45);

Stringer.drawString("If the Germany decides to leave the army, then money will be spent on:",20, 65);

Stringer.drawString("- content of German soldiers in Afghanistan;",20, 80);

}

}

if (k == 9){

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("3.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true){

if(vivoz==true){

Stringer.drawString("Если США (Германия) решит вывести часть войск, что в пользу Афганистана, то",20, 15);

Stringer.drawString("некоторая сумма денег будет потрачена на:",5, 30);

Stringer.drawString("- вывод солдат США (Германии) из Афганистана;",20, 45);

Stringer.drawString("- содержание солдат, предназначенных для вывода из Афганистана;",20, 60);

Stringer.drawString("- содержание оставшихся солдат в Афганистане;",20, 75);

}else{

Stringer.drawString("Если США (Германия) решит ввести дополнительные войска, то некоторая сумма ",20, 15);

Stringer.drawString("денег будет потрачена на:",5, 30);

Stringer.drawString("- ввод солдат США (Германии) в Афганистан;",20, 45);

Stringer.drawString("- содержание солдат, предназначенных для ввода в Афганистан;",20, 60);

Stringer.drawString("- содержание солдат в Афганистане;",20, 75);

}

}else{

if(vivoz==true){

Stringer.drawString("If the USA (Germany) decides to remove the army, then a certain amount of money",20, 15);

Stringer.drawString("will be spent on:",5, 30);

Stringer.drawString("- removing US (German) soldiers from Afghanistan;",20, 45);

Stringer.drawString("- content soldiers intended for the removing from Afghanistan;",20, 60);

Stringer.drawString("- content of the remaining soldiers in Afghanistan;",20, 75);

}else{

Stringer.drawString("If the USA (Germany) decides to put the additional forces, then a certain amount of money",20, 15);

Stringer.drawString("will be spent on:",5, 30);

Stringer.drawString("- putting US (German) soldiers to Afghanistan;",20, 45);

Stringer.drawString("- content soldiers intended for the putting to Afghanistan;",20, 60);

Stringer.drawString("- content of the soldiers in Afghanistan;",20, 75);

}

}

}

if (k == 10){

jPanel1.setVisible(true);

jPanel2.setVisible(true);

jPanel3.setVisible(false);

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("4.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true){

Stringer.drawString("Эта задача приводит к биматричной игре, в которой равновесная ситуация для", 20, 15);

Stringer.drawString("каждого из игроков определяется оптимизацией расходов на кампанию в", 5, 30);

Stringer.drawString("Афганистане.", 5, 45);

Stringer.drawString("Каждая страна стремится увеличить боевую эффективность и как можно меньше", 20, 60);

Stringer.drawString("понести затрат.", 5, 75);

}else{

Stringer.drawString("This problem leads to a bimatrix game, in which the equilibrium situation for each", 20, 15);

Stringer.drawString("of the players is determined by the costs optimization of the campaign in Afghanistan.", 15, 30);

Stringer.drawString("Each country seeks to increase the combat effectiveness and as little as possible", 20, 45);

Stringer.drawString("to incur costs.", 15, 60);

}

}

if (k == 11){

jCheckBox1.setSelected(true);

sld_Kol_USA.setVisible(false);

sld_Kol_Iraq.setVisible(false);

sld_Kol_Koal.setVisible(false);

sld_vivoz_USA.setVisible(false);

sld_Kol_GER.setVisible(false);

sld_vivoz_GER.setVisible(false);

sld_soder_GER.setVisible(false);

sld_sumVivoz_GER.setVisible(false);

sld_kol_ter.setVisible(false);

sld_kol_bomb.setVisible(false);

sld_soder_USA.setVisible(false);

sld_soder_Iraq.setVisible(false);

sld_soder_Koal.setVisible(false);

sld_sumVivoz_USA.setVisible(false);

sld_sumUstr_ter.setVisible(false);

sld_sumUstr_bomb.setVisible(false);

jPanel2.setBackground(Color.white);

jPanel2.setBorder(border1);

jPanel2.setBounds(new Rectangle(17, 208, 504, 217));

jButton1.setBounds(new Rectangle(115, 435, 87, 23));

jButton2.setBounds(new Rectangle(213, 435, 92, 23));

jButton3.setBounds(new Rectangle(317, 435, 86, 23));

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("5.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true){

Stringer.drawString("Теперь проанализируем задачу, при наличиии следующих параметров:",20, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 10);

Stringer.drawString("К_{с} - количество солдат США;",15, 70);

Stringer.drawString("К_{а} - количество солдат Афганистана;",15, 35);

if(vivoz==true){

Stringer.drawString("К_{вс} - количество солдат США ",15, 105);

Stringer.drawString(" предназначенных для вывода;",15, 120);

Stringer.drawString("К_{вг} - количество солдат Германии",15, 175);

Stringer.drawString(" предназначенных для вывода;",15, 190);

}else{

Stringer.drawString("К_{дс} - количество солдат США ",15, 105);

Stringer.drawString(" предназначенных для ввода;",15, 120);

Stringer.drawString("К_{дг} - количество солдат Германии",15, 175);

Stringer.drawString(" предназначенных для ввода;",15, 190);

}

Stringer.drawString("К_{г} - количество солдат Германии;",15, 140);

Stringer.drawString("S_{с} - сумма денег необходимая на содержание",230, 70);

Stringer.drawString(" одного дня одного солдата США;",230, 85);

Stringer.drawString("S_{а} - сумма денег необходимая на содержание ",230, 35);

Stringer.drawString(" одного дня одного солдата Афганистана;",230, 50);

if(vivoz==true){

Stringer.drawString("S_{вс} - сумма денег необходимая для вывода одного",230, 105);

Stringer.drawString(" солдата США;",230, 120);

Stringer.drawString("S_{вг} - сумма денег необходимая для вывода одного",230, 175);

Stringer.drawString(" солдата Германии;",230, 190);

}else{

Stringer.drawString("S_{дс} - сумма денег необходимая для ввода одного",230, 105);

Stringer.drawString(" солдата США;",230, 120);

Stringer.drawString("S_{дг} - сумма денег необходимая для ввода одного",230, 175);

Stringer.drawString(" солдата Германии;",230, 190);

}

Stringer.drawString("S_{г} - сумма денег необходимая на содержание",230, 140);

Stringer.drawString(" одного дня одного солдата Германии;",230, 155);

}else{

Stringer.drawString("Now let's analyze the problem, if we have the following parametrs:",20, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 10);

Stringer.drawString("К_{u} - the amount of USA soldiers;",35, 70);

Stringer.drawString("К_{a} - the amount of Afghan soldier;",35, 35);

if(vivoz==true){

Stringer.drawString("К_{ru} - the amount of USA soldiers",35, 105);

Stringer.drawString(" intended for conclusion;",35, 120);

Stringer.drawString("К_{rg} - the amount of German soldiers",35, 175);

Stringer.drawString(" intended for conclusion;",35, 190);

}else{

Stringer.drawString("К_{pu} - the amount of USA soldiers",35, 105);

Stringer.drawString(" intended for putting;",35, 120);

Stringer.drawString("К_{pg} - the amount of German soldiers",5, 175);

Stringer.drawString(" intended for putting;",35, 190);

}

Stringer.drawString("К_{g} - the amount of German soldiers;",35, 140);

Stringer.drawString("S_{u} - the sum of money on contents of one day",240, 70);

Stringer.drawString(" of one USA soldier;",240, 85);

Stringer.drawString("S_{a} - the sum of money on contents of one day",240, 35);

Stringer.drawString(" of one Afghan soldier;",240, 50);

if(vivoz==true){

Stringer.drawString("S_{ru} - sum of money required for the removing",240, 105);

Stringer.drawString(" one USA soldier;",240, 120);

Stringer.drawString("S_{rg} - sum of money required for the removing",240, 175);

Stringer.drawString(" one German soldier;",240, 190);

}else{

Stringer.drawString("S_{pu} - sum of money required for the putting",240, 105);

Stringer.drawString(" one USA soldier;",240, 120);

Stringer.drawString("S_{pg} - sum of money required for the putting",240, 175);

Stringer.drawString(" one German soldier;",240, 190);

}

Stringer.drawString("S_{g} - the sum of money on contents of one day",240, 140);

Stringer.drawString(" of one German soldier;",240, 155);

}

}

if (k == 12){

if(formula==0) jCheckBox1.setSelected(false);

jPanel2.setBackground(Color.white);

jPanel2.setBorder(border1);

jPanel2.setBounds(new Rectangle(17, 208, 504, 217)); //208?207

jButton1.setBounds(new Rectangle(115, 435, 87, 23));

jButton2.setBounds(new Rectangle(213, 435, 92, 23));

jButton3.setBounds(new Rectangle(317, 435, 86, 23));

g.setColor(new Color(157, 187, 255));

g.drawLine(10, 25, 490, 25);

g.drawLine(10, 27, 490, 27);

g.drawLine(10, 55, 490, 55);

g.drawLine(10, 57, 490, 57);

g.drawLine(10, 115, 490, 115);

g.drawLine(10, 117, 490, 117);

g.drawLine(10, 175, 490, 175);

g.drawLine(10, 177, 490, 177);

sld_Kol_USA.setVisible(true);

sld_Kol_Iraq.setVisible(true);

sld_Kol_Koal.setVisible(false);

sld_vivoz_USA.setVisible(true);

sld_kol_ter.setVisible(false);

sld_kol_bomb.setVisible(false);

sld_Kol_GER.setVisible(true);

sld_vivoz_GER.setVisible(true);

sld_soder_GER.setVisible(true);

sld_sumVivoz_GER.setVisible(true);

sld_soder_USA.setVisible(true);

sld_soder_Iraq.setVisible(true);

sld_soder_Koal.setVisible(false);

sld_sumVivoz_USA.setVisible(true);

sld_sumUstr_ter.setVisible(false);

sld_sumUstr_bomb.setVisible(false);

Stringer.fonts[0] = new Font("Dialog", 1, 9);

g.setColor(new Color(180, 0, 60));

if(jrbtn_Ru.isSelected()==true) Stringer.drawString("Чтобы увидеть, за что отвечают параметры, наведите курсор мыши на слайдер", 60, 215);

else Stringer.drawString("To see what does parameter mean, move your mouse over the slider", 90, 215);

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("6.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true) {

Stringer.drawString("К_{с} = " + kol_USA, 20, 75);

Stringer.drawString("К_{а} = " + kol_Iraq, 20, 45);

if (vivoz == true) {

Stringer.drawString("К_{вс} = " + kol_vivoz_USA, 20, 105);

Stringer.drawString("К_{вг} = " + kol_vivoz_GER, 20, 165);

Stringer.drawString("S_{вс} = " + sum_vivoz_USA + "$", 270, 105);

Stringer.drawString("S_{вг} = " + sum_vivoz_GER + "$", 270, 165);

}

else {

Stringer.drawString("К_{дс} = " + kol_vivoz_USA, 20, 105);

Stringer.drawString("К_{дг} = " + kol_vivoz_GER, 20, 165);

Stringer.drawString("S_{дс} = " + sum_vivoz_USA + "$", 260, 105);

Stringer.drawString("S_{дг} = " + sum_vivoz_GER + "$", 260, 165);

}

Stringer.drawString("К_{г} = " + kol_GER, 20, 135);

Stringer.drawString("S_{с} = " + soder_USA + "$", 270, 75);

Stringer.drawString("S_{а} = " + soder_Iraq + "$", 270, 45);

Stringer.drawString("S_{г} = " + soder_GER + "$", 270, 135);

}else{

Stringer.drawString("К_{u} = " + kol_USA, 20, 75);

Stringer.drawString("К_{a} = " + kol_Iraq, 20, 45);

if (vivoz == true) {

Stringer.drawString("К_{ru} = " + kol_vivoz_USA, 20, 105);

Stringer.drawString("К_{rg} = " + kol_vivoz_GER, 20, 165);

Stringer.drawString("S_{ru} = " + sum_vivoz_USA + "$", 270, 105);

Stringer.drawString("S_{rg} = " + sum_vivoz_GER + "$", 270, 165);

}

else {

Stringer.drawString("К_{pu} = " + kol_vivoz_USA, 20, 105);

Stringer.drawString("К_{pg} = " + kol_vivoz_GER, 20, 165);

Stringer.drawString("S_{pu} = " + sum_vivoz_USA + "$", 260, 105);

Stringer.drawString("S_{pg} = " + sum_vivoz_GER + "$", 260, 165);

}

Stringer.drawString("К_{g} = " + kol_GER, 20, 135);

Stringer.drawString("S_{u} = " + soder_USA + "$", 270, 75);

Stringer.drawString("S_{a} = " + soder_Iraq + "$", 270, 45);

Stringer.drawString("S_{g} = " + soder_GER + "$", 270, 135);

}

}

if (k == 13){

sld_Kol_USA.setVisible(false);

sld_Kol_Iraq.setVisible(false);

sld_Kol_Koal.setVisible(false);

sld_vivoz_USA.setVisible(false);

sld_kol_ter.setVisible(false);

sld_kol_bomb.setVisible(false);

sld_Kol_GER.setVisible(false);

sld_vivoz_GER.setVisible(false);

sld_soder_GER.setVisible(false);

sld_sumVivoz_GER.setVisible(false);

sld_soder_USA.setVisible(false);

sld_soder_Iraq.setVisible(false);

sld_soder_Koal.setVisible(false);

sld_sumVivoz_USA.setVisible(false);

sld_sumUstr_ter.setVisible(false);

sld_sumUstr_bomb.setVisible(false);

jButton1.setBounds(new Rectangle(115, 355, 87, 23));

jButton2.setBounds(new Rectangle(213, 355, 92, 23));

jButton3.setBounds(new Rectangle(317, 355, 86, 23));

jPanel2.setBackground(Color.white);

jPanel2.setBorder(border1);

jPanel2.setBounds(new Rectangle(17, 208, 504, 137));

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("7.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true) {

Stringer.drawString("Итак, рассмотрим игровую модель этой войны. В задаче представлены два", 20, 15);

Stringer.drawString("игрока.", 15, 30);

Stringer.drawString("Пусть множество чистых стратегий X игрока США содержит m=2 стратегий: ", 15, 50);

Stringer.drawString("X = ( x_{1}, x_{2} ) ", 30, 65);

if(vivoz==true){Stringer.drawString("x_{1} – оставить войска в Афганистане и x_{2} – вывести войска. ", 15, 80);}

else{Stringer.drawString("x_{1} – оставить войска в Афганистане и x_{2} – добавить войска. ", 15, 80);}

Stringer.drawString("У игрока Германия множество чистых стратегий Y имеет n=2 стратегий:", 15, 100);

Stringer.drawString("Y = ( y_{1}, y_{2} )", 30, 115);

if(vivoz==true){Stringer.drawString("y_{1} – оставить войска в Афганистане и y_{2} – вывести войска. ", 15, 130);}

else{Stringer.drawString("y_{1} – оставить войска в Афганистане и y_{2} – добавить войска. ", 15, 130);}

}else{

Stringer.drawString("Thus, consider a game model of this war. In the situation presented two", 20, 15);

Stringer.drawString("players.", 15, 30);

Stringer.drawString("Let the set of pure strategies for player X U.S. contains m = 2 strategies: ", 15, 50);

Stringer.drawString("X = ( x_{1}, x_{2} ) ", 30, 65);

if(vivoz==true){Stringer.drawString("x_{1} – leave troops in Afghanistan и x_{2} – remove troops. ", 15, 80);}

else{Stringer.drawString("x_{1} – leave troops in Afghanistan и x_{2} – put troops. ", 15, 80);}

Stringer.drawString("Player's Germany set of pure strategy Y has n = 2 strategies:", 15, 100);

Stringer.drawString("Y = ( y_{1}, y_{2} )", 30, 115);

if(vivoz==true){Stringer.drawString("y_{1} – leave troops in Afghanistan и y_{2} – remove troops. ", 15, 130);}

else{Stringer.drawString("y_{1} – leave troops in Afghanistan и y_{2} – put troops. ", 15, 130);}

}

}

if (k == 14){

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("8.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true){

Stringer.drawString("Смешанную стратегию игрока США будем записывать в следующем виде:", 20, 15);

Stringer.drawString("S_{1} = ( p; 1-p )",20, 30);

Stringer.drawString("Смешанная стратегия игрока Германия:",5, 50);

Stringer.drawString("S_{2} = ( q; 1-q )",20, 65);

Stringer.drawString("А средние расходы вычисляются по формулам:",5, 85);

Stringer.drawString("H_{1}(p, q) = ( a_{11} - a_{12} - a_{21} - a_{22}) * p * q +( a_{12} - a_{22}) * p +( a_{21} - a_{22}) * q + a_{22}",5, 100);

Stringer.drawString("H_{2}(p, q) = ( b_{11} - b_{12} - b_{21} - b_{22}) * p * q +( b_{12} - b_{22}) * p +( b_{21} - b_{22}) * q + b_{22}",5, 115);

}else{

Stringer.drawString("Mixed strategy of player the U.S. will be written in the form:", 20, 15);

Stringer.drawString("S_{1} = ( p; 1-p )",20, 30);

Stringer.drawString("Mixed strategy of player the Germany:",15, 50);

Stringer.drawString("S_{2} = ( q; 1-q )",20, 65);

Stringer.drawString("And the average costs calculated by the formulas:",15, 85);

Stringer.drawString("H_{1}(p, q) = ( a_{11} - a_{12} - a_{21} - a_{22}) * p * q +( a_{12} - a_{22}) * p +( a_{21} - a_{22}) * q + a_{22}",5, 100);

Stringer.drawString("H_{2}(p, q) = ( b_{11} - b_{12} - b_{21} - b_{22}) * p * q +( b_{12} - b_{22}) * p +( b_{21} - b_{22}) * q + b_{22}",5, 115);

}

}

if (k == 15){

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("9.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true){

Stringer.drawString("Обозначим числом \u03b1 - некоторую меру расходов, что несет игрок А (США).", 20, 15);

Stringer.drawString("\u03b2 - мера расходов, которую несет игрок В (Германия).",20, 30);

}else{

Stringer.drawString("Denote the number \u03b1 - some measure of costs, that have player A (USA).", 20, 15);

Stringer.drawString("\u03b2 - measure of costs, that have player B (Germany).",20, 30);

}

}

if (k==16){

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("10.", 5, 15);

Stringer.drawString("(a)",50, 102);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true) Stringer.drawString("Проведя необходимые вычисления", 28, 15);

else Stringer.drawString("After the necessary calculations", 28, 15);

C=a11-a12-a21+a22; a=a11-a12;

D=b11-b12-b21+b22; b=b11-b21;

Stringer.drawString("C = a_{11}-a_{12}-a_{21}+a_{22} = "+C+", \u03b1 = a_{11}-a_{12} = "+a,50, 35);

Stringer.drawString("D = b_{11}-b_{12}-b_{21}+b_{22} = "+D+", \u03b2 = b_{11}-b_{21} = "+b,50, 55);

if(jrbtn_Ru.isSelected()==true) Stringer.drawString("из неравенств", 28, 75);

else Stringer.drawString("from inequality", 28, 75);

Stringer.drawString("(p-1) * (C * q - \u03b1) = (p - 1) * ("+C+" * q - ("+a+")) \u2265 0",90, 95);

Stringer.drawString("p * (C * q - \u03b1 ) = p * ("+C+" * q - ("+a+")) \u2265 0",90, 115);

}

if (k == 17) {

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("10.", 5, 15);

Stringer.drawString("(b)", 50, 30);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

Stringer.drawString("(q-1) * (D * p - \u03b2) = (p - 1) * (" + D +

" * q - (" + b + ")) \u2265 0", 90, 20);

Stringer.drawString("q * (D * p - \u03b2 ) = q * (" + D + " * p - (" +

b + ")) \u2265 0", 90, 40);

if(jrbtn_Ru.isSelected()==true) Stringer.drawString("получаем, что ", 20, 65);

else Stringer.drawString("find that ", 20, 65);

System.out.print(aC);

aC = Math.abs((float)a/C);

bD = Math.abs((float)b/D);

Stringer.drawString("1^{a}. p = 1, q \u2265 "+aC+",", 15, 90);

Stringer.drawString("1^{b}. q = 1, p \u2265 "+bD+",", 15, 115);

Stringer.drawString("2^{a}. p = 0, q \u2264 "+aC+",", 170, 90);

Stringer.drawString("2^{b}. q = 0, p \u2264 "+bD+",", 170, 115);

Stringer.drawString("3^{a}. 0 < p < 1, q = "+aC+".", 325, 90);

Stringer.drawString("3^{b}. 0 < q < 1, p = "+bD+".", 325, 115);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("1^{a}.", 15, 90);

Stringer.drawString("1^{b}.", 15, 115);

Stringer.drawString("2^{a}.", 170, 90);

Stringer.drawString("2^{b}.", 170, 115);

Stringer.drawString("3^{a}.", 325, 90);

Stringer.drawString("3^{b}.", 325, 115);

}

if (k == 18) {

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("11.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true){

Stringer.drawString("Перенесем теперь полученные сведения на чертеж. Эти множества состоят", 28, 15);

Stringer.drawString(" из трех прямолинейных участков и представляют собой ", 5, 35);

Stringer.fonts[0] = new Font("Dialog", 2, 12);

Stringer.drawString("зигзаг.", 345, 35);

}else{

Stringer.drawString("Let move the obtained information to drawing. These sets consist", 28, 15);

Stringer.drawString(" of three straight sections and represent a ", 25, 35);

Stringer.fonts[0] = new Font("Dialog", 2, 12);

Stringer.drawString("zigzag.", 270, 35);

}

}

if (k == 19) {

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("11.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true){

Stringer.drawString(" Данная игра имеет точки равновесия. Две из них отвечают чистыми", 28, 15);

Stringer.drawString(" стратегиями игроков,", 5, 30);

}else{

Stringer.drawString(" This game has a point of equilibrium. Two of them correspond to pure", 28, 15);

Stringer.drawString(" strategies of players,", 5, 30);

}

HA1 = C*1*1-a*1-a*1+a22;

HB1 = D*1*1-b*1-b*1+b22;

HA0=C*0*0-a*0-a*0+a22;

HB0=C*0*0-b*0-b*0+b22;

if(jrbtn_Ru.isSelected()==true) Stringer.drawString("При p = 1, q = 1", 25, 50);

else Stringer.drawString("When p = 1, q = 1", 25, 50);

Stringer.drawString("H_{A}(1,1) = C * q + a_{12} - (a_{21} - a_{22}) * q = " +HA1, 140, 65);

Stringer.drawString("H_{B}(1,1) = D * p + b_{21} - (b_{12} - b_{22}) * p = " +HB1, 140, 80);

if(jrbtn_Ru.isSelected()==true) Stringer.drawString("При p = 0, q = 0", 25, 95);

else Stringer.drawString("When p = 0, q = 0", 25, 95);

Stringer.drawString("H_{A}(0,0) = (a_{12} - a_{22}) * q +a_{22} = " +HA0, 140, 110);

Stringer.drawString("H_{B}(0,0) = (b_{12} - b_{22}) * p + b_{22} = " +HB0, 140, 125);

}

if (k == 20) {

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("12.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true) Stringer.drawString("Смешанные стратегии для игроков имеют вид:", 28, 15);

else Stringer.drawString("Mixed strategies for the players have the form:", 28, 15);

Stringer.drawString("p^{*} = ( "+aC+", "+(1-aC)+" ), q^{*} = ( "+bD+", "+(1-bD)+" )",50, 30);

Stringer.fonts[0] = new Font("Dialog", 2, 12);

if(jrbtn_Ru.isSelected()==true) {

if(vivoz==true){

sld_vivoz_USA.setMaximum(kol_USA/1000);

sld_vivoz_GER.setMaximum(kol_GER/1000);

Stringer.drawString("т.е. с вероятностью "+aC+" американцы выбирают стратегию x_{1} - оставить", 8, 50);

Stringer.drawString("войска в Афганистане в количестве "+kol_USA+", а с вероятностью "+(1-aC)+" выбира-", 8, 65);

Stringer.drawString("ют стратегию x_{2} - вывести войска из Афганистана в количестве "+kol_vivoz_USA+";", 8, 80);

Stringer.drawString("с вероятностью "+bD+" немцы выбирают стратегию y_{1} - оставить войска в", 8, 95);

Stringer.drawString("Афганистане в количестве "+kol_GER+", а с вероятностью "+(1-bD)+" немцы выбирают", 8, 110);

Stringer.drawString("стратегию y_{2} - вывести войска в количестве "+kol_vivoz_GER+" солдат.", 8, 125);

}else{

Stringer.drawString("т.е. с вероятностью "+aC+" американцы выбирают стратегию x_{1} - оставить", 8, 50);

Stringer.drawString("войска в Афганистане в количестве "+kol_USA+", а с вероятностью "+(1-aC)+" выбира-", 8, 65);

Stringer.drawString("ют стратегию x_{2} - ввести войска в Афганистан в количестве "+kol_vivoz_USA+";", 8, 80);

Stringer.drawString("с вероятностью "+bD+" немцы выбирают стратегию y_{1} - оставить войска в", 8, 95);

Stringer.drawString("Афганистане в количестве "+kol_GER+", а с вероятностью "+(1-bD)+" немцы выбирают", 8, 110);

Stringer.drawString("стратегию y_{2} - ввести войска в количестве "+kol_vivoz_GER+" солдат.", 8, 125);

}

}else{

if(vivoz==true){

Stringer.drawString("so with probability "+aC+" americans choose strategy x_{1} - to leave", 8, 50);

Stringer.drawString("troops in Afghanistan in the amount of "+kol_USA+", and with probability "+(1-aC)+" they", 8, 65);

Stringer.drawString("choose strategy x_{2} - to remove troops from Afghanistan in the amount of "+kol_vivoz_USA+";", 8, 80);

Stringer.drawString("with probability "+bD+" germans choose strategy y_{1} - to leave troops in", 8, 95);

Stringer.drawString("Afghanistan in the amount of "+kol_GER+", and with probability "+(1-bD)+" germans choose", 8, 110);

Stringer.drawString("strateg y_{2} - to remove troops in the amount of "+kol_vivoz_GER+" soldiers.", 8, 125);

}else{

Stringer.drawString("so with probability "+aC+" americans choose strategy x_{1} - to leave", 8, 50);

Stringer.drawString("troops in Afghanistan in the amount of "+kol_USA+", and with probability "+(1-aC)+" they", 8, 65);

Stringer.drawString("choose strategy x_{2} - to put troops from Afghanistan in the amount of "+kol_vivoz_USA+";", 8, 80);

Stringer.drawString("with probability "+bD+" germans choose strategy y_{1} - to leave troops in", 8, 95);

Stringer.drawString("Afghanistan in the amount of "+kol_GER+", and with probability "+(1-bD)+" germans choose", 8, 110);

Stringer.drawString("strateg y_{2} - to put troops in the amount of "+kol_vivoz_GER+" soldiers.", 8, 125);

}

}

}

if (k==21){

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("13.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true) Stringer.drawString("Таким образом, средние расходы для США, расчитывается по формуле:", 28, 15);

else Stringer.drawString("So, average costs for the USA, is calculated by the formula:", 28, 15);

Stringer.drawString("H_{A} = (p, q) = (a_{11} - a_{12} - a_{21} + a_{22}) * p * q + (a_{12} - a_{22}) * p + (a_{21} - a_{22}) * q + a_{22}", 28, 35);

if(jrbtn_Ru.isSelected()==true) Stringer.drawString("Cредние расходы для Германии:", 28,70);

else Stringer.drawString("average costs for the Germany:", 28,70);

Stringer.drawString("H_{B} = (p, q) = (b_{11} - b_{12} - b_{21} + b_{22}) * p * q + (b_{12} - b_{22}) * p + (b_{21} - b_{22}) * q + b_{22}", 28, 90);

Stringer.fonts[0] = new Font("Dialog", 1, 18);

Stringer.drawString("\u2193\u2193",230,120);

}

if (k==22){

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("13.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true){

Stringer.drawString("Средние расходы для игрока 1, если США решает оставить войска ", 28, 15);

Stringer.drawString("в Афганистане x_{1} и Германия выбирает стратегию y_{1} - оставить войска", 15, 30);

Stringer.drawString("в Афганистане, равны: ", 15, 45);

Stringer.drawString("Средние расходы для игрока 2, если США решает оставить войска ", 15, 73);

Stringer.drawString("в Афганистане x_{1} и Германия выбирает стратегию y_{1} - оставить войска", 15,88);

Stringer.drawString("в Афганистане, равны: ", 15, 103);

}else{

Stringer.drawString("Average costs for player 1, if the USA decides to leave troops in Afghanistan - x_{1}", 28, 15);

Stringer.drawString("and Germany chooses strategy y_{1} - to leave forces in Afghanistan is:", 15, 30);

Stringer.drawString("", 15, 45);

Stringer.drawString("Average costs for player 2, if the USA decides to leave troops in Afghanistan - x_{1}", 15, 73);

Stringer.drawString("and Germany chooses strategy y_{1} - to leave forces in Afghanistan is:", 15,88);

Stringer.drawString(" ", 15, 103);

}

g.setColor(Color.red);

HA = (float)C*(aC)*(bD)-a*(aC)-a*(bD)+a22;

Stringer.drawString("H_{A}( "+aC+", "+bD+" ) = "+Round2(HA/100.),175,45);

HB = (float)D*(aC)*(bD)-b*(aC)-b*(bD)+b22;

Stringer.drawString("H_{B}( "+aC+", "+bD+" ) = "+Round2(HB/100.),175,103);

}

if (k==23){

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("13.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true){

if(vivoz==true){

Stringer.drawString("Средние расходы для игрока 1, если США решает вывести войска ", 28, 15);

Stringer.drawString("из Афганистана x_{2} и Германия выбирает стратегию y_{1} - оставить войска", 15, 30);

Stringer.drawString("в Афганистане, равны:", 15, 45);

Stringer.drawString("Средние расходы для игрока 2, если США решает вывести войска ", 15, 73);

Stringer.drawString("из Афганистана x_{2} и Германия выбирает стратегию y_{1} - оставить войска", 15,88);

Stringer.drawString("в Афганистане, равны:", 15, 103);

}else{

Stringer.drawString("Средние расходы для игрока 1, если США решает ввести дополн. войска ", 28, 15);

Stringer.drawString("в Афганистан x_{2} и Германия выбирает стратегию y_{1} - оставить войска", 15, 30);

Stringer.drawString("в Афганистане, равны:", 15, 45);

Stringer.drawString("Средние расходы для игрока 2, если США решает ввести дополн. войска ", 15, 73);

Stringer.drawString("в Афганистан x_{2} и Германия выбирает стратегию y_{1} - оставить войска", 15, 88);

Stringer.drawString("в Афганистане, равны:", 15, 103);

}

}else{

if(vivoz==true){

Stringer.drawString("Average costs for player 1, if the USA decides to remove troops from Afghanistan -", 28, 15);

Stringer.drawString("x_{2} and Germany chooses strategy y_{1} - to leave troops in Afghanistan is:", 15, 30);

Stringer.drawString("", 15, 45);

Stringer.drawString("Average costs for player 2, if the USA decides to remove troops from Afghanistan - x_{2}", 15, 73);

Stringer.drawString("and Germany chooses strategy y_{1} - to leave troops in Afghanistan is:", 15,88);

Stringer.drawString("", 15, 103);

}else{

Stringer.drawString("Average costs for player 1, if the USA decides to put additional forces ", 28, 15);

Stringer.drawString("to Afghanistan x_{2} and Germany chooses strategy y_{1} - to leave troops", 15, 30);

Stringer.drawString("in Afghanistan is:", 15, 45);

Stringer.drawString("Average costs for player 2, if the USA decides to put additional forces ", 15, 73);

Stringer.drawString("to Afghanistan x_{2} and Germany chooses strategy y_{1} - to leave troops", 15,88);

Stringer.drawString("in Afghanistan is:", 15, 103);

}

}

g.setColor(Color.red);

HA2 = (float) C * (1 - aC) * (bD) - a * (1 - aC) - a * (bD) + a22;

Stringer.drawString("H_{A}( " + (1 - aC) + ", " + bD + " ) = " + Round2(HA2/100.),

175, 45);

HB2 = (float) D * (1 - aC) * (bD) - b * (1 - aC) - b * (bD) + b22;

Stringer.drawString("H_{B}( " + (1 - aC) + ", " + bD + " ) = " + Round2(HB2/100.),

175, 103);

}

if (k==24){

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("13.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true){

if(vivoz==true){

Stringer.drawString("Средние расходы для игрока 1, если США решает оставить войска ", 28, 15);

Stringer.drawString("в Афганистане x_{1} и Германия выбирает стратегию y_{2} - вывести войска", 15, 30);

Stringer.drawString("из Афганистана, равны:", 15, 45);

Stringer.drawString("Средние расходы для игрока 2, если США решает оставить войска ",15, 73);

Stringer.drawString("в Афганистане x_{1} и Германия выбирает стратегию y_{2} - вывести войска", 15, 88);

Stringer.drawString("из Афганистана, равны:", 15, 103);

}else{

Stringer.drawString("Средние расходы для игрока 1, если США решает оставить войска ", 28, 15);

Stringer.drawString("в Афганистане x_{1} и Германия выбирает стратегию y_{2} - ввести дополн. ", 15, 30);

Stringer.drawString("войска, равны:", 15, 45);

Stringer.drawString("Средние расходы для игрока 2, если США решает оставить войска ",15, 73);

Stringer.drawString("в Афганистане x_{1} и Германия выбирает стратегию y_{2} - ввести дополн.", 15, 88);

Stringer.drawString("войска, равны:", 15, 103);

}

}else{

if(vivoz==true){

Stringer.drawString("Average costs for player 1, if the USA decides to leave troops in Afghanistan - x_{1}", 28, 15);

Stringer.drawString("and Germany chooses strategy y_{2} - to remove troops from Afghanistan is:", 15, 30);

Stringer.drawString("", 15, 45);

Stringer.drawString("Average costs for player 2, if the USA decides to leave troops in Afghanistan - x_{1}",15, 73);

Stringer.drawString("and Germany choosess strategy y_{2} - to remove troops from Afghanistan is:", 15, 88);

Stringer.drawString("", 15, 103);

}else{

Stringer.drawString("Average costs for player 1, if the USA decides to leave troops in Afghanistan - x_{1}", 28, 15);

Stringer.drawString("and Germany choose strategy y_{2} - to put additional forces", 15, 30);

Stringer.drawString("to Afghanistan is:", 15, 45);

Stringer.drawString("Average costs for player 2, if the USA decides to leave troops in Afghanistan - x_{1}",15, 73);

Stringer.drawString("and Germany chooses strategy y_{2} - to put additional forces", 15, 88);

Stringer.drawString("to Afghanistan is:", 15, 103);

}

}

g.setColor(Color.red);

HA3 = (float)C*(aC)*(1-bD)-a*(aC)-a*(1-bD)+a22;

Stringer.drawString("H_{A}( "+aC+", "+(1-bD)+" ) = "+Round2(HA3/100.),170,45);

HB3 = (float)D*(aC)*(1-bD)-b*(aC)-b*(1-bD)+b22;

Stringer.drawString("H_{B}( "+aC+", "+(1-bD)+" ) = "+Round2(HB3/100.),170,103);

}

if (k==25){

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("13.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

if(jrbtn_Ru.isSelected()==true){

if(vivoz==true){

Stringer.drawString("Средние расходы для игрока 1, если США решает вывести войска", 28, 15);

Stringer.drawString("из Афганистана x_{2} и Германия выбирает стратегию y_{2} - вывести войска", 15, 30);

Stringer.drawString("из Афганистана, равны:", 15, 45);

Stringer.drawString("Средние расходы для игрока 2, если США решает вывести войска",15, 73);

Stringer.drawString("из Афганистана x_{2} и Германия выбирает стратегию y_{2} - вывести войска", 15, 88);

Stringer.drawString("из Афганистана, равны:", 15, 103);

}else{

Stringer.drawString("Средние расходы для игрока 1, если США решает ввести войска", 28, 15);

Stringer.drawString("в Афганистан x_{2} и Германия выбирает стратегию y_{2} - ввести войска", 15, 30);

Stringer.drawString("в Афганистан, равны:", 15, 45);

Stringer.drawString("Средние расходы для игрока 2, если США решает ввести войска",15, 73);

Stringer.drawString("в Афганистан x_{2} и Германия выбирает стратегию y_{2} - ввести войска", 15, 88);

Stringer.drawString("в Афганистан, равны:", 15, 103);

}

}else{

if(vivoz==true){

Stringer.drawString("Average costs for player 1, if the USA decides to remove troops from Afghanistan -", 28, 15);

Stringer.drawString("x_{2} and Germany chooses strategy y_{2} - to remove troops from Afghanistan is:", 15, 30);

Stringer.drawString("", 15, 45);

Stringer.drawString("Average costs for player 2, if the USA decides to remove troops from Afghanistan - x_{2}",15, 73);

Stringer.drawString("and Germany chooses strategy y_{2} - to remove troops from Afghanistan is:", 15, 88);

Stringer.drawString("", 15, 103);

}else{

Stringer.drawString("Average costs for player 1, if the USA decides to put troops to Afghanistan - x_{2}", 28, 15);

Stringer.drawString("and Germany chooses strategy y_{2} - to put troops to Afghanistan is:", 15, 30);

Stringer.drawString("", 15, 45);

Stringer.drawString("Average costs for player 2, if the USA decides to put troops to Afghanistan - x_{2}",15, 73);

Stringer.drawString("and Germany chooses strategy y_{2} - to put troops to Afghanistan is:", 15, 88);

Stringer.drawString("", 15, 103);

}

}

g.setColor(Color.red);

HA4 = (float)C*(1-aC)*(1-bD)-a*(1-aC)-a*(1-bD)+a22;

Stringer.drawString("H_{A}( "+(1-aC)+", "+(1-bD)+" ) = "+Round2(HA4/100.),170,45);

HB4 = (float)D*(1-aC)*(1-bD)-b*(1-aC)-b*(1-bD)+b22;

Stringer.drawString("H_{B}( "+(1-aC)+", "+(1-bD)+" ) = "+Round2(HB4/100.),170,103);

}

if (k==26){

Stringer.fonts[0] = new Font("Dialog", 2, 14);

g.setColor(new Color(180, 0, 60));

Stringer.drawString("14.", 5, 15);

Stringer.fonts[0] = new Font("Dialog", 1, 12);

g.setColor(new Color(0, 0, 80));

min=HA;

//===============================================================================

// посмотреть сравнение, работает не правильно????????????????????????????????

if(jrbtn_Ru.isSelected()==true){

if ((HA==HA3)||(HA2>HA3)||(HA4>HA3)||(HA2>HA)||(HA4>HA)){

Stringer.drawString("Таким образом, вероятнее всего при p = "+aC+" США выберет стра - ",28, 15);

Stringer.drawString("тегию x_{1} - оставить войска в Афганистане.", 15, 30);

}

else

{

Stringer.drawString("Таким образом, вероятнее всего при p = "+(1-aC)+" США выберет стра - ",28, 15);

if(vivoz==true){Stringer.drawString("тегию x_{2} - вывести войска из Афганистана.", 15, 30);}

else{Stringer.drawString("тегию x_{2} - ввести войска в Афганистан.", 15, 30);}

}

if ((HB>HB3)||(HB2>HB3)||(HB4>HB3)||(HB2>HB)||(HB3>HB)||(HB4>HB)){

Stringer.drawString("Причем, в этом случае Германии желательно выбрать стратегию y_{1} - оставить",15, 55);

Stringer.drawString("войска в Афганистане, при q = "+bD+".", 15, 70);

}

else

{

if(vivoz==true){

Stringer.drawString("Причем, в этом случае Германии желательно выбрать стратегию y_{2} - вывести",5, 55);

Stringer.drawString("войска из Афганистана, при q = "+(1-bD)+".", 5, 70);

}else{

Stringer.drawString("Причем, в этом случае Германии желательно выбрать стратегию y_{2} - ввести",5, 55);

Stringer.drawString("войска в Афганистан, при q = "+(1-bD)+".", 5, 70);

}

}

}else{

if ((HA==HA3)||(HA2>HA3)||(HA4>HA3)||(HA2>HA)||(HA4>HA)){

Stringer.drawString("Thus, most likely at p = "+aC+" USA chooses the strategy x_{1} ",28, 15);

Stringer.drawString("to leave troops in Afghanistan.", 15, 30);

}

else

{

Stringer.drawString("Thus, most likely at p = "+(1-aC)+" USA chooses the strategy ",28, 15);

if(vivoz==true){Stringer.drawString("x_{2} - to remove troops from Afghanistan.", 15, 30);}

else{Stringer.drawString("x_{2} - to put troops to Afghanistan.", 15, 30);}

}

if ((HB>HB3)||(HB2>HB3)||(HB4>HB3)||(HB2>HB)||(HB3>HB)||(HB4>HB)){

Stringer.drawString("Moreover, in this case, Germany is desirable to choose a strategy y_{1} - ",15, 55);

Stringer.drawString("to leave troops, with q = "+bD+".", 15, 70);

}

else

{

if(vivoz==true){

Stringer.drawString("Moreover, in this case, Germany is desirable to choose a strategy y_{2} - ",15, 55);

Stringer.drawString("to remove troops from Afghanistan, with q = "+(1-bD)+".", 15, 70);

}else{

Stringer.drawString("Moreover, in this case, Germany is desirable to choose a strategy y_{2} - ",15, 55);

Stringer.drawString("to put troops to Afghanistan, with q = "+(1-bD)+".", 15, 70);

}

}

}

//===============================================================================

}

}

}

class Panel_F extends JPanel {

public void paintComponent(Graphics g) {

super.paintComponent(g);

Stringer.fonts[0] = new Font("Dialog", 3, 14);

Stringer.setGraphics(g);

g.setColor(new Color(0, 0, 60));

Stringer.fonts[0] = new Font("Dialog", 1, 11);

Stringer.drawString("А = ", 10, 35);

Stringer.drawString("B = ", 10, 92);

Stringer.fonts[0] = new Font("Dialog", 0, 45);

Stringer.drawString("( )", 30, 45);

Stringer.drawString("( )", 30, 102);

Stringer.fonts[0] = new Font("Dialog", 1, 10);

if(jrbtn_Ru.isSelected()==true){

if(vivoz==true){

Stringer.drawString("-(K_{c}*S_{c}+K_{а}*S_{а}) -((K_{c}-K_{вc}) *S_{c}+K_{вc}*S_{вc}+K_{вc}*S_{c})", 45, 27);

Stringer.drawString("-((K_{c}-K_{вc}) *S_{c}+K_{вc}*S_{вc}+K_{вc}*S_{c}) -(K_{c}*S_{c}+K_{c}*S_{вc}) ", 45, 47);

Stringer.drawString("-(K_{г}*S_{г}) -((K_{г}-K_{вг}) *S_{г}+K_{вг}*S_{вг}+K_{вг}*S_{г})", 45, 83);

Stringer.drawString("-((K_{г}-K_{вг}) *S_{г}+K_{вг}*S_{вг}+K_{вг}*S_{г}) -(K_{г}*S_{г}+K_{г}*S_{вг}) ", 45, 103);

}else{

Stringer.drawString("-(K_{c}*S_{c}+K_{а}*S_{а}) -(K_{c}*S_{c}+K_{дc}*S_{дc}+K_{дc}*S_{c})", 45, 27);

Stringer.drawString("-(K_{c}*S_{c}+K_{дc}*S_{дc}+K_{дc}*S_{c}) -(K_{c}*S_{c}+K_{c}*S_{дc}) ", 45, 47);

Stringer.drawString("-(K_{г}*S_{г}) -(K_{г}*S_{г}+K_{дг}*S_{дг}+K_{дг}*S_{г})", 45, 83);

Stringer.drawString("-(K_{г}*S_{г}+K_{дг}*S_{дг}+K_{дг}*S_{г}) -(K_{г}*S_{г}+K_{г}*S_{дг}) ", 45, 103);

}}else{

if(vivoz==true){

Stringer.drawString("-(K_{u}*S_{u}+K_{a}*S_{a}) -((K_{u}-K_{ru}) *S_{u}+K_{ru}*S_{ru}+K_{ru}*S_{u})", 45, 27);

Stringer.drawString("-((K_{u}-K_{ru}) *S_{u}+K_{ru}*S_{ru}+K_{ru}*S_{u}) -(K_{u}*S_{u}+K_{u}*S_{ru}) ", 45, 47);

Stringer.drawString("-(K_{g}*S_{g}) -((K_{g}-K_{rg}) *S_{g}+K_{rg}*S_{rg}+K_{rg}*S_{g})", 45, 83);

Stringer.drawString("-((K_{g}-K_{rg}) *S_{g}+K_{rg}*S_{rg}+K_{rg}*S_{g}) -(K_{g}*S_{g}+K_{g}*S_{rg}) ", 45, 103);

}else{

Stringer.drawString("-(K_{u}*S_{u}+K_{а}*S_{а}) -(K_{u}*S_{u}+K_{pu}*S_{pu}+K_{pu}*S_{c})", 45, 27);

Stringer.drawString("-(K_{u}*S_{u}+K_{pu}*S_{pu}+K_{pu}*S_{u}) -(K_{u}*S_{u}+K_{u}*S_{pu}) ", 45, 47);

Stringer.drawString("-(K_{g}*S_{g}) -(K_{g}*S_{g}+K_{pg}*S_{pg}+K_{pg}*S_{g})", 45, 83);

Stringer.drawString("-(K_{g}*S_{g}+K_{pg}*S_{pg}+K_{pg}*S_{g}) -(K_{g}*S_{g}+K_{g}*S_{pg}) ", 45, 103);

}}

}

}

//Start the applet

public void start() {

}

//Stop the applet

public void stop() {

}

//Destroy the applet

public void destroy() {

}

//Get Applet information

public String getAppletInfo() {

return "Applet Information";

}

//Get parameter info

public String[][] getParameterInfo() {

return null;

}

//static initializer for setting look & feel

static {

try {

//UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

//UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());

}

catch (Exception e) {

}

}

void jButton1_actionPerformed(ActionEvent e) {

if (k == 7) jButton1.setEnabled(false);

else {

jButton1.setEnabled(true);

jButton3.setEnabled(true);

}

if (k > 7) k--;

repaint();

}

void jButton2_actionPerformed(ActionEvent e) {

k = 7;

jCheckBox1.setSelected(false);formula=0;

jButton3.setEnabled(true);

jButton1.setEnabled(false);

jCheckBox1.setVisible(true);

sld_Kol_USA.setValue(68);

sld_Kol_USA.setVisible(false);

sld_Kol_Iraq.setValue(100);

sld_Kol_Iraq.setVisible(false);

sld_Kol_Koal.setValue(19);

sld_Kol_Koal.setVisible(false);

sld_vivoz_USA.setValue(20);

sld_vivoz_USA.setVisible(false);

sld_kol_ter.setValue(8);

sld_kol_ter.setVisible(false);

sld_kol_bomb.setValue(1);

sld_kol_bomb.setVisible(false);

sld_soder_USA.setValue(500);

sld_soder_USA.setVisible(false);

sld_soder_Iraq.setValue(200);

sld_soder_Iraq.setVisible(false);

sld_soder_Koal.setValue(140);

sld_soder_Koal.setVisible(false);

sld_sumVivoz_USA.setValue(125);

sld_sumVivoz_USA.setVisible(false);

sld_sumUstr_ter.setValue(100);

sld_sumUstr_ter.setVisible(false);

sld_sumUstr_bomb.setValue(50);

sld_sumUstr_bomb.setVisible(false);

sld_Kol_GER.setVisible(false);

sld_Kol_GER.setValue((int)4.5);

sld_vivoz_GER.setVisible(false);

sld_vivoz_GER.setValue(2);

sld_soder_GER.setVisible(false);

sld_soder_GER.setValue(350);

sld_sumVivoz_GER.setVisible(false);

sld_sumVivoz_GER.setValue(125);

kol_USA = sld_Kol_USA.getValue()*1000;

kol_Iraq = sld_Kol_Iraq.getValue()*1000;

kol_Koal = sld_Kol_Koal.getValue()*1000;

kol_vivoz_USA = sld_vivoz_USA.getValue()*1000;

kol_ter = sld_kol_ter.getValue();

kol_bomb = sld_kol_bomb.getValue();

soder_USA = sld_soder_USA.getValue();

soder_Iraq = sld_soder_Iraq.getValue();

soder_Koal = sld_soder_Koal.getValue();

sum_vivoz_USA = sld_sumVivoz_USA.getValue();

sumUstr_ter = sld_sumUstr_ter.getValue();

sumUstr_bomb = sld_sumUstr_bomb.getValue();

kol_GER = 4500;//sld_Kol_GER.getValue()*1000;

kol_vivoz_GER = sld_vivoz_GER.getValue()*1000;

soder_GER = sld_soder_GER.getValue();

sum_vivoz_GER = sld_sumVivoz_GER.getValue();

if (jrd_btn_Vvod.isSelected()==true) {

sld_vivoz_GER.setValue(7);

kol_vivoz_GER=7000;

sld_vivoz_USA.setValue(30);

kol_vivoz_USA=30000;

sld_vivoz_GER.setMaximum(sld_Kol_GER.getMaximum());

sld_vivoz_USA.setMaximum(sld_Kol_USA.getValue());

}

if (jrd_btn_Vivod.isSelected()==true) {

sld_vivoz_GER.setValue(2);

kol_vivoz_GER=2000;

sld_vivoz_USA.setValue(20);

kol_vivoz_USA=20000;

sld_vivoz_GER.setMaximum(sld_Kol_GER.getValue());

sld_vivoz_USA.setMaximum(sld_Kol_USA.getValue());

}

//sld_vivoz_USA.setMaximum(kol_USA/1000);

//sld_vivoz_GER.setMaximum(kol_GER/1000);

jButton1.setBounds(new Rectangle(115, 355, 87, 23));

jButton2.setBounds(new Rectangle(213, 355, 92, 23));

jButton3.setBounds(new Rectangle(317, 355, 86, 23));

jPanel2.setBounds(new Rectangle(17, 208, 504, 137));

jPanel2.setBackground(Color.white);

jPanel2.setBorder(border1);

jPanel1.setVisible(true);

jPanel2.setVisible(true);

jPanel3.setVisible(false);

repaint();

}

void jButton3_actionPerformed(ActionEvent e) {

k++;

if (k > 7) jButton1.setEnabled(true);

if (k >= 26) jButton3.setEnabled(false);

jPanel1.repaint();

jPanel2.repaint();

jPanel3.repaint();

}

void sld_Kol_USA_stateChanged(ChangeEvent e) {

kol_USA = sld_Kol_USA.getValue()*1000;

if (jrd_btn_Vivod.isSelected()==true) sld_vivoz_USA.setMaximum(kol_USA/1000);

if (jrd_btn_Vvod.isSelected()==true) sld_vivoz_USA.setMaximum(sld_Kol_USA.getMaximum());

repaint();

}

void sld_Kol_Iraq_stateChanged(ChangeEvent e) {

kol_Iraq = sld_Kol_Iraq.getValue()*1000;

repaint();

}

void sld_Kol_Koal_stateChanged(ChangeEvent e) {

kol_Koal = sld_Kol_Koal.getValue()*1000;

repaint();

}

void sld_vivoz_USA_stateChanged(ChangeEvent e) {

kol_vivoz_USA = sld_vivoz_USA.getValue()*1000;

repaint();

}

void sld_kol_ter_stateChanged(ChangeEvent e) {

kol_ter = sld_kol_ter.getValue();

repaint();

}

void sld_kol_bomb_stateChanged(ChangeEvent e) {

kol_bomb = sld_kol_bomb.getValue();

repaint();

}

void sld_soder_USA_stateChanged(ChangeEvent e) {

soder_USA = sld_soder_USA.getValue();

repaint();

}

void sld_soder_Iraq_stateChanged(ChangeEvent e) {

soder_Iraq = sld_soder_Iraq.getValue();

repaint();

}

void sld_soder_Koal_stateChanged(ChangeEvent e) {

soder_Koal = sld_soder_Koal.getValue();

repaint();

}

void sld_sumVivoz_USA_stateChanged(ChangeEvent e) {

sum_vivoz_USA = sld_sumVivoz_USA.getValue();

repaint();

}

void sld_sumUstr_ter_stateChanged(ChangeEvent e) {

sumUstr_ter = sld_sumUstr_ter.getValue();

repaint();

}

void sld_sumUstr_bomb_stateChanged(ChangeEvent e) {

sumUstr_bomb = sld_sumUstr_bomb.getValue();

repaint();

}

void jCheckBox1_mouseClicked(MouseEvent e) {

if (jCheckBox1.isSelected()==false && k>=11) {

jPanel1.setVisible(true);

jPanel2.setVisible(true);

jPanel3.setVisible(false);

formula=0;

}

if (jCheckBox1.isSelected()==true && k>=11) {

jPanel1.setVisible(false);

jPanel3.setVisible(true);

formula=1;

}

}

void sld_Kol_GER_stateChanged(ChangeEvent e) {

kol_GER = sld_Kol_GER.getValue()*1000;

if (jrd_btn_Vivod.isSelected()==true) sld_vivoz_GER.setMaximum(kol_GER/1000);

if (jrd_btn_Vvod.isSelected()==true) sld_vivoz_GER.setMaximum(sld_Kol_GER.getMaximum());

repaint();

}

void sld_vivoz_GER_stateChanged(ChangeEvent e) {

kol_vivoz_GER = sld_vivoz_GER.getValue()*1000;

repaint();

}

void sld_soder_GER_stateChanged(ChangeEvent e) {

soder_GER = sld_soder_GER.getValue();

repaint();

}

void sld_sumVivoz_GER_stateChanged(ChangeEvent e) {

sum_vivoz_GER = sld_sumVivoz_GER.getValue();

repaint();

}

void jrd_btn_Vivod_stateChanged(ChangeEvent e) {

sld_vivoz_GER.setValue(2);

sld_vivoz_USA.setValue(20);

kol_vivoz_GER=2000;

kol_vivoz_USA=20000;

sld_vivoz_GER.setMaximum(sld_Kol_GER.getValue());

sld_vivoz_USA.setMaximum(sld_Kol_USA.getValue());

vivoz=true;

repaint();

}

void jrd_btn_Vvod_stateChanged(ChangeEvent e) {

sld_vivoz_GER.setValue(7);

sld_vivoz_USA.setValue(30);

kol_vivoz_GER=7000;

kol_vivoz_USA=30000;

sld_vivoz_GER.setMaximum(sld_Kol_GER.getMaximum());

sld_vivoz_USA.setMaximum(sld_Kol_USA.getValue());

vivoz=false;

repaint();

}

void jrbtn_En_mouseClicked(MouseEvent e) {

jrbtn_Ru.setFont(new java.awt.Font("Dialog", 0, 12));

jrbtn_En.setFont(new java.awt.Font("Dialog", 1, 12));

jButton2.setText("Refresh");

jLabel2.setText("The illustration:");

jLabel3.setText("The solution:");

jLabel1.setText("The dynamic model of counter-terrorism financing");

sld_Kol_USA.setToolTipText("The amount of USA soldiers in Afghanistan");

sld_Kol_Iraq.setToolTipText("The amount of Afghan soldiers");

sld_Kol_GER.setToolTipText("The amount of German soldiers in Afghanistan");

sld_soder_USA.setToolTipText("The sum of money on contents of one day of one USA soldier in Afghanistan");

sld_soder_Iraq.setToolTipText("The sum of money on contents of one day of one Afghan soldier");

sld_soder_GER.setToolTipText("The sum of money on contents of one day of one German soldier in Afghanistan");

jCheckBox1.setText("The formulas for matrixes");

jrd_btn_Vivod.setText("Removing troops");//withdrawal

jrd_btn_Vvod.setText("Putting troops");

repaint();

}

void jrbtn_Ru_mouseClicked(MouseEvent e) {

jrbtn_Ru.setFont(new java.awt.Font("Dialog", 1, 12));

jrbtn_En.setFont(new java.awt.Font("Dialog", 0, 12));

jButton2.setText("Обновить");

jLabel2.setText("Иллюстрация:");

jLabel3.setText("Решение:");

jLabel1.setText("Динамическая модель финансирования контртерроризма");

sld_Kol_USA.setToolTipText("Количество солдат США в Афганистане");

sld_Kol_Iraq.setToolTipText("Количество солдат Афганистана");

sld_Kol_GER.setToolTipText("Количество солдат Германии в Афганистане");

sld_soder_USA.setToolTipText("Сумма денег необходимая на содержание одного дня одного солдата США в Афганистане");

sld_soder_Iraq.setToolTipText("Сумма денег необходимая на содержание одного дня одного солдата Афганистана");

sld_soder_GER.setToolTipText("Сумма денег необходимая на содержание одного дня одного солдата Германии " +

"в Афганистане");

jCheckBox1.setText("Формулы вычисления матриц");

jrd_btn_Vivod.setText("Вывод войск");

jrd_btn_Vvod.setText("Ввод войск");

repaint();

}

//==============================Округление до 2-х знаков после запятой==========

public double Round2(double x)

{

double kk=1;

if (x<0) kk=-0.51; else kk=0.51;

double znaks=100;x=x+kk/znaks;double r=(double)((long)(x*znaks))/znaks;return r;

}

}

92

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5232
Авторов
на СтудИзбе
423
Средний доход
с одного платного файла
Обучение Подробнее