Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МК к курсовой и контрольной работе.DOC
Скачиваний:
7
Добавлен:
23.08.2019
Размер:
6.6 Mб
Скачать

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

Электронная таблица, реализующая систему принятия решения для рассматриваемого примера, приведена в табл. 24 (режим вычислений) и в табл. 25. (режим показа формул Microsoft Office), табл. 26 (режим показа формул в OpenOffice.org Calc).

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

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

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

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

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

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

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

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

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

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

В строку 4 (ячейки А4:D4) вводим заголовок “База знаний”, в ячейках А7:А10 – размещаем характеристики неисправностей. В ячейки В5:D5 поместим заголовок “Весовые факторы неисправностей”. В ячейки В7:D10 введем весовые факторы неисправностей, согласно заданной базе знаний (табл. 22).

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

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

В ячейку Е4 введем заголовок: “База данных”, в ячейку Е5 – введем комментарий “Ответ”. Ячейки Е6:Е9 предназначены для ввода ответов, поэтому в ячейке Е5 разместим комментарий “Ответы”. В Е6 введем подсказку, как следует отвечать на вопросы: “Да – ввод 1, Нет – 0”. Заполним базу данных соответственно примеру.

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

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

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

Для получения такого результата удобно перемножить соответствующие весовые факторы из базы знаний на значения соответствующих ячейкам ответа, а замет сложить их и ответ поместит в ячейку В12. Для выполнения этих двух операций (умножение и сложение) воспользуемся стандартной функцией СУММПРОИЗВ (SUMPRODUCT), которая имеет следующий синтаксис:

=СУММПРОИЗВ(Массив1;Массив2;…),

=SUMPRODUCT(Массив1;Массив2;…).

Так как мы будем последовательно перемножать ячейки с ответами (Е7:Е10) на ячейки с весовыми факторами неисправностей В7:В10, С7:С10 и D7:D10, необходимо изменить адреса ячеек с ответами с относительных на абсолютные $Е$7:$Е$10 (табл.25). Скопируем эту формулу в ячейки В12:D12.

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

Введем в строку 13 комментарий “Вычисление максимального общего весового фактора”. Чтобы найти наиболее вероятную неисправность, следует сравнить между собой все общие весовые факторы, находящиеся в ячейках В12:D12 и определить максимальный. Для этого вводим в ячейку В14 формулу =МАКС(В12:D12) (=MAX(В12:D12) для OpenOffice.org Calc).

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

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

Таблица 24

 

A

B

C

D

E

 1

ДИАГНОСТИКА НЕИСПРАВНОСТИ ТЕЛЕВИЗОРА

 2

 

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

 

 3

 

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

Антенна

Кинескоп

 

 4

 

БАЗА ЗНАНИЙ

База данных

 5

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

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

Ответ

 6

 

 

 

 

Да - 1, Нет - 0

 7

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

5

20

0

1

 8

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

5

20

20

1

 9

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

30

0

10

0

 10

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

 

 

10

1

 11

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

 

 12

 

10

40

30

 

 13

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

 

 14

 

40

 

 

 

 15

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

 

 16

 

0

Антенна

0

 

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

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

=IF(условие; выражение 1; выражение 2).

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

Запишем в ячейку В16 формулу

=ЕСЛИ(В12=В14;“Предохранитель”;0),

=IF(В12=В14;“Предохранитель”;0).

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

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

=ЕСЛИ(С12=С14;“Антенна”;0),

=IF(С12=С14;“Антенна”;0).

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

=ЕСЛИ(D12=D14;“Кинескоп”;0),

=IF(D12=D14;“Кинескоп”;0).