2016-05-09 63 views
1

下圖所示爲附圖所指的含義。將這個謎題表達爲CSP意味着什麼

By labelling each cell with a variable, express the puzzle as a CSP. Hint: 
recall that a CSP is composed of three parts. 

我最初以爲只是像A,B,C等各細胞添加變量到每個單元格,然後約束這些細胞,但我不相信這是正確的。我不想要答案只是解釋什麼是必需的。在CSP方面。

enter image description here

回答

3

在我看來,一個CSP最好分爲部分:

  1. 國家的約束。這被稱爲建模部分或模型
  2. 搜索解決方案使用枚舉謂詞labeling/2

這些部件通過使用我們稱之爲核心 關係的謂詞最好單獨存放並具有以下特性:

  • 帖子的約束,即,它表達的一部分( 1)以上。
  • 它的最後一個參數是仍然需要標記的變量列表。
  • 按照慣例,其名稱以下劃線結尾   _

已具備了這種區別,您可以:

  • 嘗試不同的搜索策略,而無需重新編譯代碼
  • 原因有關的任何具體的隔離核心 關係的終止性質(並且往往非常昂貴)搜索。

我可以看到一些教師可能分解部分(1)到:

1a上。說明變量的,例如使用in/2約束條件
1b。說明變量之間的其他約束條件。

在我看來,這種區別是人工,因爲in/2約束喜歡在造型部分的所有其他約束限制,但一些導師可能單獨授課,這也出於歷史原因,可以追溯到時候CSP系統是不像現在那樣動態。

現在,您通常可以在任何時間發佈其他域限制,並將in/2  約束與任何 訂單中的其他約束自由混合。

所以,從你期望的部分有可能:(1) 狀態in/2  約束,(B) 狀態進一步約束和(c) 使用枚舉 謂詞來搜索具體 解決方案。它似乎也已經有了關於如何用這種方法解決這個具體的CSP的正確想法。

+0

建模/標籤二分法與核心關係強加的結構之間存在差異:核心關係的構建使得非終結總是由核心引起的。更傳統的觀點並不一定如此。 – false

+0

是:核心關係是模型的特例,滿足上述3個屬性。你怎麼看? – mat

+0

@false。因此,「核心關係」和「搜索」的概念分離強調終止只涉及核心關係,對嗎? – repeat

相關問題