Полнота условий

Всем доброго времени суток. Есть задача, которую не понимаю как можно красиво алгоритмически решить.

Условие: Пользователь может задавать набор правил(условия для предикатов), для примера, рассмотрим правила применений комиссий для платежа:

  • платежная система{Visa, Mastercard, ChinaUnionPay, null}
  • Операция за рубежом{да, нет, null}
  • Страна{RU,EN,....,null}
  • .....

Значение null означает что свойство в предикате не проверяется. Из наборов свойств строится конъюнкции

Пользователь задает ряд правил

  • для Visa за рубежом в Индии комиссия 5%
  • для Mastercard комиссия 3%
  • для России комиссия 1%
  • ....
  • остальное(null, null, nulll)

Задача: есть ли в наборе правил пропуски или они покрывают все возможные варианты, уверен что есть какойнибудь хороший алгоритм для этих целей, просьба дать наводку на него


Ответы (0 шт):