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 Реализация пользовательского интерфейса в SWI-Prolog

 

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. Ввести в колонку «Имя» - ваше имя, в колонке «Возраст ваш возраст», и выбрать ваш пол, а затем нажать кнопку «Create». В результате чего вы увидите еще одну форму:

3. Отвечаете не все вопросы , вводя в графу «Имя » ответ и нажимая «ок». После ответа не последний вопрос в командном окне вы увидите ваш результат , например в таком виде:

--------------------------------------------------------------------------------

Student female person Kseniya of 25 years old your estimation -5

4. Закрываете программу нажатием на красный крестик в верхнем углу.

3.4 Тестирование продукта и расчет его эффективности

Для расчете эффективности системы применим методы регрессионного анализа для этого нужно реализовать экспертную систему в другом пакете для сравнения был выбран пакет MatLab/ Simulink с помощью Fuzzy Logic Toolbox.


Информация о работе «Экспертная система прогнозирования успеваемости студентов в ВУЗах»
Раздел: Информатика, программирование
Количество знаков с пробелами: 107375
Количество таблиц: 20
Количество изображений: 21

Похожие работы

Скачать
27887
0
0

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

Скачать
84959
8
2

... < 1.0 3 6 9 12 Согласно приведенным данным в зависимости от дидактических целей обучения студенты выполняют тесты заданного уровня и знания могут оцениваться по принятой в Агролицее шкале (2 уровень усвоения). Далее, исходя из К усвоения разработка системы рейтинг-контроля проводится по следующему алгоритмы. После изучения дисциплины рассчитывается общий К усвоения каждого студента ...

Скачать
201630
6
6

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

Скачать
131964
2
0

... . М., 1973. С.12-13. Якобсон П.М. Психологические проблемы мотивации поведения человека. М., 1969. Якунин В.А. Психология учебной деятельности студентов. - М.-С.-Пет., 1994 Развитие учебной мотивации студента средствами психологической службы. Барчуков Е.В. АННОТАЦИЯ на дипломную работу “Развитие учебной мотивации студента средствами психологической службы”. Переход от ...

0 комментариев


Наверх