РАЗРАБОТКА ЭКСПЕРТНОЙ СИСТЕМЫ ПО ПОДБОРУ ПЛИТОЧНОГО ШОКОЛАДА - Студенческий научный форум

XII Международная студенческая научная конференция Студенческий научный форум - 2020

РАЗРАБОТКА ЭКСПЕРТНОЙ СИСТЕМЫ ПО ПОДБОРУ ПЛИТОЧНОГО ШОКОЛАДА

Караев В.Н. 1, Матыцин Кирилл Андреевич 1
1Belgorod state University
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

ВВЕДЕНИЕ

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

Экспертная система необходима для управления сложными объектами и процессами, поведение которых сложно поддается формализации. Эффективность системы заключается в возможности сбора и обобщения огромного массива данных, а также в использовании опыта специалистов в требуемой области знания [1].

РАЗРАБОТКА ЭКСПЕРТНОЙ СИСТЕМЫ

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

Экспертная система была разработана в IntelliJ IDEA.

Представленная программа предоставляет интегрированный инструментарий для разработки графического пользовательского интерфейса. Среди прочих возможностей, среда хорошо совместима со многими популярными свободными инструментами разработчиков, такими как CVS, Subversion, Apache Ant, Maven и JUnit [3].

Среда доступна в двух редакциях: Community Edition и Ultimate Edition. Community Edition является полностью свободной версией, в ней реализована полная поддержка Java SE, Groovy, а также интеграция с наиболее популярными системами управления [4].

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

private String[] weightOptions = {
"Менее 50 г",
"От 50 до 100 г",
"От 100 до 150 г",
"От 150 г и более"
};

weightValues.put(weightOptions[0], new Integer[]{0, 49});
weightValues.put(weightOptions[1], new Integer[]{50, 99});
weightValues.put(weightOptions[2], new Integer[]{100, 149});
weightValues.put(weightOptions[3], new Integer[]{150, Integer.MAX_VALUE});

Алгоритм выборки из базы данных представлен частично ниже:

private DbConnection dbCurConn = new DbConnection();

public String chooseSsd(String brand, Integer[] weight, Integer[] price, String smell, String consistency, String kind, String additives) {
ResultSet result;
StringBuffer answer =
new StringBuffer();
String[] sqlLevels = {

"Select \"Brand\", \"Name\", \"Weight\", \"Price\" From public.\"Chocolate\" " +
"Where (LOWER(\"Smell\") LIKE '%" + smell.toLowerCase() + "%')" +
"and (LOWER(\"Kind\") LIKE '%" + kind.toLowerCase() + "%')" +
"and (LOWER(\"Additives\") LIKE '%" + additives.toLowerCase() + "%')" +
"and (\"Price\" between " + price[0] + " and " + price[1] + ")",
"and (\"Weight\" between " + weight[0] + " and " + weight[1] + ")",
"and (LOWER(\"Brand\") LIKE '%" + brand.toLowerCase() + "%')",
"and (LOWER(\"Consistency\") LIKE '" + consistency.toLowerCase() + "')",
};

try {
String currentSql = sqlLevels[
0] + sqlLevels[1] + sqlLevels[2] + sqlLevels[3];
if (dbCurConn.resultExist(currentSql)) {
result =
dbCurConn.getResult(currentSql);
answer.append(
"Всекритерииучтены (точность 100%)");
}
else {

...

...

if (result!= null){
answer.append(
"\n\nНаиболееподходящийшоколад:");
while (result.next()){
answer.append(
"\n - " + result.getString("Brand") + " " + result.getString("Name") + " - " + result.getString("Weight") + " г, " + result.getString("Price") + " p.");
}
}

else {
answer.append(
"Позапросуничегонеподошло");
}
}
catch (SQLException e) {
e.printStackTrace();
}

return answer.toString();

РАЗРАБОТКА БАЗЫ ДАННЫХ

Разработанная база данных изначально хранится в файле с расширением .cv. Данный файл создается с помощью специального приложения PostgreSQL [5]. PostgreSQL – это свободная объектно-реляционная система управления базами данных (СУБД), представленная на рисунке 2.

Рисунок 1 – СУБД PostgreSQL

В ней хранятся все данные по вышеописанным экземплярам, представлено на рисунке 3.

Рисунок 2 – Экземпляры в СУБД

ТЕСТИРОВАНИЕ СИСТЕМЫ

При запуске программы, пользователю представляется окно с выбором характеристик интересующего шоколада, представлено на рисунке 3.

Рисунок 3 – Главное окно

После выбора всех критериев, пользователю показываются подходящие шоколады, если не будет выбран хоть один критерий, то пользователю выведется сообщение об ошибке, рисунок 4 и 5 соответственно.

Рисунок 4 – Вывод результата

Рисунок 5 – Сообщение об ошибке

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

Рисунок 6 – Вывод похожих шоколадов

В логике программы присутствуют первичные и вторичные критерии.

Первичные: ценовой диапазон, аромат шоколада, вид шоколада и добавки;

Вторичные: производитель, масса и консистенция.

Первичные критерии – это самые важные критерии, без них подбор шоколада просто не будет осуществлен, так как они определяют его основу. Вторичные – это критерии, которые могут быть заменены другими, это уже было показано на рисунке 6.

ЗАКЛЮЧЕНИЕ

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

СПИСОК ЛИТЕРАТУРЫ

Питер Джексон, Введение в экспертные 3-е изд. / Питер Джексон // Москва: Вильямс, 2001. – 624 С.

Введение в экспертные системы. Основные понятия и определения. [Электронный ресурс] – URL: http://www.habarov.spb.ru/new_es/exp_sys/es01/es1.htm (дата обращения 20.12.2019)

Хорстманн Кей С., Java. Библиотека профессионала. Том 1 / Хорстманн Кей, С. Корнелл Гари // Москва: Вильямс, 2014. – 866 С.

Руководство JavaFX для начинающих [Электронный ресурс] – URL: https://o7planning.org/ru/10623/javafx-tutorial-for-beginners (Дата обращения 18.12.2019)

PostgreSQL [Электронный ресурс] – URL: https://ru.wikipedia.org/wiki/PostgreSQL (дата обращения 20.12.2019)

Просмотров работы: 5