Разработка экспертной системы подбора параметров игрового сервера

Этапы проектирования экспертной системы для подбора параметров игрового сервера, компоненты веб-приложения. Реализация программного обеспечения, размещение его на хостинге, тестирование и проверка результатов. База знаний, экспертная система в приложении.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 01.09.2018
Размер файла 5,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

<!-- <img :src="server.img"> -->

</div>

<h5 class="center-align">{{ bud.price }}

<i class="fas fa-fw fa-euro-sign"></i>/мес. </h5>

</div>

<div class="card-action center-align">

<a target="_blank" href="https://wiki.hetzner.de/index.php/Backup/ru" class="btn btn-default waves-effect waves-teal">

<span class="fas fa-shopping-cart"></span> Заказать</a>

</div>

</div>

</div>

<div class="card" v-if="server === undefined" key="server-not-found">

<div class="card-content">

<div class="card-title center-align">

<span class="fas fa-server"></span> Сервер не найден</div>

<p>К сожалению, не удалось найти подходящий вам сервер...</p>

<p>Попробуйте другие параметры</p>

<!-- <pre><code>{{ debugData }}</code></pre> -->

</div>

</div>

</transition>

</div>

</div>

</transition>

</div>

</main>

<footer class="section green white-text center-align z-depth-2">

<div class="container">

Исмаилов Вячеслав

<i class="fas fa-copyright"></i> 2018

</div>

</footer>

</div>

<!-- For Electron -->

<script>if (typeof module === 'object') { window.module = module; module = undefined; }</script>

<script src="js/jquery.min.js"></script>

<script src="js/materialize.min.js"></script>

<script src="js/vue.js"></script>

<script src="js/materialize-vue.js"></script>

<script src="js/servers.js"></script>

<script src="js/games.js"></script>

<script src="js/expert-system.js"></script>

<script src="js/script.js"></script>

<!-- For Electron -->

<script>if (window.module) module = window.module;</script>

</body>

</html>

Приложение Б

Исходный код. Каскадные таблицы стилей styles.css

#app{

display: flex;

height: 100vh;

flex-direction: column;

min-width: 640px;

min-height: 640px;

}

nav,

footer{

flex: 0 0 auto;

}

main {

flex: 1 1 auto;

/* height: 100vh; */

overflow-y: auto;

position: relative;

}

#main-container{

position: absolute;

top: 0;

left: 0;

right: 0;

bottom: 0;

}

.progress{

margin: 0;

}

.preloader-wrapper-wrapper{

height: 100%;

}

.preloader-wrapper{

width: 100px;

height: 100px;

margin: 0 auto;

}

input[type="range"]{

margin: 5px auto;

}

.carousel{

height: 60vh;

}

.carousel .carousel-item{

width: 30vh;

height: 60vh;

}

.carousel img{

width: 100%;

height: auto;

margin: 0 auto;

}

.fade-enter-active, .fade-leave-active {

transition: opacity .2s ease-in;

}

.fade-enter, .fade-leave-to{

opacity: 0;

}

.slide-fade-enter-active {

transition: all .3s ease;

}

.slide-fade-leave-active {

transition: all .3s ease;

}

.slide-fade-enter, .slide-fade-leave-to {

transform: translateY(10px);

opacity: 0;

}

Приложение В

Исходный код. Основной скрипт приложения script.js

// Vue приложение

var VueApp = new Vue({

el: "#app",

// Данные приложения

data: {

servers: Servers,

server: undefined,

bud: undefined,

games: Games,

game: undefined,

paramsData: {},

loading: 1,

debugData: undefined,

},

// Приложение готово к работе

mounted: function() {

this.loading--;

},

// Основные методы интерфейса приложения

methods: {

selectGame: function(i) {

this.game = i != -1 ? this.games[i] : undefined;

if (this.game) {

this.paramsData = this.game.defaultData;

this.server = null;

this.bud = null;

}

},

chooseServer: function() {

var errors = this.game.check(this.paramsData);

if (errors) {

Materialize.toast(errors, 4000);

return;

}

var result = ExpertSystem(this.paramsData);

this.server = result.SERVER ? Servers[result.SERVER] : undefined;

this.bud = result.BUD ? BUDs[result.BUD - 1] : undefined;

this.debugData = result;

},

initCarusel: function() {

$('.carousel').carousel('destroy');

$('.carousel').carousel({});

}

},

});

$(window).resize(function() {

VueApp.initCarusel();

});

$(document).ready(function() {

VueApp.initCarusel();

});

Приложение Г

Исходный код. Игры и сервера в games.js, servers.js

var Games = [

{

title: "Rust",

img: "img/rust.jpg",

fields: [

{

name: "GAME",

type: "hidden",

},

{

name: "MAXP",

title: "Максимальное количество игроков",

type: "range",

min: 10,

max: 200,

},

{

name: "AVRP",

title: "Среднее ожидаемое количество игроков",

type: "range",

min: 10,

max: 200,

},

{

name: "BUILD",

title: "Максимальное количество построек у одного игрока",

type: "range",

min: 1,

max: 5,

},

{

name: "WIPE",

title: "Сколько раз в месяц обнуляется карта игрока",

type: "range",

min: 1,

max: 3,

},

{

name: "MODS",

title: "Количество модов на сервере",

type: "range",

min: 0,

max: 10,

},

{

name: "ONLINESHOP",

title: "Поддержка Online-магазина",

type: "check",

},

{

name: "BUSUP",

title: "Поддержка BackUp",

type: "check",

},

{

name: "BUWEEK",

title: "Сколько раз в неделю делать BackUp",

type: "range",

min: 1,

max: 3,

showIf: "BUSUP",

},

],

defaultData: {

GAME: "RUST",

MAXP: 10,

AVRP: 10,

BUILD: 1,

WIPE: 1,

MODS: 0,

ONLINESHOP: false,

BUSUP: true,

BUWEEK: 1,

},

check: function(d) {

if (Number(d.AVRP) > Number(d.MAXP))

return "Среднее число игроков не может быть больше максимального!";

return undefined;

},

},

{

title: "Minecraft",

img: "img/minecraft.jpg",

fields: [

{

name: "GAME",

type: "hidden",

},

{

name: "MODETYPE",

title: "Игровой режим",

type: "select",

options: {'1': 'Мини-игры', '2': 'Выживание'},

},

{

name: "MAXP",

title: "Максимальное количество игроков",

type: "range",

min: 10,

max: 200,

},

{

name: "AVRP",

title: "Среднее ожидаемое количество игроков",

type: "range",

min: 10,

max: 200,

},

{

name: "BUILD",

title: "Максимальное количество построек у одного игрока",

type: "range",

min: 1,

max: 5,

},

{

name: "WIPE",

title: "Сколько раз в месяц обнуляется карта игрока",

type: "range",

min: 1,

max: 3,

},

{

name: "MODS",

title: "Количество модов на сервере",

type: "range",

min: 0,

max: 10,

},

{

name: "TEXTYPE",

title: "Использование текстур-пака",

type: "select",

options: {'0': 'Не использовать', '1': 'SD текстуры', '2': 'HD текстуры'},

},

{

name: "ONLINESHOP",

title: "Поддержка Online-магазина",

type: "check",

},

{

name: "BUSUP",

title: "Поддержка BackUp",

type: "check",

},

{

name: "BUWEEK",

title: "Сколько раз в неделю делать BackUp",

type: "range",

min: 1,

max: 3,

showIf: "BUSUP",

},

],

defaultData: {

MODETYPE: '1',

GAME: "MINECRAFT",

MAXP: 10,

AVRP: 10,

BUILD: 1,

WIPE: 1,

MODS: 0,

ONLINESHOP: false,

BUSUP: true,

BUWEEK: 1,

TEXTYPE: 0,

},

check: function(d) {

if (Number(d.AVRP) > Number(d.MAXP))

return "Среднее число игроков не может быть больше максимального!";

return undefined;

},

},

{

title: "Counter Strike 1.6",

img: "img/cs16.jpg",

fields: [

{

name: "GAME",

type: "hidden",

},

{

name: "MODETYPE",

title: "Игровой режим",

type: "select",

options: {0: 'Классический', 1: 'Моды'},

},

{

name: "MAXP",

title: "Максимальное количество игроков",

type: "range",

min: 2,

max: 30,

},

{

name: "AVRP",

title: "Среднее ожидаемое количество игроков",

type: "range",

min: 2,

max: 30,

},

{

name: "MODS",

title: "Количество модов на сервере",

type: "range",

min: 1,

max: 3,

showIf: "MODETYPE",

},

{

name: "ONLINESHOP",

title: "Поддержка Online-магазина",

type: "check",

},

{

name: "BUSUP",

title: "Поддержка BackUp",

type: "check",

},

{

name: "BUWEEK",

title: "Сколько раз в неделю делать BackUp",

type: "range",

min: 1,

max: 3,

showIf: "BUSUP",

},

],

defaultData: {

MODETYPE: 1,

GAME: "CS16",

MAXP: 10,

AVRP: 10,

MODS: 0,

ONLINESHOP: false,

BUSUP: true,

BUWEEK: 1,

TEXTYPE: 0,

},

check: function(d) {

if (Number(d.AVRP) > Number(d.MAXP))

return "Среднее число игроков не может быть больше максимального!";

return undefined;

},

},

];

var Servers = {

"EX41-SSD": {

"title": "EX41-SSD",

"params": {

"RAM": "32 ГБ DDR4",

"Disk": "2 x 500 ГБ SATA 6 Гбит/с",

"CPU": "Intel® Core™ i7-6700",

},

"price": "46.02",

"img": "img/EX41-SSD.jpg",

"link": "https://ru.hetzner.com/hosting/produkte_rootserver/ex41ssd/",

},

"EX40": {

"title": "EX40",

"params": {

"RAM": "32 ГБ DDR3",

"Disk": "2 x 2 ТБ SATA 6 Гбит/с",

"CPU": "Intel® Core™ i7-4770",

},

"price": "48.59",

"img": "img/EX40.jpg",

"link": "https://ru.hetzner.com/hosting/produkte_rootserver/ex40/",

},

"EX40-SSD": {

"title": "EX40-SSD",

"params": {

"RAM": "32 ГБ DDR3",

"Disk": "2 x 240 ГБ SSD",

"CPU": "Intel® Core™ i7-4770",

},

"price": "58.50",

"img": "img/EX40-SSD.jpg",

"link": "https://ru.hetzner.com/hosting/produkte_rootserver/ex40ssd/",

},

"PX61-SSD": {

"title": "PX61-SSD",

"params": {

"RAM": "64 ГБ DDR4 ECC",

"Disk": "2 x 480 ГБ SSD",

"CPU": "Intel® Xeon® E3-1275 v5",

},

"price": "69.92",

"img": "img/PX61-SSD.jpg",

"link": "https://ru.hetzner.com/hosting/produkte_rootserver/px61ssd/",

},

"PX91-SSD": {

"title": "PX91-SSD",

"params": {

"RAM": "128 ГБ DDR4 ECC",

"Disk": "4 x 6 ТБ SATA 3 Гбит/с",

"CPU": "Intel® Xeon® E5-1650 v3",

},

"price": "108.08",

"img": "img/PX91-SSD.jpg",

"link": "https://ru.hetzner.com/hosting/produkte_rootserver/px91ssd/",

},

"PX121-SSD": {

"title": "PX121-SSD",

"params": {

"RAM": "256 ГБ DDR4 ECC",

"Disk": "2 x 480 ГБ SSD",

"CPU": "Intel® Xeon® E5-1650 v3",

},

"price": "137.83",

"img": "img/PX121-SSD.jpg",

"link": "https://ru.hetzner.com/hosting/produkte_rootserver/px121ssd/",

},

"R730 DX151": {

"title": "R730 DX151",

"params": {

"RAM": "64 ГБ DDR4 ECC",

"Disk": "2 ТБ SATA 6 Гбит/с",

"CPU": "Intel® Xeon® E5-2600 v3",

},

"price": "152.22",

"img": "img/R730 DX151.jpg",

"link": "https://ru.hetzner.com/hosting/produkte_rootserver/dx151/",

},

"R730 DX291": {

"title": "R730 DX291",

"params": {

"RAM": "128 ГБ DDR4 ECC",

"Disk": "2 ТБ SATA 6 Гбит/с",

"CPU": "2 x Intel® Xeon® E5-2600 v3",

},

"price": "223.02 евро/ мес",

"img": "img/R730 DX291.jpg",

"link": "https://ru.hetzner.com/hosting/produkte_rootserver/dx291/",

}

};

var BUDs = [

{

title: "HDD1",

price: 5.78,

size: "500 ГБ",

img: "",

},

{

title: "HDD2",

price: 9.32,

size: "1 000 ГБ",

img: "",

},

{

title: "HDD3",

price: 11.68,

size: "2 000 ГБ",

img: "",

},

{

title: "HDD4",

price: 25.84,

size: "5 000 ГБ",

img: "",

}

];

Приложение Д

Исходный код. База знаний expert-system.js

// Between

function bw(x, a, b) {

var X = Number(x);

return X >= a && X <= b;

}

function init(d) {

d.LOAD = undefined;

d.DISCT = undefined;

d.DISCV = undefined;

d.DISC = undefined;

d.TEXLOAD = undefined;

d.MODELOAD = undefined;

d.CPU = undefined;

d.RAM = undefined;

d.BUD = undefined;

d.SERVER = undefined;

}

function ExpertSystem(d) {

init(d);

// Переменная LOAD (1/2/3)

if (bw(d.MAXP, 1, 100) && bw(d.AVRP, 1, 49) && bw(d.BUILD, 1, 2))

d.LOAD = 1;

if (bw(d.MAXP, 1, 100) && bw(d.AVRP, 1, 49) && bw(d.BUILD, 3, 5))

d.LOAD = 1;

if (bw(d.MAXP, 101, 200) && bw(d.AVRP, 1, 49) && bw(d.BUILD, 1, 3))

d.LOAD = 1;

if (bw(d.MAXP, 101, 200) && bw(d.AVRP, 1, 49) && bw(d.BUILD, 3, 5))

d.LOAD = 1;

if (bw(d.MAXP, 101, 200) && bw(d.AVRP, 50, 149) && bw(d.BUILD, 1,

2))

d.LOAD = 2;

if (bw(d.MAXP, 101, 200) && bw(d.AVRP, 50, 149) && bw(d.BUILD, 3,

5))

d.LOAD = 2;

if (bw(d.MAXP, 101, 200) && bw(d.AVRP, 50, 149) && bw(d.BUILD, 1,

2))

d.LOAD = 2;

if (bw(d.MAXP, 101, 200) && bw(d.AVRP, 50, 149) && bw(d.BUILD, 3,

5))

d.LOAD = 3;

if (bw(d.MAXP, 101, 200) && bw(d.AVRP, 150, 200) && bw(d.BUILD, 1,

2))

d.LOAD = 3;

if (bw(d.MAXP, 101, 200) && bw(d.AVRP, 150, 200) && bw(d.BUILD, 3,

5))

d.LOAD = 3;

if (d.GAME == "CS16")

d.LOAD = 1;

// Ветвь DISC

if (d.GAME == "CS16")

d.DISCT = "HDD";

if (d.GAME == "RUST")

d.DISCT = "SSD";

if (d.GAME == "MINECRAFT")

d.DISCT = "SSD";

if (d.ONLINESHOP == 0 && d.LOAD == 1)

d.DISCV = 1;

if (d.ONLINESHOP == 1 && d.LOAD == 1)

d.DISCV = 1;

if (d.ONLINESHOP == 0 && d.LOAD == 2)

d.DISCV = 2;

if (d.ONLINESHOP == 1 && d.LOAD == 2)

d.DISCV = 2;

if (d.ONLINESHOP == 0 && d.LOAD == 3)

d.DISCV = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 3)

d.DISCV = 3;

if (d.DISCT == "HDD" && d.DISCV == 1)

d.DISC = "D1";

if (d.DISCT == "SSD" && d.DISCV == 1)

d.DISC = "D1SSD";

if (d.DISCT == "HDD" && d.DISCV == 2)

d.DISC = "D2";

if (d.DISCT == "SSD" && d.DISCV == 2)

d.DISC = "D2SSD";

if (d.DISCT == "HDD" && d.DISCV == 3)

d.DISC = "D3";

if (d.DISCT == "SSD" && d.DISCV == 3)

d.DISC = "D3SSD";

// Ветка CPU

// TEXLOAD

if (d.GAME != "Minecraft")

d.TEXLOAD = 0;

if (d.GAME == "Minecraft" && bw(d.TEXTYPE, 0, 1))

d.TEXLOAD = 1 ;

if (d.GAME == "Minecraft" && bw(d.TEXTYPE, 2, 3))

d.TEXLOAD = 2;

// d.MODELOAD

// (Классический = 0, Моды = 1, Мини-игры = 1, выживание = 2)

if (d.GAME == "RUST")

d.MODELOAD = 0;

if (d.MODETYPE == 0)

d.MODELOAD = 0;

if (d.MODETYPE == 1)

d.MODELOAD = 1;

if (d.MODETYPE == 2)

d.MODELOAD = 2;

if (d.GAME == "CS16" && d.LOAD == 1 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && d.MODS == 0)

d.CPU = 1;

if (d.GAME == "CS16" && d.LOAD == 2 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && d.MODS == 0)

d.CPU = 1;

if (d.GAME == "CS16" && d.LOAD == 3 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && d.MODS == 0)

d.CPU = 1;

if (d.GAME == "CS16" && d.LOAD == 1 && d.TEXLOAD == 0 &&

d.MODELOAD == 1 && d.MODS == 0)

d.CPU = 2;

if (d.GAME == "RUST" && d.LOAD == 1 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && d.MODS == 0)

d.CPU = 1;

if (d.GAME == "RUST" && d.LOAD == 1 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && bw(d.MODS , 5, 10))

d.CPU = 2;

if (d.GAME == "RUST" && d.LOAD == 2 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && bw(d.MODS , 1, 4))

d.CPU = 2;

if (d.GAME == "RUST" && d.LOAD == 1 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && bw(d.MODS , 1, 4))

d.CPU = 2;

if (d.GAME == "RUST" && d.LOAD == 2 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && bw(d.MODS , 1, 4))

d.CPU = 2;

if (d.GAME == "RUST" && d.LOAD == 2 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && d.MODS == 0)

d.CPU = 2;

if (d.GAME == "RUST" && d.LOAD == 2 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && bw(d.MODS , 5, 10))

d.CPU = 3;

if (d.GAME == "RUST" && d.LOAD == 3 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && bw(d.MODS , 1, 4))

d.CPU = 3;

if (d.GAME == "RUST" && d.LOAD == 3 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && bw(d.MODS , 5, 10))

d.CPU = 3;

if (d.GAME == "RUST" && d.LOAD == 3 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && d.MODS == 0)

d.CPU = 2;

if (d.GAME == "MINECRAFT" && d.LOAD == 1 && d.TEXLOAD == 0

&& d.MODELOAD == 0 && d.MODS == 0)

d.CPU = 1;

if (d.GAME == "MINECRAFT" && d.LOAD == 1 && d.TEXLOAD == 1

&& d.MODELOAD == 0 && d.MODS == 0)

d.CPU = 1;

if (d.GAME == "MINECRAFT" && d.LOAD == 1 && d.TEXLOAD == 1

&& d.MODELOAD == 1 && d.MODS == 0)

d.CPU = 1;

if (d.GAME == "MINECRAFT" && d.LOAD == 1 && d.TEXLOAD == 1

&& d.MODELOAD == 1 && bw(d.MODS , 1, 4))

d.CPU = 2;

if (d.GAME == "MINECRAFT" && d.LOAD == 2 && d.TEXLOAD == 1

&& d.MODELOAD == 1 && bw(d.MODS , 1, 4))

d.CPU = 2;

if (d.GAME == "MINECRAFT" && d.LOAD == 2 && d.TEXLOAD == 2

&& d.MODELOAD == 2 && bw(d.MODS , 1, 4))

d.CPU = 2;

if (d.GAME == "MINECRAFT" && d.LOAD == 3 && d.TEXLOAD == 0

&& d.MODELOAD == 0 && d.MODS == 0)

d.CPU = 2;

if (d.GAME == "MINECRAFT" && d.LOAD == 3 && d.TEXLOAD == 0

&& d.MODELOAD == 0 && bw(d.MODS , 1, 4))

d.CPU = 3;

if (d.GAME == "MINECRAFT" && d.LOAD == 3 && d.TEXLOAD == 1

&& d.MODELOAD == 0 && bw(d.MODS , 1, 4))

d.CPU = 3;

if (d.GAME == "MINECRAFT" && d.LOAD == 3 && d.TEXLOAD == 2

&& d.MODELOAD == 0 && bw(d.MODS , 1, 4))

d.CPU = 3;

if (d.GAME == "MINECRAFT" && d.LOAD == 3 && d.TEXLOAD == 2

&& d.MODELOAD == 1 && bw(d.MODS , 1, 4))

d.CPU = 3;

if (d.GAME == "MINECRAFT" && d.LOAD == 3 && d.TEXLOAD == 2

&& d.MODELOAD == 2 && bw(d.MODS , 1, 4))

d.CPU = 3;

if (d.GAME == "MINECRAFT" && d.LOAD == 3 && d.TEXLOAD == 2

&& d.MODELOAD == 2 && bw(d.MODS , 5, 10))

d.CPU = 3;

if (d.GAME == "MINECRAFT" && d.LOAD == 3 && d.TEXLOAD == 0

&& d.MODELOAD == 0 && bw(d.MODS , 5, 10))

d.CPU = 3;

if (d.GAME == "MINECRAFT" && d.LOAD == 3 && d.TEXLOAD == 1

&& d.MODELOAD == 0 && bw(d.MODS , 5, 10))

d.CPU = 3;

if (d.GAME == "MINECRAFT" && d.LOAD == 3 && d.TEXLOAD == 2

&& d.MODELOAD == 0 && bw(d.MODS , 5, 10))

d.CPU = 3;

if (d.GAME == "MINECRAFT" && d.LOAD == 3 && d.TEXLOAD == 1

&& d.MODELOAD == 1 && bw(d.MODS , 5, 10))

d.CPU = 3;

if (d.GAME == "MINECRAFT" && d.LOAD == 3 && d.TEXLOAD == 2

&& d.MODELOAD == 1 && bw(d.MODS , 5, 10))

d.CPU = 3;

if (d.GAME == "MINECRAFT" && d.LOAD == 3 && d.TEXLOAD == 2

&& d.MODELOAD == 2 && bw(d.MODS , 5, 10))

d.CPU = 3;

// Ветка RAM

if (d.ONLINESHOP == 0 && d.LOAD == 1 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && d.MODS == 0)

d.RAM = 1;

if (d.ONLINESHOP == 1 && d.LOAD == 1 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && d.MODS == 0)

d.RAM = 1;

if (d.ONLINESHOP == 0 && d.LOAD == 1 && d.TEXLOAD == 1 &&

d.MODELOAD == 0 && d.MODS == 0)

d.RAM = 1;

if (d.ONLINESHOP == 0 && d.LOAD == 1 && d.TEXLOAD == 1 &&

d.MODELOAD == 1 && d.MODS == 0)

d.RAM = 1;

if (d.ONLINESHOP == 0 && d.LOAD == 1 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && bw(d.MODS, 1, 4))

d.RAM = 1;

if (d.ONLINESHOP == 0 && d.LOAD == 1 && d.TEXLOAD == 1 &&

d.MODELOAD == 1 && bw(d.MODS, 1, 4))

d.RAM = 2;

if (d.ONLINESHOP == 1 && d.LOAD == 1 && d.TEXLOAD == 1 &&

d.MODELOAD == 1 && bw(d.MODS, 1, 4))

d.RAM = 2;

if (d.ONLINESHOP == 0 && d.LOAD == 1 && d.TEXLOAD == 1 &&

d.MODELOAD == 1 && bw(d.MODS, 1, 4))

d.RAM = 2;

if (d.ONLINESHOP == 1 && d.LOAD == 1 && d.TEXLOAD == 2 &&

d.MODELOAD == 1 && bw(d.MODS, 1, 4))

d.RAM = 2;

if (d.ONLINESHOP == 1 && d.LOAD == 1 && d.TEXLOAD == 2 &&

d.MODELOAD == 2 && bw(d.MODS, 1, 4))

d.RAM = 2;

if (d.ONLINESHOP == 0 && d.LOAD == 1 && d.TEXLOAD == 2 &&

d.MODELOAD == 1 && bw(d.MODS, 1, 4))

d.RAM = 2;

if (d.ONLINESHOP == 1 && d.LOAD == 2 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && d.MODS == 0)

d.RAM = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 2 && d.TEXLOAD == 1 &&

d.MODELOAD == 0 && d.MODS == 0)

d.RAM = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 2 && d.TEXLOAD == 2 &&

d.MODELOAD == 1 && d.MODS == 0)

d.RAM = 3;

if (d.ONLINESHOP == 0 && d.LOAD == 2 && d.TEXLOAD == 2 &&

d.MODELOAD == 1 && d.MODS == 0)

d.RAM = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 2 && d.TEXLOAD == 2 &&

d.MODELOAD == 1 && bw(d.MODS, 1, 4))

d.RAM = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 2 && d.TEXLOAD == 2 &&

d.MODELOAD == 2 && bw(d.MODS, 1, 4))

d.RAM = 3;

if (d.ONLINESHOP == 0 && d.LOAD == 2 && d.TEXLOAD == 2 &&

d.MODELOAD == 2 && bw(d.MODS, 1, 4))

d.RAM = 3;

if (d.ONLINESHOP == 0 && d.LOAD == 2 && d.TEXLOAD == 2 &&

d.MODELOAD == 2 && bw(d.MODS, 1, 4))

d.RAM = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && d.MODS == 0)

d.RAM = 3;

if (d.ONLINESHOP == 0 && d.LOAD == 3 && d.TEXLOAD == 1 &&

d.MODELOAD == 0 && d.MODS == 0)

d.RAM = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.TEXLOAD == 1 &&

d.MODELOAD == 0 && d.MODS == 0)

d.RAM = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.TEXLOAD == 1 &&

d.MODELOAD == 1 && d.MODS == 0)

d.RAM = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.TEXLOAD == 2 &&

d.MODELOAD == 1 && d.MODS == 0)

d.RAM = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.TEXLOAD == 2 &&

d.MODELOAD == 2 && d.MODS == 0)

d.RAM = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.TEXLOAD == 0 &&

d.MODELOAD == 0 && bw(d.MODS, 1, 4))

d.RAM = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.TEXLOAD == 1 &&

d.MODELOAD == 0 && bw(d.MODS, 1, 4))

d.RAM = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.TEXLOAD == 2 &&

d.MODELOAD == 0 && bw(d.MODS, 1, 4))

d.RAM = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.TEXLOAD == 2 &&

d.MODELOAD == 1 && bw(d.MODS, 1, 4))

d.RAM = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.TEXLOAD == 2 &&

d.MODELOAD == 2 && bw(d.MODS, 1, 4))

d.RAM = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.TEXLOAD == 2 &&

d.MODELOAD == 1 && bw(d.MODS, 5, 10))

d.RAM = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.TEXLOAD == 2 &&

d.MODELOAD == 2 && bw(d.MODS, 5, 10))

d.RAM = 4;

// Ветка BUD

if (d.BUSUP == 0)

d.BUWEEK = 0;

if (d.BUWEEK == 0)

d.BUD = 0;

if (d.ONLINESHOP == 0 && d.LOAD == 1 && d.WIPE == 4 &&

d.BUWEEK == 1)

d.BUD = 1;

if (d.ONLINESHOP == 0 && d.LOAD == 1 && d.WIPE == 4 &&

d.BUWEEK == 2)

d.BUD = 1;

if (d.ONLINESHOP == 0 && d.LOAD == 1 && d.WIPE == 4 &&

d.BUWEEK == 3)

d.BUD = 2;

if (d.ONLINESHOP == 0 && d.LOAD == 2 && d.WIPE == 4 &&

d.BUWEEK == 1)

d.BUD = 2;

if (d.ONLINESHOP == 0 && d.LOAD == 2 && d.WIPE == 4 &&

d.BUWEEK == 1)

d.BUD = 2;

if (d.ONLINESHOP == 1 && d.LOAD == 2 && d.WIPE == 4 &&

d.BUWEEK == 1)

d.BUD = 2;

if (d.ONLINESHOP == 1 && d.LOAD == 2 && d.WIPE == 4 &&

d.BUWEEK == 2)

d.BUD = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 2 && d.WIPE == 4 &&

d.BUWEEK == 3)

d.BUD = 4;

if (d.ONLINESHOP == 0 && d.LOAD == 3 && d.WIPE == 4 &&

d.BUWEEK == 1)

d.BUD = 2;

if (d.ONLINESHOP == 0 && d.LOAD == 1 && d.WIPE == 3 &&

d.BUWEEK == 1)

d.BUD = 1;

if (d.ONLINESHOP == 1 && d.LOAD == 1 && d.WIPE == 3 &&

d.BUWEEK == 1)

d.BUD = 2;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.WIPE == 4 &&

d.BUWEEK == 1)

d.BUD = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.WIPE == 3 &&

d.BUWEEK == 1)

d.BUD = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.WIPE == 3 &&

d.BUWEEK == 2)

d.BUD = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.WIPE == 3 &&

d.BUWEEK == 3)

d.BUD = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.WIPE == 2 &&

d.BUWEEK == 3)

d.BUD = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.WIPE == 2 &&

d.BUWEEK == 3)

d.BUD = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.WIPE == 4 &&

d.BUWEEK == 3)

d.BUD = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 1 && d.WIPE == 4 &&

d.BUWEEK == 1)

d.BUD = 1;

if (d.ONLINESHOP == 1 && d.LOAD == 1 && d.WIPE == 4 &&

d.BUWEEK == 2)

d.BUD = 1;

if (d.ONLINESHOP == 1 && d.LOAD == 1 && d.WIPE == 4 &&

d.BUWEEK == 3)

d.BUD = 2;

if (d.ONLINESHOP == 0 && d.LOAD == 1 && d.WIPE == 4 &&

d.BUWEEK == 3)

d.BUD = 2;

if (d.ONLINESHOP == 0 && d.LOAD == 2 && d.WIPE == 4 &&

d.BUWEEK == 1)

d.BUD = 1;

if (d.ONLINESHOP == 0 && d.LOAD == 2 && d.WIPE == 4 &&

d.BUWEEK == 1)

d.BUD = 1;

if (d.ONLINESHOP == 1 && d.LOAD == 2 && d.WIPE == 4 &&

d.BUWEEK == 1)

d.BUD = 2;

if (d.ONLINESHOP == 0 && d.LOAD == 3 && d.WIPE == 4 &&

d.BUWEEK == 1)

d.BUD = 2;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.WIPE == 4 &&

d.BUWEEK == 1)

d.BUD = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.WIPE == 3 &&

d.BUWEEK == 1)

d.BUD = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.WIPE == 2 &&

d.BUWEEK == 1)

d.BUD = 3;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.WIPE == 2 &&

d.BUWEEK == 3)

d.BUD = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 2 && d.WIPE == 2 &&

d.BUWEEK == 3)

d.BUD = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 2 && d.WIPE == 2 &&

d.BUWEEK == 3)

d.BUD = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.WIPE == 1 &&

d.BUWEEK == 1)

d.BUD = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.WIPE == 1 &&

d.BUWEEK == 2)

d.BUD = 4;

if (d.ONLINESHOP == 1 && d.LOAD == 3 && d.WIPE == 1 &&

d.BUWEEK == 3)

d.BUD = 4;

//Ветка SERVER

if (d.RAM == 1 && d.CPU == 1 && d.DISC == "D1")

d.SERVER = "EX40";

if (d.RAM == 1 && d.CPU == 1 && d.DISC == "D1SSD")

d.SERVER = "EX40-SSD";

if (d.RAM == 1 && d.CPU == 2 && d.DISC == "D2")

d.SERVER = "EX41";

if (d.RAM == 1 && d.CPU == 2 && d.DISC == "D2SSD")

d.SERVER = "EX41-SSD";

if (d.RAM == 2 && d.CPU == 2 && d.DISC == "D2SSD")

d.SERVER = "PX61-SSD";

if (d.RAM == 2 && d.CPU == 3 && d.DISC == "D3")

d.SERVER = "R730 DX151";

if (d.RAM == 3 && d.CPU == 3 && d.DISC == "D3")

d.SERVER = "PX91-SSD";

if (d.RAM == 3 && d.CPU == 3 && d.DISC == "D3SSD")

d.SERVER = "PX121-SSD";

if (d.RAM == 4 && d.CPU == 3 && d.DISC == "D3SSD")

d.SERVER = "PX121-SSD";

return d;

}

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа [626,5 K], добавлен 23.11.2012

  • Структура типичной экспертной системы. База данных (рабочая память), её назначение. Функция getsport как экземпляр класса cSport. Алгоритм работы экспертной системы. Реализация пользовательского интерфейса. Результаты тестирования системы пользователем.

    курсовая работа [1018,8 K], добавлен 13.06.2012

  • Назначение экспертной системы. Разработка экспертной системы путем самостоятельного программирования в полном объеме простейшей ЭС в "GURU". Листинг экспертной системы по прогнозированию на бирже уровня цен, если валютный курс доллара падает или растет.

    лабораторная работа [17,8 K], добавлен 15.01.2011

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

    курсовая работа [1,9 M], добавлен 15.08.2012

  • Описание экспертной системы по подбору кадров. Требования к функциональным характеристикам программы. Состав и параметры технических средств ЭВМ. Структура входных данных. Руководство программиста и пользователя. Тестирование программного средства.

    курсовая работа [897,0 K], добавлен 13.11.2016

  • Разработка игрового проекта на игровом движке Unity 3D в среде программирования MS Visual Studio 2017. Блок-схема алгоритма работы приема сообщений с сервера на клиенте с упрощенным описанием выполняемых команд. Реализация пользовательского интерфейса.

    курсовая работа [1,5 M], добавлен 10.07.2017

  • Создание интеллектуальной экспертной системы по подбору комплектующих для стационарного компьютера. Медицина как пример экспертной системы с использованием метода Криса-Нейлора. Извлечение знаний, их структурирование, представление, стратегия вывода.

    контрольная работа [827,5 K], добавлен 14.12.2012

  • Фреймовые модели представления знаний. Разработка структуры фреймов для реализации экспертной системы. Разработка экспертной системы с фреймовой моделью представления знаний. Редактирование базы фактов кандидатов и описание режима консультации.

    курсовая работа [1,3 M], добавлен 13.10.2012

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

    дипломная работа [3,4 M], добавлен 12.08.2017

  • Изучение существующих подходов к использованию компьютерных игр в образовательном процессе. Особенности использования мобильного обучения. Методика и этапы закрепления полученных ранее знаний с использованием игрового приложения на мобильной платформе.

    дипломная работа [813,0 K], добавлен 27.10.2017

  • Общая характеристика киноиндустрии как предметной области работы. Разработка базы данных и дерева вопросов для получения информации для выбора фильма. Программная реализация экспертной системы. Тестирование системы и создание руководства пользователя.

    курсовая работа [1,9 M], добавлен 19.05.2014

  • Обзор системного и прикладного программного обеспечения используемого в ООО "Игровые системы". Описание компьютерной сети предприятия. Разработка игрового продукта для планшетов Apple iPad. Реализация визуального интерфейса и алгоритма работы модуля.

    отчет по практике [1,4 M], добавлен 18.01.2015

  • История появления первой экспертной системы DENDRAL. Проектирование и разработка программной экспертной системы, предназначенной для анализа финансового состояния предприятия. Основные предикаты и секции приложения: domains, predicates, clauses, goal.

    курсовая работа [1,5 M], добавлен 21.05.2016

  • Структура экспертной системы: база знаний, механизм вывода, система пользовательского интерфейса. Анализ требований, проектирование системы "Подбор сотовых телефонов". Спецификация области, кодирование. Листинг программы, результаты тестирования.

    курсовая работа [24,5 K], добавлен 12.05.2013

  • Реализация системы экспертной оценки эффективности программного продукта. Анализ информационной системы как объекта проектирования. Описание потоков данных, обрабатываемых и генерируемых системой. Программная архитектура и основные требования к системе.

    курсовая работа [1,5 M], добавлен 10.12.2016

  • Пример экспертной системы с использованием метода Криса-Нейлора. Структура базы данных. Стратегия вывода результатов выбора страны. Руководство пользователя, редактирование базы знаний. Режим тестирования, его завершение, блок объяснения решения.

    контрольная работа [1,6 M], добавлен 29.12.2012

  • Структура Android-приложений. Особенности игрового движка. Алгоритмизация и программирование. Список игровых состояний. Настройка, отладка и тестирование программы. Разработка руководства пользователя. Тестирование инсталляции и отображения элементов.

    дипломная работа [4,5 M], добавлен 19.01.2017

  • Обобщенная структура и принципы функционирования экспертных систем. Выбор модели представления знаний. Разработка логического блока программы и графического пользовательского интерфейса. Текст программы и экспериментальная оценка результатов работы.

    дипломная работа [2,4 M], добавлен 06.03.2013

  • Аналитический обзор системы управления курсами Moodle, программное построение ее модулей. Разработка структурной схемы и базы знаний экспертной системы. Создание дерева вопросов и выбор алгоритма поиска решений. Анализ возможных угроз и защита информации.

    дипломная работа [534,7 K], добавлен 14.12.2013

  • Разработка и проектирование информационной системы подбора сувенирной продукции по заявкам и предпочтениям пользователя. Организация внутримашинной информационной базы. Структура программного обеспечения и функции частей программного обеспечения.

    курсовая работа [5,0 M], добавлен 14.01.2018

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.