Математическая и программная реализация теории принятия решений

 















Математическая и программная реализация теории принятия решений

СОДЕРЖАНИЕ

математическая программная решение реализация

ВВЕДЕНИЕ

.ОПИСАНИЕ ПОСТАНОВКИ ЗАДАЧИ

.1 Характеристика задачи

.2 Математическая постановка задачи

.ОПИСАНИЕ ИНФОРМАЦИИ

.1 Входная информация

.2 Выходная информации

. ИЕРАРХИЧЕСКАЯ СХЕМА

.1 Иерархическая схема

.2 Спецификация

.ОПИСАНИЕ АЛГОРИТМА ФУНЦИИ checkBox_Checked()

.1 Назначение и характеристика

.2 Используемая информация

.3 Результаты решения

.4 Алгоритм решения

.ОПИСАНИЕ АЛГОРИТМА ФУНЦИИ обработка()

.1 Назначение и характеристика

.2 Используемая информация

.3 Результаты решения

.4 Алгоритм решения

ЗАКЛЮЧЕНИЕ

ПРИЛОЖЕНИЯ

ВВЕДЕНИЕ


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

За такую структуру можно принять Базу знаний, представляющую из себя набор фактов и действий, возникающий при утверждении того или иного условия.


1.ОПИСАНИЕ ПОСТАНОВКИ ЗАДАЧИ


.1 Характеристика задачи


Цель:

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

)Сопоставление фактов и условий.

)Построение логического вывода, исходя из полученных данных в ходе выполнения алгоритма программы.


.2 Математическая постановка задачи


Приведем таблицу фактов и действий (образцов и консиквентов) (см.Таблица 1.2.1.).


Таблица 1.2.1.Таблица фактов и действий

Условие,образецДействие, консиквентУсловие 1Условие 2Условие 31Поставщик проверенный(1.1)Товар качественный (1.2)Цена приемлемая (1.3)Поставщик подходит (Д1)2Поставщик давно на рынке (2.1)Жалоб на поставщика не было (2.2)Поставщик проверенный (Д2)3Есть рекомендации от других заказчиков (3.1)Поставка производится в срок (3.2)Товар не имеет дефектов (3.3)Жалоб на поставщика не было (Д3)4Товар сертифицирован (4.1)Товар прошел государственные экспертизы (4.2)Товар качественный (Д4)5Цена чуть ниже чем у других поставщиков (5.1)Цена приемлемая (Д5)

Исходя из данных приведенных в таблице (см.таблица 1.2.1.) математическую модель алгоритма построения логического вывода опишем следующим образом:


)У1.1 and У1.2 and У1.3=>Д1

)У2.1 or У2.2=>Д2

)Д2=>У1.1

)У3.1 or (У3.2 and У3.3)=>Д3

)Д3=>У2.2.=>Д2=>У1.1

)У4.1 or У4.2=>Д4

)Д4=>У1.2.

)У5.1=>Д5

)Д5=>У1.3.

)Д2 and Д4 and Д5 =>Д1

11)Д5 and (У4.1. or У4.2.)and(У2.1 or У2.2) =>Д1

)У5.1 and (У4.1. or У4.2) and ((У3.1 or (У3.2 and У3.3)) or У2.1) =Д1


Где:

У1,У2,У3 - условия (факты) необходимые для выполнения некоторого действия

Д - действие которое возникает при выполнении необходимых условий.


2.ОПИСАНИЕ ИНФОРМАЦИИ


.1 Входная информация


Входной информацией для программы в целом, является модуль data_base.cs ( который хранит в себе описание структуры базы знаний, непосредственно саму базу данных и функции инициализации и констатации фактов), а так же отмеченные утверждения (см. Рис.2.1.1.).


Рис.2.1.1.Панель выбора фактов


.2 Выходная информации


В качестве выходной информации (для программы в целом) выступает логический вывод (см.Рис.2.2.1), и панель отображения текущего состояния фактов (вывод данных об активности условий см.Рис.2.2.2.).


Рис.2.2.1.Построение вывода

Рис.2.2.2Активность условий


3. ИЕРАРХИЧЕСКАЯ СХЕМА


.1 Иерархическая схема представлена в виде граф - схемы (см.Рис.3.1.1)


Рис.3.1.1.Граф-схема Иерархия функций


.2 Спецификация


Кurs_TPR - основная программа

checkbox_checked() - функция отвечающая за передачу образцов, выбранных пользователем, функции data.Констотация_факта().

exit() - функция реализует выход из программы.

data.Констотация_факта() - занесение изменений состояния образца в базу знаний.

обновить() - обновление панели отображения состояний фактов (образцов) базы знаний.

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

4.ОПИСАНИЕ АЛГОРИТМА ФУНЦИИ checkBox_Checked()


.1 Назначение и характеристика


Алгоритм предназначен для обработки выбранных пользователем фактов и передачи их модулю data_base.cs (передачи данных базе знаний);


.2 Используемая информация


В алгоритме используются «форма»(form1) с прикрепленными к ней элементами (checkBox1-11), позволяющими пользователю выбрать необходимый «факт»;


.3 Результаты решения


Результатом является передача необходимых параметров модулю data_base и вызов функций обработка() и обновить().


.4 Алгоритм решения


Представим алгоритм решения в виде граф-схемы (Рис.4.4.1.).


Граф-схема checkBox_Checked()

Функция обработки выбора образцов

Рис.4.4.1.


5.ОПИСАНИЕ АЛГОРИТМА ФУНЦИИ обработка()


.1 Назначение и характеристика


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


.2 Используемая информация


В алгоритме используется база знаний описанная в модуле data_base.cs, данные которой можно представить в виде таблицы (см.Таблица 5.2.1.)


Таблица 5.2.1.Структура базы знаний

Имя объекта/элементатипДопустимые значения/элементы в составеBD[]struct DATAyslovie1, yslovie1, yslovie1,deistvieyslovie1, yslovie2, yslovie3struct Yslovie yslovie,ActivEysloviestringА-я,A-z и символы разделителиActivEbooltrue/falsedeistviestringА-я,A-z и символы разделители

Где:

BD[] - база знаний

yslovie1, yslovie2, yslovie3 - составные части образца

yslovie -поле части образца

ActivE - состояние (активность) части образца

Deistvie - консиквент (действие при выполнении условия)

5.3 Результаты решения


Результатом решения выступает построение логического вывода (получение консиквента).


.4 Алгоритм решения


Представим алгоритм решения в виде граф-схемы (Рис.5.4.1.).


Граф-схема обработка()

Функция обработки базы знаний

Рис.5.4.1.

ЗАКЛЮЧЕНИЕ


В ходе выполнения курсовой работы была разработана и реализована программа, позволяющая выбрать поставщика товаров. Программа представляет собой аналог продукционной модели представления знаний (сопоставление образцов и консиквентов).

ПРИЛОЖЕНИЕ


Приложение 1


ТЕКСТ ПРОГРАММЫ

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;System.Windows.Forms;data_base;

Kurs_TPR

{partial class Form1 : Form

{DatA Data = new DatA();Form1()

{();.инициализация_БД();

}void label3_Click(object sender, EventArgs e)

{this.Close();}

void move_exit(object sender, MouseEventArgs e)

{label3.ForeColor = Color.BlueViolet;}void move_form(object sender, MouseEventArgs e)

{label3.ForeColor = Color.Maroon;}

void move_title(object sender, MouseEventArgs e)

{panel4.Visible = true;}

void move_title_end(object sender, MouseEventArgs e)

{panel4.Visible = false;}

void обработка()

{listBox1.Items.Clear();listBox1.Refresh();изменение=true;(изменение == true)

{ изменение = false;((Data.BD[0].yslovie1.ActivE == true) && (Data.BD[0].yslovie2.ActivE == true) && (Data.BD[0].yslovie3.ActivE == true))

{ listBox1.Items.Add(Data.BD[0].yslovie1.yslovie);.Items.Add(Data.BD[0].yslovie2.yslovie);.Items.Add(Data.BD[0].yslovie3.yslovie);.Items.Add("ВЫВОД: " + Data.BD[0].deistvie);.Items.Add("<---X--->");

}else

{if (Data.BD[0].yslovie1.ActivE == false)

{((Data.BD[1].yslovie1.ActivE == true) || (Data.BD[1].yslovie2.ActivE == true))

{ if (Data.BD[1].yslovie1.ActivE == true) listBox1.Items.Add(Data.BD[1].yslovie1.yslovie);listBox1.Items.Add(Data.BD[1].yslovie2.yslovie);.Items.Add("ВЫВОД: " + Data.BD[1].deistvie);.Items.Add("<---X--->");.BD[0].yslovie1.ActivE = true;.Checked = true;

изменение = true;

}if (((Data.BD[2].yslovie2.ActivE == true) && (Data.BD[2].yslovie3.ActivE == true)) || (Data.BD[2].yslovie1.ActivE == true))

{ if ((Data.BD[2].yslovie1.ActivE == true) && (Data.BD[2].yslovie2.ActivE == false)).Items.Add(Data.BD[2].yslovie1.yslovie);

{ listBox1.Items.Add(Data.BD[2].yslovie2.yslovie);.Items.Add(Data.BD[2].yslovie3.yslovie);

};.Items.Add("ВЫВОД: " + Data.BD[2].deistvie);.Items.Add("<---X--->");.BD[1].yslovie2.ActivE = true;.Checked = true;

изменение = true;

}

}(Data.BD[0].yslovie2.ActivE == false)

{if ((Data.BD[3].yslovie1.ActivE == true) || (Data.BD[3].yslovie2.ActivE == true))

{if (Data.BD[3].yslovie1.ActivE == true) listBox1.Items.Add(Data.BD[3].yslovie1.yslovie);listBox1.Items.Add(Data.BD[3].yslovie2.yslovie);.Items.Add("ВЫВОД: "+Data.BD[3].deistvie);.Items.Add("<---X--->");.BD[0].yslovie2.ActivE = true;.Checked = true;

изменение = true;

}

}(Data.BD[0].yslovie3.ActivE == false)

{if (Data.BD[4].yslovie1.ActivE == true)

{ listBox1.Items.Add(Data.BD[4].yslovie1.yslovie);.Items.Add("ВЫВОД: "+Data.BD[4].deistvie);.BD[0].yslovie3.ActivE = true;.Checked = true;

изменение = true;

}

}

}

}

}

void Обновить()

{ listBox2.Items.Clear();(int i = 0; i < 5; i++)

{listBox2.Items.Add(Data.BD[i].yslovie1.ActivE.ToString() +" "+ Data.BD[i].yslovie2.ActivE.ToString() +" "+ Data.BD[i].yslovie3.ActivE.ToString());

}.Refresh();

}

void checkBox1_CheckedChanged(object sender, EventArgs e)

{ if (sender == checkBox1)

{ Data.Констотация_факта(1);(Data.BD[0].yslovie1.ActivE == true)

{checkBox2.Enabled=checkBox3.Enabled=checkBox4.Enabled=checkBox5.Enabled=checkBox6.Enabled=false;

}else checkBox2.Enabled = checkBox3.Enabled = checkBox4.Enabled = checkBox5.Enabled = checkBox6.Enabled = true;

};(sender == checkBox2) {Data.Констотация_факта(4); };(sender == checkBox3)

{ Data.Констотация_факта(5);(Data.BD[1].yslovie2.ActivE==true)

{checkBox4.Enabled = checkBox5.Enabled = checkBox6.Enabled = false;

}else checkBox4.Enabled = checkBox5.Enabled = checkBox6.Enabled = true;

};(sender == checkBox4) {Data.Констотация_факта(7); };(sender == checkBox5) {Data.Констотация_факта(8); };(sender == checkBox6) {Data.Констотация_факта(9); };(sender == checkBox7)

{ Data.Констотация_факта(2); (Data.BD[0].yslovie2.ActivE==true)

{checkBox8.Enabled = checkBox9.Enabled = false;

}else checkBox8.Enabled = checkBox9.Enabled = true;

};(sender == checkBox8) {Data.Констотация_факта(10); };(sender == checkBox9) {Data.Констотация_факта(11); };(sender == checkBox10)

{ Data.Констотация_факта(3);(Data.BD[0].yslovie3.ActivE==true)

{checkBox11.Enabled=false;

}else checkBox11.Enabled=true;

};(sender == checkBox11) {Data.Констотация_факта(13); };

Обновить();

обработка();

}

}

}


Приложение 2


ТЕКСТ МОДУЛЯ data_base.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;data_base

{ public class DatA

{ public struct DATA

{ public struct Yslovie { public string yslovie; public bool ActivE;}Yslovie yslovie1;Yslovie yslovie2;Yslovie yslovie3;string deistvie;};DATA.Yslovie yslovie1 = new DATA.Yslovie();DATA.Yslovie yslovie2 = new DATA.Yslovie();DATA.Yslovie yslovie3 = new DATA.Yslovie();DATA[] BD = new DATA[5];void инициализация_БД()

{ BD[0].yslovie1.yslovie = "поставщик проверенный"; BD[0].yslovie1.ActivE = false;[0].yslovie2.yslovie = "товар качественный"; BD[0].yslovie2.ActivE = false;[0].yslovie3.yslovie = "цена приемлемая"; BD[0].yslovie3.ActivE = false;[0].deistvie = "Поставщик подходит";[1].yslovie1.yslovie = "поставщик давно на рынке"; BD[1].yslovie1.ActivE = false;[1].yslovie2.yslovie = "жалоб на поставщика не было"; BD[1].yslovie2.ActivE = false;[1].yslovie3.yslovie = null; BD[1].yslovie3.ActivE = false;[1].deistvie = "поставщик проверенный";[2].yslovie1.yslovie = "есть рекомендации от других заказчиков"; BD[2].yslovie1.ActivE = false;[2].yslovie2.yslovie = "поставка производится в срок"; BD[2].yslovie2.ActivE = false;[2].yslovie3.yslovie = "товар не получает дефектов в ходе транспатрировки"; BD[2].yslovie3.ActivE = false;[2].deistvie = "жалоб на поставщика не было";[3].yslovie1.yslovie = "товар сертифицирован"; BD[3].yslovie1.ActivE = false;[3].yslovie2.yslovie = "товар прощел государственные экспертизы"; BD[3].yslovie2.ActivE = false;[3].yslovie3.yslovie = null; BD[3].yslovie3.ActivE = false;[3].deistvie = "товар качественный";[4].yslovie1.yslovie = "цена чуть ниже чем у других поставщиков"; BD[4].yslovie1.ActivE = false;[4].yslovie2.yslovie = null; BD[4].yslovie2.ActivE = false;[4].yslovie3.yslovie = null; BD[4].yslovie3.ActivE = false;[4].deistvie = "цена приемлемая";

}void Констотация_факта(int i)

{ switch (i)

{ case 1: if (BD[0].yslovie1.ActivE == true) BD[0].yslovie1.ActivE = false;BD[0].yslovie1.ActivE = true; break;2: if (BD[0].yslovie2.ActivE == true) BD[0].yslovie2.ActivE = false;BD[0].yslovie2.ActivE = true; break;3: if (BD[0].yslovie3.ActivE == true) BD[0].yslovie3.ActivE = false;BD[0].yslovie3.ActivE = true; break;4: if (BD[1].yslovie1.ActivE == true) BD[1].yslovie1.ActivE = false;BD[1].yslovie1.ActivE = true; break;5: if (BD[1].yslovie2.ActivE == true) BD[1].yslovie2.ActivE = false;BD[1].yslovie2.ActivE = true; break;6: if (BD[1].yslovie3.ActivE == true) BD[1].yslovie3.ActivE = false;BD[1].yslovie3.ActivE = true; break;7: if (BD[2].yslovie1.ActivE == true) BD[2].yslovie1.ActivE = false;BD[2].yslovie1.ActivE = true; break;8: if (BD[2].yslovie2.ActivE == true) BD[2].yslovie2.ActivE = false;BD[2].yslovie2.ActivE = true; break;9: if (BD[2].yslovie3.ActivE == true) BD[2].yslovie3.ActivE = false;BD[2].yslovie3.ActivE = true; break;10: if (BD[3].yslovie1.ActivE == true) BD[3].yslovie1.ActivE = false;BD[3].yslovie1.ActivE = true; break;11: if (BD[3].yslovie2.ActivE == true) BD[3].yslovie2.ActivE = false;BD[3].yslovie2.ActivE = true; break;12: if (BD[3].yslovie3.ActivE == true) BD[3].yslovie3.ActivE = false;BD[3].yslovie3.ActivE = true; break;13: if (BD[4].yslovie1.ActivE == true) BD[4].yslovie1.ActivE = false;BD[4].yslovie1.ActivE = true; break;14: if (BD[4].yslovie2.ActivE == true) BD[4].yslovie2.ActivE = false;BD[4].yslovie2.ActivE = true; break;15: if (BD[4].yslovie3.ActivE == true) BD[4].yslovie3.ActivE = false;BD[4].yslovie3.ActivE = true; break;}

}}}

Приложение 3


КОНТРОЛЬНЫЕ ПРИМЕРЫ

Интерфейс программы состоит из трех основных частей: панель утверждения фактов(образцов), панель построения логического вывода, панель отображения активности образцов. Интерфейс представлен на рисунке Контрольный пример 1 (интерфейс)(см.Рис.П.3.1.).


Контрольный пример 1 (интерфейс)

Рис.П.3.1.


Установим два факта (образца): товар прошел государственные экспертизы; цена приемлемая. Исходя из данных фактов программа должна, в поле построения вывода, выдать запись, о том, что товар качественный (т.к. товар прошел государственные экспертизы => товар качественный).Окно программы представлено на рисунке Контрольный пример 2(см..Рис.П.3.2).

Контрольный пример 2


Рис.П.3.2.


Установим следующие факты (образцы): поставка происходит в срок; товар не получает дефектов в ходе транспортировки; товар прошел государственные экспертизы; цена приемлемая. Исходя из данных фактов программа должна, в поле построения вывода, выдать запись, о том, что товар качественный (т.к. товар прошел государственные экспертизы => товар качественный), после чего обрабатывая образцы «поставка происходит в срок», «товар не получает дефектов», программа должна сделать вывод о том что жалоб на поставщика не было, а исходя из этого факта(из того что жалоб не было), программа должна сделать вывод о том что поставщик проверенный, в следствии чего следует вывод о том что поставщик подходит(т.к. Поставщик проверенный и товар качественный и цена приемлемая => поставщик подходит).Окно программы представлено на рисунке Контрольный пример 3(см..Рис.П.3.3.).

Контрольный пример 3

Рис.П.3.3.


Установим следующие факты (образцы): есть рекомендации от других заказчиков; товар прошел государственные экспертизы; цена приемлемая. Исходя из данных фактов программа должна, в поле построения вывода, выдать запись, о том, что товар качественный (т.к. товар прошел государственные экспертизы => товар качественный), после чего обрабатывая образец «есть рекомендации от других заказчиков», программа должна сделать вывод о том что жалоб на поставщика не было, а исходя из этого факта(из того что жалоб не было), программа должна сделать вывод о том что поставщик проверенный, в следствии чего следует вывод о том что поставщик подходит(т.к. Поставщик проверенный и товар качественный и цена приемлемая => поставщик подходит).Окно программы представлено на рисунке Контрольный пример 4(см..Рис.П.3.4.).

Контрольный пример 4


Рис.П.3.4.


Установим следующие факты (образцы): поставщик давно на рынке; товар сертифицирован; цена приемлемая. Исходя из данных фактов программа должна, в поле построения вывода, выдать запись, о том, поставщик проверенный (т.к. поставщик давно на рынке => поставщик проверенный), после чего обрабатывая образец «товар сертифицирован», программа должна сделать вывод о том что товар качественный, а исходя из этого факта(из того что тавр качественный) в следствии чего следует вывод о том что поставщик подходит(т.к. Поставщик проверенный и товар качественный и цена приемлемая => поставщик подходит).Окно программы представлено на рисунке Контрольный пример 5(см..Рис.П.3.5.).


Контрольный пример 5


Рис.П.3.5.

Приложение 4


РУКОВОДСТВО ПРОГРАММИСТА

П.4.1.Назначение программы

Программа предназначена для построения вывода, исходя из данных введенных пользователем.

П.4.2.Описание информации

П.4..2.1.Входная информация

Входной информацией для программы в целом, является модуль data_base.cs ( который хранит в себе описание структуры базы знаний, непосредственно саму базу данных и функции инициализации и констатации фактов), а так же отмеченные утверждения (см. Рис.2.1.1.).


Панель выбора фактов

Рис.2.1.1.


П.4.2.2. Выходная информации

В качестве выходной информации (для программы в целом) выступает логический вывод (см.Рис.2.2.1), и панель отображения текущего состояния фактов (вывод данных об активности условий см.Рис.2.2.2.).

Построение вывода

Рис.2.2.1.


Активность условий

Рис.2.2.2


П.4.3Требования необходимые для работы программы

Для работы программы необходимым и достаточным является установленная операционная система windows xp,seven,vista.

Для отладки и внесения изменений необходимым и достаточным является установленная на ПК среда разработки Microsoft visual studio 2008 года (девятая версия продукта).

П.4.4 Известные ошибки

В процессе тестирования программы ошибок обнаружено не было.

П.4.5 Общее представление модуля data_base.cs

Модуль содержит определение структуры базы знаний, функции её инициализации и констатации фактов (утверждения образцов).

П.4.5.1.Разработанная структураstruct DATA

{ public struct Yslovie { public string yslovie; public bool ActivE;}Yslovie yslovie1;Yslovie yslovie2;Yslovie yslovie3;string deistvie;

};


П.4.5.2.Описание структуры

Структура DATA содержит в своем составе четыре элемента (yslovie1, yslovie2, yslovie3, deistvie), а элементы yslovie1, yslovie2 и yslovie3 являются объектами структуры Yslovie, и содержат поля yslovie и ActivE. Поле yslovie содержит факт, поле ActivE содержит состояние факта.

База знаний представляет собой последовательность записей структурой DATA, для создания базы необходимо добавить определение объектов yslovie1, yslovie2 и yslovie3, и создать объект записей структуры DATA. Для этого необходимо добавить следующие строки:

public DATA.Yslovie yslovie1 = new DATA.Yslovie();DATA.Yslovie yslovie2 = new DATA.Yslovie();DATA.Yslovie yslovie3 = new DATA.Yslovie();DATA[] BD = new DATA[5];

Итоговое представление базы знаний на языке программирования C# будет выглядеть следующим образом:

public struct DATA

{ public struct Yslovie { public string yslovie; public bool ActivE;}Yslovie yslovie1;Yslovie yslovie2;Yslovie yslovie3;string deistvie;

};DATA.Yslovie yslovie1 = new DATA.Yslovie();DATA.Yslovie yslovie2 = new DATA.Yslovie();DATA.Yslovie yslovie3 = new DATA.Yslovie();DATA[] BD = new DATA[5];

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

Приложение 5


РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

П.5.1.Назначение программы

Программа предназначена для построения вывода, исходя из данных введенных пользователем.

П.5.2.Описание информации

П.5.2.1.Входная информация

Входной информацией для программы в целом, является модуль data_base.cs (который хранит в себе описание структуры базы знаний, непосредственно саму базу данных и функции инициализации и констатации фактов), а так же отмеченные утверждения (см. Рис.5.2.1.1.).

Панель выбора фактов


Рис.5.2.1.1.


П.5.2.2. Выходная информации

В качестве выходной информации (для программы в целом) выступает логический вывод (см.Рис.5.2.2.1), и панель отображения текущего состояния фактов (вывод данных об активности условий см.Рис.5.2.2.2.).

Построение вывода

Рис.5.2.2.1.


Активность условий

Рис.5.2.2.2


П.4.3.Требования необходимые для работы программы

Для работы программы необходимым и достаточным является установленная операционная система windows xp,seven,vista.


Математическая и программная реализация теории принятия решений СОДЕРЖАНИЕ математическая программ

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ