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

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

Ветви соединяют вершины и указывают направления пути решения. Обычное направление сверху вниз.

Составим дерево решения для нашего примера (рис. 5.2.1). Пусть база данных заполнена ответами и рассчитана сумма накопленных баллов S.

Рисунок 5.2.1

 

Обратите внимание! Мы считаем, что эта сумма заранее не определена (точнее, является изменяющейся величиной), ведь табл. 5.2.2 - это только один из множества возможных вариантов.

Первый блок проверяет выполнение условия S<280. При проверке любого условия возможны два исхода: «Условие выполнено» (ветка «ДА») и «Условие не выполнено» (ветка «Нет»).

Если условие S<280 выполняется, абитуриент получает оценку «Неудовлетворительно» (первый блок принятия решения). Если условие S<280 не выполняется, значит, набранная абитуриентом сумма баллов больше, чем 280. В этом случае нужно установить, в каком диапазоне находится сумма баллов.

По ветке «Нет» от первого блока проверки условий приходим на второй блок проверки, где записано условие S<340. При его выполнении очевидно, что сумма баллов находится в диапазоне 280-340, т.е. абитуриент получает оценку «Удовлетворительно». По ветке «Да» идем к вершине «Удовл.». В случае невыполнения данного условия, очевидно, что сумма баллов равна или превысила значение 340. Поэтому по ветке «Нет» происходит переход к последнему блоку проверки условия S≤340. При выполнении данного условия (ветка «Да») абитуриент получает оценку «Хорошо», при невыполнении (ветка «Нет») - оценку «Отлично».

Реализация системы принятия решений в табличном процессоре Excelприведена в табл.5.2.3 (режим показа формул) и в табл.5.2.4 (режим показа вычислений).

Таблица.5.2.3

  А В С D
Оценка знаний абитуриента
Атрибут Весовой фактор атрибута Если ответ "Да" -введите 1, иначе 0 Весовой фактор ответа
БАЗА ЗНАНИЙ БАЗА ДАННЫХ
Умеет решать  
Квадратные уравнения =В5*С5
Квадратные неравенства =В6*С6
Уравнения с модулями =В7*С7
Показательные уравнения =В8*С8
Показательные неравенства =В9*С9
Логарифмические уравнения =В10*С10
Логарифмические неравенства =В11*С11
Тригонометрические тождества =В12*С12
Тригонометрические уравнения =В13*С13
Геометрические задачи =В14*С14
Суммарный весовой фактор =СУMM(D5:D14)
       
Принятие решения      
=ЕСЛИ(D15<280;"неуд";ЕСЛИ(D15<=340;"удовл";ЕСЛИ(D15<=400;"хор";"отл")))
           

 

В ячейках АЗ:В14 электронной таблицы размещена исходная база знаний из табл. 5.2.1. В ячейках С2:С14 приведена база данных из табл. 5.2.2. Ответы вводятся с использованием двоичной системы. При положительном ответе («Да») нужно ввести число 1, при отрицательном («Нет») - ввести 0. Чтобы не возникло неоднозначности при вводе ответа, в ячейке С2 приводятся указания о правилах ввода.

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

Обработка ответов производится в ячейках D5:D14 (формула вводится в ячейку D5 и копируется в ячейки D6:D14).

В строке 15 вычисляется суммарный весовой фактор, а в строке 18 размещена формула для принятия решения. Это формула составляется в соответствии с «Правилами вывода» и деревом решения рис. 5.2.1.

Таблица 5.2.4

  А В С D
Оценка знаний абитуриента
Атрибут Весовой фактор атрибута Если ответ "Да" - введите 1, иначе 0 Весовой фактор ответа
БАЗА ЗНАНИЙ БАЗА ДАННЫХ
Умеет решать      
Квадратные уравнения
Квадратные неравенства
Уравнения с модулями
Показательные уравнения
Показательные неравенства
Логарифмические уравнения
Логарифмические неравенства
Тригонометрические тождества
Тригонометрические уравнения
Геометрические задачи
Суммарный весовой фактор
       
Принятие решения      
удовл