Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/grindelfp/avia-expert-system

A project which aims to create a simple expert system for flights advising.
https://github.com/grindelfp/avia-expert-system

Last synced: about 1 month ago
JSON representation

A project which aims to create a simple expert system for flights advising.

Awesome Lists containing this project

README

        

= Авиаэкспертная система =

== Описание ==
Это проект, целью которого является создание простой экспертной системы, которая будет способна посоветовать пользователю шаги для достижения определенной цели: полететь в столицу другой страны.

== Использование ==
Программа представляет собой приложение JavaFX, написанное на языке Kotlin, которое предоставит пользователю несколько вариантов выбора для определения ситуации пользователя и правильного курса действий для успешного полета к месту назначения.

== База знаний ==
База знаний экспертной системы заранее объявлена в виде текстового файла в формате .json. Модель представления знаний — это производственная модель, хранящаяся в виде списка записей, содержащих следующую информацию:

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

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

== Модель представления знаний ==

В следующей таблице показана модель представления знаний базы знаний, которая формализует различные свойства 10 объектов, влияющих на поездку.

==== __Таблица 1. Логическая модель представления знаний__ ====
|===
|Объект № |Объект |ID |Свойство

.2+|1
.2+|Виза
|А1
|без визы

|А2
|виза получена

.2+|2
.2+|Билет
|А3
|нет билета

|А4
|билет получен

.2+|3
.2+|Бесплатный багаж
|А5
|багаж не требуется

|А6
|требуется багаж

.2+|4
.2+|Климат в пункте назначения
|A7
|похожий на место отправления

|А8
|отличается от места отправления

.3+|5
.3+|Обычная заполненность аэропорта людьми
|A9
|очень заполненный

|А10
|средне-заполненный

|А11
|малозаполненный

.3+|6
.3+|Дорожное движение в месте отправления
|А12
|пробки

|А13
|средняя загруженность

|А14
|свободное движение

.3+|7
.3+|Знание местного языка места назначения
|А15
|нет знания языка

|А16
|базовое и среднее знание языка

|А17
|продвинутое знание языка

.3+|8
.3+|Состояние здоровья
|А18
|больной

|А19
|недомогание

|А20
|здоровый

.3+|9
.3+|Финансовое состояние
|А21
|ограниченный бюджет

|А22
|средств достаточно для поездки

|А23
|более чем достаточно средств

.2+|10
.2+|Личные вещи, подлежащие декларации
|А24
|нет вещей, подлежащих декларации

|A25
|есть вещи, подлежащих декларации
|===

== Логические правила ==

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

==== _Таблица 2. Логические правила_ ====
|===
|Состояние |Совет

|А1
|Получите туристическую визу страны назначения.

|А2
|Проверьте, действительна ли ваша виза и не истек ли срок ее действия.

|А3
|Купите билет на самолет, учитывая свои планы, чтобы не пропустить рейс и возможные задержки не нарушили ваши планы.

|А4
|Тщательно проверьте информацию на своем билете, чтобы не пропустить свой рейс.

|А5
|Проверьте, предусмотрен ли в вашем билете бесплатный багаж и можете ли вы получить возмещение за непровоз багажа.

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

|A7
|Берите только ту одежду, которая вам необходима для вашего комфорта в поездке.

|А8
|Имейте в виду, что вам необходимо проверить погодные условия в пункте назначения и иметь при себе одежду, соответствующую погоде в пункте назначения.

|A9
|Попробуйте зарегистрироваться на рейс онлайн и обязательно прибудьте в аэропорт как минимум за 2,5 часа до вылета.

|А10
|Зарегистрируйтесь на рейс онлайн и обязательно прибудьте в аэропорт как минимум за 2 часа до вылета. Если вы хотите зарегистрироваться в аэропорту, обязательно прибудьте как минимум за 2,5–3 часа до вылета.

|А11
|Зарегистрируйтесь на рейс онлайн и обязательно прибудьте в аэропорт как минимум за 1,5–2 часа до вылета. Если вы хотите зарегистрироваться в аэропорту, обязательно прибудьте как минимум за 2–2,5 часа до вылета.

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

|А13
|Постарайтесь покинуть дом, оставив достаточно времени на дорогу. Имейте в виду, что пробки и затрудненное движение могут возникнуть в любое время суток и быть непредсказуемыми.

|А14
|Выйдите из дома и прибудьте в аэропорт как минимум за 15 минут до запланированного вами прибытия в аэропорт, чтобы непредсказуемые затруднения на дорогах не повлияли на ваш рейс.

|А15
|Постарайтесь выучить основные фразы на местном языке страны назначения. Также составьте список фраз, которые могут вам понадобиться в поездке, как на местном, так и на вашем языке так, чтобы вы могли показать нужную фразу собеседнику. Также убедитесь, что на вашем телефоне установлено приложение-переводчик и загружен пакет на местном языке, чтобы вам не приходилось полагаться на подключение к Интернету.

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

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

|А18
|Рассмотрите возможность задержки рейса, поскольку перегрузки полета могут ухудшить состояние вашего здоровья.

|А19
|Проконсультируйтесь с врачом о состоянии вашего здоровья и о том, можете ли вы лететь. Если полет разрешен врачом, обязательно защитите свое здоровье во время и после полета, поскольку вы встретите много людей, и некоторые из них могут болеть.

|А20
|Обязательно берегите свое здоровье во время и после полета, поскольку вы встретите много людей, и некоторые из них могут болеть.

|А21
|Планируйте свою поездку так, чтобы не потратить больше денег, чем у вас есть. Также узнайте, возможны ли скидки в поездке. Подумайте о том, чтобы отложить поездку, если вы не можете себе её позволить без чрезмерных ограничений себя в средствах.

|А22
|Планируйте свою поездку так, чтобы не потратить больше денег, чем у вас есть. Также узнайте, возможны ли скидки в поездке. Однако не будьте слишком жадными, ведь вы можете пропустить много интересного.

|А23
|Отслеживайте свои расходы, чтобы не тратить больше денег, чем намереваетесь. Легко потратить больше, чем требуется, когда у вас больше денег, чем требуется, но и не будьте слишком жадными, ведь можно упустить много интересного.

|А24
|Изучите правила относительно норм ввоза личных вещей, которые следует декларировать при пересечении границы страны назначения. Если у вас нет таких вещей, вам следует узнать, что делать с листами декларации по прибытии.

|A25
|Изучите правила относительно норм ввоза личных вещей, которые следует декларировать при пересечении границы страны назначения. Если у вас есть такие вещи, вам следует узнать, как их декларировать и что делать с листами декларации по прибытии.
|===