我會開始說我對Prolog非常陌生,對於我來說,想出一個解決方案,而不是以程序或功能的方式來思考它是非常困難的。Prolog程序
問題的背景如下:我必須從初始位置(0,0)開始向四個方向移動。當我向上移動時,我將位置更新爲(0,1),向下(0,-1),向左移動至(-1,0),向右移動至(1,0)。在某些時候,我必須回到我的初始位置。
我已經解決了這個問題,記住了我所做的某些動作,然後做了相反的動作。所以,如果我所做的動作都是失敗的,那我就去西部去吧。該解決方案有效,但效率非常低下且愚蠢。
所以我想要做的事情是讓一個程序獲取當前位置(X,Y),並通過更新位置我更接近(0,0)來評估四個移動中的一個。
我試圖寫一些代碼,但事實是,我真的不知道如何在Prolog中思考問題。有人可以給我一些提示我如何解決它?謝謝!