Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика..rtf
Скачиваний:
5
Добавлен:
24.09.2019
Размер:
20.35 Mб
Скачать

2.4. Разработка системы принятия решений о диагностике неисправности телевизора

Требуется разработать систему принятия решения для предварительной диагностики неисправности телевизора. Исходная база знаний приведена в табл.9.

Таблица 9

Атрибут

Весовой фактор

пп

Вид неисправности

(факт)

атрибута

Отсутствуют:

1

Сгорел

Звук

5

предохранитель

Изображение

5

Световое заполнение экрана

30

2

Неисправна антенна

Звук

20

Изображение

20

Световое заполнение экрана

0

3

Неисправен кинескоп

Звук

0

Изображение

20

Световое заполнение экрана

10

Цвет

10

Схема решения задачи включает все этапы, описанные в п. 2.2.

  1. Разработка базы данных

Проводятся аналогично описанию 2.2.2. Отличие данной задачи от предыдущих состоит в том, что атрибуты повторяются для разных видов неисправностей. Поэтому ответив один раз положительно на вопрос, например, «Отсутствует звук?» для неисправности «Сгорел предохранитель», необходимо повторить тот же ответ («Да») для неисправностей «Неисправна антенна» и «Неисправен кинескоп».

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

Поместим тестовый вариант заполнения БД в табл. 10.

Таблица 10

Атрибут

Ответ

Весовой фактор

пп

Вид неисправности

(факт)

атрибута

Отсутствуют:

1

Сгорел

Звук?

Да

5

предохранитель

Изображение?

Да

5

Световое заполнение

экрана?

Нет

0

Общий весовой фактор неисправности 1 (ВФ 1)

10

2

Неисправна

Звук?

Да

20

антенна

Изображение?

Да

20

Световое заполнение

экрана?

Нет

0

Общий весовой фактор неисправности 2 (ВФ 2)

40

3

Неисправен

Звук?

Да

0

кинескоп

Изображение?

Да

20

Световое заполнение

экрана?

Нет

0

Цвет?

Да

10

Общий весовой фактор неисправности 3 (ВФ 3)

30

Для тестового варианта заполнения БД подсчитаем сумму баллов, (общих весовых факторов - ВФ), которые “набрала” каждая из неисправностей:

Предохранитель: ВФ1=5+5+0=10.

Антенна: ВФ2=20+20+0=40.

Кинескоп: ВФ3=0+20+0+10=30.

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

неисправность “Антенна”. Следовательно, можно принять решение для предварительной диагностики неисправности этого телевизора: “наиболее вероятно, что неисправна антенна”.

Разрабатываемая система принятия решения должна использоваться многократно для анализа различных вариантов неисправностей и предусматривать возможность многократного обновления БД (т.е. для каждого телевизора создается своя БД).

  1. Построение дерева принятия решения

Построим дерево решения для нашего примера. Пусть БД табл.10 заполнена ответами. (В общем виде эта БД хранится в нашем компьютере. Поскольку для каждого телевизора она задается заново, мы заранее не знаем величин ВФ1, ВФ2 и ВФ3). На основе данного варианта БД проведены расчеты общих весовых факторов. Теперь нужно проанализировать их значения и найти максимальный. Максимальному значению общего весового фактора будет соответствовать наиболее вероятная неисправность. Дерево решения имеет вид рис.3.

Рис. 3

На каждом уровне решения сравниваются значения общих весовых факторов двух неисправностей. Из вершины проверки условия выходят две ветви: “Да” и “Нет”. Переход по ветви “Да” происходит, если условие, записанное в вершине, выполняется, и по ветви “Нет” - в противном случае.

Проанализируем сначала случай, когда условие ВФ1>ВФ2 выполнилось. Очевидно, что для нахождения максимального весового фактора нужно сравнить ВФ1 и ВФ3. Поэтому ветка “Да” завершается новой вершиной проверки условия ВФ1>ВФ3. Если и это условие выполнится, можно утверждать, что максимальным является ВФ1. Поэтому по ветке “Да” приходим к вершине принятия решения (прямоугольник) - “Предохранитель”. Если условие ВФ1>ВФ3 не выполнилось, это означает, что ВФ3>ВФ1. В этом случае максимальным является ВФ3, и ветка “Нет” блока проверки ВФ1>ВФ3 приводит к блоку принятия решения “Кинескоп”.

Если условие ВФ1>ВФ2 не выполняется, для нахождения максимального весового фактора нужно сравнить ВФ2 и ВФ3. По ветке “Нет” блока проверки условия ВФ1>ВФ2 приходим к вершине проверки условия ВФ2>ВФ3. Если это условие выполняется (ветка “Да”), предусмотрен блок принятия решения “Антенна”, если не выполняется (ветка “Нет”), максимальным является ВФ3, и вновь идем на принятие решения “Кинескоп”.

  1. Реализация системы принятия решения в электронной таблице (ЭТ)

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

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

1. Создать базу знаний.

  1. Создать базу данных.

  2. Обработать ответы.

  3. Вычислить общие весовые факторы.

  4. Вычислить максимальный общий весовой фактор.

  5. Принять решение.

Рассмотрим эти этапы более подробно.

Создание базы знаний

В строку 2 (ячейки В2^2) вносим заголовок: “Вид неисправности”, в строку 3 (ячейки В3^3) - названия вида неисправностей: “Предохранитель”, “Антенна” и “Кинескоп”.

В строку 5 (ячейки А5^5) вводим заголовок “База знаний”, в ячейках А6:А10 -размещаем характеристики неисправностей. В ячейки В6^6 поместим заголовок “Весовые факторы неисправностей”. В ячейки В5^8 введем весовые факторы неисправностей, согласно заданной базе знаний (табл. 9).

Создание базы данных.

В строках 12:20 предусматриваем вывод вопросов согласно БД (табл.10) и место для ввода ответов.

В строку 12 введем заголовок: “База данных”, в строку 13 - уточнения (столбец А предназначен для вывода вопросов, поэтому в ячейку А14 введем комментарий “ Вопросы”. Столбцы В^ предназначены для ввода ответов, поэтому в ячейках В14^14 разместим комментарий “Ответы”. В строку 15 введем подсказку, как следует отвечать на вопросы: “Если отвечаете “Да” - ввод 1, иначе ввод 0”. Далее в строке 16 разместим указание, определяющее адрес ячеек для ввода ответов на вопросы: “Ответы вводить в ячейки В17:В19”. В ячейки А17:А19 запишем вопросы: ячейка А17 - “Отсутствует звук?” ячейка А18 - “Отсутствует изображение?” ячейка А19 - “Отсутствует световое заполнение экрана?”

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

Например, в ячейку С17 должен быть введен тот же ответ, что будет введен пользователем системы принятия решения в ячейку В17. Поэтому запишем в С17 формулу =В17 (т.е. предписываем переписать в С17 то выражение, которое находится в В17). Аналогично заполняем ячейки d8:D18. Очевидно, что при этом следует использовать режим автозаполнения - копирования формулы.

A

B

C

D

1

СИСТЕМА ПРИНЯТИЯ РЕШЕНИЙ О НЕИСПРАВНОСТИ

ТЕЛЕВИЗОРА

2

ВИД НЕИСПРАВН

[ОСТИ

3

ПРЕДОХРА­

НИТЕЛЬ

АНТЕННА

КИНЕСКОП

4

5

БАЗА ЗНАНИЙ

6

Характеристика (атрибут)

Весовые факторы неисправностей

7

Отсутствует звук?

5

20

0

8

Отсутствует изображение?

5

20

20

9

Отсутствует световое заполнение экрана?

30

0

10

10

Отсутствует цвет?

10

11

12

БАЗА ДАННЫХ

13

14

Вопросы

Ответы

15

Если отвечаете "да"-ввод 1, иначе - ввод 0.

16

Ответы вводить в ячейки В8:В10

17

Отсутствует звук?

1

1

1

18

Отсутствует изображение?

1

1

1

19

Отсутствует световое заполнение экрана?

0

0

0

20

Отсутствует цвет?(ответ в D20)

1

21

ОБРАБОТКА ОТВЕТОВ

22

5

20

0

23

5

20

20

24

0

0

0

25

10

26

ВЫЧИСЛЕНИЕ ОБЩИХ ВЕСОВЫХ ФАКТО]

РОВ

27

10

40

30

28

ВЫЧИСЛЕНИЕ МАКСИМАЛЬНОГО ФАКТОРА

29

40

30

ПРИНЯТИЕ РЕШЕНИЯ

31

0

антенна

0

А

В

С

D

1

СИСТЕМА ПРИНЯТИЯ РЕШЕНИЙ О НЕИСПРАВНОСТИ ТЕЛЕВИЗОРА

2

ВИД

НЕИСПРАВНОСТИ

3

ПРЕДОХРАНИТЕЛЬ

АНТЕННА

КИНЕСКОП

4

5

БАЗА ЗНАНИИ

6

Характеристика(атрибут)

Весовые факторы неисправностей

7

Отсутствует звук

5

20

0

8

Отсутствует изображение

5

20

20

9

Отсутствует световое заполнение экрана

30

0

10

10

Отсутствует цвет

10

I I

12 1 Я

БАЗА ДАННЫХ

14

Вопросы

'

Ответы

15

Если отвечаете "да"-ввод 1, иначе - ввод 0.

16

Ответы

вводить в ячейки В17:В19

17

Отсутствует звук?

1

=В17

= В17

18

Отсутствует изображение?

1

=В18

=В18

19

Отсутствует световое заполнение экрана?

0

=В19

=В19

20

Отсутствует цвет?(ответ в D20)

1

21

ОБРАБОТКА ОТВЕТОВ

22

=В7*В17

=С7*С17

=D7*D17

23

=В8*В18

=С8*С18

=D8*D18

24

=В9*В19

=С9*С19

=D9*D19

25

=D10*D20

26

ВЫЧИСЛЕНИЕ ОБЩИХ ВЕСОВЫХ ФАКТОРОВ

27

=СУММ(В22.В24)

I «1 N

о

ж

>

о

II

=CyMM(D22:D25)

28

ВЫЧИСЛЕНИЕ МАКСИМАЛЬНОГО ФАКТОРА

29

=MAKC(B27:D27)

30

ПРИНЯТИЕ РЕШЕНИЯ

31

=ЕСЛИ(В27=В29;"предо-хранитель";0)

=ЕСЛИ(С27=В29;"антенна";0)

=ЕСЛИ(027=В29;"кинескоп";0)

В ячейку А20 введем вопрос, который относится только к неисправности кинескопа: “Отсутствует цвет? (ответ в D20)”.

На этом подготовка к заполнению БД завершена.

Обработка ответов

Введем в строку 21 комментарий: “Обработка ответов”. Обработка ответов заключается в определении весового фактора факта в зависимости от ответа: при ответе “Да” (т.е. при вводе в соответствующую ячейку ответа числа

  1. весовой фактор должен быть тем же, что и в базе знаний. Если же был дан ответ “Нет” (т.е. в соответствующей ячейке число 0), весовой фактор должен быть равным нулю.

Для получения такого результата удобно перемножить весовой фактор из базы знаний на значение соответствующей ячейки ответа. Например, весовой фактор атрибута “отсутствует звук” для неисправности “Предохранитель” находится в ячейке В7 и равен 5. Ответ на вопрос “Отсутствует звук?” для этой неисправности будет введен в ячейку В17. Если перемножить значения ячеек В7 и В17, то при ответе “Да” (т.е. наличии 1 в В17) результат перемножения будет равен 5. Если ответ “Нет” (т.е. в В17 число 0), результат равен 0. Поэтому запишем в ячейку В22 формулу =В7*В17 (табл.12). Скопируем эту формулу в ячейки В23:Б24, а потом еще в ячейку D25 (пользуясь режимом автозаполнения).

Вычисление общих весовых факторов

Введем в строку 26 комментарий: “Вычисление общих весовых факторов”. Для вычисления общего весового фактора первой неисправности нужно просуммировать весовые факторы, полученные в результате обработки ответов, и находящиеся в ячейках В22:В24. Введем в ячейку В27 формулу

=СУММ(В22:В24). По аналогии введем в ячейку С27 формулу =СУММ(С22:С24), в ячейку D27 - формулу =СУММф22^25).

Вычисление максимального общего весового фактора.

Введем в строку 28 комментарий “Вычисление максимального общего весового фактора”. Чтобы найти наиболее вероятную неисправность, следует сравнить между собой все общие весовые факторы, находящиеся в ячейках В27^27 и определить максимальный. Для этого вводим в ячейку В29 формулу =МАКС(В27^27).

Принятие решения.

Чтобы принять решение, к какому типу относится неисправность для введенного варианта ответов, нужно провести сравнение общего весового фактора каждой неисправности с найденным максимальным значением. Например, если значение максимального общего весового фактора (ячейка В29) совпадает со значением общего весового фактора первой неисправности (ячейка В27), то можно принять решение, что неисправность первого типа ("Предохранитель").

Воспользуемся для этого оператором ЕСЛИ. В общем случае он имеет вид:

=ЕСЛИ(условие; выражение 1; выражение 2).

Оператор ЕСЛИ работает следующим образом: проверяется записанное условие. Если условие выполняется, то в ту ячейку, где находится оператор ЕСЛИ, записывается выражение 1. Если условие не выполняется - выражение 2.

Запишем в ячейку В31 формулу=ЕСЛИ(В29=В27;“Предохранитель”;0).

Таким образом, если максимальный весовой фактор совпадает с общим весовым фактором первой неисправности, в ячейке В31 появится сообщение “Предохранитель”. (В противном случае - число 0).

Аналогичным образом в ячейку С31 запишем формулу для принятия решения о второй неисправности

=ЕСЛИ(С29=С27;“Антенна”;0).

В ячейку D31 для принятия решения о третьем типе неисправности введем формулу

=ЕСЛИ(D29=D27;“Кинескоп”;0).

  1. Проведение тестовых расчетов в ЭТ

Чтобы проверить правильность составления ЭТ, введем в табл. 11. ответы, согласно БД табл.10. Поскольку результат совпадает с тестовыми вычислениями (п. 2.4.1), можно утверждать что реализация системы принятия решения в ЭТ функционирует нормально.

  1. Подготовка системы принятия решений для пользователя

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

Пользователь должен вводить в ЭТ сведения о своем телевизоре и получать соответствующее решение.

Для исключения лишней информации удобно пользоваться командой “Скрыть строку”.

Поставим указатель мыши на номер строки 6 и щелкнем правой клавишей для получения контекстного меню. Выбрать в контекстном меню команду “Скрыть строку”. Строка 6 будет скрыта. Проделать эту же операцию со строками 7, 8, 9, 10, 11, 12, 13. Далее скрываем строки 21, 22, 23, 24, 25, 27, 28, 29.

В результате получаем систему принятия решения в режиме пользователя (табл.13).

В этой таблице необходимо еще скорректировать комментарии. В строке 7 следует ввести “Ответы вводить в ячейки В8:В10”, а в ячейке А11 - “Отсутствует цвет” (ответ в D11).