Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!

if (x1 == 1 && x2 == 1 && x3 == 1)
result = 1
else
if (x4 == 1)
if (x5 == 1)
result = 2
else
result = 3
else
if (x5 == 1)
result = 4
else
result = 5

Что интересно, если пройти по предложенному выше дереву, то мы попадем в нужный класс 2, но это будет почти что совпадение.
Полная таблица как раз не совпадает с кодом :) Строка (1 1 1 1 1) будет удовлетворять сразу классам 1 и 2.
(1 * *) => 1
(0 1 1) => 2
(0 1 0) => 3
(0 0 1) => 4
(0 0 0) => 5
При этом система должна «понять», что первые три параметра значимы только если все три установлены, и тогда игнорируются последние два, а иначе игнорируются первые три и значимы только последние два.
Деревья принятия решений на JavaScript