Разработка экспертной системы подбора параметров игрового сервера
Этапы проектирования экспертной системы для подбора параметров игрового сервера, компоненты веб-приложения. Реализация программного обеспечения, размещение его на хостинге, тестирование и проверка результатов. База знаний, экспертная система в приложении.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 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