K-一致但不是强K-一致

如果一个约束满足问题(CSP)对于任何 k – 1 个变量的集合和对这些变量的一致赋值,总是可以为第 k 个变量赋予一个一致的值,那么这个CSP就是 k-一致的。如果一个CSP是 k-一致的,并且也是 (k – 1)-一致的,(k – 2)-一致的,… 一直到1-一致的,那么它就是强 k-一致的。

根据上述定义,我不明白一个CSP如何仅是 k-一致而不是 k-一致的。

如果CSP是 k-一致的,它不是也必须是 k-1-一致的吗?如果不是,你能提供一个例子吗?


回答:

例如,考虑完成一个部分填充的 拉丁方格 的问题。

任何只有一格空白的一致网格总是可以完成的。由于只有一格是空的,该格所在的行必须恰好缺少一个数字(如果缺少多个数字,那么根据 抽屉原理,该行中其他数字必须出现两次,使得部分网格不一致)。对于空白格所在的列也是如此,实际上必须是同一个缺失的数字(证明留给读者作为练习;提示:计算每个数字的出现次数)。因此,这个缺失的数字可以一致地赋给那个空白格。所以 n×n 拉丁方格的CSP是 n2-一致的。

另一方面,有很多一致的部分网格(即填充的数字到目前为止没有违反任何规则的网格),这些网格无法在不违反规则的情况下填满,例如以下2×2网格无法通过填充空白变成拉丁方格,因为每个空白格都没有一致的赋值方式:

1 .. 2

所以这是一个对两个变量的一致赋值集合,但对第三个变量没有一致的赋值,这意味着2×2拉丁方格的CSP不是3-一致的;我们已经证明它是4-一致的,但现在我们已经证明它不是 4-一致的。

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中创建了一个多类分类项目。该项目可以对…

发表回复

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