使用二元决策图表示简单规则的概念

我试图用比普通英文句子更正式的方式表达规则,希望能得到一些关于使用命题方法和某种二元决策树来展示规则的指导。

假设指定区域外的物体需要处于特定状态(比如redState)才被认为是safe。用普通英文句子表达为:

如果物体在ZoneA之外并且处于RedState,则它是安全的,

然而,在某些情况下,物体可能免于这一限制:

如果物体在ZoneA之外,不处于RedState并且是Exempt,则它是安全的。

如果物体在ZoneA之外,不处于RedState并且不是Exempt,则它是不安全的。

物体是否在Zone A内处于红色状态并不重要。剩下的规则是:

如果物体包含在Zone A内,则它是安全的。

使用命题公式,我认为这些规则可以表达为

¬InZoneARedStateSafe

¬InZoneA ∧ ¬RedStateExemptSafe

¬InZoneA ∧ ¬RedState ∧ ¬Exempt ⇒ ¬Safe

InZoneA ⇒ Safe

我查阅了一些系统规范方法(如Z),但我更感兴趣的是传达规则的简洁概念,而不是确保它们在一个更大的系统中正常运作。因此,我考虑将它们表示为一种二元决策树(图)。我读了一些关于这个主题的笔记,但对于是否使用它们是最佳方法,或者我是否在误用它们,我有点不确定。我对这些规则得出的表示如图所示,其中实线表示True,虚线表示False

二元决策图

我非常希望得到您的反馈,了解这种表示是否正确,或者我的方法/思考是否有误。非常感谢!


回答:

据我所知,你展示的内容是正确的。

然而,你可能还需要考虑其他一些事情。

例如,如果Exempt在任何级别都可用,可能希望在评估其他任何东西之前先评估它,它不依赖于任何东西,也没有东西依赖于它。这样可以节省时间,不必评估任何其他不会影响结果的属性。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注