Дипломная работа на тему "Экспертная система прогнозирования успеваемости студентов в ВУЗах"

ГлавнаяИнформатика → Экспертная система прогнозирования успеваемости студентов в ВУЗах




Не нашли то, что вам нужно?
Посмотрите вашу тему в базе готовых дипломных и курсовых работ:

(Результаты откроются в новом окне)

Текст дипломной работы "Экспертная система прогнозирования успеваемости студентов в ВУЗах":


ВВЕДЕНИЕ

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

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

Целью работы является, построение продукционной модели экспертной системы прогнозирования результатов сессии, на основании анализа текущей успеваемости, и ее реализация в языке логического программирования Visual Prolog. Объектом исследования является процесс получения образования в высшем учебном заведении. Предмет исследования - методы построения базы знаний в экспертных системах, а именно продукционная модель.

При построении экспертной системы прогнозирования результатов сессии, на основе текущей успеваемости, выделяют следующие задачи исследования:

1.  Сбор информации о объекте исследования, а именно о процессе обучения и системе оценивания студентов всех курсов.

2.  Изучение методов построения базы знаний и выбор наилучшего.

3.  Представление продукционной модели построения базы знаний.

4.  Изучение механизмов логического вывода.

5.  Реализация экспертной системы в языке логического программирования Visual Prolog

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

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

РАЗДЕЛ 1. ЭКСПЕРТНЫЕ СИСТЕМЫ

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

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

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

Экспертная система - программа, которая использует знания специалистов (экспертов) о некоторой конкретной узкоспециализированной предметной области и в пределах этой области способна принимать решения на уровне эксперта-профессионала. [2]

Экспертные системы - прикладные программы ИИ, в которых база знаний представляет собой формализованные эмпирические знания высококвалифицированных специалистов (экспертов) в какой-либо узкой предметной области.[3]

Экспертная система - программа для компьютера, которая оперирует со знаниями в определенной предметной области с целью выработки рекомендаций или решения проблем.[3]

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

1.1  Классификация и виды экспертных систем

Для классификации ЭС [5] используют следующие признаки:

1.  Способ формирования решения;

Заказать дипломную - rosdiplomnaya.com

Грамотное выполнение дипломных проектов по индивидуальным требованиям в Саратове и в других городах России.

2.  Способ учета временного признака;

3.  Вид используемых данных;

4.  Число используемых источников решения знаний;

По способу формирования решения ЭС можно разделить на анализирующие и синтезирующие. В системах первого типа осуществляется выбор решения из множества известных решений на основе анализа знаний, в системах второго типа решение синтезируется из отдельных фрагментов знаний.

В зависимости от способа учета временного признака ЭС делят на статические и динамические. Статические ЭС предназначены для решения задач с неизменяемыми в процессе решения данными и знаниями, а динамические ЭС допускают такие изменения.

По видам используемых данных и знаний различают ЭС с детерминированными и неопределенными знаниями. Под неопределенностью знаний и данных понимаются их неполнота, ненадежность, нечеткость.

ЭС могут создаваться с использованием одного или нескольких источников знаний.

1.2  Структура экспертной системы

Типичная статическая ЭС состоит из следующих основных компонентов (рис. 1.1):

- решателя (интерпретатора);

- рабочей памяти (РП), называемой также базой данных (БД);

- базы знаний (БЗ);

- компонентов приобретения знаний;

- объяснительного компонента;

- диалогового компонента.

База данных (рабочая память) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (в первую очередь долгосрочных), хранимых в системе.

База знаний (БЗ) в ЭС предназначена для хранения долгосрочных данных, описывающих рассматриваемую область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области.

Решатель, используя исходные данные из рабочей памяти и знания из БЗ, формирует такую последовательность правил, которые, будучи примененными к исходным данным, приводят к решению задачи.

Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый пользователем-экспертом.

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

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

Рисунок убран из работы и доступен только в оригинальном файле.

Рис. 1.1. «Структура экспертной системы»

1.3  Базы знаний и модели представления знаний

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

В качестве предметной области выбирается узкая (специальная) прикладная область. Далее для создания ЭС в выбранной области собираются факты и правила, которые помещаются в базу знаний вместе с механизмами вывода и упрощения. В отличие от всех остальных компонент ЭС, база знаний - "переменная " часть системы, которая может пополняться и модифицироваться инженерами знаний и опыта использование ЭС, между консультациями (а в некоторых системах и в процессе консультации).

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

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

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

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

Типичными моделями представления знаний являются:

1.  Продукционная модель;

2.  Модель, основанная на использовании фреймов;

3.  Модель семантической сети;

4.  Логическая модель.

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

Если (условие), то (действие)

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

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

«Фрейм – это структура данных, представляющая стереотипную ситуацию, вроде нахождения внутри некоторого рода жилой комнаты, или сбора на вечеринку по поводу дня рождения ребенка. К каждому фрейму присоединяется несколько видов информации. Часть этой информации – о том, как использовать фрейм. Часть о том, чего можно ожидать далее. Часть о том, что следует делать, если эти ожидания не подтвердятся».

Фрейм - это минимальное возможное описание сущности какого-либо явления, события, ситуации, процесса или объекта. Минимальность означает, что при дальнейшем упрощении описания теряется его полнота, она перестает определять ту единицу знаний, для которой предназначено. Например, слово "комната" вызывает у слушающих образ комнаты: "жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью 6-20 м2 ". Из этого описания ничего нельзя убрать (например, убрав окна мы получим уже чулан, а не комнату), но в нем есть "дырки", - это незаполненные значения некоторых атрибутов - количество окон, цвет стен, высота потолка. покрытие пола и др. В теории фреймов такой образ называется фреймом.

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

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

Понятиями обычно выступают абстрактные или конкретные объекты, а отношения - это связи типа: "это" ("is"), "имеет частью" ("has part"), "принадлежит", "любит" и т. п. Характерной особенностью семантических сетей является обязательное наличие трех типов отношений:

1.  Класс - элемент класса.

2.  Свойство – значение.

3.  Пример элемента класса.

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

1.4  Механизмы логического вывода

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

Два способа использования продукционных правил:

- прямая цепочка рассуждений;

- обратная цепочка рассуждений.

Первый предполагает обработку информации в прямом направлении (метод сопоставления), когда образцом для поиска служит левая часть продукционного правила — условие, то есть задача решается в направлении от исходного состояния к целевому. Это соответствует стратегии «от данных к цели» или стратегии управления данными.

При втором подходе обработка информации осуществляется в обратном направлении — метод «генерации» или выдвижения гипотезы и ее проверки (стратегия «от цели к данным»).

Пример:Имеется фрагмент БЗ из двух правил:

П 1 : ЕСЛИ «отдых - летом» и «человек - активный», ТО «ехать в горы».

П 2 : ЕСЛИ «любит солнце»,«отдых летом».

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

Шаг 1. Пробуем П 1 не работает - не хватает данных «отдых - летом».

Шаг 2. Пробуем П 2 , работает, в базу поступает факт «отдых - летом». 2-й проход:

Шаг 3. Пробуем П 1 , работает, активируя цель «ехать в горы», которая и выступает, например, как совет, который дает система.

Обратный вывод: подтвердить выбранную цель при помощи имеющихся правил и данных:

Шаг 1. Цель - «ехать в горы»:

становятся новой целью, и имеется правило, где она в правой части.

Шаг 2. Цель «отдых летом»:

правило П 2 подтверждает цель и активизирует ее. 2-й проход:

Шаг 3. Пробуем П 1 , подтверждается искомая цель.

Выводы по разделу 1

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

РАЗДЕЛ 2. ПОСТРОЕНИЕ ПРОДУКЦИОННОЙ МОДЕЛИ БАЗЫ ЗНАНИЙ

2.1  Обоснование метода

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

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

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

Простота интерпретации — «прозрачная» структура продукционных правил облегчает их смысловую интерпретацию.

Естественность — знания в виде «что делать и когда» являются естественны ми с точки зрения здравого смысла.

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

2.2  Математическое представление продукционной модели

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

i: S; L; A→B; Q (2.1)

где i — индивидуальный номер продукции;

S — описание класса ситуаций, в котором данная структура может использоваться;

L — условие, при котором продукция активизируется;

А→В — ядро продукции, например: «ЕСЛИ A1, A2,,..., Ап ТО В» . Такая запись означает, что «если все условия от A1 до Аn являются истиной, то В также истина» или же «когда все условия от A1 до Аn становятся истиной, то следует выполнить действие B»;

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

В зависимости от количества условий и действий в соответствующих перечнях различают следующие типы правил: простое – одно условие и одно действие, составное – много условий и действий, фиксирующее – много условий и одно действие, разветвляющееся – одно условие и много действий.

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

2.3  Структура продукционной модели представления баз знаний

Для реализации продукционной модели было проведено анкетирование, в нем было предложено оценить студентам факторы, которые влияют на их выбор. Было запущено анкету (см. приложение 2).

Поскольку работать с 22 факторами очень сложно, нужно их сократить, применяем к данным метод анализа главных компонент. Применение метода главных компонент в пакете SPSS 15.0:

1.  Выбираем в меню Analyze (Анализ) Data Reduction (Сокращение объема данных) Factor... (Факторный анализ). Откроется диалоговое окно Factor Analysis (Факторный анализ)

2.  Переменные a1-a15 поместим в поле тестируемых переменных и ознакомимся с возможностями, предлагаемыми различными кнопками этого диалогового меню.

3.  После щелчка по кнопке Descriptive Statistics (Дескриптивные статистики) оставим вывод первичных результатов, которые включают в себя первичные относительные дисперсии простых факторов, собственные значения и процентные доли объяснённой дисперсии.

В результате мы получили такие факторы:

Фактор 1 «Объяснение и понимание материала»:

-  "Объяснение преподавателями нового материала понятно и доступно";

-  "Воспринимать новый материал легко";

-  "Преподаватели объясняют сложно и быстро";

-  "Практических занятий достаточно, чтобы усвоить лекционную информацию";

-  “Предметов много, большой поток информации";

-  "Учиться в "ХАИ" сложно и неинтересно";

-  "На самостоятельную обработку выносится больше информации, чем дается на лекциях";

-  "Специальность не оправдывает надежды";

-  "У меня сложились хорошие отношения с куратором".

Фактор 2 «Бытовые факторы»:

–  "Обстановка в общежитии благосклонно влияет на учебу";

–  "База школьной подготовки позволяет, хорошо учится в "ХАИ";

–  "Выбор специальности правильный, набор предметов интересный";

–  "Учеба для меня это самореализация ";

–  "Я принимаю активное участие в общественной жизни факультета и университета".

Фактор 3 «Другие»:

–  "Я поступил(а) в "ХАИ" потому что так хотели мои родители";

–  "У меня сложились хорошие отношения с одногруппниками и студентами других групп";

–  "Куратор практически не уделяет внимания нашей группе";

–  "Я боюсь, что меня отчислять".

Фактор 4 «Личностные факторы»:

–  "Лучшая мотивация в учебе, это похвала преподавателя";

–  "Я учусь хорошо, для того чтобы получать стипендию";

–  "Стипендия как вид мотивации меня не интересует";

–  "Мне стыдно плохо учиться".

Теперь создадим таблицу сопряженности для первой стратегии, которую может выбрать студент (учится на отлично) и фактора «Объяснение и понимание материала» (teaching).

1.Выберем в меню Analyze (Анализ) Descriptive Statistics (Дескриптивные статистики) Crosstabs... (Таблицы сопряженности)

2.В диалоговом окне Crosstabs (Таблицы сопряженности) переменную а1 (учится на отлично) поместим в поле строк, а переменную teaching в поле столбцов и через выключатель Cells... (Ячейки) сделаем дополнительно запрос на вывод процентных значений по строкам.

В окне просмотра появится следующая таблица сопряженности:

Таблица 2.1

«Учится на отлично (0т 4.6 до 5) * Объяснение и понимание материала»

--------------------------------------------------
"Объяснение и понимание материала" | Total |
---------------------------------------------------------
1 | 2 | 3 | 4 | 1 |
---------------------------------------------------------
0 | Count | 35 | 35 | 37 | 33 | 140 |
---------------------------------------------------------
"Учится на отлично"(0т 4.6 до 5) | 25,0% | 25,0% | 26,4% | 23,6% | 100,0% |
---------------------------------------------------------
% within "Объяснение и понимание материала" | 79,5% | 79,5% | 86,0% | 86,8% | 82,8% |
---------------------------------------------------------
1 | Count | 9 | 9 | 6 | 5 | 29 |
---------------------------------------------------------
% within "Учится на отлично"(0т 4.6 до 5) | 31,0% | 31,0% | 20,7% | 17,2% | 100,0% |
---------------------------------------------------------
% within "Объяснение и понимание материала" | 20,5% | 20,5% | 14,0% | 13,2% | 17,2% |
---------------------------------------------------------
Total | Count | 44 | 44 | 43 | 38 | 169 |
---------------------------------------------------------
% within "Учится на отлично"(0т 4.6 до 5) | 26,0% | 26,0% | 25,4% | 22,5% | 100,0% |
--------------------------------------------------------- --------------------------------------------------

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

Таблица 2.2

«Учится на отлично (0т 4.6 до 5) * Бытовые факторы»

--------------------------------------------------
"Бытовые факторы": | Total |
---------------------------------------------------------
1 | 2 | 3 | 4 | 1 |
---------------------------------------------------------
0 | Count | 37 | 34 | 37 | 32 | 140 |
---------------------------------------------------------
% within "Учится на отлично"(0т 4.6 до 5) | 26,4% | 24,3% | 26,4% | 22,9% | 100,0% |
---------------------------------------------------------
% within "Бытовые факторы": | 84,1% | 89,5% | 84,1% | 74,4% | 82,8% |
---------------------------------------------------------
1 | Count | 7 | 4 | 7 | 11 | 29 |
---------------------------------------------------------
% within "Учится на отлично"(0т 4.6 до 5) | 24,1% | 13,8% | 24,1% | 37,9% | 100,0% |
---------------------------------------------------------
% within "Бытовые факторы": | 15,9% | 10,5% | 15,9% | 25,6% | 17,2% |
---------------------------------------------------------
Total | Count | 44 | 38 | 44 | 43 | 169 |
---------------------------------------------------------
% within "Учится на отлично | 26,0% | 22,5% | 26,0% | 25,4% | 100,0% |
--------------------------------------------------------- --------------------------------------------------

Таблица 2.3

"Учится на отлично (0т 4.6 до 5) * Личностные факторы"

--------------------------------------------------
"Личностные факторы": | Total |
---------------------------------------------------------
1 | 2 | 3 | 4 | 1 |
---------------------------------------------------------
0 | Count | 37 | 33 | 35 | 35 | 140 |
---------------------------------------------------------
% within "Учится на отлично"(0т 4.6 до 5) | 26,4% | 23,6% | 25,0% | 25,0% | 100,0% |
---------------------------------------------------------
% within "Личностные факторы": | 94,9% | 76,7% | 81,4% | 79,5% | 82,8% |
---------------------------------------------------------
1 | Count | 2 | 10 | 8 | 9 | 29 |
---------------------------------------------------------
% within "Учится на отлично"(0т 4.6 до 5) | 6,9% | 34,5% | 27,6% | 31,0% | 100,0% |
---------------------------------------------------------
% within "Личностные факторы": | 5,1% | 23,3% | 18,6% | 20,5% | 17,2% |
---------------------------------------------------------
Total | Count | 39 | 43 | 43 | 44 | 169 |
---------------------------------------------------------
% within "Учится на отлично" | 23,1% | 25,4% | 25,4% | 26,0% | 100,0% |
--------------------------------------------------------- --------------------------------------------------

Таблица 2.4

"Учится на отлично (0т 4.6 до 5) *Другие факторы"

--------------------------------------------------
"Другие факторы" | Total |
---------------------------------------------------------
1 | 2 | 3 | 4 | 1 |
---------------------------------------------------------
0 | Count | 34 | 31 | 38 | 37 | 140 |
---------------------------------------------------------
% within "Учится на отлично"(0т 4.6 до 5) | 24,3% | 22,1% | 27,1% | 26,4% | 100,0% |
---------------------------------------------------------
% within "Другие факторы" | 82,9% | 75,6% | 86,4% | 86,0% | 82,8% |
---------------------------------------------------------
1 | Count | 7 | 10 | 6 | 6 | 29 |
---------------------------------------------------------
% within "Учится на отлично"(0т 4.6 до 5) | 24,1% | 34,5% | 20,7% | 20,7% | 100,0% |
---------------------------------------------------------
% within "Другие факторы" | 17,1% | 24,4% | 13,6% | 14,0% | 17,2% |
---------------------------------------------------------
Total | Count | 41 | 41 | 44 | 43 | 169 |
---------------------------------------------------------
% within "Учится на отлично" | 24,3% | 24,3% | 26,0% | 25,4% | 100,0% |
--------------------------------------------------------- --------------------------------------------------

По данным таблиц 3.2,3.3,3.4 и 3.5 можно сделать следующие выводы: на студентов, которые не выбрали стратегию «учится на отлично» не влияет фактор "Объяснение и понимание материала», поскольку процентное соотношение практически одинаковое 1 - 79.5%, 2 - 79.5%, 3 - 86.0% и 4 - 86.8%, бытовые факторы также не влияют, поскольку соотношение процентов практически одинаковое, а вот личностные факторы влияют на то, что студент не выбирает первую стратегию, а именно не хватает внутренней мотивации, так как динамика разности процентных соотношений очевидна, другие факторы также не влияют. На студентов, которые выбрали стратегию «учится на отлично» влияет фактор "Объяснение и понимание материала», и очевидно то, что если студент выбирает эту стратегию ему сложнее воспринимать новый материал, ведь он хочет подробно разобраться во всех нюансах. Бытовые факторы также влияют, но они не мешают учебному процессу у отличников, личностные факторы влияют на отличников, но влияют они также благосклонно, мотивация у таких студентов присутствует, а вот другие факторы не влияют, поскольку отсутствует динамика процентов.

Таблица 2.5

«Учится хорошо (От 3.6 до 4.5) *Объяснение и понимание материала»

--------------------------------------------------
"Объяснение и понимание материала" | Total |
---------------------------------------------------------
1 | 2 | 3 | 4 | 1 |
---------------------------------------------------------
0 | Count | 19 | 25 | 19 | 12 | 75 |
---------------------------------------------------------
% within "Учится хорошо"(От 3.6 до | 25,3% | 33,3% | 25,3% | 16,0% | 100,0% |
---------------------------------------------------------
"Объяснение и понимание материала" | 43,2% | 56,8% | 44,2% | 31,6% | 44,4% |
---------------------------------------------------------
1 | Count | 25 | 19 | 24 | 26 | 94 |
---------------------------------------------------------
% within "Учится хорошо"(От 3.6 до 4.5) | 26,6% | 20,2% | 25,5% | 27,7% | 100,0% |
---------------------------------------------------------
% within "Объяснение и понимание материала" | 56,8% | 43,2% | 55,8% | 68,4% | 55,6% |
---------------------------------------------------------
Total | Count | 44 | 44 | 43 | 38 | 169 |
---------------------------------------------------------
"Учится хорошо" | 26,0% | 26,0% | 25,4% | 22,5% | 100,0% |
--------------------------------------------------------- --------------------------------------------------

Таблица 2.6

«Учится хорошо (От 3.6 до 4.5) *Бытовые факторы»

--------------------------------------------------
"Бытовые факторы": | Total |
---------------------------------------------------------
1 | 2 | 3 | 4 | 1 |
---------------------------------------------------------
0 | Count | 18 | 18 | 18 | 21 | 75 |
---------------------------------------------------------
% within "Учится хорошо"(От 3.6 до | 24,0% | 24,0% | 24,0% | 28,0% | 100,0% |
---------------------------------------------------------
% within "Бытовые факторы": | 40,9% | 47,4% | 40,9% | 48,8% | 44,4% |
---------------------------------------------------------
1 | Count | 26 | 20 | 26 | 22 | 94 |
---------------------------------------------------------
% within "Учится хорошо"(От 3.6 до 4.5) | 27,7% | 21,3% | 27,7% | 23,4% | 100,0% |
---------------------------------------------------------
% within "Бытовые факторы": | 59,1% | 52,6% | 59,1% | 51,2% | 55,6% |
---------------------------------------------------------
Total | Count | 44 | 38 | 44 | 43 | 169 |
---------------------------------------------------------
"Учится хорошо" | 26,0% | 22,5% | 26,0% | 25,4% | 100,0% |
--------------------------------------------------------- --------------------------------------------------

Таблица 2.7

«Учится хорошо (От 3.6 до 4.5) *Личностные факторы»

--------------------------------------------------
"Личностные факторы": | Total |
---------------------------------------------------------
1 | 2 | 3 | 4 | 1 |
---------------------------------------------------------
0 | Count | 16 | 19 | 17 | 23 | 75 |
---------------------------------------------------------
% within "Учится хорошо"(От 3.6 до 4.5) | 21,3% | 25,3% | 22,7% | 30,7% | 100,0% |
---------------------------------------------------------
% within "Личностные факторы": | 41,0% | 44,2% | 39,5% | 52,3% | 44,4% |
---------------------------------------------------------
1 | Count | 23 | 24 | 26 | 21 | 94 |
---------------------------------------------------------
% within "Учится хорошо"(От 3.6 до 4.5) | 24,5% | 25,5% | 27,7% | 22,3% | 100,0% |
---------------------------------------------------------
% within "Личностные факторы": | 59,0% | 55,8% | 60,5% | 47,7% | 55,6% |
---------------------------------------------------------
Total | Count | 39 | 43 | 43 | 44 | 169 |
---------------------------------------------------------
% within "Учится хорошо" | 23,1% | 25,4% | 25,4% | 26,0% | 100,0% |
--------------------------------------------------------- --------------------------------------------------

Таблица 2.8

«Учится хорошо (От 3.6 до 4.5) * Другие факторы»

--------------------------------------------------
"Другие факторы" | Total |
---------------------------------------------------------
1 | 2 | 3 | 4 | 1 |
---------------------------------------------------------
0 | Count | 19 | 20 | 15 | 21 | 75 |
---------------------------------------------------------
% within "Учится хорошо"(От 3.6 до 4.5) | 25,3% | 26,7% | 20,0% | 28,0% | 100,0% |
---------------------------------------------------------
% within "Другие факторы" | 46,3% | 48,8% | 34,1% | 48,8% | 44,4% |
---------------------------------------------------------
1 | Count | 22 | 21 | 29 | 22 | 94 |
---------------------------------------------------------
% within "Учится хорошо"(От 3.6 до 4.5) | 23,4% | 22,3% | 30,9% | 23,4% | 100,0% |
---------------------------------------------------------
% within "Другие факторы" | 53,7% | 51,2% | 65,9% | 51,2% | 55,6% |
---------------------------------------------------------
Total | Count | 41 | 41 | 44 | 43 | 169 |
---------------------------------------------------------
% within "Учится хорошо" | 24,3% | 24,3% | 26,0% | 25,4% | 100,0% |
--------------------------------------------------------- --------------------------------------------------

Теперь проведем анализ второй стратегии – «Учится хорошо». Построим таблицы сопряженности этой стратегии с каждым фактором. Полученные результаты занесем в таблицы 3.6, 3.7, 3.8 и 3.9. По ним можем сделать следующие выводы: на студентов, которые не выбрали стратегию «учится хорошо» влияют только личностные факторы, студенты отказываются от нее по причинам внутренней мотивации, так как динамика разности процентных соотношений очевидна. На студентов, которые выбрали стратегию «учится хорошо» влияет фактор "Объяснение и понимание материала», и очевидно то, что если студент выбирает эту стратегию ему легко воспринимать новый материал, бытовые факторы не влияют, динамика отсутствует, личностные факторы не влияют на хорошистов, другие факторы также влияют.

Аналогично проведем анализ третей стратегии – «Учится плохо»:

Таблица 2.9

«Учится плохо (От 3 до 3.5) *Объяснение и понимание материала»

--------------------------------------------------
"Объяснение и понимание материала" | Total |
---------------------------------------------------------
1 | 2 | 3 | 4 | 1 |
---------------------------------------------------------
0 | Count | 34 | 28 | 30 | 31 | 123 |
---------------------------------------------------------
% within "Учится плохо"(От 3 до 3.5) | 27,6% | 22,8% | 24,4% | 25,2% | 100,0% |
---------------------------------------------------------
% within "Объяснение и понимание материала" | 77,3% | 63,6% | 69,8% | 81,6% | 72,8% |
---------------------------------------------------------
1 | Count | 10 | 16 | 13 | 7 | 46 |
---------------------------------------------------------
% within "Учится плохо"(От 3 до 3.5) | 21,7% | 34,8% | 28,3% | 15,2% | 100,0% |
---------------------------------------------------------
% within "Объяснение и понимание материала" | 22,7% | 36,4% | 30,2% | 18,4% | 27,2% |
---------------------------------------------------------
Total | Count | 44 | 44 | 43 | 38 | 169 |
---------------------------------------------------------
% within "Учится плохо" | 26,0% | 26,0% | 25,4% | 22,5% | 100,0% |
--------------------------------------------------------- --------------------------------------------------

Таблица 2.10

«Учится плохо (От 3 до 3.5) *Бытовые факторы»

--------------------------------------------------
"Бытовые факторы": | Total |
---------------------------------------------------------
1 | 2 | 3 | 4 | 1 |
---------------------------------------------------------
0 | Count | 33 | 24 | 33 | 33 | 123 |
---------------------------------------------------------
% within "Учится плохо"(От 3 до | 26,8% | 19,5% | 26,8% | 26,8% | 100,0% |
---------------------------------------------------------
% within "Бытовые факторы": | 75,0% | 63,2% | 75,0% | 76,7% | 72,8% |
---------------------------------------------------------
1 | Count | 11 | 14 | 11 | 10 | 46 |
---------------------------------------------------------
% within "Учится плохо"(От 3 до 3.5) | 23,9% | 30,4% | 23,9% | 21,7% | 100,0% |
---------------------------------------------------------
% within "Бытовые факторы": | 25,0% | 36,8% | 25,0% | 23,3% | 27,2% |
---------------------------------------------------------
Total | Count | 44 | 38 | 44 | 43 | 169 |
---------------------------------------------------------
% within "Учится плохо" | 26,0% | 22,5% | 26,0% | 25,4% | 100,0% |
--------------------------------------------------------- --------------------------------------------------

Таблица 2.11

«Учится плохо (От 3 до 3.5) *Личностные факторы»

--------------------------------------------------
"Личностные факторы": | Total |
---------------------------------------------------------
1 | 2 | 3 | 4 | 1 |
---------------------------------------------------------
0 | Count | 25 | 34 | 34 | 30 | 123 |
---------------------------------------------------------
% within "Учится плохо"(От 3 до 3 | 20,3% | 27,6% | 27,6% | 24,4% | 100,0% |
---------------------------------------------------------
% within "Личностные факторы": | 64,1% | 79,1% | 79,1% | 68,2% | 72,8% |
---------------------------------------------------------
1 | Count | 14 | 9 | 9 | 14 | 46 |
---------------------------------------------------------
% within "Учится плохо"(От 3 до 3.5) | 30,4% | 19,6% | 19,6% | 30,4% | 100,0% |
---------------------------------------------------------
% within "Личностные факторы": | 35,9% | 20,9% | 20,9% | 31,8% | 27,2% |
---------------------------------------------------------
Total | Count | 39 | 43 | 43 | 44 | 169 |
---------------------------------------------------------
% within "Учится плохо" | 23,1% | 25,4% | 25,4% | 26,0% | 100,0% |
--------------------------------------------------------- --------------------------------------------------

Таблица 2.12

«Учится плохо (От 3 до 3.5) * Другие факторы»

--------------------------------------------------
"Другие факторы" | Total |
---------------------------------------------------------
1 | 2 | 3 | 4 | 1 |
---------------------------------------------------------
0 | Count | 29 | 31 | 35 | 28 | 123 |
---------------------------------------------------------
% within "Учится плохо"(От 3 до 3.5) | 23,6% | 25,2% | 28,5% | 22,8% | 100,0% |
---------------------------------------------------------
% within "Другие факторы" | 70,7% | 75,6% | 79,5% | 65,1% | 72,8% |
---------------------------------------------------------
1 | Count | 12 | 10 | 9 | 15 | 46 |
---------------------------------------------------------
% within "Учится плохо"(От 3 до 3.5) | 26,1% | 21,7% | 19,6% | 32,6% | 100,0% |
---------------------------------------------------------
% within "Другие факторы" | 29,3% | 24,4% | 20,5% | 34,9% | 27,2% |
---------------------------------------------------------
Total | Count | 41 | 41 | 44 | 43 | 169 |
---------------------------------------------------------
% within "Учится плохо" | 24,3% | 24,3% | 26,0% | 25,4% | 100,0% |
--------------------------------------------------------- --------------------------------------------------

По данным таблиц 3.10, 3.11, 3.12 и 3.13 можно сделать следующие выводы: на студентов которые не выбрали стратегию «учится хорошо» не влияют никакие факторы; на студентов которые выбрали стратегию «учится хорошо» влияет фактор "Объяснение и понимание материала им сложно воспринимать новый материал, бытовые факторы не влияют, динамика отсутствует, личностные факторы не влияют на хорошистов, а вот другие факторы влияют, позитивно.

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

Рисунок убран из работы и доступен только в оригинальном файле.

Рис. 2.1. «Факторы, от которых зависит прогнозируемая оценка»

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

Рисунок убран из работы и доступен только в оригинальном файле.

Рис.2.2. «Факторы, от которых зависит от которых зависит успеваемости»

Рисунок убран из работы и доступен только в оригинальном файле.

Рис.2.3. «Факторы, от которых зависит от которых зависит посещаемость»

Рисунок убран из работы и доступен только в оригинальном файле.

Рис.2.3. «Факторы, от которых зависит от которых зависят личные факторы»

Базу данных нашей системы наполняет сам пользователь, для этого отвечая на следующий набор вопросов:

1.  Проживаете ли вы в общежитии?(Yes or No).

2.  Хорошие ли у Вас отношения с одногрупниками?( Yes or No).

3.  Хорошие ли у Вас отношения с куратором?( Yes or No).

4.  Ваши родители одобряют Ваш выбор? ( Yes or No).

5.  Вам нравится Ваша специальность? ( Yes or No).

6.  Сколько часов в день Вы тратите на выполнение лабораторных работ(1,2,3)?

7.  Сколько часов в день Вы тратите на подготовку к лекциям(1,2,3)?

8.  Сколько раз в месяц вы посещаете библиотеку(1,2,3)?

9.  Оцените по 100-балльной системе Ваше посещение лекций?

10.  Оцените по 100-балльной системе Ваше посещение практических занятий?

11.  Какой у Вас средний балл прошлой сессии(3,4,5)?

12.  Вы довольны результатами предыдущей сессии?

13.  Ваш средний балл аттестата в школе(3,4,5)?

14.  Ваша школа имеет высокий уровень по техническим предметам?

15.  Ваша текущая успеваемость, примерно в баллах(3,4,5)?

16.  Вы считаете, что полностью отдаетесь учебе?

17.  На каком курсе вы учитесь?

Выводы по разделу 2

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

РАЗДЕЛ 3. ПРОЕКТИРОВАНИЕ ЭКСПЕРТНОЙ СИСТЕМЫ

3.1 Описание языка логического программирования SWIProlog

SWI-Prolog - язык и система логического программирования, основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка.

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

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

Особую роль в интерпретаторе Пролога играют конкретные запросы к базам знаний, на которые система логического программирования генерирует ответы «истина» и «ложь».

Для обобщённых запросов с переменными в качестве аргументов созданная систем Пролог выводит конкретные данные в подтверждение истинности обобщённых сведений и правил вывода.

Факты в базах знаний на языке Пролог представляют конкретные сведения (знания). Обобщённые сведения и знания в языке Пролог задаются правилами логического вывода (определениями) и наборами таких правил вывода (определений) над конкретными фактами и обобщёнными сведениями.

Начало истории языка относится к 1970-м годам.[7] Будучи декларативным языком программирования, Пролог воспринимает в качестве программы некоторое описание задачи или баз знаний и сам производит логический вывод, а также поиск решения задач, пользуясь механизмом бэктрекинга (англ. backtracking) и унификацией.

Prolog использует один тип данных, терм, который бывает нескольких типов:

- атом это отдельный объект, считающийся элементарным. В SWI-Prolog атом представляется последовательностью букв нижнего и верхнего регистра, цифр и символа подчеркивания ‘_’, начинающейся со строчной буквы. Кроме того, любой набор допустимых символов, заключенный в апострофы, также является атомом. Наконец, комбинации специальных символов + - * = < > : & также являются атомами;

- числа в SWI-Prolog бывают целыми (Integer) и вещественными (Float).;

- переменная являются строки символов, цифр и символа подчеркивания, начинающиеся с заглавной буквы или символа подчеркивания;

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

Факт – это утверждение о том, что соблюдается некоторое конкретное отношение. Он является безусловно верным.

Арифметические выражения в языке SWI-Prolog имеется ряд встроенных функций для вычисления арифметических выражений, некоторые из которых перечислены в таблице 3.1.

Таблица 3.1.

«Арифметические выражения»

--------------------------------------------------
X + Y | Сумма X и Y |
---------------------------------------------------------
X - Y | Разность X и Y |
---------------------------------------------------------
X * Y | Произведение X и Y |
---------------------------------------------------------
X / Y | Деление X на Y |
---------------------------------------------------------
X mod Y | Остаток от деления X на Y |
---------------------------------------------------------
X // Y | Деление нацело X на Y |
---------------------------------------------------------
X ** Y | Возведение X в степень Y |
---------------------------------------------------------
- X | Смена знака X |
---------------------------------------------------------
abs(X) | Абсолютная величина числа X |
---------------------------------------------------------
max(X, Y) | Большее из чисел X и Y |
---------------------------------------------------------
min(X, Y) | Меньшее из чисел X и Y |
---------------------------------------------------------
sqrt(X) | Квадратный корень из X |
---------------------------------------------------------
random(Int) | Случайное целое число в диапазоне от 0 до Int |
---------------------------------------------------------
sin(X) | Синус X |
---------------------------------------------------------
cos(X) | Косинус X |
---------------------------------------------------------
tan(X) | Тангенс X |
---------------------------------------------------------
log(X) | Натуральный логарифм (ln) числа X |
---------------------------------------------------------
log10(X) | Десятичный логарифм (lg) числа X |
---------------------------------------------------------
float(X) | Вещественное число, соответствующее целому числу X |
---------------------------------------------------------
pi |

3.14159 (приближенное значение числа Рисунок убран из работы и доступен только в оригинальном файле.)

|
---------------------------------------------------------
е | 2.71828 (приближенное значение числа е) |
--------------------------------------------------------- --------------------------------------------------

Список символов может быть представлен в виде строк, например, первый аргумент составного терма возраст (‘Борис’,10) - строка. При записи строки заключаются в кавычки.

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

В общем случае предикат – это логическая функция от одного или нескольких аргументов, то есть функция, действующая в множество из двух значений: истина и ложь. Предикат SWI-Prolog записывается в виде составного терма:

имя_предиката (аргументы).

База данных на SWI-Prolog – это совокупность фактов. В процессе работы в базу данных можно добавлять новые факты, удалять или изменять старые.

Запрос - это последовательность предикатов, разделенных запятыми и завершающаяся точкой. С помощью запросов можно “спрашивать” базу данных о том, какие утверждения являются истинными. Предикат запроса называется целью.

Кроме фактов программы на языке SWI-Prolog могут содержать правила, позволяющие получать дополнительные знания о том мире, который описывает программа. Правило задает новый предикат через определенные ранее.

Правило состоит из головы (предиката) и тела (последовательности предикатов, разделенных запятыми). Голова и тело разделены знаком ‘:–’ и, подобно каждой фразе SWI-Prolog, правило должно заканчиваться точкой.

Знак ‘:–’ есть схематическая запись стрелки (<-) и показывает, что из правой части следует левая. Этот знак читается как “если”. Интуитивный смысл правила состоит в том, что цель, являющаяся головой, будет истинной, если SWI-Prolog сможет показать, что все выражения (подцели) в теле правила являются истинными.

3.2 Создание правил продукционной модели

Входные данные продукционной модели представим в таблице 3.2 в виде таблицы в которой будет представлен вопрос, переменная которая ему соответствует и варианты ответа.

Таблица 3.2

«Входные данные»

--------------------------------------------------
Вопрос | Переменная | Варианты ответа |
---------------------------------------------------------
18.  На каком курсе вы учитесь? | KYRS |

- 1(1 курс)

- 2(2 -6 курсы)

|
---------------------------------------------------------
19.  Проживаете ли вы в общежитии? | LP |

- Yes

- No

|
---------------------------------------------------------
20.  Хорошие ли у Вас отношения с одногрупниками? | LIO |

- Yes

- No

|
---------------------------------------------------------
21.  Хорошие ли у Вас отношения с куратором? | LIK |

- Yes

- No

|
---------------------------------------------------------
22.  Ваши родители одобряют Ваш выбор? | LSR |

- Yes

- No

|
---------------------------------------------------------
23.  Вам нравится Ваша специальность? | LSS |

- Yes

- No

|
---------------------------------------------------------
24.  Сколько часов в день Вы тратите на выполнение лабораторных работ? | PSP |

- 1

- 2

- 3

|
---------------------------------------------------------
25.  Сколько часов в день Вы тратите на подготовку к лекциям? | PSL |

- 1

- 2

- 3

|
---------------------------------------------------------
26.  Сколько раз в месяц вы посещаете библиотеку? | PSB |

- 1

- 2

- 3

|
---------------------------------------------------------
27.  Оцените по 100-балльной системе Ваше посещение лекций? | PL |

- 30

- 60

- 100

|
---------------------------------------------------------
28.  Оцените по 100-балльной системе Ваше посещение практических занятий? | PP |

- 30

- 60

- 100

|
---------------------------------------------------------
29.  Какой у Вас средний балл прошлой сессии? | YSB |

- 3

- 4

- 5

|
---------------------------------------------------------
30.  Вы довольны результатами предыдущей сессии? | YSS |

- Yes

- No

|
---------------------------------------------------------
31.  Ваш средний балл аттестата в школе? | YHB |

- 3

- 4

- 5

|
---------------------------------------------------------
32.  Ваша школа имеет высокий уровень по техническим предметам? | YHY |

- Yes

- No

|
---------------------------------------------------------
33.  Ваша текущая успеваемость, примерно в баллах? | YTB |

- 3

- 4

- 5

|
---------------------------------------------------------
34.  Вы считаете, что полностью отдаетесь учебе? | YTS |

- Yes

- No

|
--------------------------------------------------------- --------------------------------------------------

На основе этих данных построим базу знаний продукционной модели с помощью простой конструкции :

Если (условие), то (действие),

Набор правил для экспертной системы прогнозирования сдачи сессии студентами на основании текущей успеваемости:

3.  If LIO=”Yes” and LIK=”Yes” then LI = “Yes”

4.  If LIO=”Yes” and LIK=”No” then LI = “Yes”

5.  If LIO=”No” and LIK=”Yes” then LI = “No”

6.  If LIO=”No” and LIK=”No” then LI = “No”

7.  If LSR=”Yes” and LSS=”Yes” then LS= “Yes”

8.  If LSR=”Yes” and LSS=”No” then LS= “No”

9.  If LSR=”No” and LSS=”Yes” then LS= “Yes”

10.  If LSR=”No” and LSS=”No” then LS= “No”

11.  If LS=”Yes” and LI=”Yes” and LP = “Yes” then L= “good”

12.  If LS=”Yes” and LI=”Yes” and LP = “No” then L= “good”

13.  If LS=”Yes” and LI=”No” and LP = “Yes” then L= “good”

14.  If LS=”Yes” and LI=”No” and LP = “No” then L= “bed”

15.  If LS=”No” and LI=”Yes” and LP = “No” then L= “good”

16.  If LS=”No” and LI=”Yes” and LP = “Yes” then L= “good”

17.  If LS=”No” and LI=”No” and LP = “Yes” then L= “bed”

18.  If LS=”No” and LI=”No” and LP = “No” then L= “bed”

19.  If PSL=1 and PSP=1 and PSB=1 then PS= 1

20.  If PSL=1 and PSP=1 and PSB=2 then PS= 1

21.  If PSL=1 and PSP=1 and PSB=3 then PS= 2

22.  If PSL=1 and PSP=2 and PSB=1 then PS= 2

23.  If PSL=1 and PSP=2 and PSB=2 then PS= 3

24.  If PSL=1 and PSP=2 and PSB=3 then PS= 2

25.  If PSL=1 and PSP=3 and PSB=1 then PS= 2

26.  If PSL=1 and PSP=3 and PSB=2 then PS= 3

27.  If PSL=1 and PSP=3 and PSB=3 then PS= 3

28.  If PSL=2 and PSP=1 and PSB=1 then PS= 2

29.  If PSL=2 and PSP=1 and PSB=2 then PS= 2

30.  If PSL=2 and PSP=1 and PSB=3 then PS= 3

31.  If PSL=2 and PSP=2 and PSB=1 then PS= 2

32.  If PSL=2 and PSP=2 and PSB=2 then PS= 2

33.  If PSL=2 and PSP=2 and PSB=3 then PS= 3

34.  If PSL=2 and PSP=3 and PSB=1 then PS= 3

35.  If PSL=2 and PSP=3 and PSB=2 then PS= 3

36.  If PSL=2 and PSP=3 and PSB=3 then PS= 3

37.  If PSL=3 and PSP=1 and PSB=1 then PS= 2

38.  If PSL=3 and PSP=1 and PSB=2 then PS= 2

39.  If PSL=3 and PSP=1 and PSB=3 then PS= 3

40.  If PSL=3 and PSP=2 and PSB=1 then PS= 2

41.  If PSL=3 and PSP=2 and PSB=2 then PS= 3

42.  If PSL=3 and PSP=2 and PSB=3 then PS= 3

43.  If PSL=3 and PSP=3 and PSB=1 then PS= 3

44.  If PSL=3 and PSP=3 and PSB=2 then PS= 3

45.  If PSL=3 and PSP=3 and PSB=3 then PS= 3

46.  If PL<30 and PP<30 and PS=1 then P=1

47.  If PL<30 and PP<30 and PS=2 then P=1

48.  If PL<30 and PP<30 and PS=3 then P=2

49.  If PL<30 and 30<PP<60 and PS=1 then P=1

50.  If PL<30 and 30<PP<60 and PS=2 then P=2

51.  If PL<30 and 30<PP<60 and PS=3 then P=2

52.  If PL<30 and PP>60 and PS=1 then P=2

53.  If PL<30 and PP>60 and PS=2 then P=2

54.  If PL<30 and PP>60 and PS=3 then P=3

55.  If 30<PL<60 and PP<30 and PS=1 then P=1

56.  If 30<PL<60 and PP<30 and PS=2 then P=1

57.  If 30<PL<60 and PP<30 and PS=3 then P=2

58.  If 30<PL<60 and 30<PP<60 and PS=1 then P=1

59.  If 30<PL<60 and 30<PP<60 and PS=2 then P=2

60.  If 30<PL<60 and 30<PP<60 and PS=3 then P=2

61.  If 30<PL<60 and PP>60 and PS=1 then P=2

62.  If 30<PL<60 and PP>60 and PS=2 then P=2

63.  If 30<PL<60 and PP>60 and PS=3 then P=3

64.  If PL>60 and PP<30 and PS=1 then P=1

65.  If PL>60 and PP<30 and PS=2 then P=1

66.  If PL>60 and PP<30 and PS=3 then P=2

67.  If PL>60 and 30<PP<60 and PS=1 then P=1

68.  If PL>60 and 30<PP<60 and PS=2 then P=3

69.  If PL>60 and 30<PP<60 and PS=3 then P=3

70.  If PL>60 and PP>60 and PS=1 then P=2

71.  If PL>60 and PP>60 and PS=2 then P=2

72.  If PL>60 and PP>60 and PS=3 then P=3

73.  If YHB=3 and YHY=”Yes” then YH=3

74.  If YHB=3 and YHY=”No” then YH=3

75.  If YHB=4 and YHY=”Yes” then YH=5

76.  If YHB=4 and YHY=”No” then YH=4

77.  If YHB=5 and YHY=”Yes” then YH=5

78.  If YHB=5 and YHY=”No” then YH=4

79.  If YTB=3 and YTS=”Yes” then YT=3

80.  If YTB =3 and YTS =”No” then YT=3

81.  If YTB =4 and YTS =”Yes” then YT=3

82.  If YTB =4 and YTS =”No” then YT=4

83.  If YTB =5 and YTS =”Yes” then YT=5

84.  If YTB =5 and YTS =”No” then YT=5

85.  If YSB=3 and YSS=”Yes” then YS=3

86.  If YSB=3 and YSS=”No” then YS=3

87.  If YSB=4 and YSS=”Yes” then YS=4

88.  If YSB=4 and YSS=”No” then YS=4

89.  If YSB=5 and YSS=”Yes” then YS=5

90.  If YSB=5 and YSS=”No” then YS=3

91.  If KYRS=1 and YH=3 and YT=3 then Y=3

92.  If KYRS=1 and YH=3 and YT=4 then Y=3

93.  If KYRS=1 and YH=3 and YT=5 then Y=4

94.  If KYRS=1 and YH=4 and YT=3 then Y=3

95.  If KYRS=1 and YH=4 and YT=4 then Y=4

96.  If KYRS=1 and YH=4 and YT=5 then Y=5

97.  If KYRS=1 and YH=5 and YT=3 then Y=4

98.  If KYRS=1 and YH=5 and YT=4 then Y=4

99.  If KYRS=1 and YH=5 and YT=5 then Y=5

100.  If KYRS>1 and YS=3 and YT=3 then Y=3

101.  If KYRS>1 and YS=3 and YT=4 then Y=3

102.  If KYRS>1 and YS=3 and YT=5 then Y=4

103.  If KYRS>1 and YS=4 and YT=3 then Y=4

104.  If KYRS>1 and YS=4 and YT=4 then Y=4

105.  If KYRS>1 and YS=4 and YT=5 then Y=5

106.  If KYRS>1 and YS=5 and YT=3 then Y=4

107.  If KYRS>1 and YS=5 and YT=4 then Y=4

108.  If KYRS>1 and YS=5 and YT=5 then Y=5

109.  If Y=3 and P=1 and L=”bed” then B=3

110.  If Y=3 and P=1 and L=”good” then B=3

111.  If Y=3 and P=2 and L=”bed” then B=3

112.  If Y=3 and P=2 and L=”good” then B=4

113.  If Y=3 and P=3 and L=”bed” then B=3

114.  If Y=3 and P=3 and L=”good” then B=4

115.  If Y=4 and P=1 and L=”bed” then B=3

116.  If Y=4 and P=1 and L=”good” then B=4

117.  If Y=4 and P=2 and L=”bed” then B=4

118.  If Y=4 and P=2 and L=”good” then B=4

119.  If Y=4 and P=3 and L=”bed” then B=5

120.  If Y=4 and P=3 and L=”good” then B=5

121.  If Y=5 and P=1 and L=”bed” then B=4

122.  If Y=5 and P=1 and L=”good” then B=5

123.  If Y=5 and P=2 and L=”bed” then B=4

124.  If Y=5 and P=2 and L=”good” then B=5

125.  If Y=5 and P=3 and L=”bed” then B=5

126.  If Y=5 and P=3 and L=”good” then B=5

При наличии правил базы знаний и входящих в нее базы данных реализуем этот алгоритм в прологе. Листинг программы представлен в приложении 1.

3.3 Реализация пользовательского интерфейса в SWIProlog

3.3.1 Создание интерфейса

XPCE это платформо-независимый GUI тулкит для SWI-Prolog, Lisp и других интерактивный динамически типизированных языков программирования. Хотя XPCE замышлялся, как не привязанный к конкретному языку программирования, наибольшую популярность этот фреймворк получил именно с Prolog. Развитие графической библиотеки XPCE было начато в 1987, совместно с началом работ над SWI-Prolog. Поддерживает кнопки, меню, слайдеры, вкладки и другие базовые GUI виджеты. XPCE доступен на всех платформах, поддерживаемых SWI-Prolog'ом.

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

Make_same_width(Gr1, Gr2) :-

send(Gr1, width, Gr2?width).

create_person_dialog :-

new(D, dialog(‘Enter new person’)),\\создание формы

send(D, append, new(BG, box(0,30)))\\ задаем размеры

send(D, append, new(BI, box(800,0))),

send(D, append, new(F, label)), \\ создание label

send(D, append, new(Name, text_item(name))), \\ считывание данных

send(D, append, new(Age, text_item(age))),

send(D, append, new(Sex, menu(sex, marked))),

send(F, append, ‘To begin testing enter its name and age and press button “ Create “.’), \\ пояснительная надпись на форме

send(Sex, append, female),

send(Sex, append, male),

send(Age, type, int),

send(D, append,

button(create, message(@prolog, create_person,

Name? selection,

Age? selection,

Sex? selection))), \\ кнопка для вывода данных

send(D, default_button, create),send(D, open).

Create_person(Name, Age, Sex) :-

writeln(‘----------------------------------------------------------------‘),

format(‘Student ~w person ~w of ~d years old your estimation –‘,

[Sex, Name, Age]). \\ формат вывода данных:- create_person_dialog.

В результате запуска данной части программы получим всплывающее окно авторизации перед прохождением теста:

Рисунок убран из работы и доступен только в оригинальном файле.

Рис. 3.1. «Форма авторизации»

Рисунок убран из работы и доступен только в оригинальном файле.

Рис. 3.2. «Пример ввода данных»

В результате нажатия на кнопку «Create» появиться следующее окно с вопросами, листинг представлен ниже:

make_name_prompter(P) :-

new(P, dialog),

send(P, kind, transient),

send(P, append, new(BI, box(800,0))),

send(P, append, label(prompt)),

send(P, append,

new(TI, text_item(name, ‘’,

message(P? ok_member, execute)))),

send(P, append, button(ok, message(P, return, TI? selection))),

send(P, append, button(cancel, message(P, return, @nil))).

Ask_name(Prompt, Label, Name) :-

send(@name_prompter? prompt_member, selection, Prompt),

send(@name_prompter? name_member, label, Label),

send(@name_prompter? name_member, clear),

get(@name_prompter, confirm_centered, RawName),

send(@name_prompter, show, @off),

RawName \== @nil,

Name = RawName.

:-ask_name.

В результате выполнения данного отрывка программы получим следующую форму:

Рисунок убран из работы и доступен только в оригинальном файле.

Рис. 3.3. «Форма получения исходных данных»

Рисунок убран из работы и доступен только в оригинальном файле.

Рис/3.4. «Пример заполнения»

3.3.2 Инструкция пользователя

1. Запустить программный продукт. В результате этой операции появиться на экране форма:

Рисунок убран из работы и доступен только в оригинальном файле.

2. Ввести в колонку «Имя» - ваше имя, в колонке «Возраст ваш возраст», и выбрать ваш пол

Здесь опубликована для ознакомления часть дипломной работы "Экспертная система прогнозирования успеваемости студентов в ВУЗах". Эта работа найдена в открытых источниках Интернет. А это значит, что если попытаться её защитить, то она 100% не пройдёт проверку российских ВУЗов на плагиат и её не примет ваш руководитель дипломной работы!
Если у вас нет возможности самостоятельно написать дипломную - закажите её написание опытному автору»


Просмотров: 467

Другие дипломные работы по специальности "Информатика":

Web-сайт для учителей информатики: анализ существующих и разработка нового приложения

Смотреть работу >>

Поиск фотооборудования

Смотреть работу >>

Автоматизированная система складского учета в ЗАО "Белгородский бройлер"

Смотреть работу >>

Автоматизированная система учета договоров страхования предпринимательских рисков

Смотреть работу >>

Создание информационно-справочной системы "Методический кабинет"

Смотреть работу >>