Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Оглавление:

Контрольная работа №1. 2

Задание. 2

Решение. 2

Задача №1. 2

Задача №2. 3

Задача №3. 4

Контрольная работа №2. 9

Задание. 9

Решение. 9

Контрольная работа №3. 14

Задание. 14

Решение. 14

Контрольная работа №1.

Задание

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

Задача № 1. Дать словесную постановку задачи, связанной с деятельностью студента. Эта задача не имеет самостоятельного значения и выполняется только для осмысления студентом той предметной области, которую он выбрал для разработки базы знаний. В дальнейшем задача № 1 используется для упрощения формального представления в задаче № 2 выбранной предметной области.

Задача № 2. Создать набор правил продукции, описывающих последовательность решения задачи № 1. Количество данных правил выбирается студентом самостоятельно. Примерно их может быть 10-20.

Задача № 3. Написать программу на Турбо-Прологе, реализующую возможность работы экспертной системы с базой знаний, состоящей из правил продукции задачи № 2.

Решение

Задача №1

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

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

Задача №2

Создание набора правил продукции.

Построим дерево, определяющее общую диагностику неисправности.

Есть ли изображение на экране?

ДА

НЕТ

Включены ли СБ и МОН в электросеть?

Загружается ли ОС?

ДА

НЕТ

Работает ли СБ?

ДА

НЕТ

ДА

НЕТ

Загружается ли настройка BIOS?

Подключен ли МОН к СБ?

Работают ли УВВ?

ДА

НЕТ

ДА

НЕТ

Проверка:

исправен ли БП?

Отображается ли ЖД в BIOS?

Проверка:

исправен ли МОН?

ДА

НЕТ

ДА

НЕТ

ДА

НЕТ

ДА

НЕТ

Работают ли ПУ?

Подключен ли

ЖД к МП?

Проверка:

исправна ли ВК?

Подключен ли

БП к МП?

ДА

НЕТ

ДА

НЕТ

ДА

НЕТ

ДА

НЕТ

Компьютер исправен

Замена ПУ

Замена УВВ

Переустановить ОС

Замена ЖД

Подключить ЖД к МП

Очистить CMOS

Замена МП

Замена ВК

Замена МОН

Подключить МОН к СБ

Замена МП

Подключить БП к МП

Замена БП

Включить СБ и МОН в электросеть

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

На основании вышеописанного дерева сформулируем набор правил продукции, описывающих принципы диагностики.

Правило 1. Если есть изображение на экране, загружается ОС, работают устройства ввода-вывода и периферийные устройства,

то компьютер исправен.

Правило 2. Если есть изображение на экране, загружается ОС, работают устройства ввода-вывода, но не работает периферийное устройство,

то требуется замена неисправного периферийного устройства.

Правило 3. Если есть изображение на экране, загружается ОС, но не работает устройство ввода-вывода,

то необходимо заменить неисправное устройство ввода-вывода.

Правило 4. Если есть изображение на экране, но не загружается ОС, при этом в настройке BIOS жесткий диск отображается,

то требуется переустановка операционной системы.

Правило 5. Если есть изображение на экране, но не загружается ОС, при этом в настройке BIOS жесткий диск не отображается, хотя он подключен к материнской плате,

то необходимо заменить жесткий диск.

Правило 6. Если есть изображение на экране, но не загружается ОС, при этом в настройке BIOS жесткий диск не отображается вследствие того, что он не подключен к материнской плате,

то требуется подключить жесткий диск к материнской плате.

Правило 7. Если есть изображение на экране, но не загружается ОС, и нет возможности войти в настройку BIOS,

то необходимо очистить CMOS.

Правило 8. Если нет изображения на экране, при этом системный блок и монитор подключены к электросети, системный блок работает, монитор подключен к системному блоку, и монитор и видеокарта проверены,

то требуется замена материнской платы.

Правило 9. Если нет изображения на экране, при этом системный блок и монитор подключены к электросети, системный блок работает, монитор подключен к системному блоку и проверен, а видеокарта неисправна,

то требуется замена видеокарты.

Правило 10. Если нет изображения на экране, при этом системный блок и монитор подключены к электросети, системный блок работает, монитор подключен к системному блоку, но неисправен,

то требуется замена монитора.

Правило 11. Если нет изображения на экране, при этом системный блок и монитор подключены к электросети, системный блок работает, но монитор к нему не подключен,

НЕ нашли? Не то? Что вы ищете?

то необходимо подключить монитор к системному блоку.

Правило 12. Если нет изображения на экране, при этом системный блок и монитор подключены к электросети, а системный блок не работает, хотя блок питания проверен и подключен к материнской плате,

то требуется замена материнской платы.

Правило 13. Если нет изображения на экране, при этом системный блок и монитор подключены к электросети, а системный блок не работает, блок питания проверен, но не подключен к материнской плате,

то необходимо подключить блок питания к материнской плате.

Правило 14. Если нет изображения на экране, при этом системный блок и монитор подключены к электросети, а системный блок не работает и блок питания неисправен,

то требуется замена блока питания.

Правило 15. Если нет изображения на экране и монитор или системный блок не подключены к электросети,

то необходимо, чтобы системный блок и монитор были подключены к электросети.

Задача №3.

Программа на языке Prolog.

/* Программа позволяет неопытному пользователю */

/* самостоятельно определить неисправность компьютера, */

/* не позволяющую загрузить операционную систему. */

domains

database

xpositive(symbol)

xnegative(symbol)

predicates

do_expert_job

do_consulting

ask(symbol)

process(integer)

answer()

show_menu

cons

positive(symbol)

negative(symbol)

remember(symbol, symbol)

clear_facts

goal

do_expert_job.

clauses

/* Система пользовательского интерфейса */

do_expert_job:-

show_menu,

readchar(_),

removewindow,

exit.

show_menu:-

makewindow(1,30,30," Меню ",3,2,16,34),

write(" Экспертная система для "),nl,

write(" диагностики компьютера "),nl,

write(" Студента "),nl,

write(" Шифр: 24-0094, спец. 2201 "),nl,

write(""),nl,

write("1.Режим экспертизы компьютера"),nl,

write("2.Выход из экспертной системы"),nl,

write(" Выберите пункт меню: "),

readint(Choice),

process(Choice).

process(1):-

cons.

process(2):-

removewindow,

exit.

cons:-

makewindow(1,30,30," Экспертная система",1,10,23,60),

nl, write(""),

nl, write("Данная система осуществляет "),

nl, write("диагностику компьютера "),

nl, write("Вам необходимо ответить на ряд вопросов."),

nl, write("Отвечайте латиницей y (да) или n (нет) "),

nl, write(""),

nl, nl, do_consulting.

do_consulting:-

answer(),!,nl, nl, nl,

write("Экспертиза окончена"),

clear_facts.

do_consulting :-

nl, write("Компьютер исправен!"),

clear_facts.

ask(X):-

write(X,"?"),

readln(Reply),

remember(X, Reply).

/* Вывод на экран */

positive(X):-

xpositive(X),!.

positive(X):-

not(negative(X)),!,ask(X).

negative(X):-

xnegative(X),!.

remember(X,"y"):-

asserta(xpositive(X)).

remember(X,"n"):-

asserta(xnegative(X)),fail.

clear_facts:-

retract(xpositive(_)),fail.

clear_facts:-

retract(xnegative(_)),fail.

/*Правило 1*/

answer():-

positive("Есть ли изображение на экране"),

positive("Загружается ли операционная система"),

positive("Работают ли устройства ввода-вывода"),

positive("Работают ли периферийные устройства"),

write("Компьютер исправен либо проблема неизвестна"),!.

/*Правило 2*/

answer():-

positive("Есть ли изображение на экране"),

positive("Загружается ли операционная система"),

positive("Работают ли устройства ввода-вывода"),

negative("Работают ли периферийные устройства"),

write("Требуется замена неисправного периферийного устройства"),!.

/*Правило 3*/

answer():-

positive("Есть ли изображение на экране"),

positive("Загружается ли операционная система"),

negative("Работают ли устройства ввода-вывода"),

write("Необходимо заменить неисправное устройство ввода-вывода"),!.

/*Правило 4*/

answer():-

positive("Есть ли изображение на экране"),

negative("Загружается ли операционная система"),

positive("Загружается ли настройка BIOS"),

positive("Отображается ли жесткий диск в BIOS"),

write("Tребуется переустановка операционной системы"),!.

/*Правило 5*/

answer():-

positive("Есть ли изображение на экране"),

negative("Загружается ли операционная система"),

positive("Загружается ли настройка BIOS"),

negative("Отображается ли жесткий диск в BIOS"),

positive("Подключен ли жесткий диск к материнской плате"),

write("Hеобходимо заменить жесткий диск"),!.

/*Правило 6*/

answer():-

positive("Есть ли изображение на экране"),

negative("Загружается ли операционная система"),

positive("Загружается ли настройка BIOS"),

negative("Отображается ли жесткий диск в BIOS"),

negative("Подключен ли жесткий диск к материнской плате"),

write("Tребуется подключить жесткий диск к материнской плате"),!.

/*Правило 7*/

answer():-

positive("Есть ли изображение на экране"),

negative("Загружается ли операционная система"),

negative("Загружается ли настройка BIOS"),

write("Hеобходимо очистить CMOS"),!.

/*Правило 8*/

answer():-

negative("Есть ли изображение на экране"),

positive("Включены ли системный блок и монитор в электросеть"),

positive("Работает ли системный блок"),

positive("Подключен ли монитор к системному блоку"),

positive("Проверка: исправен ли монитор"),

positive("Проверка: исправна ли видеокарта"),

write("Tребуется замена материнской платы"),!.

/*Правило 9*/

answer():-

negative("Есть ли изображение на экране"),

positive("Включены ли системный блок и монитор в электросеть"),

positive("Работает ли системный блок"),

positive("Подключен ли монитор к системному блоку"),

positive("Проверка: исправен ли монитор"),

negative("Проверка: исправна ли видеокарта"),

write("Tребуется замена видеокарты"),!.

/*Правило 10*/

answer():-

negative("Есть ли изображение на экране"),

positive("Включены ли системный блок и монитор в электросеть"),

positive("Работает ли системный блок"),

positive("Подключен ли монитор к системному блоку"),

negative("Проверка: исправен ли монитор"),

write("Tребуется замена монитора"),!.

/*Правило 11*/

answer():-

negative("Есть ли изображение на экране"),

positive("Включены ли системный блок и монитор в электросеть"),

positive("Работает ли системный блок"),

negative("Подключен ли монитор к системному блоку"),

write("Hеобходимо подключить монитор к системному блоку"),!.

/*Правило 12*/

answer():-

negative("Есть ли изображение на экране"),

positive("Включены ли системный блок и монитор в электросеть"),

negative("Работает ли системный блок"),

positive("Проверка: исправен ли блок питания"),

positive("Подключен ли блок питания к материнской плате"),

write("Tребуется замена материнской платы"),!.

/*Правило 13*/

answer():-

negative("Есть ли изображение на экране"),

positive("Включены ли системный блок и монитор в электросеть"),

negative("Работает ли системный блок"),

positive("Проверка: исправен ли блок питания"),

negative("Подключен ли блок питания к материнской плате"),

write("Hеобходимо подключить блок питания к материнской плате"),!.

/*Правило 14*/

answer():-

negative("Есть ли изображение на экране"),

positive("Включены ли системный блок и монитор в электросеть"),

negative("Работает ли системный блок"),

negative("Проверка: исправен ли блок питания"),

write("Tребуется замена блока питания"),!.

/*Правило 15*/

answer():-

negative("Есть ли изображение на экране"),

negative("Включены ли системный блок и монитор в электросеть"),

write("Hеобходимо, чтобы системный блок и монитор были подключены к электросети"),!.

Контрольная работа №2.

Задание.

Реализовать на программном комплексе ЭКО возможность работы экспертной системы с базой знаний, состоящей из правил продукции вышерассмотренной контрольной работы №1.

Решение.

Правила и описание системы позаимствуем из контрольной работы №1.

Объявим символьные атрибуты системы, которые имеют только два значения: «да» либо «нет»:

изображение

загрузка_ОС

устройства_ВВ

устройства_пер

загрузка_BIOS

ЖД_в_BIOS

ЖД_подключен

компьютер_вкл

СБ_работает

БП_проверка

БП_подключен

МОН_подключен

МОН_проверка

ВК_проверка

Для каждого значения символьного атрибута будет прописано безусловное правило-вопрос:

А_изображение

А_загрузка_ОС

А_устройства_ВВ

А_устройства_пер

А_загрузка_BIOS

А_ЖД_в_BIOS

А_ЖД_подключен

А_компьютер_вкл

А_СБ_работает

А_БП_проверка

А_БП_подключен

А_МОН_подключен

А_МОН_проверка

А_ВК_проверка

Есть ли изображение на экране?

Загружается ли операционная система?

Работают ли устройства ввода-вывода?

Работают ли периферийные устройства?

Загружается ли настройка BIOS?

Отображается ли жесткий диск в настройке BIOS?

Подключен ли жесткий диск к материнской плате?

Включены ли системный блок и монитор в электросеть?

Работает ли системный блок?

Проверьте блок питания. Исправен ли он?

Подключен ли блок питания к материнской плате?

Подключен ли монитор к системному блоку?

Проверьте монитор. Исправен ли он?

Проверьте видеокарту. Исправна ли она?

Далее необходимо прописать сценарий обработки правил:

Комментарий

ЕСЛИ

ТО

СООБЩЕНИЕ

0

Вход в систему

СООБЩЕНИЕ

Добро пожаловать в систему диагностики компьютера.

1

Запуск

ЦЕЛЬ изображение

2

изображение. YES

ПЕРЕХОД 33

3

изображение. NO

ЦЕЛЬ компьютер_вкл

4

компьютер_вкл. YES

ПЕРЕХОД 7

5

компьютер_вкл. NO

СООБЩЕНИЕ

Необходимо включить системный блок и монитор в электросеть

6

ВЫХОД

7

ПЕРЕХОД с

компьютер_вкл. YES

ЦЕЛЬ СБ_работает

8

СБ_работает. YES

ПЕРЕХОД 19

9

СБ_работает. NO

ЦЕЛЬ БП_проверка

10

БП_проверка. YES

ПЕРЕХОД 13

11

БП_проверка. NO

СООБЩЕНИЕ

Требуется замена блока питания

12

ВЫХОД

13

ПЕРЕХОД с

БП_проверка. YES

ЦЕЛЬ БП_подключен

14

БП_подключен. YES

ПЕРЕХОД 17

15

БП_подключен. NO

СООБЩЕНИЕ

Необходимо подключить блок питания к материнской плате

16

ВЫХОД

17

ПЕРЕХОД с

БП_подключен. YES

СООБЩЕНИЕ

Требуется замена материнской платы

18

ВЫХОД

19

ПЕРЕХОД с

СБ_работает. YES

ЦЕЛЬ МОН_подключен

20

МОН_подключен. YES

ПЕРЕХОД 23

21

МОН_подключен. NO

СООБЩЕНИЕ

Необходимо подключить монитор к системному блоку

22

ВЫХОД

23

ПЕРЕХОД с

МОН_подключен. YES

ЦЕЛЬ МОН_проверка

24

МОН_проверка. YES

ПЕРЕХОД 27

25

МОН_проверка. NO

СООБЩЕНИЕ

Требуется замена монитора

26

ВЫХОД

27

ПЕРЕХОД с

МОН_проверка. YES

ЦЕЛЬ ВК_проверка

28

ВК_проверка. YES

ПЕРЕХОД 31

29

ВК_проверка. NO

СООБЩЕНИЕ

Необходимо заменить видеокарту

30

ВЫХОД

31

ПЕРЕХОД с

ВК_проверка. YES

СООБЩЕНИЕ

Требуется замена материнской платы

32

ВЫХОД

33

ПЕРЕХОД с

изображение. YES

ЦЕЛЬ загрузка_ОС

34

загрузка_ОС. YES

ПЕРЕХОД 49

35

загрузка_ОС. NO

ЦЕЛЬ загрузка_BIOS

36

загрузка_BIOS. YES

ПЕРЕХОД 39

37

загрузка_BIOS. NO

СООБЩЕНИЕ

Попробуйте очистить CMOS

38

ВЫХОД

39

ПЕРЕХОД с

загрузка_BIOS. YES

ЦЕЛЬ ЖД_в_BIOS

40

ЖД_в_BIOS. YES

ПЕРЕХОД 47

41

ЖД_в_BIOS. NO

ЦЕЛЬ ЖД_подключен

42

ЖД_подключен. YES

ПЕРЕХОД 45

43

ЖД_подключен. NO

СООБЩЕНИЕ

Требуется подключить жесткий диск к материнской плате

44

ВЫХОД

45

ПЕРЕХОД с

ЖД_подключен. YES

СООБЩЕНИЕ

Необходимо заменить жесткий диск

46

ВЫХОД

47

ПЕРЕХОД с

ЖД_в_BIOS. YES

СООБЩЕНИЕ

Требуется переустановка операционной системы

48

ВЫХОД

49

ПЕРЕХОД с

загрузка_ОС. YES

ЦЕЛЬ устройства_ВВ

50

устройства_ВВ. YES

ПЕРЕХОД 53

51

устройства_ВВ. NO

СООБЩЕНИЕ

Необходимо заменить неисправное устройство ввода-вывода

52

ВЫХОД

53

ПЕРЕХОД с

устройства_ВВ

ЦЕЛЬ устройства_пер

54

устройства_пер. YES

ПЕРЕХОД 57

55

устройства_пер. NO

СООБЩЕНИЕ

Требуется заменить неисправное периферийное устройство

56

ВЫХОД

57

ПЕРЕХОД с

устройства_пер. YES

СООБЩЕНИЕ

КОМПЬЮТЕР ИСПРАВЕН!

58

ВЫХОД

Вводим символьные атрибуты, их значения и правила:

Вводим сценарий:

Тестируем систему на наличие ошибок:

Выходим в режим консультации:

Контрольная работа №3.

Задание.

Реализовать пример задачи нечёткого вывода с помощью средств системы MATLAB.

Решение.

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

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

1. Если количество людей в группе большое, а средний IQ группы низкий, то вероятность решения задачи - низкая.

2. Если группа средняя, то вероятность решения задачи - средняя.

3. Если группа небольшая или средний IQ группы высокий, то вероятность решения поставленной задачи высокая.

В качестве входных параметров системы нечеткого вывода рассматриваются две нечеткие лингвистические переменные: «количество людей» и «IQ группы», а в качестве выходных параметров – нечеткая лингвистическая переменная «вероятность решения».

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

Т1 = {«большое», «среднее», «малое»}.

В качестве терм - множества второй лингвистической переменной «IQ группы» используется множество:

Т2 = {«высокий», «низкий»}.

В качестве терм – множества выходной лингвистической переменной «вероятность решения» используется множество:

Т3 = {«низкая», «средняя», «высокая»}.

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

Правило 1. ЕСЛИ «количество людей большое» и «IQ группы низкий», ТО «вероятность решения низкая».

Правило 2. ЕСЛИ «количество людей среднее», ТО «вероятность решения средняя».

Правило 3. ЕСЛИ «количество людей малое» и «IQ группы высокий», ТО «вероятность решения высокая».

Реализация системы нечеткого вывода.

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

Для переменной «Количество людей» выбраны три терма «большое», «среднее», «малое» с диапазоном изменения от 5 до 20:

Для переменной «IQ группы» выбраны два терма «высокий» и «низкий» с диапазоном изменения от 60 до 150:

Для выходной переменной «вероятность решения» выбраны три терма «большая», «средняя», «низкая» с диапазоном изменения от 0 до 100:

Указав количество входных и выходных переменных, определив их название и построив соответствующие функции принадлежности, переходим к созданию набора продукций.

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

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

Далее воспользовавшись средством просмотра поверхности вывода, мы графически отображаем зависимость выхода системы двух входных переменных.

Дополнительно мы можем получить график зависимости выходной переменной от одной входной переменной.