2017-03-09 32 views
3

我在大學裏學習了Prolog課程。課程要求我們編寫prolog程序。我能夠編寫簡單的程序,但是我發現消化複雜的程序很難。任何建議如何進行或我如何研究這個問題?解決這種課程的方法是什麼?任何幫助讚賞。 謝謝。我如何接近Prolog

+3

你能給一個你覺得很難消化的程序的例子嗎?也許我們可以澄清這個例子並展示如何分析它。 –

+0

就像學習任何複雜的系統一樣。從小部件開始,完全學習,並建立起來。也試圖教給別人幫助。試着看看你是否可以回答Prolog的每一個問題,並且如果你不能隨時學習。在幾個星期之內,你應該能夠開始回答,如果你回答錯誤,你應該得到關於你出錯的地方的反饋。 –

+0

@WillemVanOnsem。地圖着色,使用不超過4種顏色着色圖形。 – lisa

回答

5

我寫了一個答案(這可能只是咆哮),因爲我與同樣的問題鬥爭。如果問題得到解決,我認爲答案仍然存在?

什麼是解決這種課程的方法。

與所有課程一樣,您收集所有教師/教師/教授給出的材料並找到他們推薦的書籍。你按照他們的期望進行練習。不要對自己的解決方案很聰明,要聰明地找到你的教練想看的東西!嘗試尋找舊的考試並研究它們; ESP。如果你能找到分級考試(如果你是幸運和「機智的」......請問老年學生的幫助!)

任何建議如何進行或如何研究這個問題?

很難學習Prolog。我試圖在大學學習,老師說一件事。然後我拿起一本書(「Sterling and Shapiro」),它說另一件事。然後,我上網了,又發現了另外兩個不同的東西(「Amzi Amazing Adventure」和「現在學習Prolog!」)。 「Prolog專家系統」(來自Amzi網站)也是另一回事。我來到StackOverflow,並且在所有我嘗試閱讀的文章中發現了NOWHERE的其他答案。

最適合我學習的地方是SWI-Prolog謂詞文檔:這太離譜了,你不覺得嗎?至少它是一致的... ...

然後很多關於Stackoverflow的答案我試圖從中學到的東西都在談論對我來說毫無意義的東西,可能是因爲我不知道Prolog,但如何學習呢?幾乎所有的問題都是家庭作業,幾乎所有的作業答案都像講授ISO,邏輯和純粹的小講座,但沒有明確的答案。

結論:「斯特林和夏皮羅」至少是完整的,並不太奇怪;而SWI-Prolog具有良好的謂詞文檔和代碼示例。

編輯:無處不在無處不在在所有文本中,您是否閱讀過關於模塊的內容,但是如何編寫沒有模塊系統的大型程序?即使Stroustrup的C++書籍也解釋瞭如何使用頭文件和源文件來維護更大的程序。再次,您可以閱讀SWI-Prolog文檔中有關模塊的章節。編輯2:我學習「計算機科學」,所以我可能知道「編程」和「數據結構」和「算法」,我明白什麼是「證明樹」和「回溯」等等。 Prolog只是另一種語言。那麼爲什麼教它並學習它很困難呢?這是一個懸而未決的問題。我不想在Stackoverflow上詢問它,因爲它將被關閉。

EDIT3:因爲你已經標記爲「clpfd」,還有另一種文字:

https://www.metalevel.at/prolog

它顯示了中電(FD),我沒有任何其他的文本看到許多解決方案,我引用。它是有用的和一致的,但它又與所有其他文本不同。也許如果我閱讀和研究所有我能找到的東西,我可以給你一個真正的答案。

但是你想通過課程還是學習Prolog?你想要一個好成績和最小的努力?你需要先找到這些問題的答案!