Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 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:

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

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

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

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



